prizmkit 1.1.159 → 1.1.160

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.
Files changed (77) hide show
  1. package/bundled/VERSION.json +3 -3
  2. package/bundled/adapters/codebuddy/settings-adapter.js +76 -25
  3. package/bundled/dev-pipeline/prizmkit_runtime/gitops.py +9 -2
  4. package/bundled/dev-pipeline/prizmkit_runtime/runtime_commit.py +42 -15
  5. package/bundled/dev-pipeline/templates/bootstrap-prompt.md +1 -1
  6. package/bundled/dev-pipeline/templates/bootstrap-tier3.md +1 -1
  7. package/bundled/dev-pipeline/templates/sections/runtime-commit-handoff.md +6 -6
  8. package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +4 -3
  9. package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +2 -2
  10. package/bundled/dev-pipeline/tests/test_generate_refactor_prompt.py +2 -2
  11. package/bundled/dev-pipeline/tests/test_runtime_commit.py +68 -13
  12. package/bundled/dev-pipeline/tests/test_unified_cli.py +10 -6
  13. package/bundled/rules/prizm/prizm-commit-workflow.md +7 -7
  14. package/bundled/rules/prizm/prizm-documentation.md +24 -65
  15. package/bundled/rules/prizm/prizm-progressive-loading.md +9 -8
  16. package/bundled/skills/_metadata.json +1 -1
  17. package/bundled/skills/prizmkit-code-review/SKILL.md +1 -1
  18. package/bundled/skills/prizmkit-committer/SKILL.md +48 -41
  19. package/bundled/skills/prizmkit-deploy/SKILL.md +172 -198
  20. package/bundled/skills/prizmkit-deploy/references/capability-contract.md +137 -0
  21. package/bundled/skills/prizmkit-deploy/references/deploy-record-schema.json +1053 -0
  22. package/bundled/skills/prizmkit-deploy/references/deployment-declaration-schema.json +291 -0
  23. package/bundled/skills/prizmkit-deploy/references/legacy-migration.md +90 -0
  24. package/bundled/skills/prizmkit-deploy/references/policy-and-execution.md +170 -0
  25. package/bundled/skills/prizmkit-deploy/references/real-resource-test-policy.md +73 -0
  26. package/bundled/skills/prizmkit-deploy/references/verification-and-recovery.md +164 -0
  27. package/bundled/skills/prizmkit-deploy/scripts/validate-deploy-artifact.py +371 -0
  28. package/bundled/skills/prizmkit-implement/SKILL.md +2 -2
  29. package/bundled/skills/prizmkit-init/SKILL.md +17 -17
  30. package/bundled/skills/prizmkit-init/references/update-supplement.md +5 -5
  31. package/bundled/skills/prizmkit-prizm-docs/SKILL.md +17 -11
  32. package/bundled/skills/prizmkit-prizm-docs/assets/prizm-docs-format.md +95 -155
  33. package/bundled/skills/prizmkit-prizm-docs/references/op-init.md +6 -5
  34. package/bundled/skills/prizmkit-prizm-docs/references/op-rebuild.md +4 -2
  35. package/bundled/skills/prizmkit-prizm-docs/references/op-status.md +9 -10
  36. package/bundled/skills/prizmkit-prizm-docs/references/op-update.md +6 -5
  37. package/bundled/skills/prizmkit-prizm-docs/references/op-validate.md +13 -12
  38. package/bundled/skills/prizmkit-retrospective/SKILL.md +3 -3
  39. package/bundled/skills/prizmkit-test/SKILL.md +26 -13
  40. package/bundled/skills/prizmkit-test/references/boundary-contract-and-test-double-guidance.md +8 -4
  41. package/bundled/skills/prizmkit-test/references/independent-test-review.md +7 -3
  42. package/bundled/skills/prizmkit-test/references/test-coverage-model.md +33 -10
  43. package/bundled/skills/prizmkit-test/references/test-report-template.md +33 -11
  44. package/bundled/skills/prizmkit-workflow/SKILL.md +5 -7
  45. package/bundled/skills/prizmkit-workflow/references/workflow-state-protocol.md +5 -6
  46. package/bundled/templates/hooks/commit-intent-status.py +9 -41
  47. package/bundled/templates/hooks/commit-intent.json +3 -3
  48. package/bundled/templates/hooks/diff-prizm-docs.py +3 -1
  49. package/bundled/templates/hooks/prizm-pre-commit.py +32 -6
  50. package/bundled/templates/hooks/run-python-hook.cjs +44 -0
  51. package/bundled/templates/hooks/validate-prizm-docs.py +399 -173
  52. package/bundled/templates/project-memory-template.md +19 -19
  53. package/package.json +1 -1
  54. package/src/clean.js +6 -7
  55. package/src/gitignore-template.js +8 -12
  56. package/src/scaffold.js +125 -71
  57. package/bundled/skills/prizmkit-deploy/assets/deploy-document-template.md +0 -89
  58. package/bundled/skills/prizmkit-deploy/references/ci-cd-workflows.md +0 -145
  59. package/bundled/skills/prizmkit-deploy/references/cloud-platform-deploy.md +0 -109
  60. package/bundled/skills/prizmkit-deploy/references/data-safety-examples.md +0 -120
  61. package/bundled/skills/prizmkit-deploy/references/database-setup.md +0 -65
  62. package/bundled/skills/prizmkit-deploy/references/deploy-config-schema.md +0 -150
  63. package/bundled/skills/prizmkit-deploy/references/deploy-history-schema.md +0 -78
  64. package/bundled/skills/prizmkit-deploy/references/deploy-metadata-schema.json +0 -49
  65. package/bundled/skills/prizmkit-deploy/references/deployment-modes.md +0 -50
  66. package/bundled/skills/prizmkit-deploy/references/direct-upload.md +0 -26
  67. package/bundled/skills/prizmkit-deploy/references/dns-setup.md +0 -42
  68. package/bundled/skills/prizmkit-deploy/references/docker-deploy.md +0 -31
  69. package/bundled/skills/prizmkit-deploy/references/firewall-setup.md +0 -37
  70. package/bundled/skills/prizmkit-deploy/references/live-validation-notes.md +0 -21
  71. package/bundled/skills/prizmkit-deploy/references/nginx-blue-green.md +0 -59
  72. package/bundled/skills/prizmkit-deploy/references/pending-input-schema.json +0 -164
  73. package/bundled/skills/prizmkit-deploy/references/ssh-adapter-flow.md +0 -221
  74. package/bundled/skills/prizmkit-deploy/references/ssh-bootstrap-flow.md +0 -49
  75. package/bundled/skills/prizmkit-deploy/references/ssh-execution-flow.md +0 -41
  76. package/bundled/skills/prizmkit-deploy/references/ssh-takeover.md +0 -20
  77. package/bundled/skills/prizmkit-deploy/references/ssl-setup.md +0 -56
@@ -7,10 +7,10 @@ PRECONDITION: `.prizmkit/prizm-docs/` exists with `root.prizm`.
7
7
  Use this operation for manual edits, merges, rebases, branch switches, generated code movement, or other changes that did not pass through `/prizmkit-retrospective`. During ordinary feature/bugfix/refactor work, use `/prizmkit-retrospective` instead.
8
8
 
9
9
  STEPS:
10
- 1. Identify drift source. Prefer explicit user context; otherwise inspect git changes with `git diff --cached --name-status`, then `git diff --name-status`. If no git changes exist, run a bounded rescan comparing code structure against existing docs.
10
+ 1. Identify drift source from explicit user context when supplied; otherwise run a bounded source/document rescan over registered modules and concrete missing/stale pointers. Do not require Git history, inspect tracking state, or change behavior because managed files are ignored, untracked, or tracked.
11
11
  2. Map changed files to modules through MODULE_INDEX or MODULE_GROUPS in `root.prizm`, then resolve mirrored SUBDIRS or flat-module DETAILS ownership from the relevant L1.
