rcf-lite 0.0.1 → 0.7.1
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/CHANGELOG.md +288 -0
- package/LICENSE +202 -0
- package/README.md +92 -4
- package/bin/rcf-verify.js +122 -0
- package/bin/rcf.js +174 -0
- package/bin/view-supervisor-child.mjs +14 -0
- package/fixtures/canary-manifest.json +103 -0
- package/guidance/README.md +25 -0
- package/guidance/build-cycle-playbook.md +492 -0
- package/guidance/build-cycle.md +40 -0
- package/guidance/document-model.md +45 -0
- package/guidance/elicitation-playbook.md +442 -0
- package/guidance/harness-template.md +246 -0
- package/guidance/managed/README.md +63 -0
- package/guidance/managed/agent-instructions-block.hash +1 -0
- package/guidance/managed/agent-instructions-block.md +220 -0
- package/guidance/managed/legacy-fragment-hashes.json +22 -0
- package/guidance/manifest.json +21 -0
- package/guidance/overview.md +48 -0
- package/guidance/persona-programme.md +44 -0
- package/package.json +69 -8
- package/rcf/adrs/adr-001.json +25 -0
- package/rcf/adrs/adr-002.json +25 -0
- package/rcf/adrs/adr-003.json +25 -0
- package/rcf/adrs/adr-004.json +20 -0
- package/rcf/adrs/adr-005.json +20 -0
- package/rcf/adrs/adr-006.json +25 -0
- package/rcf/adrs/adr-007.json +25 -0
- package/rcf/adrs/adr-008.json +25 -0
- package/rcf/adrs/adr-009.json +25 -0
- package/rcf/build-sequence.json +11 -0
- package/rcf/code-nodes/cn-001.json +14 -0
- package/rcf/code-nodes/cn-002.json +14 -0
- package/rcf/code-nodes/cn-003.json +15 -0
- package/rcf/code-nodes/cn-004.json +17 -0
- package/rcf/code-nodes/cn-005.json +19 -0
- package/rcf/code-nodes/cn-006.json +17 -0
- package/rcf/code-nodes/cn-007.json +16 -0
- package/rcf/code-nodes/cn-008.json +19 -0
- package/rcf/code-nodes/cn-009.json +16 -0
- package/rcf/code-nodes/cn-010.json +18 -0
- package/rcf/code-nodes/cn-011.json +18 -0
- package/rcf/code-nodes/cn-012.json +18 -0
- package/rcf/code-nodes/cn-013.json +19 -0
- package/rcf/code-nodes/cn-014.json +16 -0
- package/rcf/code-nodes/cn-015.json +16 -0
- package/rcf/code-nodes/cn-016.json +16 -0
- package/rcf/code-nodes/cn-017.json +16 -0
- package/rcf/code-nodes/cn-018.json +15 -0
- package/rcf/code-nodes/cn-019.json +16 -0
- package/rcf/code-nodes/cn-020.json +16 -0
- package/rcf/code-nodes/cn-021.json +16 -0
- package/rcf/code-nodes/cn-022.json +16 -0
- package/rcf/code-nodes/cn-023.json +16 -0
- package/rcf/code-nodes/cn-024.json +16 -0
- package/rcf/code-nodes/cn-025.json +16 -0
- package/rcf/code-nodes/cn-026.json +16 -0
- package/rcf/code-nodes/cn-027.json +16 -0
- package/rcf/code-nodes/cn-028.json +16 -0
- package/rcf/code-nodes/cn-029.json +19 -0
- package/rcf/code-nodes/cn-030.json +14 -0
- package/rcf/code-nodes/cn-031.json +14 -0
- package/rcf/code-nodes/cn-032.json +14 -0
- package/rcf/code-nodes/cn-033.json +14 -0
- package/rcf/code-nodes/cn-034.json +14 -0
- package/rcf/code-nodes/cn-035.json +14 -0
- package/rcf/code-nodes/cn-036.json +14 -0
- package/rcf/code-nodes/cn-037.json +14 -0
- package/rcf/code-nodes/cn-038.json +14 -0
- package/rcf/code-nodes/cn-039.json +14 -0
- package/rcf/code-nodes/cn-040.json +14 -0
- package/rcf/code-nodes/cn-041.json +14 -0
- package/rcf/code-nodes/cn-042.json +14 -0
- package/rcf/code-nodes/cn-043.json +14 -0
- package/rcf/code-nodes/cn-044.json +14 -0
- package/rcf/code-nodes/cn-045.json +14 -0
- package/rcf/code-nodes/cn-046.json +14 -0
- package/rcf/code-nodes/cn-047.json +14 -0
- package/rcf/code-nodes/cn-048.json +14 -0
- package/rcf/code-nodes/cn-049.json +14 -0
- package/rcf/code-nodes/cn-050.json +14 -0
- package/rcf/code-nodes/cn-051.json +14 -0
- package/rcf/code-nodes/cn-052.json +14 -0
- package/rcf/code-nodes/cn-053.json +14 -0
- package/rcf/code-nodes/cn-054.json +14 -0
- package/rcf/code-nodes/cn-055.json +14 -0
- package/rcf/code-nodes/cn-056.json +14 -0
- package/rcf/code-nodes/cn-057.json +14 -0
- package/rcf/fbs/fbs-001.json +49 -0
- package/rcf/fbs/fbs-002.json +42 -0
- package/rcf/fbs/fbs-003.json +37 -0
- package/rcf/fbs/fbs-004.json +39 -0
- package/rcf/fbs/fbs-005.json +38 -0
- package/rcf/fbs/fbs-006.json +48 -0
- package/rcf/fbs/fbs-007.json +39 -0
- package/rcf/fbs/fbs-008.json +40 -0
- package/rcf/fbs/fbs-009.json +36 -0
- package/rcf/fbs/fbs-010.json +41 -0
- package/rcf/fbs/fbs-011.json +36 -0
- package/rcf/fbs/fbs-012.json +46 -0
- package/rcf/fbs/fbs-013.json +42 -0
- package/rcf/fbs/fbs-014.json +49 -0
- package/rcf/fbs/fbs-015.json +32 -0
- package/rcf/manifest.json +17 -0
- package/rcf/prd.json +47 -0
- package/rcf/requirements/req-001.json +19 -0
- package/rcf/requirements/req-002.json +19 -0
- package/rcf/requirements/req-003.json +19 -0
- package/rcf/requirements/req-004.json +19 -0
- package/rcf/requirements/req-005.json +19 -0
- package/rcf/requirements/req-006.json +19 -0
- package/rcf/requirements/req-007.json +19 -0
- package/rcf/requirements/req-008.json +19 -0
- package/rcf/requirements/req-009.json +19 -0
- package/rcf/tacs/tac-001.json +45 -0
- package/rcf/tacs/tac-002.json +109 -0
- package/rcf/tacs/tac-003.json +40 -0
- package/rcf/tacs/tac-004.json +51 -0
- package/rcf/tacs/tac-005.json +52 -0
- package/rcf/tacs/tac-006.json +104 -0
- package/rcf/tacs/tac-007.json +38 -0
- package/rcf/tacs/tac-008.json +51 -0
- package/rcf/tad.json +51 -0
- package/rcf/test-suites/PENDING.md +23 -0
- package/rcf/test-suites/ts-001.json +38 -0
- package/rcf/test-suites/ts-002.json +38 -0
- package/rcf/test-suites/ts-003.json +43 -0
- package/rcf/test-suites/ts-004.json +44 -0
- package/rcf/test-suites/ts-005.json +30 -0
- package/rcf/test-suites/ts-006.json +36 -0
- package/rcf/test-suites/ts-007.json +43 -0
- package/rcf/test-suites/ts-008.json +37 -0
- package/rcf/test-suites/ts-009.json +38 -0
- package/rcf/test-suites/ts-010.json +38 -0
- package/rcf/test-suites/ts-011.json +44 -0
- package/rcf/test-suites/ts-012.json +36 -0
- package/rcf/test-suites/ts-013.json +38 -0
- package/rcf/test-suites/ts-014.json +38 -0
- package/rcf/test-suites/ts-015.json +38 -0
- package/rcf/test-suites/ts-016.json +37 -0
- package/rcf/test-suites/ts-017.json +38 -0
- package/rcf/test-suites/ts-018.json +38 -0
- package/rcf/test-suites/ts-019.json +37 -0
- package/rcf/test-suites/ts-020.json +46 -0
- package/rcf/test-suites/ts-021.json +46 -0
- package/rcf/test-suites/ts-022.json +46 -0
- package/rcf/test-suites/ts-023.json +46 -0
- package/rcf/test-suites/ts-024.json +46 -0
- package/rcf/test-suites/ts-025.json +52 -0
- package/rcf/user-stories/us-101.json +40 -0
- package/rcf/user-stories/us-102.json +40 -0
- package/rcf/user-stories/us-201.json +40 -0
- package/rcf/user-stories/us-202.json +40 -0
- package/rcf/user-stories/us-203.json +32 -0
- package/rcf/user-stories/us-301.json +40 -0
- package/rcf/user-stories/us-302.json +40 -0
- package/rcf/user-stories/us-303.json +40 -0
- package/rcf/user-stories/us-304.json +40 -0
- package/rcf/user-stories/us-401.json +40 -0
- package/rcf/user-stories/us-402.json +40 -0
- package/rcf/user-stories/us-403.json +40 -0
- package/rcf/user-stories/us-501.json +40 -0
- package/rcf/user-stories/us-502.json +40 -0
- package/rcf/user-stories/us-503.json +40 -0
- package/rcf/user-stories/us-601.json +40 -0
- package/rcf/user-stories/us-602.json +40 -0
- package/rcf/user-stories/us-701.json +40 -0
- package/rcf/user-stories/us-702.json +40 -0
- package/rcf/user-stories/us-801.json +49 -0
- package/rcf/user-stories/us-802.json +49 -0
- package/rcf/user-stories/us-803.json +49 -0
- package/rcf/user-stories/us-804.json +49 -0
- package/rcf/user-stories/us-805.json +49 -0
- package/rcf/user-stories/us-901.json +40 -0
- package/src/.gitkeep +0 -0
- package/src/browser-verify/auth-smoke.js +109 -0
- package/src/browser-verify/index.js +29 -0
- package/src/browser-verify/invariants.js +336 -0
- package/src/browser-verify/manifest-writer.js +189 -0
- package/src/browser-verify/runner.js +171 -0
- package/src/build/bundle.js +198 -0
- package/src/build/formatters/json.js +18 -0
- package/src/build/formatters/markdown.js +406 -0
- package/src/build/index.js +14 -0
- package/src/build/mark.js +177 -0
- package/src/build/queue.js +285 -0
- package/src/cli/browser-verify.js +231 -0
- package/src/cli/build.js +584 -0
- package/src/cli/coverage.js +219 -0
- package/src/cli/create.js +355 -0
- package/src/cli/delete.js +127 -0
- package/src/cli/design.js +353 -0
- package/src/cli/doctor.js +548 -0
- package/src/cli/fbs.js +171 -0
- package/src/cli/finalise.js +377 -0
- package/src/cli/guidance.js +206 -0
- package/src/cli/help.js +156 -0
- package/src/cli/impact.js +119 -0
- package/src/cli/init.js +282 -0
- package/src/cli/intake.js +153 -0
- package/src/cli/link.js +128 -0
- package/src/cli/mcp.js +160 -0
- package/src/cli/preflight.js +220 -0
- package/src/cli/read.js +162 -0
- package/src/cli/req-baseline.js +269 -0
- package/src/cli/req-classify.js +135 -0
- package/src/cli/review.js +295 -0
- package/src/cli/test-suite.js +216 -0
- package/src/cli/trace.js +172 -0
- package/src/cli/ui-baseline.js +292 -0
- package/src/cli/ui-classify.js +108 -0
- package/src/cli/update.js +197 -0
- package/src/cli/validate.js +168 -0
- package/src/cli/view.js +452 -0
- package/src/core/baseline-catalog/data/auth.json +42 -0
- package/src/core/baseline-catalog/data/http-api.json +42 -0
- package/src/core/baseline-catalog/data/notifications.json +33 -0
- package/src/core/baseline-catalog/data/persistence.json +33 -0
- package/src/core/baseline-catalog/data/web-ui.json +60 -0
- package/src/core/baseline-catalog/index.js +121 -0
- package/src/core/errors/index.js +167 -0
- package/src/core/fixtures/register-canary/canary-prompt-01.json +18 -0
- package/src/core/fixtures/register-canary/canary-prompt-02.json +21 -0
- package/src/core/fixtures/register-canary/canary-prompt-03.json +17 -0
- package/src/core/isolation/index.js +60 -0
- package/src/core/mcp/framing.js +103 -0
- package/src/core/mcp/index.js +8 -0
- package/src/core/mcp/server.js +228 -0
- package/src/core/patterns/register-canary.js +209 -0
- package/src/core/patterns/req-shapes.js +158 -0
- package/src/core/patterns/services.js +358 -0
- package/src/core/patterns/ui-shapes.js +166 -0
- package/src/core/store/cn-resolve.js +134 -0
- package/src/core/store/derive-deps.js +93 -0
- package/src/core/store/ids.js +78 -0
- package/src/core/store/index.js +20 -0
- package/src/core/store/init.js +255 -0
- package/src/core/store/loader.js +211 -0
- package/src/core/store/tp-resolve.js +176 -0
- package/src/core/store/validator.js +191 -0
- package/src/core/store/walker.js +898 -0
- package/src/core/store/writer.js +1849 -0
- package/src/design/index.js +11 -0
- package/src/design/writer.js +271 -0
- package/src/finalise/detect.js +129 -0
- package/src/finalise/index.js +17 -0
- package/src/finalise/ingest.js +119 -0
- package/src/finalise/install.js +119 -0
- package/src/finalise/ship-without-verified.js +131 -0
- package/src/finalise/spawn.js +84 -0
- package/src/intake/fidelity.js +105 -0
- package/src/intake/index.js +6 -0
- package/src/intake/manifest-writer.js +100 -0
- package/src/intake/orchestrator.js +138 -0
- package/src/intake/validate.js +80 -0
- package/src/mcp/map-errors.js +131 -0
- package/src/mcp/prompts.js +49 -0
- package/src/mcp/resources.js +244 -0
- package/src/mcp/tools.js +1204 -0
- package/src/preflight/design-shapes.js +185 -0
- package/src/preflight/index.js +90 -0
- package/src/preflight/manifest-writer.js +264 -0
- package/src/preflight/scanner.js +206 -0
- package/src/preflight/secrets.js +134 -0
- package/src/preflight/session.js +246 -0
- package/src/query/attestation.js +285 -0
- package/src/query/coverage.js +308 -0
- package/src/query/formatters/json.js +21 -0
- package/src/query/formatters/mermaid.js +209 -0
- package/src/query/formatters/table.js +203 -0
- package/src/query/impact.js +173 -0
- package/src/query/index.js +9 -0
- package/src/query/trace.js +345 -0
- package/src/register-canary/fixture-loader.js +87 -0
- package/src/register-canary/index.js +10 -0
- package/src/register-canary/record-writer.js +132 -0
- package/src/register-canary/runner.js +156 -0
- package/src/req-baseline/gate.js +86 -0
- package/src/req-baseline/index.js +27 -0
- package/src/req-baseline/open-candidates.js +143 -0
- package/src/req-baseline/opt-out.js +195 -0
- package/src/req-baseline/sweep.js +230 -0
- package/src/req-detection/classifier.js +181 -0
- package/src/req-detection/index.js +9 -0
- package/src/req-detection/persist.js +55 -0
- package/src/review/index.js +325 -0
- package/src/review/mutation.js +117 -0
- package/src/review/ui-baseline-drift.js +138 -0
- package/src/server/index.js +178 -0
- package/src/server/routes.js +110 -0
- package/src/server/sse.js +118 -0
- package/src/setup/agent-setup.js +362 -0
- package/src/setup/identity-seed.js +104 -0
- package/src/setup/knowledge-seed.js +123 -0
- package/src/setup/managed-block.js +193 -0
- package/src/setup/managed-gitignore.js +166 -0
- package/src/setup/managed-markers.js +49 -0
- package/src/ui-baseline/defaults.js +119 -0
- package/src/ui-baseline/index.js +25 -0
- package/src/ui-baseline/manifest-writer.js +282 -0
- package/src/ui-baseline/session.js +178 -0
- package/src/ui-detection/classifier.js +192 -0
- package/src/verify/chain/index.js +190 -0
- package/src/verify/cli/cleanup.js +61 -0
- package/src/verify/cli/help.js +56 -0
- package/src/verify/cli/mcp.js +98 -0
- package/src/verify/cli/provision.js +71 -0
- package/src/verify/cli/report.js +71 -0
- package/src/verify/cli/run.js +155 -0
- package/src/verify/engine/brief.js +87 -0
- package/src/verify/engine/index.js +177 -0
- package/src/verify/engine/launcher.js +307 -0
- package/src/verify/mcp/tools.js +107 -0
- package/src/verify/profile/index.js +146 -0
- package/src/verify/provision/index.js +256 -0
- package/src/verify/report/index.js +139 -0
- package/src/verify/report/renderer.js +118 -0
- package/src/verify/verdict/index.js +246 -0
- package/src/view/doc-renderers/adr.js +44 -0
- package/src/view/doc-renderers/build-sequence.js +40 -0
- package/src/view/doc-renderers/fbs.js +128 -0
- package/src/view/doc-renderers/helpers.js +159 -0
- package/src/view/doc-renderers/index.js +12 -0
- package/src/view/doc-renderers/prd.js +45 -0
- package/src/view/doc-renderers/req.js +43 -0
- package/src/view/doc-renderers/tac.js +38 -0
- package/src/view/doc-renderers/tad.js +74 -0
- package/src/view/doc-renderers/test-suite.js +45 -0
- package/src/view/doc-renderers/user-story.js +63 -0
- package/src/view/html-page.js +462 -0
- package/src/view/index.js +63 -0
- package/src/view/live-client.js +338 -0
- package/src/view/mermaid-diagram.js +178 -0
- package/src/view/style.css +735 -0
- package/src/view/tree-model.js +152 -0
- package/src/view/vendored/mermaid.min.js +2607 -0
- package/src/view-supervisor/index.js +26 -0
- package/src/view-supervisor/logs.js +32 -0
- package/src/view-supervisor/manifest-writer.js +178 -0
- package/src/view-supervisor/persist-until.js +85 -0
- package/src/view-supervisor/supervisor.js +276 -0
- package/src/watch/index.js +152 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-014",
|
|
3
|
+
"path": "src/core/store/init.js",
|
|
4
|
+
"title": "Project scaffold initialiser (file-level)",
|
|
5
|
+
"description": "Creates the rcf folder, the manifest and the root document placeholders (PRD, TAD, BS) on disk for a new project, refusing to overwrite an existing one without --force.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-101-1",
|
|
8
|
+
"AC-101-2",
|
|
9
|
+
"AC-101-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:32.692Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:32.692Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-015",
|
|
3
|
+
"path": "src/core/store/loader.js",
|
|
4
|
+
"title": "Document loader module (file-level)",
|
|
5
|
+
"description": "Resolves an id to a path, reads and parses JSON, and validates against the matching schema. Parallel to the symbol-level Code Node over loadDocument for the granularity comparison.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-102-1",
|
|
8
|
+
"AC-102-2",
|
|
9
|
+
"AC-102-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:32.779Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:32.779Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-016",
|
|
3
|
+
"path": "src/view/mermaid-diagram.js",
|
|
4
|
+
"title": "Mermaid diagram emission (file-level)",
|
|
5
|
+
"description": "Builds the per-requirement mermaid subdiagrams (REQ -> US -> AC -> FBS, and Code Node cross-links) that rcf view renders.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-201-1",
|
|
8
|
+
"AC-201-2",
|
|
9
|
+
"AC-201-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:32.868Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:32.868Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-017",
|
|
3
|
+
"path": "src/view/html-page.js",
|
|
4
|
+
"title": "Static HTML page renderer (file-level)",
|
|
5
|
+
"description": "Renders the whole RCF tree as a single browsable static HTML page: tabs per document kind, raw-JSON disclosures, broken-reference banners.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-202-1",
|
|
8
|
+
"AC-202-2",
|
|
9
|
+
"AC-202-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:32.956Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:32.956Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-018",
|
|
3
|
+
"path": "src/watch/index.js",
|
|
4
|
+
"title": "Filesystem watcher (file-level)",
|
|
5
|
+
"description": "Watches the rcf tree for on-disk changes and emits create/update/delete events, coalesced, that the live view streams to the browser so it reflects current state without a manual refresh.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-203-1",
|
|
8
|
+
"AC-203-2"
|
|
9
|
+
],
|
|
10
|
+
"dependencies": [],
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"status": "draft",
|
|
13
|
+
"createdAt": "2026-07-10T11:15:40.910Z",
|
|
14
|
+
"updatedAt": "2026-07-10T11:15:40.910Z"
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-019",
|
|
3
|
+
"path": "src/cli/read.js",
|
|
4
|
+
"title": "rcf read subcommand (file-level)",
|
|
5
|
+
"description": "Prints a document body or a single dot-path field by id, including inline AC / TC resolution.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-301-1",
|
|
8
|
+
"AC-301-2",
|
|
9
|
+
"AC-301-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:40.998Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:40.998Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-020",
|
|
3
|
+
"path": "src/cli/create.js",
|
|
4
|
+
"title": "rcf create subcommand (file-level)",
|
|
5
|
+
"description": "CLI parsing, per-kind mandatory-field checks and defaults for the create verb; delegates persistence to the writer.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-302-1",
|
|
8
|
+
"AC-302-2",
|
|
9
|
+
"AC-302-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:41.086Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:41.086Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-021",
|
|
3
|
+
"path": "src/cli/update.js",
|
|
4
|
+
"title": "rcf update subcommand (file-level)",
|
|
5
|
+
"description": "Parses --set dot-path lists and --from-file patches into a writer update call; refuses to touch immutable fields.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-303-1",
|
|
8
|
+
"AC-303-2",
|
|
9
|
+
"AC-303-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:41.174Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:41.174Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-022",
|
|
3
|
+
"path": "src/cli/delete.js",
|
|
4
|
+
"title": "rcf delete subcommand (file-level)",
|
|
5
|
+
"description": "Refuses a delete by default when the target has dependents; --cascade opts in and drops backrefs; --dry-run plans without executing.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-304-1",
|
|
8
|
+
"AC-304-2",
|
|
9
|
+
"AC-304-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:41.262Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:41.262Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-023",
|
|
3
|
+
"path": "src/query/coverage.js",
|
|
4
|
+
"title": "Coverage compute module (file-level)",
|
|
5
|
+
"description": "Walks the REQ chain and reports structural coverage (shallow-any / strict), plus the Phase 10 --with-code informational classification.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-401-1",
|
|
8
|
+
"AC-401-2",
|
|
9
|
+
"AC-401-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:47.579Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:47.579Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-024",
|
|
3
|
+
"path": "src/query/trace.js",
|
|
4
|
+
"title": "Trace compute module (file-level)",
|
|
5
|
+
"description": "Forward / back / both graph walks from any pivot id, including the Phase 10 Code Node forward fan-out and path-mode backward trace.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-402-1",
|
|
8
|
+
"AC-402-2",
|
|
9
|
+
"AC-402-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:47.685Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:47.685Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-025",
|
|
3
|
+
"path": "src/query/impact.js",
|
|
4
|
+
"title": "Impact compute module (file-level)",
|
|
5
|
+
"description": "Composes forward + back trace and layers the per-(kind,role) action-needed label, including the Phase 10 re-verify-code label for Code Nodes.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-403-1",
|
|
8
|
+
"AC-403-2",
|
|
9
|
+
"AC-403-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:47.774Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:47.774Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-026",
|
|
3
|
+
"path": "src/build/bundle.js",
|
|
4
|
+
"title": "Spec bundle assembler (file-level)",
|
|
5
|
+
"description": "Assembles the deterministic spec bundle for one FBS item: header, queue context, the work, acceptance criteria with ancestry, architectural context, existing test surface and the build-cycle runbook.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-501-1",
|
|
8
|
+
"AC-501-2",
|
|
9
|
+
"AC-501-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:56.956Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:56.956Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-027",
|
|
3
|
+
"path": "src/build/queue.js",
|
|
4
|
+
"title": "Build queue compute module (file-level)",
|
|
5
|
+
"description": "Computes the FBS queue state (notStarted / inProgress / blocked / actionable / complete / verified) from buildOrder and dependsOnFbsIds.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-502-1",
|
|
8
|
+
"AC-502-2",
|
|
9
|
+
"AC-502-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:57.045Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:57.045Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-028",
|
|
3
|
+
"path": "src/build/mark.js",
|
|
4
|
+
"title": "Lifecycle mark transition planner (file-level)",
|
|
5
|
+
"description": "Plans a forward-only lifecycle transition for one FBS item, including the Phase 10 mark-complete Code Node gate.",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-503-1",
|
|
8
|
+
"AC-503-2",
|
|
9
|
+
"AC-503-3"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": [],
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"status": "draft",
|
|
14
|
+
"createdAt": "2026-07-10T11:15:57.133Z",
|
|
15
|
+
"updatedAt": "2026-07-10T11:15:57.133Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-029",
|
|
3
|
+
"path": "src/mcp/tools.js",
|
|
4
|
+
"title": "MCP tool registry (file-level)",
|
|
5
|
+
"description": "Eleven MCP tools binding straight to the query / store / build layers in-process: query and view tools (rcf_validate, rcf_coverage, rcf_trace, rcf_impact, rcf_read) and CRUD/build tools (rcf_create, rcf_update, rcf_delete, rcf_link, rcf_unlink, rcf_build).",
|
|
6
|
+
"implementsAcIds": [
|
|
7
|
+
"AC-601-1",
|
|
8
|
+
"AC-601-2",
|
|
9
|
+
"AC-601-3",
|
|
10
|
+
"AC-602-1",
|
|
11
|
+
"AC-602-2",
|
|
12
|
+
"AC-602-3"
|
|
13
|
+
],
|
|
14
|
+
"dependencies": [],
|
|
15
|
+
"version": "0.1.0",
|
|
16
|
+
"status": "draft",
|
|
17
|
+
"createdAt": "2026-07-10T11:15:57.221Z",
|
|
18
|
+
"updatedAt": "2026-07-10T11:15:57.221Z"
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-030",
|
|
3
|
+
"path": "guidance/build-cycle.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-801-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:29.331Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:05.881Z",
|
|
12
|
+
"title": "Local preview in the build-cycle contract definition of done",
|
|
13
|
+
"description": "build-cycle.md makes a working, documented local preview a hosting-independent part of a build being done (AC-801-1)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-031",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-801-2"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:29.483Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:06.037Z",
|
|
12
|
+
"title": "Single-command local preview guidance",
|
|
13
|
+
"description": "Playbook s14 directs the build to one documented command to start the preview where the stack allows (AC-801-2)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-032",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-801-3"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:29.632Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:06.187Z",
|
|
12
|
+
"title": "Host-independent local preview default",
|
|
13
|
+
"description": "Playbook s14 requires the preview whether or not a hosting target was stated (AC-801-3)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-033",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-801-4"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:29.782Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:06.341Z",
|
|
12
|
+
"title": "Seeded-data local preview",
|
|
13
|
+
"description": "Playbook s14 requires seeded/sample data so the preview is drivable, not an empty shell (AC-801-4)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-034",
|
|
3
|
+
"path": "guidance/elicitation-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-802-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:29.934Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:06.496Z",
|
|
12
|
+
"title": "Early deploy-target elicitation item",
|
|
13
|
+
"description": "Elicitation s6 asks where the app will run before any stack is committed (AC-802-1)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-035",
|
|
3
|
+
"path": "guidance/elicitation-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-802-2"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:30.089Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:06.652Z",
|
|
12
|
+
"title": "Stack constrained to the deploy target",
|
|
13
|
+
"description": "Elicitation s6 requires the stack to be constrained to what the stated target can host (AC-802-2)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-036",
|
|
3
|
+
"path": "guidance/elicitation-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-802-3"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:30.241Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:06.805Z",
|
|
12
|
+
"title": "Deploy-target decision captured as an ADR",
|
|
13
|
+
"description": "Elicitation s6 requires the target and its stack constraint to be recorded as a project ADR (AC-802-3)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-037",
|
|
3
|
+
"path": "guidance/harness-template.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-802-4"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:30.393Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:06.958Z",
|
|
12
|
+
"title": "Harness RULE 5: no stack before the deploy target",
|
|
13
|
+
"description": "harness-template RULE 5 forbids committing a stack before the deploy target is established (AC-802-4)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-038",
|
|
3
|
+
"path": "guidance/elicitation-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-803-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:30.549Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:07.116Z",
|
|
12
|
+
"title": "Hosting-choice walkthrough over silent selection",
|
|
13
|
+
"description": "Elicitation s6 runs a walkthrough instead of choosing a host silently when the owner is unsure (AC-803-1)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-039",
|
|
3
|
+
"path": "guidance/elicitation-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-803-2"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:30.700Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:07.270Z",
|
|
12
|
+
"title": "Plain-language hosting options",
|
|
13
|
+
"description": "Elicitation s6 requires jargon-free explanation of the hosting options (AC-803-2)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-040",
|
|
3
|
+
"path": "guidance/elicitation-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-803-3"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:30.850Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:07.432Z",
|
|
12
|
+
"title": "Honest isolation of account-holder-only steps",
|
|
13
|
+
"description": "Elicitation s6 isolates sign-up/billing/token/CLI-auth steps as the human's, not performed or pretended (AC-803-3)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-041",
|
|
3
|
+
"path": "guidance/elicitation-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-803-4"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:31.006Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:07.584Z",
|
|
12
|
+
"title": "Walkthrough configures the account, not just names a provider",
|
|
13
|
+
"description": "Elicitation s6 covers account/token/CLI configuration past the provider choice (AC-803-4)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-042",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-804-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:31.185Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:07.734Z",
|
|
12
|
+
"title": "Verification claims name their runtime",
|
|
13
|
+
"description": "Playbook s15 requires every verified/tested claim to name the runtime it was checked against (AC-804-1)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-043",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-804-2"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:31.347Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:07.886Z",
|
|
12
|
+
"title": "No implied unexercised deploy-runtime verification",
|
|
13
|
+
"description": "Playbook s15 forbids claims implying deployed-runtime verification that did not happen (AC-804-2)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-044",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-804-3"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:31.501Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:08.042Z",
|
|
12
|
+
"title": "PR verification section carries the runtime label",
|
|
13
|
+
"description": "Playbook s12 requires the runtime label on each PR-body verification claim (AC-804-3)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-045",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-804-4"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:31.653Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:08.199Z",
|
|
12
|
+
"title": "Labelled-claim examples, Cloudflare and non-Cloudflare",
|
|
13
|
+
"description": "Playbook s15 gives worked runtime-label examples for a Worker and a Vercel app (AC-804-4)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-046",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-805-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:31.808Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:08.352Z",
|
|
12
|
+
"title": "Periodic and end-of-build fresh-context self-review",
|
|
13
|
+
"description": "Playbook s16 describes a fresh-context review subagent run periodically and at the end (AC-805-1)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-047",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-805-2"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:31.960Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:08.514Z",
|
|
12
|
+
"title": "Reviewer drives the app, not the code",
|
|
13
|
+
"description": "Playbook s16 requires the reviewer to drive the running app against its ACs (AC-805-2)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-048",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-805-3"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:32.124Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:08.705Z",
|
|
12
|
+
"title": "Self-review targets the named defect classes",
|
|
13
|
+
"description": "Playbook s16 names session-class, false-promise UI, runtime-mismatch, dead-auth and dead-code classes (AC-805-3)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-049",
|
|
3
|
+
"path": "guidance/build-cycle-playbook.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-805-4"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:32.280Z",
|
|
11
|
+
"updatedAt": "2026-07-28T16:39:55.660Z",
|
|
12
|
+
"title": "Self-review scoped as an in-loop check, not the gate",
|
|
13
|
+
"description": "Playbook s16 scopes the review as an in-loop check subordinate to the rcf finalise gate, guidance not a subsystem, not the independent gate (AC-805-4)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-050",
|
|
3
|
+
"path": "test/guidance/tier1-hardening.test.js",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-801-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:32.438Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:09.027Z",
|
|
12
|
+
"title": "Drift test: local-preview default outcome",
|
|
13
|
+
"description": "Tier-1 drift test asserts the local-preview definition-of-done invariant (AC-801-1)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-051",
|
|
3
|
+
"path": "test/guidance/tier1-hardening.test.js",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-802-4"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:32.594Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:09.216Z",
|
|
12
|
+
"title": "Drift test: harness stack-gate rule",
|
|
13
|
+
"description": "Tier-1 drift test asserts the fragment RULE 5 stack-gate (AC-802-4)."
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-052",
|
|
3
|
+
"path": "test/guidance/tier1-hardening.test.js",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-803-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-07-20T18:03:32.750Z",
|
|
11
|
+
"updatedAt": "2026-07-20T18:04:09.373Z",
|
|
12
|
+
"title": "Drift test: hosting-choice walkthrough",
|
|
13
|
+
"description": "Tier-1 drift test asserts the walkthrough-over-silent-pick invariant (AC-803-1)."
|
|
14
|
+
}
|