harness-everything 0.33.0 → 0.34.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 +23 -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/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/docs/document-lifecycle.md +206 -0
- package/harness-everything/SKILL.md +1 -1
- package/harness-everything/scripts/doc-lifecycle.js +2401 -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-lifecycle.js +2401 -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.34.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.34.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Miya Daniel"
|
|
7
7
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.34.0](https://github.com/dyphn1/Harness-everything/compare/v0.33.0...v0.34.0) (2026-10-17)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **doc-lifecycle:** add repeatable --changed-path for comma-containing filenames ([d807f16](https://github.com/dyphn1/Harness-everything/commit/d807f16553e67090435b21a001bd17169015c539))
|
|
10
|
+
* **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)
|
|
11
|
+
* **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)
|
|
12
|
+
* **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)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **doc-lifecycle:** apply per-source prd authority and freeze approved revisions ([1647253](https://github.com/dyphn1/Harness-everything/commit/1647253b9984cde2d121d2b01ba24281af4afbee))
|
|
17
|
+
* **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)
|
|
18
|
+
* **doc-lifecycle:** derive index authority from the validated effective prefix ([b7be1e7](https://github.com/dyphn1/Harness-everything/commit/b7be1e79311428dab01544263208d804c4ab9937))
|
|
19
|
+
* **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)
|
|
20
|
+
* **doc-lifecycle:** freeze legacy frontmatter against a trusted base ([faa3ef3](https://github.com/dyphn1/Harness-everything/commit/faa3ef300d6a917e3b52841518b229708a5b5c58))
|
|
21
|
+
* **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)
|
|
22
|
+
* **doc-lifecycle:** keep --changed-path outer whitespace through normalization ([f8afa0d](https://github.com/dyphn1/Harness-everything/commit/f8afa0d170c73c95cfb741c818a4baf1b42c6e24))
|
|
23
|
+
* **doc-lifecycle:** ship config validator with harness-everything; keep new prd governance strict ([e54660d](https://github.com/dyphn1/Harness-everything/commit/e54660da05ac704a429d1137ef567b2949ec5df2))
|
|
24
|
+
* **project-docs:** reject config globs with empty path segments ([d9445f5](https://github.com/dyphn1/Harness-everything/commit/d9445f5013471c2bcd11410c16a1b3d529d4f072))
|
|
25
|
+
* **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)
|
|
26
|
+
* **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)
|
|
27
|
+
|
|
5
28
|
## [0.33.0](https://github.com/dyphn1/Harness-everything/compare/v0.32.0...v0.33.0) (2026-10-17)
|
|
6
29
|
|
|
7
30
|
### 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/**"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"all":true,"diagnostics":[],"resolve":{"GRPH-020":"docs/adr/GRPH-020.md","GRPH-021":"docs/adr/GRPH-021.md"},"indexContains":["pending"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"governed":[{"path":"docs/adr/**","role":"adr"},{"path":"docs/prd/**","role":"prd"}],"domains":["GRPH","GRAPH"],"legacy":["docs/adr/legacy/**"]}
|