12
12
  3. Classify each source change as A, D, M, or R, but do not mechanically turn changes into documentation. Treat every possible file, interface, dependency, flow, trap, decision, rule, and summary as a candidate and apply the future-incorrect-modification Value Gate.
13
- 4. Before writing any existing L2, L1, or L0 target, read that target and its resolving parent/child pointers. Build a protected set of still-valid public/wire contracts, cross-module constraints, non-obvious dependencies, traps, decisions with necessary rationale, likely-to-recur rejected alternatives, side effects, and security/data-integrity/concurrency/transaction/compatibility rules.
13
+ 4. Before writing any existing L2, L1, or L0 target, read that complete target and complete resolving parent/child pointer documents. Build a protected set of still-valid public/wire contracts, cross-module constraints, non-obvious dependencies, traps, decisions with necessary rationale, likely-to-recur rejected alternatives, side effects, and security/data-integrity/concurrency/transaction/compatibility rules.
14
14
  5. Apply the Cleanup Gate by semantic meaning:
15
15
  - update an equivalent entry in place rather than appending alternate wording
16
16
  - merge synonymous entries into one shortest complete meaning
@@ -27,8 +27,9 @@ STEPS:
27
27
  - semantic details require the complete CONCERN terminal shape, explicit non-empty/non-overlapping FILES ownership, and one resolving L1 DETAILS entry
28
28
  - ambiguous concern identity, empty normalization, mirrored-path/slug collision, or overlapping ownership blocks creation and reports the manual decision; never use task IDs or numeric suffixes
29
29
  11. Measure all affected targets by exact raw UTF-8 bytes with L0/L1 4096B and L2 5120B limits. Natural content below 80% remains unchanged; warning-range content is valid and reported. Clean, move, or safely split rewritten targets at 90% or above toward 3277-3686B for L0/L1 or 4096-4607B for L2. If a hard-limit error or repeated pressure cannot be resolved without deleting protected knowledge, block the write.
30
- 12. Validate Value/Cleanup compliance, parent-summary boundaries, semantic ownership/identity, pointers, hierarchy, capacity, memory hygiene, and format. Warning-only capacity results pass; hard-limit or format errors fail.
31
- 13. Report updated, created, removed, merged, protected, and skipped facts/docs with reasons plus capacity diagnostics ordered by descending utilization.
32
- 14. Stage updated `.prizm` files with `git add .prizmkit/prizm-docs/` only after reviewing the repair summary.
30
+ 12. Preflight complete candidate bytes, write validated targets bottom-up, compare each candidate with current bytes, and skip byte-identical replacements.
31
+ 13. Re-read actual bytes and validate Value/Cleanup compliance, parent-summary boundaries, semantic ownership/identity, pointers in both directions, hierarchy, capacity, memory hygiene, and format. Warning-only capacity results pass; hard-limit or format errors fail.
32
+ 14. If any post-write check fails, restore every existing target to its exact pre-write bytes and remove invalid new targets before returning a blocker.
33
+ 15. Report updated, created, removed, merged, protected, and skipped facts/docs with reasons plus capacity diagnostics ordered by descending utilization. Do not stage, commit, force-add, modify or interpret ignore policy, or require Git history.
33
34
 
34
35
  OUTPUT: List updated, created, removed, merged, protected, and skipped docs/facts with reasons; sorted capacity diagnostics; ambiguity blockers; and an explicit statement that this was out-of-band repair/resync, not a normal development retrospective.
@@ -5,17 +5,18 @@ Check format compliance and consistency of all .prizm docs.
5
5
  PRECONDITION: .prizmkit/prizm-docs/ exists.
6
6
 
7
7
  STEPS:
