docs← Back to article

Markdown for LLMs

Place metadata in the manifest

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# Place metadata in the manifest

## Intention

I want to describe the package and the origin of its review in the artefacts meant for that.

Description lives in the manifest, not in the compilable package.

## Incorrect form and why it stays silent

A TOML table is not a .law language declaration.

```text title="Incorrect form"
[metadata]
title = "Учебный пакет"
```
If it is inserted into a law block, check fails with LDC-E0201. An unknown key inside metadata is rejected by the manifest schema — that is a separate check below.

## Correct form

The compilable package vocabulary does not carry TOML:

```law
language "law.core" version "0.2";
package recipes.n.r10 version "0.1.0";
namespace "urn:recipe:n-package:10";

entity Artifact;
relation reviewed(a: Artifact);
```

## Frozen execution scene

The minimal manifest check runs as a doctest:

| Input | Question | Answer |
|---|---|---|
| law.toml with metadata.title | parse_manifest | title preserved |
| Unknown metadata.made_up | parse_manifest | schema ValueError |

```python
>>> from lawref.resolver import parse_manifest
>>> source = '[package]\nname = "recipes.n.r10"\nversion = "0.1.0"\nlanguage = "0.2"\nnamespace = "urn:recipe:n-package:10"\n[metadata]\ntitle = "Учебный пакет"\n'
>>> parse_manifest(source.encode())["metadata"]["title"]
'Учебный пакет'
>>> try:
...     parse_manifest((source + 'made_up = "reviewed"\n').encode())
... except ValueError as error:
...     print("неизвестный ключ отвергнут" if "package-manifest.schema" in str(error) else str(error))
неизвестный ключ отвергнут
```

## Counterfactual

`teaches` moves TOML into the page package and pins LDC-E0201. A separate doctest changes only the metadata key, does not catch an arbitrary exception, and requires a schema rejection.

## Boundary

Description does not change the law and does not replace the dependency lock. The evaluation profile pins the library, and the review record is the reviewer's decision; neither can be replaced by a title string or an invented metadata key.

## Pitfall

A shared jurisdiction stamp once signed answers for different legal orders identically. The fix is structural metadata with a source check; an invented key that would look like review provenance is rejected by the schema.