harness-everything 0.33.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +48 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/config.json +9 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/packaged/config.json +20 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/packaged/expected.json +12 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/packaged/invalid-fork/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/packaged/invalid-fork/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/packaged/invalid-fork/docs/prd/graph/r003.md +26 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/packaged/valid/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/packaged/valid/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/ten-reqs/r001.body.md +39 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/ten-reqs/r002-dropped.body.md +35 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/ten-reqs/r002-incomplete.body.md +37 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/ten-reqs/r002-one-replaced.body.md +39 -0
- package/ci/fixtures/doc-lifecycle/prd-revisions/ten-reqs/r002-overlap.body.md +39 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active/docs/adr/GRPH-001.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active/docs/adr/GRPH-002.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active/expected.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active-mismatch/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active-mismatch/docs/adr/GRPH-001.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active-mismatch/docs/adr/GRPH-002.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-active-mismatch/expected.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-legacy/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-legacy/docs/adr/GRPH-010.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-legacy/docs/adr/legacy/GRPH-007.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/active-to-legacy/expected.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/alias-rename/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/alias-rename/docs/adr/GRAPH-007.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/alias-rename/docs/adr/legacy/GRPH-007.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/alias-rename/expected.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/duplicate-legacy/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/duplicate-legacy/docs/adr/legacy/v1/GRPH-007.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/duplicate-legacy/docs/adr/legacy/v2/GRPH-007.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/duplicate-legacy/expected.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/invalid-refs/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/invalid-refs/docs/adr/GRPH-003.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/invalid-refs/docs/adr/GRPH-004.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/invalid-refs/docs/adr/GRPH-005.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/invalid-refs/docs/adr/GRPH-006.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/invalid-refs/docs/adr/GRPH-007.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/invalid-refs/expected.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/pending-edge/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/pending-edge/docs/adr/GRPH-020.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/pending-edge/docs/adr/GRPH-021.md +9 -0
- package/ci/fixtures/doc-lifecycle/scenarios/pending-edge/expected.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/recorded-conflict/config.json +1 -0
- package/ci/fixtures/doc-lifecycle/scenarios/recorded-conflict/docs/adr/GRPH-003.md +8 -0
- package/ci/fixtures/doc-lifecycle/scenarios/recorded-conflict/docs/prd/graph.md +10 -0
- package/ci/fixtures/doc-lifecycle/scenarios/recorded-conflict/expected.json +1 -0
- package/ci/fixtures/doc-obligations/derive/acceptance-only/base/docs/prd/graph.md +22 -0
- package/ci/fixtures/doc-obligations/derive/acceptance-only/candidate/docs/prd/graph.md +22 -0
- package/ci/fixtures/doc-obligations/derive/alias-only/base/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/alias-only/candidate/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision/candidate/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision-attested/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision-attested/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision-attested/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision-attested/candidate/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/assertion-no-revision-attested/inventory.json +7 -0
- package/ci/fixtures/doc-obligations/derive/attribution-impossible/base/ci/mechanism-open.test.js +3 -0
- package/ci/fixtures/doc-obligations/derive/attribution-impossible/candidate/ci/mechanism-open.test.js.fixture +2 -0
- package/ci/fixtures/doc-obligations/derive/clause-context-typo/base/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/clause-context-typo/candidate/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/code-only/base/src/lint.js +1 -0
- package/ci/fixtures/doc-obligations/derive/code-only/candidate/src/lint.js +1 -0
- package/ci/fixtures/doc-obligations/derive/comment-only-test/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/comment-only-test/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/computed-member-assert/base/ci/mechanism-c1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/computed-member-assert/candidate/ci/mechanism-c1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/computed-member-variable/base/ci/mechanism-c1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/computed-member-variable/candidate/ci/mechanism-c1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/config.json +11 -0
- package/ci/fixtures/doc-obligations/derive/decision-fence-backtick/base/docs/adr/GRPH-010.md +20 -0
- package/ci/fixtures/doc-obligations/derive/decision-fence-backtick/candidate/docs/adr/GRPH-010.md +20 -0
- package/ci/fixtures/doc-obligations/derive/decision-fence-tilde/base/docs/adr/GRPH-010.md +20 -0
- package/ci/fixtures/doc-obligations/derive/decision-fence-tilde/candidate/docs/adr/GRPH-010.md +20 -0
- package/ci/fixtures/doc-obligations/derive/deep-strict-equal/base/ci/mechanism-s1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/deep-strict-equal/candidate/ci/mechanism-s1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/deleted-adr/base/docs/adr/GRPH-008.md +14 -0
- package/ci/fixtures/doc-obligations/derive/deleted-prd/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/deleted-prd/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/deleted-prd/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/derived-rename/base/docs/index.md +3 -0
- package/ci/fixtures/doc-obligations/derive/derived-rename/base/src/model/a.js +1 -0
- package/ci/fixtures/doc-obligations/derive/derived-rename/candidate/docs/index.md +3 -0
- package/ci/fixtures/doc-obligations/derive/derived-rename/candidate/src/model/b.js +1 -0
- package/ci/fixtures/doc-obligations/derive/derived-rename/config.json +7 -0
- package/ci/fixtures/doc-obligations/derive/derived-two-outputs/base/docs/index.md +3 -0
- package/ci/fixtures/doc-obligations/derive/derived-two-outputs/base/docs/model-summary.md +3 -0
- package/ci/fixtures/doc-obligations/derive/derived-two-outputs/base/src/model.js +1 -0
- package/ci/fixtures/doc-obligations/derive/derived-two-outputs/candidate/docs/index.md +3 -0
- package/ci/fixtures/doc-obligations/derive/derived-two-outputs/candidate/docs/model-summary.md +3 -0
- package/ci/fixtures/doc-obligations/derive/derived-two-outputs/candidate/src/model.js +1 -0
- package/ci/fixtures/doc-obligations/derive/derived-two-outputs/config.json +10 -0
- package/ci/fixtures/doc-obligations/derive/distinct-logical-prds/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/distinct-logical-prds/base/docs/prd/graph-one/r001.md +19 -0
- package/ci/fixtures/doc-obligations/derive/distinct-logical-prds/base/docs/prd/graph-two/r001.md +19 -0
- package/ci/fixtures/doc-obligations/derive/distinct-logical-prds/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/distinct-logical-prds/candidate/docs/prd/graph-one/r001.md +19 -0
- package/ci/fixtures/doc-obligations/derive/distinct-logical-prds/candidate/docs/prd/graph-two/r001.md +19 -0
- package/ci/fixtures/doc-obligations/derive/docs-only/base/docs/reference/guide.md +3 -0
- package/ci/fixtures/doc-obligations/derive/docs-only/candidate/docs/reference/guide.md +3 -0
- package/ci/fixtures/doc-obligations/derive/dup-req-id/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/dup-req-id/base/docs/prd/graph-a.md +20 -0
- package/ci/fixtures/doc-obligations/derive/dup-req-id/base/docs/prd/graph-b.md +20 -0
- package/ci/fixtures/doc-obligations/derive/dup-req-id/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/dup-req-id/candidate/docs/prd/graph-a.md +20 -0
- package/ci/fixtures/doc-obligations/derive/dup-req-id/candidate/docs/prd/graph-b.md +20 -0
- package/ci/fixtures/doc-obligations/derive/expect-computed-literal/base/ci/mechanism-e.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/expect-computed-literal/candidate/ci/mechanism-e.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/expect-computed-matcher/base/ci/mechanism-e.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/expect-computed-matcher/candidate/ci/mechanism-e.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/expect-not-to-equal/base/ci/mechanism-s1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/expect-not-to-equal/candidate/ci/mechanism-s1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/formatting-only-test/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/formatting-only-test/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/helper-delegated-test/base/docs/prd/graph.md +18 -0
- package/ci/fixtures/doc-obligations/derive/helper-delegated-test/candidate/ci/mechanism-helper.test.js +1 -0
- package/ci/fixtures/doc-obligations/derive/helper-delegated-test/candidate/docs/prd/graph.md +18 -0
- package/ci/fixtures/doc-obligations/derive/historical-only-req/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/historical-only-req/base/docs/prd/graph/r001.md +25 -0
- package/ci/fixtures/doc-obligations/derive/historical-only-req/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/historical-only-req/candidate/docs/prd/graph/r001.md +25 -0
- package/ci/fixtures/doc-obligations/derive/historical-only-req/candidate/docs/prd/graph/r002.md +23 -0
- package/ci/fixtures/doc-obligations/derive/in-place-current/base/ci/mechanism-inplace.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/in-place-current/base/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/in-place-current/base/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-obligations/derive/in-place-current/candidate/ci/mechanism-inplace.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/in-place-current/candidate/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/in-place-current/candidate/docs/prd/graph/r002.md +28 -0
- package/ci/fixtures/doc-obligations/derive/in-place-historical/base/ci/mechanism-inplace.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/in-place-historical/base/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/in-place-historical/base/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-obligations/derive/in-place-historical/candidate/ci/mechanism-inplace.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/in-place-historical/candidate/docs/prd/graph/r001.md +22 -0
- package/ci/fixtures/doc-obligations/derive/in-place-historical/candidate/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-obligations/derive/invalid-clause/base/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/invalid-clause/candidate/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/legacy-untagged-fallback/base/ci/mechanism-legacy.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/legacy-untagged-fallback/candidate/ci/mechanism-legacy.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/literal-whitespace-assert/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/literal-whitespace-assert/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/malformed-citation-attribution/base/ci/mechanism-bad.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/malformed-citation-attribution/candidate/ci/mechanism-bad.test.js.fixture +6 -0
- package/ci/fixtures/doc-obligations/derive/malformed-prd/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/malformed-prd/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/malformed-prd/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/malformed-prd/candidate/docs/prd/graph.md +11 -0
- package/ci/fixtures/doc-obligations/derive/missing-approval/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/missing-approval/candidate/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/mixed-attribution/base/ci/mechanism-mixed.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/mixed-attribution/base/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/mixed-attribution/candidate/ci/mechanism-mixed.test.js.fixture +5 -0
- package/ci/fixtures/doc-obligations/derive/mixed-attribution/candidate/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/mixed-docs-code/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/mixed-docs-code/base/docs/reference/guide.md +3 -0
- package/ci/fixtures/doc-obligations/derive/mixed-docs-code/base/src/lint.js +1 -0
- package/ci/fixtures/doc-obligations/derive/mixed-docs-code/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/mixed-docs-code/candidate/docs/reference/guide.md +3 -0
- package/ci/fixtures/doc-obligations/derive/mixed-docs-code/candidate/src/lint.js +1 -0
- package/ci/fixtures/doc-obligations/derive/multiline-comment-only/base/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/multiline-comment-only/candidate/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/multiline-expect/base/ci/mechanism-multi.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/multiline-expect/candidate/ci/mechanism-multi.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/multiline-formatting-only/base/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/multiline-formatting-only/candidate/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/multiline-numeric-prd/base/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/multiline-numeric-prd/base/docs/prd/graph.md +18 -0
- package/ci/fixtures/doc-obligations/derive/multiline-numeric-prd/candidate/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/multiline-numeric-prd/candidate/docs/prd/graph.md +18 -0
- package/ci/fixtures/doc-obligations/derive/multiline-strictequal/base/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/multiline-strictequal/candidate/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/new-prd/candidate/docs/prd/graph-new.md +20 -0
- package/ci/fixtures/doc-obligations/derive/new-reference/candidate/docs/reference/new-note.md +3 -0
- package/ci/fixtures/doc-obligations/derive/new-req-test/candidate/ci/mechanism-new.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/orphan-req-test/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/orphan-req-test/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/orphan-req-test/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/orphan-req-test/candidate/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/partial-revision/base/ci/mechanism-partial.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/partial-revision/base/docs/prd/graph/r001.md +24 -0
- package/ci/fixtures/doc-obligations/derive/partial-revision/candidate/ci/mechanism-partial.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/partial-revision/candidate/docs/prd/graph/r001.md +24 -0
- package/ci/fixtures/doc-obligations/derive/partial-revision/candidate/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-obligations/derive/regex-literal-whitespace/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/regex-literal-whitespace/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/rename/base/docs/reference/old-guide.md +3 -0
- package/ci/fixtures/doc-obligations/derive/rename/candidate/docs/reference/guide.md +3 -0
- package/ci/fixtures/doc-obligations/derive/replacement-target/base/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/replacement-target/candidate/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/req-context-typo/base/docs/prd/graph.md +26 -0
- package/ci/fixtures/doc-obligations/derive/req-context-typo/candidate/docs/prd/graph.md +26 -0
- package/ci/fixtures/doc-obligations/derive/req-revision/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/req-revision/base/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/req-revision/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/req-revision/candidate/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/req-revision/candidate/docs/prd/graph/r002.md +28 -0
- package/ci/fixtures/doc-obligations/derive/req-revision-in-place/base/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/req-revision-in-place/candidate/docs/prd/graph/r001.md +22 -0
- package/ci/fixtures/doc-obligations/derive/retained-revision-chain/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/retained-revision-chain/base/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/retained-revision-chain/base/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-obligations/derive/retained-revision-chain/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/retained-revision-chain/candidate/docs/prd/graph/r001.md +20 -0
- package/ci/fixtures/doc-obligations/derive/retained-revision-chain/candidate/docs/prd/graph/r002.md +26 -0
- package/ci/fixtures/doc-obligations/derive/string-literal-tag/base/ci/mechanism-str.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/string-literal-tag/candidate/ci/mechanism-str.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/tag-inside-test-call/base/ci/mechanism-inside.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/tag-inside-test-call/candidate/ci/mechanism-inside.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/tagged-test/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/tagged-test/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/tagged-test-prd/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/tagged-test-prd/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/tagged-test-prd/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/tagged-test-prd/candidate/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/template-literal-tag/base/ci/mechanism-tpl.test.js +4 -0
- package/ci/fixtures/doc-obligations/derive/template-literal-tag/base/docs/prd/graph.md +18 -0
- package/ci/fixtures/doc-obligations/derive/template-literal-tag/candidate/ci/mechanism-tpl.test.js +4 -0
- package/ci/fixtures/doc-obligations/derive/template-literal-tag/candidate/docs/prd/graph.md +18 -0
- package/ci/fixtures/doc-obligations/derive/template-literal-whitespace/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/template-literal-whitespace/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/title-only-rename/base/ci/mechanism-title.test.js +3 -0
- package/ci/fixtures/doc-obligations/derive/title-only-rename/candidate/ci/mechanism-title.test.js +3 -0
- package/ci/fixtures/doc-obligations/derive/title-only-unrelated-computed/base/ci/mechanism-u.test.js +4 -0
- package/ci/fixtures/doc-obligations/derive/title-only-unrelated-computed/candidate/ci/mechanism-u.test.js +4 -0
- package/ci/fixtures/doc-obligations/derive/top-level-no-file-tag/base/ci/mechanism-top.test.js +4 -0
- package/ci/fixtures/doc-obligations/derive/top-level-no-file-tag/candidate/ci/mechanism-top.test.js +4 -0
- package/ci/fixtures/doc-obligations/derive/trailing-comment-test/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/trailing-comment-test/base/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/trailing-comment-test/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/trailing-comment-test/candidate/docs/prd/graph.md +20 -0
- package/ci/fixtures/doc-obligations/derive/two-tests-one-file/base/ci/mechanism-two.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/two-tests-one-file/base/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/two-tests-one-file/candidate/ci/mechanism-two.test.js +6 -0
- package/ci/fixtures/doc-obligations/derive/two-tests-one-file/candidate/docs/prd/graph.md +24 -0
- package/ci/fixtures/doc-obligations/derive/typo-context/base/docs/adr/GRPH-007.md +14 -0
- package/ci/fixtures/doc-obligations/derive/typo-context/candidate/docs/adr/GRPH-007.md +14 -0
- package/ci/fixtures/doc-obligations/derive/typo-decision/base/docs/adr/GRPH-007.md +14 -0
- package/ci/fixtures/doc-obligations/derive/typo-decision/candidate/docs/adr/GRPH-007.md +14 -0
- package/ci/fixtures/doc-obligations/derive/unbalanced-statement/base/ci/mechanism-multi.test.js +5 -0
- package/ci/fixtures/doc-obligations/derive/unbalanced-statement/candidate/ci/mechanism-multi.test.js.fixture +4 -0
- package/ci/fixtures/doc-obligations/derive/unknown-adr/base/docs/adr/GRPH-009.md +14 -0
- package/ci/fixtures/doc-obligations/derive/unknown-adr/candidate/docs/adr/GRPH-009.md +12 -0
- package/ci/fixtures/doc-obligations/derive/unsupported-assertion-syntax/base/ci/mechanism-s1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/unsupported-assertion-syntax/candidate/ci/mechanism-s1.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/whitespace-only-test/base/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/derive/whitespace-only-test/candidate/ci/mechanism-lint.test.js +2 -0
- package/ci/fixtures/doc-obligations/evidence/base/docs/adr/GRPH-007.md +15 -0
- package/ci/fixtures/doc-obligations/evidence/base/docs/prd/PRD-GRPH-001.md +25 -0
- package/ci/fixtures/doc-obligations/evidence/candidate/docs/adr/GRPH-007.md +15 -0
- package/ci/fixtures/doc-obligations/evidence/candidate/docs/prd/PRD-GRPH-001.md +25 -0
- package/ci/mechanism-2aw-project-docs-config.test.js +759 -0
- package/ci/mechanism-2ax-doc-lifecycle.test.js +1061 -0
- package/ci/mechanism-2ay-prd-revisions.test.js +2891 -0
- package/ci/mechanism-325-3a-cross.test.js +795 -0
- package/ci/mechanism-325-3a-doc-evidence.test.js +1172 -0
- package/ci/mechanism-325-3a-doc-obligations.test.js +742 -0
- package/ci/mechanism-pr334-haiku.test.js +298 -0
- package/ci/mechanism-pr334-luna.test.js +192 -0
- package/ci/mechanism-pr334-opencode.test.js +313 -0
- package/ci/mechanism-pr334-r2-boundary.test.js +239 -0
- package/ci/mechanism-pr334-r2-resolution.test.js +243 -0
- package/ci/mechanism-pr334-r2-scope.test.js +127 -0
- package/ci/mechanism-pr334-r3-boundary.test.js +356 -0
- package/ci/mechanism-pr334-r3-citations.test.js +205 -0
- package/ci/mechanism-pr334-r3-headings.test.js +268 -0
- package/docs/document-lifecycle.md +262 -0
- package/harness-everything/SKILL.md +1 -1
- package/harness-everything/scripts/doc-evidence.js +471 -0
- package/harness-everything/scripts/doc-lifecycle.js +2401 -0
- package/harness-everything/scripts/doc-obligations.js +1571 -0
- package/harness-everything/scripts/project-docs-resolver.js +764 -0
- package/multi-agent-workspace/SKILL.md +1 -1
- package/multi-agent-workspace/scripts/project-docs-resolver.js +437 -30
- package/opencode-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
- package/plugins/harness-everything/plugin.json +1 -1
- package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
- package/plugins/harness-everything/skills/harness-everything/scripts/doc-evidence.js +471 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/doc-lifecycle.js +2401 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/doc-obligations.js +1571 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/project-docs-resolver.js +764 -0
- package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +1 -1
- package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +437 -30
- package/plugins/harness-everything/skills/to-spec/SKILL.md +1 -1
- package/plugins/harness-everything/skills/to-spec/scripts/check-project-docs.js +168 -54
- package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +749 -96
- package/sbom.cdx.json +7 -7
- package/to-spec/SKILL.md +1 -1
- package/to-spec/scripts/check-project-docs.js +168 -54
- package/to-spec/scripts/project-docs-resolver.js +749 -96
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "harness-everything",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
|
|
13
|
-
"version": "0.
|
|
13
|
+
"version": "0.35.0",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Miya Daniel"
|
|
16
16
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "harness-everything",
|
|
3
3
|
"description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.35.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Miya Daniel"
|
|
7
7
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,54 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.35.0](https://github.com/dyphn1/Harness-everything/compare/v0.34.0...v0.35.0) (2026-10-18)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **doc-lifecycle:** add phase 3a doc-change obligation derivation and evidence producer ([61590e1](https://github.com/dyphn1/Harness-everything/commit/61590e1e4ee39652964df5120ded085cd5cf6ecc)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325) [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **doc-lifecycle:** address review findings on phase 3a ([#334](https://github.com/dyphn1/Harness-everything/issues/334)) ([3a0f3ae](https://github.com/dyphn1/Harness-everything/commit/3a0f3aec6461cd0570c8b1de7a93dd37419a5fda)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335) [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
14
|
+
* **doc-lifecycle:** close phase 3a review round 2 gaps ([#334](https://github.com/dyphn1/Harness-everything/issues/334)) ([643c489](https://github.com/dyphn1/Harness-everything/commit/643c4899a0f43d3c27fcc26dae06c0b5b421a657)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
15
|
+
* **doc-lifecycle:** close phase 3a review round 3 gaps ([#334](https://github.com/dyphn1/Harness-everything/issues/334)) ([ccb7c48](https://github.com/dyphn1/Harness-everything/commit/ccb7c487fa67415f8ef183fba7484b237b558c93)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
16
|
+
* **doc-lifecycle:** harden requirement identity and revision evidence ([a4c1d03](https://github.com/dyphn1/Harness-everything/commit/a4c1d03db1b0c6ec0315c0b9e9c1a65d2437adbb))
|
|
17
|
+
* **doc-lifecycle:** preserve requirement resolution and trigger scope ([352ceb3](https://github.com/dyphn1/Harness-everything/commit/352ceb31a28cda92f88a0d7ab64381aa907c2ee3))
|
|
18
|
+
* **doc-lifecycle:** retain changed citations and decision obligations ([c68cf40](https://github.com/dyphn1/Harness-everything/commit/c68cf40a4b188169a98cbb66d511a2c5561cdde4))
|
|
19
|
+
|
|
20
|
+
## [Unreleased]
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* **doc-obligations:** keep changed REQ citations in unknown sync scope and recognize indented Decision headings
|
|
25
|
+
* **doc-obligations:** keep title-only REQ test edits out of new-test and assertion scope
|
|
26
|
+
* **doc-obligations:** reject PRD revision identities not chained to the base declaration
|
|
27
|
+
* **doc-obligations:** keep unrelated REQ-citing tests out of requirement-sync scope
|
|
28
|
+
* **doc-evidence:** keep unresolved requirement identities out of observed requirement-sync failures
|
|
29
|
+
|
|
30
|
+
## [0.34.0](https://github.com/dyphn1/Harness-everything/compare/v0.33.0...v0.34.0) (2026-10-17)
|
|
31
|
+
|
|
32
|
+
### Features
|
|
33
|
+
|
|
34
|
+
* **doc-lifecycle:** add repeatable --changed-path for comma-containing filenames ([d807f16](https://github.com/dyphn1/Harness-everything/commit/d807f16553e67090435b21a001bd17169015c539))
|
|
35
|
+
* **doc-lifecycle:** lint governed docs and build a deterministic index ([5cf3f38](https://github.com/dyphn1/Harness-everything/commit/5cf3f387ef9e19001db12469178e8bb05e3bd7b7)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325) [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
36
|
+
* **doc-lifecycle:** validate contract-style immutable prd revisions ([730f076](https://github.com/dyphn1/Harness-everything/commit/730f0767c84681fcc41b4bdca55d603cbbb30121)), closes [rN#REQ](https://github.com/dyphn1/rN/issues/REQ) [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
37
|
+
* **project-docs:** load host-neutral project-docs.json with validated selection ([0be0d7b](https://github.com/dyphn1/Harness-everything/commit/0be0d7b001e185b8fff427f6219d0dc20f3a8b6d)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
38
|
+
|
|
39
|
+
### Bug Fixes
|
|
40
|
+
|
|
41
|
+
* **doc-lifecycle:** apply per-source prd authority and freeze approved revisions ([1647253](https://github.com/dyphn1/Harness-everything/commit/1647253b9984cde2d121d2b01ba24281af4afbee))
|
|
42
|
+
* **doc-lifecycle:** bind activation path, keep historical retirement and scope reads ([1c7f9ef](https://github.com/dyphn1/Harness-everything/commit/1c7f9efbad7cd7128a263ce560ce6a60daaf9dc9)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
43
|
+
* **doc-lifecycle:** derive index authority from the validated effective prefix ([b7be1e7](https://github.com/dyphn1/Harness-everything/commit/b7be1e79311428dab01544263208d804c4ab9937))
|
|
44
|
+
* **doc-lifecycle:** enforce d6.9 on added or changed prds ([b2404aa](https://github.com/dyphn1/Harness-everything/commit/b2404aacbd219a9e3d7540d8daff78f8b7c1e0a5)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
45
|
+
* **doc-lifecycle:** freeze legacy frontmatter against a trusted base ([faa3ef3](https://github.com/dyphn1/Harness-everything/commit/faa3ef300d6a917e3b52841518b229708a5b5c58))
|
|
46
|
+
* **doc-lifecycle:** harden cli inputs and offline authority found by code-review dogfood ([4d30f54](https://github.com/dyphn1/Harness-everything/commit/4d30f54a9ca17bf99aed0ad04b17b0e27ba1b40a)), closes [#329](https://github.com/dyphn1/Harness-everything/issues/329) [PRD#REQ](https://github.com/dyphn1/PRD/issues/REQ)
|
|
47
|
+
* **doc-lifecycle:** keep --changed-path outer whitespace through normalization ([f8afa0d](https://github.com/dyphn1/Harness-everything/commit/f8afa0d170c73c95cfb741c818a4baf1b42c6e24))
|
|
48
|
+
* **doc-lifecycle:** ship config validator with harness-everything; keep new prd governance strict ([e54660d](https://github.com/dyphn1/Harness-everything/commit/e54660da05ac704a429d1137ef567b2949ec5df2))
|
|
49
|
+
* **project-docs:** reject config globs with empty path segments ([d9445f5](https://github.com/dyphn1/Harness-everything/commit/d9445f5013471c2bcd11410c16a1b3d529d4f072))
|
|
50
|
+
* **project-docs:** reject whitespace init values and non-canonical globs ([bf4e20f](https://github.com/dyphn1/Harness-everything/commit/bf4e20fd507a596e9d77b6808f60f12f2474413f)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
51
|
+
* **project-docs:** stop inferring selected config and init the project file ([34bbfee](https://github.com/dyphn1/Harness-everything/commit/34bbfeed2ba79b96c84e3f7d87a603b2c5c65f8e)), closes [#325](https://github.com/dyphn1/Harness-everything/issues/325)
|
|
52
|
+
|
|
5
53
|
## [0.33.0](https://github.com/dyphn1/Harness-everything/compare/v0.32.0...v0.33.0) (2026-10-17)
|
|
6
54
|
|
|
7
55
|
### Features
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"valid": {
|
|
3
|
+
"r001ArtifactDigest": "sha256:305358d3ff29f45969b99562eec9bca2da12f35020decee5a3a667a16fd412f6",
|
|
4
|
+
"r001ApprovalDigest": "sha256:f0715961ec620f963304941851b86493f1c58c009329aaff485ef796011dd4b3",
|
|
5
|
+
"r002ArtifactDigest": "sha256:d54cb5153daa0336ec919d100eb6c98bf1962cae9d9a248e9101187f155c6e0f",
|
|
6
|
+
"r002ApprovalDigest": "sha256:f0ad5b331c847bd91a3dffd3bfb653ec631c201c592fb599c5c4777e3cb01606"
|
|
7
|
+
},
|
|
8
|
+
"invalidFork": {
|
|
9
|
+
"r003ArtifactDigest": "sha256:7d3b98b1c0984f868136f875febee399864d7273cef958564da63052cd7f825c",
|
|
10
|
+
"r003ApprovalDigest": "sha256:aee28699550b78cf0e0ea43aba4aa938886b759f229b5a50a117dca26d5168cf"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "PRD-GRPH-001"
|
|
3
|
+
revision: 1
|
|
4
|
+
status: "effective"
|
|
5
|
+
drafted_by: "Alice Example"
|
|
6
|
+
effective_at: "2026-10-17T00:01:00Z"
|
|
7
|
+
approval:
|
|
8
|
+
by: "Bob Independent"
|
|
9
|
+
at: "2026-10-17T00:00:00Z"
|
|
10
|
+
ref: "https://approvals.example.invalid/PRD-GRPH-001"
|
|
11
|
+
role: "human"
|
|
12
|
+
content_digest: "sha256:f0715961ec620f963304941851b86493f1c58c009329aaff485ef796011dd4b3"
|
|
13
|
+
---
|
|
14
|
+
### REQ-GRPH-010 (aliases: REQ-GRPH-100): Initial requirement
|
|
15
|
+
|
|
16
|
+
Acceptance: resolve the original alias.
|
|
17
|
+
|
|
18
|
+
### REQ-GRPH-011: Stable requirement
|
|
19
|
+
|
|
20
|
+
Acceptance: preserve the stable behavior.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "PRD-GRPH-001"
|
|
3
|
+
revision: 2
|
|
4
|
+
status: "effective"
|
|
5
|
+
drafted_by: "Alice Example"
|
|
6
|
+
previous_revision: 1
|
|
7
|
+
previous_digest: "sha256:305358d3ff29f45969b99562eec9bca2da12f35020decee5a3a667a16fd412f6"
|
|
8
|
+
effective_at: "2026-10-17T00:02:00Z"
|
|
9
|
+
approval:
|
|
10
|
+
by: "Bob Independent"
|
|
11
|
+
at: "2026-10-17T00:00:00Z"
|
|
12
|
+
ref: "https://approvals.example.invalid/PRD-GRPH-001"
|
|
13
|
+
role: "human"
|
|
14
|
+
content_digest: "sha256:f0ad5b331c847bd91a3dffd3bfb653ec631c201c592fb599c5c4777e3cb01606"
|
|
15
|
+
---
|
|
16
|
+
### REQ-GRPH-010 (aliases: REQ-GRPH-100, REQ-GRPH-101): Initial requirement
|
|
17
|
+
|
|
18
|
+
Acceptance: resolve the original alias.
|
|
19
|
+
|
|
20
|
+
### REQ-GRPH-011: Stable requirement
|
|
21
|
+
|
|
22
|
+
Acceptance: preserve the stable behavior.
|
|
23
|
+
|
|
24
|
+
### REQ-GRPH-012: Added requirement
|
|
25
|
+
|
|
26
|
+
Acceptance: include the new behavior.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "PRD-GRPH-001"
|
|
3
|
+
revision: 3
|
|
4
|
+
status: "effective"
|
|
5
|
+
drafted_by: "Alice Example"
|
|
6
|
+
previous_revision: 1
|
|
7
|
+
previous_digest: "sha256:305358d3ff29f45969b99562eec9bca2da12f35020decee5a3a667a16fd412f6"
|
|
8
|
+
effective_at: "2026-10-17T00:03:00Z"
|
|
9
|
+
approval:
|
|
10
|
+
by: "Bob Independent"
|
|
11
|
+
at: "2026-10-17T00:00:00Z"
|
|
12
|
+
ref: "https://approvals.example.invalid/PRD-GRPH-001"
|
|
13
|
+
role: "human"
|
|
14
|
+
content_digest: "sha256:aee28699550b78cf0e0ea43aba4aa938886b759f229b5a50a117dca26d5168cf"
|
|
15
|
+
---
|
|
16
|
+
### REQ-GRPH-010 (aliases: REQ-GRPH-100, REQ-GRPH-102): Initial requirement
|
|
17
|
+
|
|
18
|
+
Acceptance: resolve the original alias.
|
|
19
|
+
|
|
20
|
+
### REQ-GRPH-011: Stable requirement
|
|
21
|
+
|
|
22
|
+
Acceptance: preserve the stable behavior.
|
|
23
|
+
|
|
24
|
+
### REQ-GRPH-013: Fork-only requirement
|
|
25
|
+
|
|
26
|
+
Acceptance: expose the competing effective branch.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "PRD-GRPH-001"
|
|
3
|
+
revision: 1
|
|
4
|
+
status: "effective"
|
|
5
|
+
drafted_by: "Alice Example"
|
|
6
|
+
effective_at: "2026-10-17T00:01:00Z"
|
|
7
|
+
approval:
|
|
8
|
+
by: "Bob Independent"
|
|
9
|
+
at: "2026-10-17T00:00:00Z"
|
|
10
|
+
ref: "https://approvals.example.invalid/PRD-GRPH-001"
|
|
11
|
+
role: "human"
|
|
12
|
+
content_digest: "sha256:f0715961ec620f963304941851b86493f1c58c009329aaff485ef796011dd4b3"
|
|
13
|
+
---
|
|
14
|
+
### REQ-GRPH-010 (aliases: REQ-GRPH-100): Initial requirement
|
|
15
|
+
|
|
16
|
+
Acceptance: resolve the original alias.
|
|
17
|
+
|
|
18
|
+
### REQ-GRPH-011: Stable requirement
|
|
19
|
+
|
|
20
|
+
Acceptance: preserve the stable behavior.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "PRD-GRPH-001"
|
|
3
|
+
revision: 2
|
|
4
|
+
status: "effective"
|
|
5
|
+
drafted_by: "Alice Example"
|
|
6
|
+
previous_revision: 1
|
|
7
|
+
previous_digest: "sha256:305358d3ff29f45969b99562eec9bca2da12f35020decee5a3a667a16fd412f6"
|
|
8
|
+
effective_at: "2026-10-17T00:02:00Z"
|
|
9
|
+
approval:
|
|
10
|
+
by: "Bob Independent"
|
|
11
|
+
at: "2026-10-17T00:00:00Z"
|
|
12
|
+
ref: "https://approvals.example.invalid/PRD-GRPH-001"
|
|
13
|
+
role: "human"
|
|
14
|
+
content_digest: "sha256:f0ad5b331c847bd91a3dffd3bfb653ec631c201c592fb599c5c4777e3cb01606"
|
|
15
|
+
---
|
|
16
|
+
### REQ-GRPH-010 (aliases: REQ-GRPH-100, REQ-GRPH-101): Initial requirement
|
|
17
|
+
|
|
18
|
+
Acceptance: resolve the original alias.
|
|
19
|
+
|
|
20
|
+
### REQ-GRPH-011: Stable requirement
|
|
21
|
+
|
|
22
|
+
Acceptance: preserve the stable behavior.
|
|
23
|
+
|
|
24
|
+
### REQ-GRPH-012: Added requirement
|
|
25
|
+
|
|
26
|
+
Acceptance: include the new behavior.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
### REQ-GRPH-010: Draw vertices
|
|
2
|
+
|
|
3
|
+
Acceptance: every declared vertex is drawn.
|
|
4
|
+
|
|
5
|
+
### REQ-GRPH-011: Draw edges
|
|
6
|
+
|
|
7
|
+
Acceptance: every declared edge is drawn.
|
|
8
|
+
|
|
9
|
+
### REQ-GRPH-012: Preserve direction
|
|
10
|
+
|
|
11
|
+
Acceptance: directed edges retain their direction.
|
|
12
|
+
|
|
13
|
+
### REQ-GRPH-013: Support labels
|
|
14
|
+
|
|
15
|
+
Acceptance: labels remain readable.
|
|
16
|
+
|
|
17
|
+
### REQ-GRPH-014: Support grouping
|
|
18
|
+
|
|
19
|
+
Acceptance: groups remain visually distinct.
|
|
20
|
+
|
|
21
|
+
### REQ-GRPH-015: Support selection
|
|
22
|
+
|
|
23
|
+
Acceptance: selected items are exposed to callers.
|
|
24
|
+
|
|
25
|
+
### REQ-GRPH-016: Support keyboard access
|
|
26
|
+
|
|
27
|
+
Acceptance: every action is keyboard reachable.
|
|
28
|
+
|
|
29
|
+
### REQ-GRPH-017: Preserve layout
|
|
30
|
+
|
|
31
|
+
Acceptance: saved layouts can be restored.
|
|
32
|
+
|
|
33
|
+
### REQ-GRPH-018: Export the graph
|
|
34
|
+
|
|
35
|
+
Acceptance: exports include the complete graph.
|
|
36
|
+
|
|
37
|
+
### REQ-GRPH-019: Report export errors
|
|
38
|
+
|
|
39
|
+
Acceptance: failures include an actionable error.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
### REQ-GRPH-010: Draw vertices
|
|
2
|
+
|
|
3
|
+
Acceptance: every declared vertex is drawn.
|
|
4
|
+
|
|
5
|
+
### REQ-GRPH-011: Draw edges
|
|
6
|
+
|
|
7
|
+
Acceptance: every declared edge is drawn.
|
|
8
|
+
|
|
9
|
+
### REQ-GRPH-012: Preserve direction
|
|
10
|
+
|
|
11
|
+
Acceptance: directed edges retain their direction.
|
|
12
|
+
|
|
13
|
+
### REQ-GRPH-013: Support labels
|
|
14
|
+
|
|
15
|
+
Acceptance: labels remain readable.
|
|
16
|
+
|
|
17
|
+
### REQ-GRPH-014: Support grouping
|
|
18
|
+
|
|
19
|
+
Acceptance: groups remain visually distinct.
|
|
20
|
+
|
|
21
|
+
### REQ-GRPH-015: Support selection
|
|
22
|
+
|
|
23
|
+
Acceptance: selected items are exposed to callers.
|
|
24
|
+
|
|
25
|
+
### REQ-GRPH-016: Support keyboard access
|
|
26
|
+
|
|
27
|
+
Acceptance: every action is keyboard reachable.
|
|
28
|
+
|
|
29
|
+
### REQ-GRPH-017: Preserve layout
|
|
30
|
+
|
|
31
|
+
Acceptance: saved layouts can be restored.
|
|
32
|
+
|
|
33
|
+
### REQ-GRPH-018: Export the graph
|
|
34
|
+
|
|
35
|
+
Acceptance: exports include the complete graph.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
### REQ-GRPH-010: Draw vertices
|
|
2
|
+
|
|
3
|
+
Acceptance: every declared vertex is drawn.
|
|
4
|
+
|
|
5
|
+
### REQ-GRPH-011: Draw edges
|
|
6
|
+
|
|
7
|
+
Acceptance: every declared edge is drawn.
|
|
8
|
+
|
|
9
|
+
### REQ-GRPH-012: Preserve direction
|
|
10
|
+
|
|
11
|
+
Acceptance: directed edges retain their direction.
|
|
12
|
+
|
|
13
|
+
### REQ-GRPH-013: Support labels
|
|
14
|
+
|
|
15
|
+
Acceptance: labels remain readable.
|
|
16
|
+
|
|
17
|
+
### REQ-GRPH-014: Support grouping
|
|
18
|
+
|
|
19
|
+
Acceptance: groups remain visually distinct.
|
|
20
|
+
|
|
21
|
+
### REQ-GRPH-015: Support selection
|
|
22
|
+
|
|
23
|
+
Acceptance: selected items are exposed to callers.
|
|
24
|
+
|
|
25
|
+
### REQ-GRPH-016: Support keyboard access
|
|
26
|
+
|
|
27
|
+
Acceptance: every action is keyboard reachable.
|
|
28
|
+
|
|
29
|
+
### REQ-GRPH-017: Preserve layout
|
|
30
|
+
|
|
31
|
+
Acceptance: saved layouts can be restored.
|
|
32
|
+
|
|
33
|
+
### REQ-GRPH-018: Export the graph
|
|
34
|
+
|
|
35
|
+
### REQ-GRPH-020 (replaces: REQ-GRPH-019; aliases: REQ-GRAPH-020): Report export errors
|
|
36
|
+
|
|
37
|
+
Acceptance: failures include a recovery action and error identifier.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
### REQ-GRPH-010: Draw vertices
|
|
2
|
+
|
|
3
|
+
Acceptance: every declared vertex is drawn.
|
|
4
|
+
|
|
5
|
+
### REQ-GRPH-011: Draw edges
|
|
6
|
+
|
|
7
|
+
Acceptance: every declared edge is drawn.
|
|
8
|
+
|
|
9
|
+
### REQ-GRPH-012: Preserve direction
|
|
10
|
+
|
|
11
|
+
Acceptance: directed edges retain their direction.
|
|
12
|
+
|
|
13
|
+
### REQ-GRPH-013: Support labels
|
|
14
|
+
|
|
15
|
+
Acceptance: labels remain readable.
|
|
16
|
+
|
|
17
|
+
### REQ-GRPH-014: Support grouping
|
|
18
|
+
|
|
19
|
+
Acceptance: groups remain visually distinct.
|
|
20
|
+
|
|
21
|
+
### REQ-GRPH-015: Support selection
|
|
22
|
+
|
|
23
|
+
Acceptance: selected items are exposed to callers.
|
|
24
|
+
|
|
25
|
+
### REQ-GRPH-016: Support keyboard access
|
|
26
|
+
|
|
27
|
+
Acceptance: every action is keyboard reachable.
|
|
28
|
+
|
|
29
|
+
### REQ-GRPH-017: Preserve layout
|
|
30
|
+
|
|
31
|
+
Acceptance: saved layouts can be restored.
|
|
32
|
+
|
|
33
|
+
### REQ-GRPH-018: Export the graph
|
|
34
|
+
|
|
35
|
+
Acceptance: exports include the complete graph.
|
|
36
|
+
|
|
37
|
+
### REQ-GRPH-020 (replaces: REQ-GRPH-019; aliases: REQ-GRAPH-020): Report export errors
|
|
38
|
+
|
|
39
|
+
Acceptance: failures include a recovery action and error identifier.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
### REQ-GRPH-010: Draw vertices
|
|
2
|
+
|
|
3
|
+
Acceptance: every declared vertex is drawn.
|
|
4
|
+
|
|
5
|
+
### REQ-GRPH-011: Draw edges
|
|
6
|
+
|
|
7
|
+
Acceptance: every declared edge is drawn.
|
|
8
|
+
|
|
9
|
+
### REQ-GRPH-012: Preserve direction
|
|
10
|
+
|
|
11
|
+
Acceptance: directed edges retain their direction.
|
|
12
|
+
|
|
13
|
+
### REQ-GRPH-013: Support labels
|
|
14
|
+
|
|
15
|
+
Acceptance: labels remain readable.
|
|
16
|
+
|
|
17
|
+
### REQ-GRPH-014: Support grouping
|
|
18
|
+
|
|
19
|
+
Acceptance: groups remain visually distinct.
|
|
20
|
+
|
|
21
|
+
### REQ-GRPH-015: Support selection
|
|
22
|
+
|
|
23
|
+
Acceptance: selected items are exposed to callers.
|
|
24
|
+
|
|
25
|
+
### REQ-GRPH-016: Support keyboard access
|
|
26
|
+
|
|
27
|
+
Acceptance: every action is keyboard reachable.
|
|
28
|
+
|
|
29
|
+
### REQ-GRPH-017: Preserve layout
|
|
30
|
+
|
|
31
|
+
Acceptance: saved layouts can be restored.
|
|
32
|
+
|
|
33
|
+
### REQ-GRPH-018: Export the graph
|
|
34
|
+
|
|
35
|
+
Acceptance: exports include the complete graph.
|
|
36
|
+
|
|
37
|
+
### REQ-GRPH-020 (replaces: REQ-GRPH-019; aliases: REQ-GRPH-019): Report export errors
|
|
38
|
+
|
|
39
|
+
Acceptance: aliases cannot conceal replaced REQ identities.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"all":true,"diagnostics":[],"resolve":{"GRPH-001":"docs/adr/GRPH-001.md","GRPH-002":"docs/adr/GRPH-002.md"},"indexContains":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"all":true,"diagnostics":[{"code":"supersede-status-mismatch","severity":"error","path":"docs/adr/GRPH-002.md"}],"resolve":{"GRPH-001":"docs/adr/GRPH-001.md","GRPH-002":"docs/adr/GRPH-002.md"},"indexContains":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"all":true,"diagnostics":[],"resolve":{"GRPH-010":"docs/adr/GRPH-010.md","legacy:GRPH-007":"docs/adr/legacy/GRPH-007.md"},"indexContains":["superseded (projected)"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"all":true,"diagnostics":[],"resolve":{"GRPH-007":"docs/adr/GRAPH-007.md","GRAPH-007":"docs/adr/GRAPH-007.md","legacy:GRPH-007":"docs/adr/legacy/GRPH-007.md"},"indexContains":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"all":true,"diagnostics":[],"resolve":{"legacy:GRPH-007":"ambiguous-legacy-ref","legacy:GRPH-007@docs/adr/legacy/v2/GRPH-007.md":"docs/adr/legacy/v2/GRPH-007.md","legacy:GRPH-007@docs/adr/legacy/v3/GRPH-007.md":"unresolved-ref","legacy:GRPH-007@../x.md":"invalid-ref"},"indexContains":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"all": true, "diagnostics": [{"code": "alias-collision", "severity": "error", "path": "docs/adr/GRPH-003.md", "candidates": ["docs/adr/GRPH-004.md"]}, {"code": "alias-collision", "severity": "error", "path": "docs/adr/GRPH-004.md", "candidates": ["docs/adr/GRPH-003.md"]}, {"code": "unresolved-ref", "severity": "error", "path": "docs/adr/GRPH-005.md"}, {"code": "supersede-cycle", "severity": "error", "path": "docs/adr/GRPH-006.md"}, {"code": "invalid-alias", "severity": "error", "path": "docs/adr/GRPH-007.md"}], "resolve": {"GRPH-003": "docs/adr/GRPH-003.md", "GRPH-006": "docs/adr/GRPH-006.md"}, "indexContains": []}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|