8
- 1. FORMAT CHECK: Verify all `.prizm` files use KEY: value format. Flag prose paragraphs, code blocks, markdown headers, emoji, ASCII art, horizontal rules, invalid TRAPS severity, and prohibited history/date/workflow/branch/absolute/artifact metadata. `[REVIEW]` before severity remains a valid temporary staleness marker.
9
- 2. VALUE CHECK: Flag source-derivable signatures/structure, task or change history, test inventories, temporary conclusions, stale statements, duplicate meanings, long procedures, low-value file lists, line-count/complexity inventories, and parent copies of complete child behavior. Do not flag a still-valid public/wire contract, cross-module constraint, non-obvious dependency, trap, durable decision/rejected rationale, side effect, or security/data-integrity/concurrency/transaction/compatibility rule merely because it consumes capacity.
10
- 3. CAPACITY CHECK: Measure exact raw UTF-8 bytes. Classify only the exact root as L0/4096B, direct children as L1/4096B, and nested mirrored or semantic documents as L2/5120B. Bands are normal below 80%, warning from 80% to below 90%, strong-warning from 90% through 100%, and error above 100%.
11
- 4. CAPACITY REPORT: Sort all non-normal entries by exact descending utilization using integer ratio comparison, then repository-relative path for ties. Every entry includes path, level, current bytes, hard limit, band, target range (3277-3686B for L0/L1; 4096-4607B for L2), and level-appropriate trim, deduplicate, move-to-child, or semantic-split actions consistent with the canonical F-063 classifier.
12
- 5. CAPACITY RESULT: Warning and strong-warning entries are advisory and do not fail Validate when no other violation exists. Any byte above a hard limit is an error and fails; format, pointer, hierarchy, ownership, or completeness errors also fail and are never downgraded because capacity is only a warning.
13
- 6. POINTER/PARENT CHECK: Verify every arrow resolves. L0/L1 contain concise summaries and pointers rather than copied L2 INTERFACES/DATA_FLOW/TRAPS/DECISIONS/full RULES. SUBDIRS targets mirrored source-submodule L2. DETAILS uses exactly `- <concern-slug>: <one-line stable behavior summary> -> .prizmkit/prizm-docs/<module>/<concern-slug>.prizm` and targets one matching semantic L2.
14
- 7. SEMANTIC IDENTITY/OWNERSHIP CHECK: For each semantic L2, verify required fields MODULE, CONCERN, FILES, RESPONSIBILITY, INTERFACES, DATA_FLOW, KEY_FILES, DEPENDENCIES, RULES, TRAPS, and DECISIONS; verify `CONCERN: <stable concern identity> | SLUG: <concern-slug>`; rerun Unicode NFKC/lowercase/kebab normalization; require non-empty explicit repository-relative FILES ownership with no sibling overlap; and require exact parent/path/slug agreement. A mirrored source-submodule path has precedence. Ambiguous identity, collision, or overlap is a validation error requiring a manual decision, not a numbered or task-named repair.
15
- 8. COMPLETENESS CHECK: Verify root has PRIZM_VERSION, PROJECT, LANG, and exactly one of MODULE_INDEX/MODULE_GROUPS. Verify L1 has MODULE, FILES, RESPONSIBILITY, DEPENDENCIES and no behavioral sections. Verify mirrored L2 has MODULE, FILES, RESPONSIBILITY, INTERFACES, KEY_FILES, DEPENDENCIES, and TRAPS with no CONCERN field; DATA_FLOW, RULES, DECISIONS, and domain sections remain optional when no fact passes the Value Gate. In semantic L2 only, explicit `<SECTION>: none` satisfies a required behavioral section when no fact passes the Value Gate.
16
- 9. STALENESS CHECK: Compare each document's git modification time with its mapped source directory or semantic FILES ownership. Flag source-newer documents. Without git history, use filesystem timestamps and report reduced accuracy.
17
- 10. RULES HIERARCHY CHECK: Verify L1/L2 RULES do not contradict authoritative root RULES.
18
- 11. TRAPS STALENESS CHECK: When an L2 TRAPS section has more than 8 entries, flag entries lacking `STALE_IF:` or `REF:` as `NEEDS_METADATA`; do not auto-remove them.
19
- 12. SCALE CHECK: If MODULE_INDEX cannot fit within L0, require MODULE_GROUPS. Never allow a project-size override, limits above 4096B/4096B/5120B, L3/fourth-level documents, a memory state machine, or a fact scoring system.
8
+ 1. SNAPSHOT CHECK: `--all` validates every current working-tree `.prizm` document when the documentation tree exists. `--staged` is a no-op when no Prizm document is staged; otherwise it validates every `.prizm` blob in the Git index as one complete pointer snapshot, including staged additions/deletions, without reading unstaged working copies.
9
+ 2. FORMAT CHECK: Verify all `.prizm` files use KEY: value/list format. Flag prose lines, code blocks, markdown headers, horizontal rules, invalid TRAPS severity, and prohibited history/date/workflow/branch/absolute/artifact metadata. `[REVIEW]` before severity remains a valid temporary staleness marker.
10
+ 3. VALUE CHECK: Flag source-derivable signatures/structure, task or change history, test inventories, temporary conclusions, stale statements, duplicate meanings, long procedures, low-value file lists, line-count/complexity inventories, and parent copies of complete child behavior. Do not flag a still-valid public/wire contract, cross-module constraint, non-obvious dependency, trap, durable decision/rejected rationale, side effect, or security/data-integrity/concurrency/transaction/compatibility rule merely because it consumes capacity.
11
+ 4. CAPACITY CHECK: Measure exact raw UTF-8 bytes. Classify only the exact root as L0/4096B, direct children as L1/4096B, and nested mirrored or semantic documents as L2/5120B. Bands are normal below 80%, warning from 80% to below 90%, strong-warning from 90% through 100%, and error above 100%.
12
+ 5. CAPACITY REPORT: Sort all non-normal entries by exact descending utilization using integer ratio comparison, then repository-relative path for ties. Every entry includes path, level, current bytes, hard limit, band, target range (3277-3686B for L0/L1; 4096-4607B for L2), and level-appropriate trim, deduplicate, move-to-child, or semantic-split actions.
13
+ 6. CAPACITY RESULT: Warning and strong-warning entries are advisory and do not fail Validate when no other violation exists. Any byte above a hard limit is an error and fails; format, pointer, hierarchy, ownership, or completeness errors also fail and are never downgraded because capacity is only a warning.
14
+ 7. POINTER/PARENT CHECK: Verify every arrow resolves. L0/L1 contain concise summaries and pointers rather than copied L2 INTERFACES/DATA_FLOW/TRAPS/DECISIONS/full RULES. SUBDIRS targets mirrored source-submodule L2. DETAILS uses exactly `- <concern-slug>: <one-line stable behavior summary> -> .prizmkit/prizm-docs/<module>/<concern-slug>.prizm` and targets one matching semantic L2.
15
+ 8. SEMANTIC IDENTITY/OWNERSHIP CHECK: For each semantic L2, verify required fields MODULE, CONCERN, FILES, RESPONSIBILITY, INTERFACES, DATA_FLOW, KEY_FILES, DEPENDENCIES, RULES, TRAPS, and DECISIONS; verify `CONCERN: <stable concern identity> | SLUG: <concern-slug>`; rerun Unicode NFKC/lowercase/kebab normalization; require non-empty explicit repository-relative FILES ownership with no sibling overlap; and require exact parent/path/slug agreement. A mirrored source-submodule path has precedence. Ambiguous identity, collision, or overlap is a validation error requiring a manual decision, not a numbered or task-named repair.
16
+ 9. COMPLETENESS CHECK: Verify exact root has `PRIZM_VERSION: 4`, PROJECT, LANG, RULES, and exactly one of MODULE_INDEX/MODULE_GROUPS. Verify every direct-child L1 has MODULE, FILES, RESPONSIBILITY, DEPENDENCIES, no CONCERN, and none of INTERFACES/DATA_FLOW/TRAPS/DECISIONS. Verify every root module pointer targets L1 and every L1 SUBDIRS/DETAILS pointer targets nested L2. Verify mirrored L2 has MODULE, FILES, RESPONSIBILITY, INTERFACES, KEY_FILES, DEPENDENCIES, and TRAPS with no CONCERN field; DATA_FLOW, RULES, DECISIONS, and domain sections remain optional when no fact passes the Value Gate. In semantic L2 only, explicit `<SECTION>: none` satisfies a required behavioral section when no fact passes the Value Gate.
17
+ 10. STALENESS CHECK: When requested as a separate advisory health check, compare document/source filesystem times from current mapped ownership. Validation itself never requires Git history, interprets ignore rules, or treats ignored/untracked/tracked state as an error.
18
+ 11. RULES HIERARCHY CHECK: Verify L1/L2 RULES do not contradict authoritative root RULES.
19
+ 12. TRAPS STALENESS CHECK: When an L2 TRAPS section has more than 8 entries, flag entries lacking `STALE_IF:` or `REF:` as `NEEDS_METADATA`; do not auto-remove them.
20
+ 13. SCALE CHECK: If MODULE_INDEX cannot fit within L0, require MODULE_GROUPS. Never allow a project-size override, limits above 4096B/4096B/5120B, L3/fourth-level documents, a memory state machine, or a fact scoring system.
20
21
 
21
22
  OUTPUT: Validation report with PASS/FAIL per check, sorted non-normal capacity entries, issue paths with actionable fixes, and an exit result. Warning-only capacity diagnostics exit successfully; any hard-limit or other validation error exits nonzero.
@@ -23,7 +23,7 @@ Do not discover a different artifact directory, expand the path set, or infer pr
23
23
 
24
24
  `prizmkit-retrospective` owns only targeted structural documentation synchronization, durable knowledge injection, and `{artifact_dir}/retrospective-result.json` for the supplied paths. It does not invoke another Skill, does not read or mutate caller or checkpoint state, and does not choose stage order or routing.
25
25
 
26
- It does not stage, commit, reset, checkout, or stash; it does not change Git/ignore policy; and it does not directly edit generated platform outputs. All paths under `.prizmkit/` are framework-internal and remain outside automated task commits. Capacity maintenance does not add a capacity state machine, fact scoring system, routing field, caller-state field, or fourth documentation level. The stage returns `RETRO_COMPLETE` or `RETRO_BLOCKED` and stops.
26
+ It does not stage, commit, force-add, reset, checkout, or stash; it does not add, remove, or interpret `.gitignore` entries; and it does not directly edit generated platform outputs. `.prizmkit/**` is the PrizmKit framework directory, and this Skill owns only its exact documentation/result writes. The project controls whether those paths are ignored, untracked, or tracked; retrospective behavior is otherwise identical and never requires Git history. Capacity maintenance does not add a capacity state machine, fact scoring system, routing field, caller-state field, or fourth documentation level. The stage returns `RETRO_COMPLETE` or `RETRO_BLOCKED` and stops.
27
27
 
28
28
  ## When to Use
29
29
 
@@ -62,7 +62,7 @@ Reject source-derivable structure or signatures, transient conclusions, historic
62
62
 
63
63
  For every existing target:
64
64
 
65
- 1. Read each existing target before preparing its replacement, including the resolving parent/child pointers necessary for that target.
65
+ 1. Read each complete existing target before preparing its replacement, including every complete resolving parent/child pointer document necessary for that target.
66
66
  2. Establish the protected set of still-valid contracts, constraints, traps, rules, data flow, dependencies, decisions, side effects, and safety/integrity knowledge.
