@@ -42,6 +42,7 @@ repin the parent.
4242
4343``` bash
4444decided corpus digest --root vendor/standards --corpus decisions
45+ decided corpus digest --version 2 --root vendor/standards --corpus decisions
4546```
4647
4748` --root ` is the parent repository root and bounds configuration discovery to
@@ -70,6 +71,14 @@ escape, and traversed symlinks are rejected with stable `parent-corpus-*`
7071errors. Exit ` 0 ` means the digest was calculated; exit ` 1 ` means the bounded
7172materialisation could not be safely snapshotted.
7273
74+ Manifest version 2 uses the explicit ` --version 2 ` command. Its
75+ ` sha256-v2:<64 lowercase hex> ` digest also commits to whether
76+ ` .decided/corpus.md ` is present and, when present, its exact bytes. Those bytes
77+ bind the parent's own outgoing edges and pins, so graph updates are repinned
78+ bottom-up. The owned Markdown snapshot excludes every direct materialisation
79+ subtree declared by that manifest. The default command, version-1 digest,
80+ ` sha256: ` prefix, and single-parent workflow remain unchanged.
81+
7382---
7483
7584## validate
@@ -1159,12 +1168,32 @@ for fallback and aggregation behaviour.
11591168 [Org Grounding](org-grounding.md).
11601169- **`--parent-corpus`** prints deterministic setup guidance for the operational
11611170 ` .decided/corpus.md` manifest, including the exact `## inherits` and
1162- ` ## overrides` headings. It tells you to materialise the parent inside the
1163- repository first, then calculate its pin with `decided corpus digest --root
1164- <parent-root> --corpus <parent-corpus>`. The flag works on fresh and
1165- already-initialized repositories, with or without a profile. It is guidance
1166- only : it never creates the manifest, fetches a parent, or writes parent bytes.
1167- Without the flag, init files and human/JSON output are unchanged.
1171+ ` ## overrides` headings. Its recommended version-2 flow tells you to
1172+ materialise every parent inside the repository first, calculate each pin with
1173+ ` decided corpus digest --version 2 --root <parent-root> --corpus
1174+ <parent-corpus>` , and declare one to 32 records in the `parents` sequence.
1175+ It also retains the original version-1 digest command for existing
1176+ single-parent manifests. The flag works on fresh and already-initialized
1177+ repositories, with or without a profile. It is guidance only : it never
1178+ creates the manifest, fetches a parent, or writes parent bytes. Without the
1179+ flag, init files and human/JSON output are unchanged.
1180+
1181+ The version-2 manifest it describes has this shape (repeat the parent record
1182+ as needed; list order grants no precedence) :
1183+
1184+ ` ` ` ` markdown
1185+ # # inherits
1186+
1187+ ` ` ` yaml
1188+ version: 2
1189+ parents:
1190+ - alias: standards
1191+ source: acme/standards
1192+ root: vendor/standards
1193+ corpus: decisions
1194+ digest: sha256-v2:<64-lowercase-hex>
1195+ ` ` `
1196+ ````
11681197- **Exit codes:** `0` initialized, or already initialized with the same key
11691198 (idempotent) · `1` a different key is already established (never silently
11701199 rewritten), or a client config exists but cannot be merged into (malformed
@@ -1207,7 +1236,11 @@ With `--parent-corpus --json`, the response additionally includes:
12071236 "manifest": ".decided/corpus.md",
12081237 "inherits_heading": "## inherits",
12091238 "overrides_heading": "## overrides",
1210- "digest_command": "decided corpus digest --root <parent-root> --corpus <parent-corpus>"
1239+ "digest_command": "decided corpus digest --root <parent-root> --corpus <parent-corpus>",
1240+ "recommended_manifest_version": 2,
1241+ "parents_field": "parents",
1242+ "multiple_parents": true,
1243+ "digest_command_v2": "decided corpus digest --version 2 --root <parent-root> --corpus <parent-corpus>"
12111244 }
12121245}
12131246` ` `
0 commit comments