67
67
  3. Match existing and candidate facts by semantic meaning; update the canonical entry in place, merge synonymous facts, and remove obsolete, stale, derivable, duplicate, conflicting, or parent-copied material.
68
68
  4. Add only genuinely new facts that pass the Value Gate and have no equivalent canonical entry. Append-only synchronization is prohibited.
@@ -75,7 +75,7 @@ Read `${SKILL_DIR}/references/structural-sync-steps.md` and run its preflight fo
75
75
 
76
76
  1. Measure the existing target's exact raw UTF-8 bytes.
77
77
  2. Build the complete candidate result, including cleanup, before replacement and measure its exact raw UTF-8 bytes.
78
- 3. Apply hard limits of 4096B for the root project map, 4096B for a direct module index, and 5120B for a nested detail document. Classify normal below 80%, warning from 80% to below 90%, strong-warning from 90% through the hard limit, and error above the hard limit.
78
+ 3. Apply path-classified hard limits: exact `.prizmkit/prizm-docs/root.prizm` uses 4096B, every other direct `.prizm` child uses 4096B, and every nested `.prizm` document uses 5120B. Classify normal below 80%, warning from 80% to below 90%, strong-warning from 90% through the hard limit, and error above the hard limit.
79
79
  4. If current or candidate content reaches at least 80%, perform the minimum safe cleanup or semantic split before final replacement. Aim for 3277–3686B for a root/module index or 4096–4607B for a detail document, preserving approximately 10% headroom; never pad naturally concise output.
80
80
  5. Never delete protected knowledge merely to satisfy a byte check. If protected knowledge cannot fit, use an unambiguous stable semantic boundary or block safely.
81
81
 
@@ -61,6 +61,18 @@ Do not create `.prizmkit/test/evidence/`, manifests, hashes, attestations, packa
61
61
 
62
62
  Do not infer the active requirement solely from the name of an old artifact directory. Do not use a historical worktree, second checkout, mutation proof, baseline-failure proof, or test overlay.
63
63
 
64
+ ## Evidence Obligation Classification
65
+
66
+ Read the verdict-relevance rules in `${SKILL_DIR}/references/test-coverage-model.md`. Before assigning verdict impact, classify every material acceptance criterion, composition check, environment prerequisite, and failed diagnostic:
67
+
68
+ - `automated-required`: the default; missing safe verdict evidence blocks `TEST_PASS`;
69
+ - `manual-external-nonblocking`: a confirmed specification, acceptance criterion, or explicit caller decision says physical, public, production-account, or human-confirmation evidence may remain pending after the automated software-change verdict;
70
+ - `out-of-scope-diagnostic`: a current-checkout failure is non-blocking only when affected-module and Regression Ring verification pass, it is outside changed paths and concrete coupling, it is deterministic, and no changed dependency, configuration, generated artifact, or shared contract caused it.
71
+
72
+ The default is `automated-required`. Difficulty, duration, cost, agent inability, or absent safely constructible local tooling or isolated services cannot downgrade an `automated-required` obligation. An explicit requirement or project rule that makes broad validation mandatory remains authoritative. Ambiguous authority or verdict relevance remains blocking. Do not claim historical or pre-existing provenance without forbidden baseline comparison.
73
+
74
+ Keep authorized deferred evidence visible without claiming it passed or authorizing release/deployment. It is not an unresolved testing-domain item; `TEST_PASS` keeps `unresolved_items` empty when all automated-required obligations pass.
75
+
64
76
  ## Coverage Model
65
77
 
66
78
  Read `${SKILL_DIR}/references/test-coverage-model.md` before designing or reviewing tests.
@@ -143,7 +155,7 @@ A test cannot prove a property that depends on production composition it replace
143
155
  6. For any verdict-capable serialization or multi-layer risk in removed composition, require provider/consumer contract evidence, a composition-preserving integration test, or a Full-stack path appropriate to the risk and keeping the defect-bearing boundary real.
144
156
  7. For state-changing workflows, verify commit point, cancellation, pending/duplicate protection, failure recovery, reload or re-entry, retry/conflict/idempotency, and downstream consumption.
145
157
 
146
- If required composition-preserving evidence cannot run in a proven safe isolated environment, return `TEST_BLOCKED`. Never substitute a lower-layer green test or downgrade the proof requirement.
158
+ If composition-preserving evidence required by an `automated-required` obligation cannot run in a proven safe isolated environment, return `TEST_BLOCKED`. Never substitute a lower-layer green test or downgrade the proof requirement. Explicitly authorized `manual-external-nonblocking` evidence remains reported as unproven but does not become part of the current automated verdict.
147
159
 
148
160
  Reuse an adequate existing framework. Add only the smallest necessary project-native infrastructure when a required property cannot otherwise be expressed.
149
161
 
@@ -162,7 +174,7 @@ A nonzero execution is testing feedback, not an immediate terminal result. Class
162
174
  | `test-defect` | Repair the test, fixture, mock, import, syntax, or test infrastructure. |
163
175
  | `local-production-defect` | Repair the proven internal implementation defect when public and cross-module contracts remain unchanged. |
164
176
  | `high-risk-production-defect` | Do not repair it in this invocation; record the proven defect and return `TEST_NEEDS_FIXES`. |
165
- | `environment-unavailable` | Return `TEST_BLOCKED` with the unavailable safe prerequisite. |
177
+ | `environment-unavailable` | Return `TEST_BLOCKED` when the unavailable safe prerequisite is `automated-required`; record an authorized `manual-external-nonblocking` prerequisite without treating it as an execution failure. |
166
178
  | `truth-unresolved` | Return `TEST_BLOCKED`; never guess the assertion. |
167
179
  | `flaky-or-unreliable` | Diagnose within budget; otherwise return `TEST_BLOCKED`. |
168
180
 
@@ -207,6 +219,7 @@ unresolved_findings: 0
207
219
  Every complete round checks:
208
220
 
209
221
  - missing behavior, acceptance criteria, Regression Ring edges, and applicable risk dimensions;
222
+ - every evidence-obligation classification, its authority, unsupported obligation downgrade, and any deferred evidence incorrectly treated as passed or verdict-capable;
210
223
  - critical low-level boundary logic;
211
224
  - incorrect truth precedence or expected behavior;
212
225
  - weak, vacuous, implementation-only, nondeterministic, or flaky assertions;
@@ -267,7 +280,7 @@ Read `${SKILL_DIR}/references/boundary-contract-and-test-double-guidance.md` for
267
280
  - Never use production credentials, production databases/APIs/queues/storage, real user data, or destructive external operations.
268
281
  - If an endpoint cannot be proven non-production, do not connect to it.
269
282
  - Use contract-backed local doubles or project-owned isolated services only within their stated proof boundary.
270
- - Missing fidelity or composition evidence that affects the verdict produces `TEST_BLOCKED`, not a conditional pass.
283
+ - Missing fidelity or composition evidence for an `automated-required` obligation produces `TEST_BLOCKED`, not a conditional pass; authorized deferred external/manual evidence stays visible and unproven.
271
284
 
272
285
  ## Final Verification
273
286
 
@@ -275,13 +288,13 @@ Before writing `TEST_PASS`:
275
288
 
276
289
  1. Main-Agent review converged on the exact final state.
277
290
  2. Independent review converged or was strictly and visibly downgraded under its capability contract.
278
- 3. Every required focused, module/component, consumer/provider contract, integration, actual-composition E2E, affected-module, and Regression Ring test passes reliably.
279
- 4. Every verdict-relevant test double has boundary-appropriate authority and fidelity proof, and every test-layer claim matches actual composition.
280
- 5. Every verdict-capable property in removed composition has composition-preserving evidence; applicable Provider Contract Tests assert raw wire output and state-changing workflows cover the required lifecycle.
281
- 6. Any required project-wide regression passes.
282
- 7. No accepted correction, unresolved finding, verdict-capable scope edge, missing fidelity/composition proof, or required environment check remains.
283
- 8. No high-risk production defect or correction remains.
284
- 9. No mutation occurred after the final applicable review and execution.
291
+ 3. Every `automated-required` focused, module/component, consumer/provider contract, integration, actual-composition E2E, affected-module, and Regression Ring test passes reliably.
292
+ 4. Every automated-verdict test double has boundary-appropriate authority and fidelity proof, and every test-layer claim matches actual composition.
293
+ 5. Every automated-verdict property in removed composition has composition-preserving evidence; applicable Provider Contract Tests assert raw wire output and state-changing workflows cover the required lifecycle.
294
+ 6. Every regression concretely coupled to the change passes, and every project-wide command made a whole-result completion gate by a confirmed requirement or explicit project rule passes; only other broad failures may use `out-of-scope-diagnostic`.
295
+ 7. No accepted correction, unresolved finding, automated-verdict scope edge, missing required fidelity/composition proof, or required environment check remains.
296
+ 8. Every `manual-external-nonblocking` item is authoritatively classified, visibly unproven, and separate from release/deployment authorization.
297
+ 9. No high-risk production defect or correction remains, and no mutation occurred after final review and execution.
285
298
 
286
299
  ## Terminal Results
287
300
 
@@ -291,11 +304,11 @@ Only these testing-domain outcomes are valid:
291
304
  TEST_PASS | TEST_NEEDS_FIXES | TEST_BLOCKED
292
305
  ```
293
306
 
294
- - `TEST_PASS`: final reviewed state passes every required native test and no high-risk correction remains.
307
+ - `TEST_PASS`: final reviewed state passes every `automated-required` obligation and no high-risk correction remains; authorized deferred external/manual evidence may remain visibly unproven.
295
308
  - `TEST_NEEDS_FIXES`: a known correction remains or a testing-local review/repair budget did not converge.
296
- - `TEST_BLOCKED`: expected truth, safe input, environment, execution reliability, external-target safety, or required review input prevents a safe verdict.
309
+ - `TEST_BLOCKED`: expected truth, safe input, required automated environment, execution reliability, external-target safety, or required review input prevents a safe verdict.
297
310
 
298
- No conditional pass exists.
311
+ No conditional pass exists. A separate project-native status such as `MANUAL_VERIFICATION_REQUIRED` describes deferred evidence, not a fourth Test result or proof that external/manual behavior passed.
299
312
 
300
313
  ## Terminal Report and Result
301
314
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Apply one contract discipline to every serialized or producer-consumer boundary, whether internal or external: browser/backend APIs, cross-module endpoints, persistence, queues, filesystems, caches, generated clients/servers, SDK providers, and any test double that replaces a producer or consumer.
6
6
 
7
- Mocks are test tools, not proof of provider behavior or a deployed environment. Consumer-local types, fixtures, and mocks are expectations, not provider truth. A test cannot prove a property that depends on production composition it replaces.
7
+ Mocks are test tools, not proof of provider behavior or a deployed environment. Consumer-local types, fixtures, and mocks are expectations, not provider truth. A test cannot prove a property that depends on production composition it replaces. Apply the Test coverage model's evidence-obligation classification before deciding whether that property belongs to the current automated verdict.
8
8
 
9
9
  ## Boundary-Specific Contract Authority
10
10
 
@@ -153,7 +153,9 @@ Lower layers may diagnose a defect, but they cannot supply verdict evidence for
153
153
  3. verify the preserving test would fail while the target defect exists;
154
154
  4. record the preserving evidence and remaining risk in the report.
155
155
 
156
- If required composition-preserving verification cannot run in a proven safe isolated environment, return `TEST_BLOCKED`. Do not substitute a lower-layer green result or relabel a Mock Browser Test as E2E.
156
+ If required composition-preserving verification cannot run in a proven safe isolated environment, return `TEST_BLOCKED`. Required composition means an `automated-required` property under the authority-driven evidence-obligation classification. Difficulty, duration, cost, agent inability, or absent safely constructible local tooling or isolated services cannot downgrade an `automated-required` obligation. Do not substitute a lower-layer green result or relabel a Mock Browser Test as E2E.
157
+
158
+ An explicitly authorized `manual-external-nonblocking` obligation may remain unexecuted for the current automated software-change verdict, but it stays visible as unproven and cannot be used to claim provider compatibility, deployed behavior, release readiness, or physical acceptance.
157
159
 
158
160
  ## Databases and Stateful Services
159
161
 
@@ -179,7 +181,7 @@ Never use:
179
181
  - a target whose non-production status cannot be established;
180
182
  - destructive operations against external data.
181
183
 
182
- Project configuration may be reused only when it demonstrably selects a safe isolated test target. If safety cannot be proven, do not connect; report the unexecuted check and return `TEST_BLOCKED` when it is necessary for the verdict.
184
+ Project configuration may be reused only when it demonstrably selects a safe isolated test target. If safety cannot be proven, do not connect; report the unexecuted check and return `TEST_BLOCKED` when it is `automated-required`. A confirmed non-verdict manual/external target remains deferred and unproven rather than becoming permission to connect.
183
185
 
184
186
  ## Reporting
185
187
 
@@ -187,9 +189,11 @@ For every verdict-relevant boundary or test double, complete the Boundary and Te
187
189
 
188
190
  Also record:
189
191
 
192
+ - the property's `automated-required` or `manual-external-nonblocking` obligation and its authority;
190
193
  - variants exercised;
191
194
  - production resources used: `no`;
192
- - unresolved fidelity or deployed-environment risk.
195
+ - unresolved fidelity or deployed-environment risk;
196
+ - authorized deferred external or manual evidence as visible unproven status, never as a conditional pass or unresolved testing-domain item.
193
197
 
194
198
  Do not claim that a local mock, fake, contract snapshot, container, isolated service, or Mock Browser Test verifies composition it replaces or a deployed production environment.
195
199
 
@@ -66,7 +66,7 @@ The Main Agent supplies:
66
66
  - original requirement and confirmed clarifications;
67
67
  - exact artifact, spec, and plan paths plus current contents;
68
68
  - complete current production-and-test change;
69
- - affected business module, observable behaviors, applicable risks, and Regression Ring;
69
+ - affected business module, observable behaviors, applicable risks, Regression Ring, and the authority-driven evidence-obligation classification;
70
70
  - existing, added, and modified tests, fixtures, mocks, schemas, contracts, selected layers, and the complete boundary/test-double inventory with authority, fidelity, removed composition, proof limits, preserving evidence, and verdict impact;
71
71
  - native test commands and results executed by Main Agent;
72
72
  - testing-local repairs;
@@ -112,6 +112,10 @@ Execution boundaries:
112
112
 
113
113
  First validate input consistency. Then review:
114
114
  - requirement and acceptance-criteria coverage;
115
+ - every evidence obligation defaulting to automated-required unless a confirmed specification, acceptance criterion, or explicit caller decision authorizes non-verdict manual/external deferral;
116
+ - any unsupported obligation downgrade based only on difficulty, duration, cost, agent inability, or unavailable safely constructible tooling;
117
+ - authorized deferred external or manual evidence remaining visible and unproven without being treated as a verdict blocker or passed behavior;
118
+ - every out-of-scope diagnostic satisfying the exact current-checkout path, coupling, determinism, cause, and project-rule gate;
115
119
  - complete observable behavior of the affected module;
116
120
  - critical low-level logic and exact boundaries;
117
121
  - functional, boundary, error, state, side-effect, permission, concurrency, idempotency, time, dependency, and consumer risks;
@@ -131,7 +135,7 @@ First validate input consistency. Then review:
131
135
  - production defects or attempted repairs outside the permitted testing-local repair boundary;
132
136
  - remaining risks being stated honestly.
133
137
 
134
- Return `CORRECTION_NEEDED` when a verdict-relevant producer-consumer combination is replaced by a test double without authoritative fidelity proof and composition-preserving evidence, or when a test-layer claim exceeds the actual composition executed.
138
+ Return `CORRECTION_NEEDED` when a verdict-relevant producer-consumer combination is replaced by a test double without authoritative fidelity proof and composition-preserving evidence, when a test-layer claim exceeds the actual composition executed, when an unsupported obligation downgrade weakens required automation, or when authorized deferred external or manual evidence is the sole reason an otherwise complete automated verdict is blocked.
135
139
 
136
140
  Do not rewrite the requirement, modify code, execute tests, or perform broad exploration.
137
141
  Return exactly one result using the Reviewer Output Protocol.
@@ -269,7 +273,7 @@ Record:
269
273
  - each response number `1..5`, input identity, result, and correction count;
270
274
  - every Main-Agent adjudication and its evidence;
271
275
  - actual repair and native verification;
272
- - boundary authority/fidelity, removed-composition, proof-limit, preserving-evidence, layer-classification, and mutation-lifecycle corrections;
276
+ - boundary authority/fidelity, evidence-obligation authority, unsupported downgrade, deferred-evidence visibility, diagnostic-gate, removed-composition, proof-limit, preserving-evidence, layer-classification, and mutation-lifecycle corrections;
273
277
  - whether the exact final state was independently rechecked;
274
278
  - capability basis, continuation mode (`native`, `replacement`, `mixed`, or `not-applicable`), and replacement count.
275
279
 
@@ -36,7 +36,7 @@ Include only evidenced coupling:
36
36
  - persistence, cache, lock, queue, transaction, or other shared state;
37
37
  - registrations, configuration, or runtime discovery that concretely connects behavior.
38
38
 
39
- Record dynamic or unprovable coupling as a remaining edge. An edge that can change the testing verdict prevents `TEST_PASS` until resolved.
39
+ Record dynamic or unprovable coupling as a remaining edge. An edge that can change the automated testing verdict prevents `TEST_PASS` until resolved; an authoritatively separate manual/external obligation remains visible under its own evidence status.
40
40
 
41
41
  ## Truth Precedence
42
42
 
@@ -51,6 +51,28 @@ Resolve expected business behavior from confirmed specifications and acceptance
51
51
 
52
52
  Lower-authority material cannot override a higher-authority source or prove a property outside its boundary. Do not encode a possible implementation defect as expected behavior. Conflicting higher-precedence truth that cannot be resolved produces `TEST_BLOCKED`.
53
53
 
54
+ ## Evidence Obligation and Verdict Relevance
55
+
56
+ Classify each material acceptance criterion, environment prerequisite, composition proof, and failing diagnostic before selecting layers or assigning verdict impact. The default is `automated-required`.
57
+
58
+ | Obligation | Authority and Meaning | Verdict Rule |
59
+ |---|---|---|
60
+ | `automated-required` | The property belongs to the current software-change verdict, including safely constructible local tooling or isolated services needed to prove it. | Missing truth, safe execution, fidelity, or composition evidence prevents `TEST_PASS`. |
61
+ | `manual-external-nonblocking` | A confirmed specification, acceptance criterion, or explicit caller decision says physical-device, public-infrastructure, production-account, or human-confirmation evidence may remain pending after the automated software-change verdict. | Record the evidence as unproven and preserve any project-native status such as `MANUAL_VERIFICATION_REQUIRED`; do not treat it as an unresolved testing-domain item. |
62
+ | `out-of-scope-diagnostic` | A current-checkout failure has no concrete path, caller, consumer, contract, configuration, dependency, generated-artifact, or shared-state coupling to this change. | It may be informational only after every condition below is proven. |
63
+
64
+ Difficulty, duration, cost, agent inability, or initial absence of safely constructible local tooling or isolated services cannot downgrade an `automated-required` obligation. A manual/external classification must be explicit at a higher authority and must separate that evidence from software implementation/commit completion; inability to access an environment is not itself authority. Ambiguous authority or verdict relevance remains blocking.
65
+
66
+ A current-checkout failure is `out-of-scope-diagnostic` only when all of these hold:
67
+
68
+ 1. affected-module and Regression Ring verification pass;
69
+ 2. every failure is outside changed paths and concrete coupling;
70
+ 3. the failure reproduces deterministically on the current state;
71
+ 4. no changed dependency, configuration, generated artifact, or shared contract caused it;
72
+ 5. no explicit requirement or project rule makes that broad command a completion gate.
73
+
74
+ Do not claim historical or pre-existing provenance from a historical worktree, second checkout, test overlay, or unsupported baseline comparison. If any relationship is uncertain, keep the failure verdict-capable. These classifications affect only the current automated Test verdict: they never approve release, deployment, public readiness, signing, security review, or physical-device acceptance.
75
+
54
76
  ## Behavior Inventory
55
77
 
56
78
  For each observable behavior, capture enough working context to answer:
@@ -146,7 +168,7 @@ Use the lowest layer that proves a property without removing relevant compositio
146
168
 
147
169
  Browser execution alone does not determine the layer. Every test claim must state the property proved and any property not proven because a test double removes relevant composition.
148
170
 
149
- Not every behavior needs every layer. Record a concise reason for omitted higher layers, such as a pure library having no process or UI boundary. A missing layer blocks `TEST_PASS` only when it is needed to preserve a verdict-capable combination.
171
+ Not every behavior needs every layer. Record a concise reason for omitted higher layers, such as a pure library having no process or UI boundary. A missing layer blocks `TEST_PASS` when it is needed to preserve an `automated-required` verdict-capable combination; authorized manual/external evidence is reported as unproven rather than relabeled as an executed layer.
150
172
 
151
173
  ## Critical Low-Level Logic
152
174
 
@@ -200,18 +222,19 @@ Use existing line, branch, or function coverage to locate possibly omitted behav
200
222
 
201
223
  Coverage is complete enough for `TEST_PASS` only when:
202
224
 
203
- 1. every discoverable observable behavior is represented;
204
- 2. every applicable risk has a credible project-native test;
225
+ 1. every discoverable `automated-required` observable behavior is represented;
226
+ 2. every applicable automated-verdict risk has a credible project-native test;
205
227
  3. critical low-level logic has direct focused coverage when justified;
206
- 4. every verdict-relevant boundary and test double has contract authority, fidelity proof, removed-composition, proof-limit, and remaining-risk analysis;
207
- 5. selected layers preserve the property being proved and composition-preserving evidence covers every verdict-capable removed combination;
228
+ 4. every automated-verdict boundary and test double has contract authority, fidelity proof, removed-composition, proof-limit, and remaining-risk analysis;
229
+ 5. selected layers preserve the property being proved and composition-preserving evidence covers every automated-verdict removed combination;
208
230
  6. provider contracts inspect risk-relevant raw wire output;
209
231
  7. applicable state-changing workflows cover commit, cancellation, failure, re-entry, and repeated-operation semantics;
210
232
  8. complete affected-module regression passes;
211
233
  9. Regression Ring verification passes;
212
- 10. concrete unresolved coupling no longer affects the verdict;
213
- 11. Main-Agent review converges;
214
- 12. applicable independent review converges or is strictly downgraded;
215
- 13. no mutation follows final review and execution.
234
+ 10. concrete unresolved coupling no longer affects the verdict and every non-blocking current-checkout failure satisfies the full diagnostic gate;
235
+ 11. every deferred manual/external obligation has explicit authority, visible unproven status, and no false pass claim;
236
+ 12. Main-Agent review converges;
237
+ 13. applicable independent review converges or is strictly downgraded;
238
+ 14. no mutation follows final review and execution.
216
239
 
217
240
  Absolute completeness cannot be guaranteed. State remaining informational risks honestly without presenting them as proven behavior.
@@ -17,6 +17,23 @@ Create one human-readable report for every terminal result. Replace an older rep
17
17
  - Test paths: <existing, added, and modified paths>
18
18
  - Requirement source: <specification, acceptance criteria, caller request, or none>
19
19
 
20
+ ## Evidence Obligation Classification
21
+
22
+ | Property / Check | Authority | Obligation | Evidence / Status | Verdict Impact |
23
+ |---|---|---|---|---|
24
+ | <criterion, composition, prerequisite, or diagnostic> | <confirmed spec, acceptance criterion, explicit caller decision, project rule, or coupling evidence> | automated-required / manual-external-nonblocking / out-of-scope-diagnostic | <executed result, unproven status, or exact current-checkout failure> | <passed / TEST_NEEDS_FIXES correction / TEST_BLOCKED prerequisite / non-blocking> |
25
+
26
+ - Classification ambiguities: <none or blocking list>
27
+ - Unsupported obligation downgrades: none
28
+
29
+ ## Deferred External and Manual Evidence
30
+
31
+ | Evidence | Authority for Deferral | Current Status | Automated Verdict Rationale |
32
+ |---|---|---|---|
33
+ | <physical/public/production-account/human evidence or none> | <confirmed source> | MANUAL_VERIFICATION_REQUIRED / other explicit unproven status | <why it may remain pending after automated software-change completion> |
34
+
35
+ Authorized deferred evidence is not an unresolved testing-domain item, does not prove the deferred behavior, and does not authorize release or deployment.
36
+
20
37
  ## Affected Business Module
21
38
 
22
39
  - Boundary: <explicit module or cohesion-derived responsibility>
@@ -63,8 +80,9 @@ Coverage metrics, when available: <diagnostic values or not collected>. Percenta
63
80
 
64
81
  - Required affected-module regression complete: yes / no
65
82
  - Required Regression Ring verification complete: yes / no
66
- - Project-wide regression required: yes / no
67
- - Project-wide regression result: passed / failed / not-required / blocked
83
+ - Project-wide command executed: yes / no
84
+ - Project-wide command is a whole-result completion gate: yes / no, with authority
85
+ - Project-wide command result: passed / failed / not-run / blocked / failed-with-proven-out-of-scope-diagnostics
68
86
 
69
87
  ## Main-Agent Review
70
88
 
@@ -112,7 +130,7 @@ Coverage metrics, when available: <diagnostic values or not collected>. Percenta
112
130
 
113
131
  | Property Not Proven | Composition-Preserving Test | Evidence Classification | Remaining Risk / Verdict Impact |
114
132
  |---|---|---|---|
115
- | <property outside the double-backed proof boundary> | <provider/consumer contract, integration, Full-stack E2E, or missing> | <local / consumer contract / provider contract / integration / Mock Browser / Full-stack> | <none, informational, TEST_NEEDS_FIXES correction, or TEST_BLOCKED prerequisite> |
133
+ | <property outside the double-backed proof boundary> | <provider/consumer contract, integration, Full-stack E2E, authorized manual/external deferral, or missing> | <local / consumer contract / provider contract / integration / Mock Browser / Full-stack / manual-external-nonblocking> | <none, informational, deferred-unproven, TEST_NEEDS_FIXES correction, or TEST_BLOCKED prerequisite> |
116
134
 
117
135
  - Test-layer claims match actual composition: yes / no
118
136
  - Every verdict-capable removed combination has preserving evidence: yes / no
@@ -122,7 +140,9 @@ Coverage metrics, when available: <diagnostic values or not collected>. Percenta
122
140
 
123
141
  ## Remaining Risks and Unresolved Items
124
142
 
125
- - <none, or every known correction/blocker with concrete target and next required fact>
143
+ - Testing-domain unresolved items: <none, or every known correction/blocker with concrete target and next required fact>
144
+ - Informational risks and proven out-of-scope diagnostics: <none or exact list; do not claim unsupported historical provenance>
145
+ - Deferred external/manual evidence is reported in its dedicated section, not repeated as an unresolved testing-domain item.
126
146
  ```
127
147
 
128
148
  ## Result Rendering Rules
@@ -131,19 +151,21 @@ Render `TEST_PASS` only when:
131
151
 
132
152
  - mandatory Main-Agent review converged;
133
153
  - independent review converged or was visibly downgraded under its strict capability gate;
134
- - all required native tests pass on the exact final state;
135
- - every verdict-relevant test double has boundary-specific authority and fidelity proof;
136
- - every verdict-capable property removed by a double has composition-preserving evidence, and every layer claim matches actual composition;
154
+ - every `automated-required` native test and composition obligation passes on the exact final state;
155
+ - every automated-verdict test double has boundary-specific authority and fidelity proof;
156
+ - every automated-verdict property removed by a double has composition-preserving evidence, and every layer claim matches actual composition;
137
157
  - applicable provider contract tests assert risk-relevant raw wire payload and state-changing workflows cover commit, cancellation, failure, re-entry, and repeated-operation semantics;
138
- - no accepted or unresolved finding remains;
158
+ - each `manual-external-nonblocking` item has explicit authority, visible unproven status, and no false pass/release/deployment claim;
159
+ - each `out-of-scope-diagnostic` satisfies affected-module/Regression Ring, path/coupling, determinism, cause, and project-rule conditions;
160
+ - no accepted or unresolved testing-domain finding remains;
139
161
  - no high-risk production defect or correction remains;
140
162
  - no mutation occurred after final applicable review and execution.
141
163
 
142
164
  Render `TEST_NEEDS_FIXES` for a known remaining correction, an exhausted testing-local review/repair budget with known work, or a proven high-risk production defect that this invocation must not repair.
143
165
 
144
- Render `TEST_BLOCKED` when truth, required input, safe environment, execution reliability, external-target safety, or required Reviewer input prevents a safe verdict. This includes unavailable required composition-preserving execution and unresolved contract authority or test-double fidelity that affects the verdict; lower-layer green tests cannot substitute.
166
+ Render `TEST_BLOCKED` when truth, required input, an `automated-required` safe environment, execution reliability, external-target safety, obligation authority, diagnostic independence, or required Reviewer input prevents a safe verdict. This includes unavailable required composition-preserving execution and unresolved contract authority or test-double fidelity that affects the automated verdict; lower-layer green tests cannot substitute.
145
167
 
146
- No conditional pass, commit authorization, release authorization, runtime classification, target hash, manifest, attestation, or package state belongs in the report.
168
+ Authorized `manual-external-nonblocking` evidence alone does not block an otherwise complete automated verdict, but it remains unproven. No conditional pass, commit authorization, release authorization, runtime classification, target hash, manifest, attestation, or package state belongs in the report.
147
169
 
148
170
  ## Terminal Machine Projection
149
171
 
@@ -178,6 +200,6 @@ Constraints:
178
200
  - `downgraded` requires `responses=0`, a non-empty `downgrade_reason`, and `final_state_rechecked=false`.
179
201
  - `not_applicable` requires `responses=0`, `downgrade_reason=null`, and `final_state_rechecked=false`.
180
202
  - `independent_review.responses` is otherwise bounded from `0` through `5`.
181
- - `TEST_PASS` requires an empty `unresolved_items`; `TEST_NEEDS_FIXES` and `TEST_BLOCKED` each require at least one concise correction or blocker string, and the list agrees with the report.
203
+ - `TEST_PASS` keeps `unresolved_items` empty; authorized deferred evidence and proven out-of-scope diagnostics remain in their human report sections. `TEST_NEEDS_FIXES` and `TEST_BLOCKED` each require at least one concise testing-domain correction or blocker string, and the list agrees with the report.
182
204
  - Report and JSON agree on final result and production-change diagnostics.
183
205
  - The JSON is terminal output only and is never updated as an internal checkpoint.
@@ -211,17 +211,15 @@ The internal `prizmkit-code-review` limit of ten completed review rounds remains
211
211
 
212
212
  The composite reaches `/prizmkit-committer operation=interactive-commit` but must not silently create a Git commit.
213
213
 
214
- The composite must validate all prior stage artifacts, derive exact non-`.prizmkit/` change paths for the retrospective input, and validate its result. For interactive commit it then assembles one exact `intended_paths` manifest from:
214
+ The composite must validate all prior stage artifacts, derive exact non-`.prizmkit/` source-change paths for retrospective input, and validate its result. It then assembles one exact interactive `intended_paths` manifest from every final Git-visible requirement output, regardless of whether a justified path is under `.prizmkit/**`. Ignored paths remain naturally absent. Prizm documentation has no separate commit-ownership or retrospective-evidence admission rule.
215
215
 
216
- - final validated requirement paths outside default support namespaces;
217
- - exact `.prizmkit/prizm-docs/**` paths listed by a consistent `RETRO_COMPLETE` + `DOCS_UPDATED` result;
218
- - exact support paths explicitly owned by the spec/plan, separately labeled in the preview, covered by the support validation below, and subject to the user's confirmation of that exact manifest.
216
+ `.prizmkit/**` remains the framework capability boundary and ordinary Code Review black box, but project Git tracking is independent. The composite must not force-add a framework path, modify or interpret ignore policy, broadly stage, or reject a Git-visible intended path solely by directory name. Exact Runtime request/checkpoint/state and installed Runtime/host payloads remain outside the manifest because of their semantic support/bookkeeping role, not a blanket framework-directory rule. Global Secret checks apply equally to every intended path.
219
217
 
220
- For each explicit support path, select and execute its applicable semantic contract before invoking Committer: instruction files require readable structure, resolvable project references, consistency with the exact requirement and applicable project conventions, and secret scanning; lockfiles require parse/schema checks plus owning-installer or deterministic-regeneration parity; any other support class requires an exact project-native semantic validator named by the spec/plan. User confirmation alone is not support validation. If no applicable validator exists or evidence is non-passing, block support admission. Pass one exact `support_validation_evidence` record per admitted support path, including its path, contract, completed validation, `PASS` result, and exact evidence path.
218
+ For each explicit host/platform support path, select and execute its applicable semantic contract before invoking Committer: instruction files require readable structure, resolvable project references, consistency with the exact requirement and applicable project conventions, and Secret scanning; lockfiles require parse/schema checks plus owning-installer or deterministic-regeneration parity; any other support class requires an exact project-native semantic validator named by the spec/plan. User confirmation alone is not support validation. A path is not host support merely because it is under `.prizmkit/**`.
221
219
 
222
- All other `.prizmkit/**`, generated support, transient, installed, secret, unknown, or unrelated paths remain excluded or blocking. Invoke the committer with the same `artifact_dir`, exact `evidence_paths`, caller-state paths in `excluded_paths`, the exact `intended_paths`, conditional one-to-one `support_validation_evidence`, and `operation=interactive-commit`. The committer validates the manifest, presents the exact commit, waits for confirmation, and creates it only after approval.
220
+ Invoke Committer with the same `artifact_dir`, exact `evidence_paths`, exact caller-state/bookkeeping paths in `excluded_paths`, exact `intended_paths`, conditional one-to-one host `support_validation_evidence`, and `operation=interactive-commit`. Committer validates the exact manifest and staged-set equality, presents it, waits for confirmation, and creates it only after approval.
223
221
 
224
- External headless orchestration supplies explicit evidence to `operation=prepare-runtime-commit`, maps `COMMIT_REQUEST_READY` to its own pending state, and lets Python Runtime validate and execute the request. Preparation mode preserves the existing automated contract: the complete `.prizmkit/**` tree remains outside Runtime `intended_paths`. Remote publication remains separate.
222
+ External headless orchestration supplies explicit readiness evidence to `operation=prepare-runtime-commit`, maps `COMMIT_REQUEST_READY` to its own pending state, and lets Python Runtime validate and execute the request. Safe Git-visible `.prizmkit/**` task output may appear in Runtime `intended_paths`; exact Runtime bookkeeping/support, Secrets, unrelated paths, and ignored paths do not. Remote publication remains separate.
225
223
 
226
224
  ## Automatic Handoff and Manual Fallback
227
225
 
@@ -158,15 +158,14 @@ Any outer repair or continuation policy is independently owned by the caller and
158
158
  Interactive execution:
159
159
 
160
160
  ```text
161
- coordinator assembles exact intended_paths from final requirement paths
162
- + exact validated Retrospective .prizmkit/prizm-docs paths
163
- + separately labeled explicitly owned support paths with one-to-one passing support_validation_evidence
164
- → committer validates and previews the exact files and message
161
+ coordinator assembles exact intended_paths from all final Git-visible requirement paths, including justified `.prizmkit/**` output
162
+ + separately labeled explicitly owned host support paths with one-to-one passing support_validation_evidence
163
+ committer validates ordinary task ownership, global Secret safety, and the exact files/message
165
164
  → waits for explicit current-user confirmation
166
165
  → stages exact pathspecs, creates, and verifies the local commit
167
166
  ```
168
167
 
169
- All other `.prizmkit/**`, generated support, transient, installed, secret, unknown, or unrelated paths remain excluded or blocking. Exact durable Prizm documentation admission is an interactive exception backed by the Retrospective result, not a general `.prizmkit` allowlist. User confirmation alone is not support validation: instruction files require structure/reference/requirement-consistency/secret checks, lockfiles require parse/schema plus installer or deterministic-regeneration parity, and any other support class requires the exact project-native semantic validator named by the spec/plan.
168
+ The framework directory is not a blanket allowlist or denylist: a Git-visible `.prizmkit/**` path uses the same exact manifest, task justification, staged-set equality, Secret checks, and receipt verification as any other path, with no documentation-specific evidence. Ignored files remain absent and are never force-added. Exact Runtime request/checkpoint/state, installed Runtime/host payloads, sensitive, unknown, and unrelated paths remain excluded or blocking because of their semantic role. User confirmation alone is not host-support validation.
170
169
 
171
170
  Pipeline execution:
172
171
 
@@ -178,7 +177,7 @@ external coordinator validates its required gates and supplies exact readiness e
178
177
  → remote publication remains separate
179
178
  ```
180
179
 
181
- The preparation request is data for runtime validation, not prompt-level authorization. The committer must not stage, commit, or predeclare COMMITTED in pipeline preparation mode. Preparation preserves the existing automated path contract: the complete `.prizmkit/**` tree remains outside Runtime `intended_paths` in this protocol version.
180
+ The preparation request is data for Runtime validation, not prompt-level authorization. The committer must not stage, commit, or predeclare COMMITTED in preparation mode. Safe Git-visible `.prizmkit/**` task output may appear in Runtime `intended_paths`; ignored paths remain absent, while exact Runtime bookkeeping/support and Secrets remain excluded. Runtime verifies the commit before writing its post-commit receipt/checkpoint and never retroactively inserts those writes into the committed snapshot.
182
181
 
183
182
  ## Recovery
184
183