harness-everything 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/.agents/harness-everything/project-docs.json +9 -0
  2. package/.claude-plugin/marketplace.json +1 -1
  3. package/.claude-plugin/plugin.json +1 -1
  4. package/CHANGELOG.md +43 -0
  5. package/benchmarks/results/f1-doc-path-baseline/1-source-clean.stderr.txt +0 -0
  6. package/benchmarks/results/f1-doc-path-baseline/1-source-clean.stdout.json +20 -0
  7. package/benchmarks/results/f1-doc-path-baseline/2-injected-architecture.md +229 -0
  8. package/benchmarks/results/f1-doc-path-baseline/2-source-injected.stderr.txt +0 -0
  9. package/benchmarks/results/f1-doc-path-baseline/2-source-injected.stdout.json +33 -0
  10. package/benchmarks/results/f1-doc-path-baseline/3-source-reverted.stderr.txt +0 -0
  11. package/benchmarks/results/f1-doc-path-baseline/3-source-reverted.stdout.json +20 -0
  12. package/benchmarks/results/f1-doc-path-baseline/4a-packaged-clean.stderr.txt +0 -0
  13. package/benchmarks/results/f1-doc-path-baseline/4a-packaged-clean.stdout.json +20 -0
  14. package/benchmarks/results/f1-doc-path-baseline/4b-packaged-injected.stderr.txt +0 -0
  15. package/benchmarks/results/f1-doc-path-baseline/4b-packaged-injected.stdout.json +33 -0
  16. package/benchmarks/results/f1-doc-path-baseline/5-source-missing-config.stderr.txt +0 -0
  17. package/benchmarks/results/f1-doc-path-baseline/5-source-missing-config.stdout.json +15 -0
  18. package/benchmarks/results/f1-doc-path-baseline/5b-packaged-missing-config.stderr.txt +0 -0
  19. package/benchmarks/results/f1-doc-path-baseline/5b-packaged-missing-config.stdout.json +15 -0
  20. package/benchmarks/results/f1-doc-path-baseline/README.md +54 -0
  21. package/benchmarks/results/f1-doc-path-baseline/before-fix/1-source-clean.stderr.txt +0 -0
  22. package/benchmarks/results/f1-doc-path-baseline/before-fix/1-source-clean.stdout.json +115 -0
  23. package/benchmarks/results/f1-doc-path-baseline/before-fix/2-injected-document.md +328 -0
  24. package/benchmarks/results/f1-doc-path-baseline/before-fix/2-source-injected.stderr.txt +0 -0
  25. package/benchmarks/results/f1-doc-path-baseline/before-fix/2-source-injected.stdout.json +127 -0
  26. package/benchmarks/results/f1-doc-path-baseline/before-fix/3-source-reverted.stderr.txt +0 -0
  27. package/benchmarks/results/f1-doc-path-baseline/before-fix/3-source-reverted.stdout.json +115 -0
  28. package/benchmarks/results/f1-doc-path-baseline/before-fix/4a-packaged-clean.stderr.txt +0 -0
  29. package/benchmarks/results/f1-doc-path-baseline/before-fix/4a-packaged-clean.stdout.json +115 -0
  30. package/benchmarks/results/f1-doc-path-baseline/before-fix/4b-packaged-injected.stderr.txt +0 -0
  31. package/benchmarks/results/f1-doc-path-baseline/before-fix/4b-packaged-injected.stdout.json +127 -0
  32. package/benchmarks/results/f1-doc-path-baseline/before-fix/5-source-missing-config.stderr.txt +0 -0
  33. package/benchmarks/results/f1-doc-path-baseline/before-fix/5-source-missing-config.stdout.json +15 -0
  34. package/benchmarks/results/f1-doc-path-baseline/before-fix/5b-packaged-missing-config.stderr.txt +0 -0
  35. package/benchmarks/results/f1-doc-path-baseline/before-fix/5b-packaged-missing-config.stdout.json +15 -0
  36. package/benchmarks/results/f1-doc-path-baseline/before-fix/6-supplementary-fixture-ok.input.md +8 -0
  37. package/benchmarks/results/f1-doc-path-baseline/before-fix/6-supplementary-fixture-ok.stdout.json +16 -0
  38. package/benchmarks/results/f1-doc-path-baseline/before-fix/README.md +34 -0
  39. package/benchmarks/results/f1-doc-path-baseline/probe-31-docs/after.json +248 -0
  40. package/benchmarks/results/f1-doc-path-baseline/probe-31-docs/before.json +254 -0
  41. package/benchmarks/results/f1-doc-path-baseline/probe-31-docs/probe.js +26 -0
  42. package/benchmarks/results/f2-doc-craft-baseline/README.md +32 -0
  43. package/benchmarks/results/f2-doc-craft-baseline/arm-f1-report.md +84 -0
  44. package/benchmarks/results/f2-doc-craft-baseline/arm-f1-task.md +21 -0
  45. package/benchmarks/results/f2-doc-craft-baseline/arm-f1.diff +19 -0
  46. package/benchmarks/results/f2-doc-craft-baseline/arm-f2-report.md +110 -0
  47. package/benchmarks/results/f2-doc-craft-baseline/arm-f2-task.md +21 -0
  48. package/benchmarks/results/f2-doc-craft-baseline/arm-f2.diff +19 -0
  49. package/benchmarks/results/f3-derived-views-baseline/README.md +34 -0
  50. package/benchmarks/results/f3-derived-views-baseline/arm-f2-report.md +43 -0
  51. package/benchmarks/results/f3-derived-views-baseline/arm-f2-task.md +21 -0
  52. package/benchmarks/results/f3-derived-views-baseline/arm-f2.diff +21 -0
  53. package/benchmarks/results/f3-derived-views-baseline/arm-f3-report.md +57 -0
  54. package/benchmarks/results/f3-derived-views-baseline/arm-f3-task.md +21 -0
  55. package/benchmarks/results/f3-derived-views-baseline/arm-f3.diff +21 -0
  56. package/benchmarks/results/live-host/claude-325-3b-s2b/README.md +99 -0
  57. package/benchmarks/results/live-host/claude-325-3b-s2b/capture.sanitized.jsonl +26 -0
  58. package/ci/archive/325-prep/README.md +71 -0
  59. package/ci/{prep → archive/325-prep}/doc-reconciliation-red.js +9 -7
  60. package/ci/archive/325-prep/f4-expected-red.json +34 -0
  61. package/ci/archive/325-prep/historical-qualification.test.js +143 -0
  62. package/ci/fixtures/doc-obligations/reconciliation-prep/cases.json +17 -4
  63. package/ci/fixtures/doc-obligations/reconciliation-prep/pending-red.json +8 -56
  64. package/ci/fixtures/doc-obligations/reconciliation-prep/trust-contract.json +2 -2
  65. package/ci/fixtures/doc-obligations/reconciliation-s1/cases.json +17 -5
  66. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/harness.js +415 -0
  67. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/off-handoff-golden.json +16 -0
  68. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-post-tool-use-failure.json +11 -0
  69. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-post-tool-use-success-minimal.json +9 -0
  70. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-post-tool-use-success.json +13 -0
  71. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-subagent-start.json +7 -0
  72. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-subagent-stop-freetext-reject.json +11 -0
  73. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-subagent-stop-reject.json +11 -0
  74. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-subagent-stop.json +11 -0
  75. package/ci/fixtures/doc-obligations/reconciliation-s2b/capture/payload-task-result.json +19 -0
  76. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/off-capture-only.json +99 -0
  77. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/off-legacy.json +67 -0
  78. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/on-concurrent-writers.json +62 -0
  79. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/on-lookalikes-runtime-mutations.json +67 -0
  80. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/on-malformed.json +85 -0
  81. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/on-normal-session.json +74 -0
  82. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/on-runtime-drift-later-npm-test.json +58 -0
  83. package/ci/fixtures/doc-obligations/reconciliation-s2b/corpus/on-valid-direct-quoted-review.json +85 -0
  84. package/ci/fixtures/doc-obligations/reconciliation-s2b/f4/cases.json +2267 -0
  85. package/ci/fixtures/doc-obligations/reconciliation-s2b/wiring/cases.json +1110 -0
  86. package/ci/fixtures/doc-obligations/reconciliation-s2b/wiring/legacy-off-golden.json +674 -0
  87. package/ci/lib/doc-reconciliation-file-spy.js +23 -0
  88. package/ci/lib/doc-reconciliation-prep-fixtures.js +136 -10
  89. package/ci/lib/doc-reconciliation-qualification-preload.js +37 -0
  90. package/ci/lib/doc-reconciliation-replay.js +104 -0
  91. package/ci/lib/doc-reconciliation-staged-tree.js +102 -0
  92. package/ci/mechanism-2p-opencode-v2-entrypoint.test.js +179 -0
  93. package/ci/mechanism-325-3b-preparation.test.js +27 -101
  94. package/ci/mechanism-325-3b-s2b-capture.test.js +561 -0
  95. package/ci/mechanism-325-3b-s2b-wiring.test.js +668 -0
  96. package/ci/mechanism-325-f1-doc-check.test.js +674 -0
  97. package/ci/mechanism-325-f2-doc-craft.test.js +597 -0
  98. package/ci/mechanism-325-f3-derived-views.test.js +798 -0
  99. package/ci/mechanism-325-f4-invariants.test.js +606 -0
  100. package/ci/mechanism-325-f4-projections.test.js +382 -0
  101. package/ci/mechanism-325-f4-qualification.test.js +228 -0
  102. package/ci/mechanism-325-f4-trust-boundary.test.js +880 -0
  103. package/ci/mutation-check.js +26 -3
  104. package/docs/architecture.md +5 -0
  105. package/docs/doc-workflow-reconciliation.md +331 -4
  106. package/docs/document-lifecycle.md +11 -0
  107. package/docs/governed-index.md +20 -0
  108. package/docs/platform-capabilities.md +22 -2
  109. package/grill-with-docs/SKILL.md +1 -1
  110. package/grill-with-docs/references/session-playbook.md +4 -0
  111. package/harness-everything/SKILL.md +1 -1
  112. package/harness-everything/references/doc-check.md +186 -0
  113. package/harness-everything/references/documentation/_shared/maintenance.md +41 -0
  114. package/harness-everything/references/documentation/_shared/writing-craft.md +59 -0
  115. package/harness-everything/references/triage-and-tiers.md +4 -0
  116. package/harness-everything/scripts/doc-check.js +442 -0
  117. package/harness-everything/scripts/doc-lifecycle.js +3 -0
  118. package/hooks/hooks.json +46 -0
  119. package/hooks/scripts/lib/doc-reconciliation-capture.sanitized.jsonl +26 -0
  120. package/hooks/scripts/lib/doc-reconciliation-pilot.js +171 -2
  121. package/hooks/scripts/lib/doc-reconciliation-provider.js +1059 -0
  122. package/hooks/scripts/lib/doc-reconciliation-qualification.json +34 -0
  123. package/hooks/scripts/lib/workflow-obligations.js +7 -0
  124. package/hooks/scripts/state-persist.js +78 -2
  125. package/hooks/scripts/workflow-stop-gate.js +7 -2
  126. package/opencode-plugin/README.md +15 -0
  127. package/opencode-plugin/index.mjs +77 -0
  128. package/opencode-plugin/plugin.json +1 -1
  129. package/package.json +1 -1
  130. package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
  131. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-capture.sanitized.jsonl +26 -0
  132. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-pilot.js +171 -2
  133. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-provider.js +1059 -0
  134. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-qualification.json +34 -0
  135. package/plugins/harness-everything/hooks/scripts/lib/workflow-obligations.js +7 -0
  136. package/plugins/harness-everything/hooks/scripts/state-persist.js +78 -2
  137. package/plugins/harness-everything/hooks/scripts/workflow-stop-gate.js +7 -2
  138. package/plugins/harness-everything/plugin.json +1 -1
  139. package/plugins/harness-everything/skills/grill-with-docs/SKILL.md +1 -1
  140. package/plugins/harness-everything/skills/grill-with-docs/references/session-playbook.md +4 -0
  141. package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
  142. package/plugins/harness-everything/skills/harness-everything/references/doc-check.md +186 -0
  143. package/plugins/harness-everything/skills/harness-everything/references/documentation/_shared/maintenance.md +41 -0
  144. package/plugins/harness-everything/skills/harness-everything/references/documentation/_shared/writing-craft.md +59 -0
  145. package/plugins/harness-everything/skills/harness-everything/references/triage-and-tiers.md +4 -0
  146. package/plugins/harness-everything/skills/harness-everything/scripts/doc-check.js +442 -0
  147. package/plugins/harness-everything/skills/harness-everything/scripts/doc-lifecycle.js +3 -0
  148. package/plugins/harness-everything/skills/repo-docs/SKILL.md +1 -1
  149. package/plugins/harness-everything/skills/repo-docs/references/process-guide.md +4 -0
  150. package/plugins/harness-everything/skills/to-spec/SKILL.md +1 -1
  151. package/plugins/harness-everything/skills/to-spec/references/process.md +4 -0
  152. package/plugins/harness-everything/skills/to-tickets/SKILL.md +1 -1
  153. package/plugins/harness-everything/skills/to-tickets/references/publishing-and-templates.md +4 -0
  154. package/repo-docs/SKILL.md +1 -1
  155. package/repo-docs/references/process-guide.md +4 -0
  156. package/sbom.cdx.json +7 -7
  157. package/to-spec/SKILL.md +1 -1
  158. package/to-spec/references/process.md +4 -0
  159. package/to-tickets/SKILL.md +1 -1
  160. package/to-tickets/references/publishing-and-templates.md +4 -0
@@ -0,0 +1,67 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "off-legacy",
4
+ "mode": "off",
5
+ "events": [
6
+ {
7
+ "id": "event-01",
8
+ "event": "PreToolUse",
9
+ "toolName": "Bash",
10
+ "command": "npm test",
11
+ "toolUseId": "tool-use-1",
12
+ "cwd": "{{WORKSPACE}}",
13
+ "success": true
14
+ },
15
+ {
16
+ "id": "event-02",
17
+ "event": "PostToolUseFailure",
18
+ "toolName": "Bash",
19
+ "command": "npm test",
20
+ "toolUseId": "tool-use-2",
21
+ "cwd": "{{WORKSPACE}}",
22
+ "success": false
23
+ },
24
+ {
25
+ "id": "event-03",
26
+ "event": "PostToolUse",
27
+ "toolName": "Bash",
28
+ "command": "npm test",
29
+ "toolUseId": "tool-use-3",
30
+ "cwd": "{{WORKSPACE}}",
31
+ "success": true
32
+ }
33
+ ],
34
+ "expectations": {
35
+ "moduleLoads": {
36
+ "invariant": "I1",
37
+ "outcome": "pilot modules may remain mounted; OFF gate returns before pilot work"
38
+ },
39
+ "stateFiles": {
40
+ "invariant": "I1",
41
+ "outcome": "legacy workflow state only; no pilot session binding or report file"
42
+ },
43
+ "captureRecords": {
44
+ "invariant": "I1-I3",
45
+ "outcome": "no pilot capture journal or records"
46
+ },
47
+ "pilotReport": {
48
+ "invariant": "I1-I3",
49
+ "outcome": "absent"
50
+ },
51
+ "workflowStep": {
52
+ "invariant": "I2-I3",
53
+ "outcome": "legacy step behavior is preserved"
54
+ },
55
+ "workflowStop": {
56
+ "invariant": "I4",
57
+ "outcome": "exit 0; reminder/stop output reflects unresolved workflow state without a persistent Harness lock"
58
+ },
59
+ "genericStop": {
60
+ "invariant": "I4",
61
+ "outcome": "exit 0; generic verification behavior remains independent of document credit"
62
+ }
63
+ },
64
+ "sources": [
65
+ "synthetic stream derived from F4-Z1 §4 minimal covering set"
66
+ ]
67
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "on-concurrent-writers",
4
+ "mode": "on",
5
+ "events": [
6
+ {
7
+ "id": "event-01",
8
+ "event": "PostToolUse",
9
+ "toolName": "Bash",
10
+ "command": "npm test",
11
+ "toolUseId": "tool-use-1",
12
+ "cwd": "{{WORKSPACE}}",
13
+ "success": true
14
+ },
15
+ {
16
+ "id": "event-02",
17
+ "event": "PostToolUse",
18
+ "toolName": "Bash",
19
+ "command": "npm test",
20
+ "toolUseId": "tool-use-2",
21
+ "cwd": "{{WORKSPACE}}",
22
+ "success": true
23
+ }
24
+ ],
25
+ "expectations": {
26
+ "moduleLoads": {
27
+ "invariant": "I1",
28
+ "outcome": "each hook and selected entrypoint load from the selected distribution; provenance is observable"
29
+ },
30
+ "stateFiles": {
31
+ "invariant": "I1",
32
+ "outcome": "state keys retain the action that created/updated each key; no fixture writes outside isolated HARNESS_STATE_HOME"
33
+ },
34
+ "captureRecords": {
35
+ "invariant": "I1-I3",
36
+ "outcome": "both barrier-released processes preserve immutable event records and journal entries without lost source state"
37
+ },
38
+ "pilotReport": {
39
+ "invariant": "I1-I3",
40
+ "outcome": "no document credit without valid correlated checks; runtime drift invalidates document evidence only"
41
+ },
42
+ "workflowStep": {
43
+ "invariant": "I2-I3",
44
+ "outcome": "ordinary verification remains separate; document step remains pending absent valid credited evidence"
45
+ },
46
+ "workflowStop": {
47
+ "invariant": "I4",
48
+ "outcome": "exit 0; reminder/stop output reflects unresolved workflow state without a persistent Harness lock"
49
+ },
50
+ "genericStop": {
51
+ "invariant": "I4",
52
+ "outcome": "exit 0; generic verification behavior remains independent of document credit"
53
+ }
54
+ },
55
+ "concurrency": {
56
+ "writers": 2,
57
+ "barrier": "all-ready-before-release"
58
+ },
59
+ "sources": [
60
+ "synthetic stream derived from F4-Z1 §4 minimal covering set"
61
+ ]
62
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "on-lookalikes-runtime-mutations",
4
+ "mode": "on",
5
+ "events": [
6
+ {
7
+ "id": "event-01",
8
+ "event": "PostToolUse",
9
+ "toolName": "Bash",
10
+ "command": "node ./scripts/doc-check.js check",
11
+ "toolUseId": "tool-use-1",
12
+ "cwd": "{{WORKSPACE}}",
13
+ "success": true
14
+ },
15
+ {
16
+ "id": "event-02",
17
+ "event": "PostToolUse",
18
+ "toolName": "Bash",
19
+ "command": "node {{DOC_CHECK}} check --workspace . --config .agents/harness-everything/project-docs.json --changed-path docs/a.md",
20
+ "toolUseId": "tool-use-2",
21
+ "cwd": "{{WORKSPACE}}",
22
+ "success": true
23
+ },
24
+ {
25
+ "id": "event-03",
26
+ "event": "PostToolUse",
27
+ "toolName": "Bash",
28
+ "command": "node {{DOC_CHECK}} check --workspace . --config .agents/harness-everything/project-docs.json --changed-path docs/a.md",
29
+ "toolUseId": "tool-use-3",
30
+ "cwd": "{{WORKSPACE}}",
31
+ "success": true
32
+ }
33
+ ],
34
+ "expectations": {
35
+ "moduleLoads": {
36
+ "invariant": "I1",
37
+ "outcome": "each hook and selected entrypoint load from the selected distribution; provenance is observable"
38
+ },
39
+ "stateFiles": {
40
+ "invariant": "I1",
41
+ "outcome": "state keys retain the action that created/updated each key; no fixture writes outside isolated HARNESS_STATE_HOME"
42
+ },
43
+ "captureRecords": {
44
+ "invariant": "I1-I3",
45
+ "outcome": "ordered host events retain command, cwd, tool-use and success/failure correlation"
46
+ },
47
+ "pilotReport": {
48
+ "invariant": "I1-I3",
49
+ "outcome": "no document credit without valid correlated checks; runtime drift invalidates document evidence only"
50
+ },
51
+ "workflowStep": {
52
+ "invariant": "I2-I3",
53
+ "outcome": "ordinary verification remains separate; document step remains pending absent valid credited evidence"
54
+ },
55
+ "workflowStop": {
56
+ "invariant": "I4",
57
+ "outcome": "exit 0; reminder/stop output reflects unresolved workflow state without a persistent Harness lock"
58
+ },
59
+ "genericStop": {
60
+ "invariant": "I4",
61
+ "outcome": "exit 0; generic verification behavior remains independent of document credit"
62
+ }
63
+ },
64
+ "sources": [
65
+ "synthetic stream derived from F4-Z1 §4 minimal covering set"
66
+ ]
67
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "on-malformed",
4
+ "mode": "on",
5
+ "events": [
6
+ {
7
+ "id": "event-01",
8
+ "event": "PostToolUse",
9
+ "toolName": "Bash",
10
+ "command": "sh -c \"node {{DOC_CHECK}} check\"",
11
+ "toolUseId": "tool-use-1",
12
+ "cwd": "{{WORKSPACE}}",
13
+ "success": true
14
+ },
15
+ {
16
+ "id": "event-02",
17
+ "event": "PostToolUse",
18
+ "toolName": "Bash",
19
+ "command": "node {{DOC_CHECK}} check && npm test",
20
+ "toolUseId": "tool-use-2",
21
+ "cwd": "{{WORKSPACE}}",
22
+ "success": true
23
+ },
24
+ {
25
+ "id": "event-03",
26
+ "event": "PostToolUse",
27
+ "toolName": "Bash",
28
+ "command": "env node {{DOC_CHECK}} check",
29
+ "toolUseId": "tool-use-3",
30
+ "cwd": "{{WORKSPACE}}",
31
+ "success": true
32
+ },
33
+ {
34
+ "id": "event-04",
35
+ "event": "PostToolUse",
36
+ "toolName": "Bash",
37
+ "command": "npx doc-check check",
38
+ "toolUseId": "tool-use-4",
39
+ "cwd": "{{WORKSPACE}}",
40
+ "success": true
41
+ },
42
+ {
43
+ "id": "event-05",
44
+ "event": "PostToolUse",
45
+ "toolName": "Bash",
46
+ "command": "node {{DOC_CHECK}} check --workspace . --config x --changed-path docs/a.md --changed-path docs/b.md",
47
+ "toolUseId": "tool-use-5",
48
+ "cwd": "{{WORKSPACE}}",
49
+ "success": true
50
+ }
51
+ ],
52
+ "expectations": {
53
+ "moduleLoads": {
54
+ "invariant": "I1",
55
+ "outcome": "each hook and selected entrypoint load from the selected distribution; provenance is observable"
56
+ },
57
+ "stateFiles": {
58
+ "invariant": "I1",
59
+ "outcome": "state keys retain the action that created/updated each key; no fixture writes outside isolated HARNESS_STATE_HOME"
60
+ },
61
+ "captureRecords": {
62
+ "invariant": "I1-I3",
63
+ "outcome": "ordered host events retain command, cwd, tool-use and success/failure correlation"
64
+ },
65
+ "pilotReport": {
66
+ "invariant": "I1-I3",
67
+ "outcome": "no document credit without valid correlated checks; runtime drift invalidates document evidence only"
68
+ },
69
+ "workflowStep": {
70
+ "invariant": "I2-I3",
71
+ "outcome": "ordinary verification remains separate; document step remains pending absent valid credited evidence"
72
+ },
73
+ "workflowStop": {
74
+ "invariant": "I4",
75
+ "outcome": "exit 0; reminder/stop output reflects unresolved workflow state without a persistent Harness lock"
76
+ },
77
+ "genericStop": {
78
+ "invariant": "I4",
79
+ "outcome": "exit 0; generic verification behavior remains independent of document credit"
80
+ }
81
+ },
82
+ "sources": [
83
+ "synthetic stream derived from F4-Z1 §4 minimal covering set"
84
+ ]
85
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "on-normal-session",
4
+ "mode": "on",
5
+ "events": [
6
+ {
7
+ "id": "event-01",
8
+ "event": "PostToolUse",
9
+ "toolName": "Edit",
10
+ "command": "Edit docs/a.md",
11
+ "toolUseId": "tool-use-1",
12
+ "cwd": "{{WORKSPACE}}",
13
+ "success": true
14
+ },
15
+ {
16
+ "id": "event-02",
17
+ "event": "PostToolUse",
18
+ "toolName": "Bash",
19
+ "command": "npm test",
20
+ "toolUseId": "tool-use-2",
21
+ "cwd": "{{WORKSPACE}}",
22
+ "success": true
23
+ },
24
+ {
25
+ "id": "event-03",
26
+ "event": "PostToolUse",
27
+ "toolName": "Agent",
28
+ "command": "agent",
29
+ "toolUseId": "tool-use-3",
30
+ "cwd": "{{WORKSPACE}}",
31
+ "success": true
32
+ },
33
+ {
34
+ "id": "event-04",
35
+ "event": "SubagentStop",
36
+ "toolUseId": "tool-use-4",
37
+ "cwd": "{{WORKSPACE}}",
38
+ "success": true
39
+ }
40
+ ],
41
+ "expectations": {
42
+ "moduleLoads": {
43
+ "invariant": "I1",
44
+ "outcome": "each hook and selected entrypoint load from the selected distribution; provenance is observable"
45
+ },
46
+ "stateFiles": {
47
+ "invariant": "I1",
48
+ "outcome": "state keys retain the action that created/updated each key; no fixture writes outside isolated HARNESS_STATE_HOME"
49
+ },
50
+ "captureRecords": {
51
+ "invariant": "I1-I3",
52
+ "outcome": "ordered host events retain command, cwd, tool-use and success/failure correlation"
53
+ },
54
+ "pilotReport": {
55
+ "invariant": "I1-I3",
56
+ "outcome": "no document credit without valid correlated checks; runtime drift invalidates document evidence only"
57
+ },
58
+ "workflowStep": {
59
+ "invariant": "I2-I3",
60
+ "outcome": "ordinary verification remains separate; document step remains pending absent valid credited evidence"
61
+ },
62
+ "workflowStop": {
63
+ "invariant": "I4",
64
+ "outcome": "exit 0; reminder/stop output reflects unresolved workflow state without a persistent Harness lock"
65
+ },
66
+ "genericStop": {
67
+ "invariant": "I4",
68
+ "outcome": "exit 0; generic verification behavior remains independent of document credit"
69
+ }
70
+ },
71
+ "sources": [
72
+ "synthetic stream derived from F4-Z1 §4 minimal covering set"
73
+ ]
74
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "on-runtime-drift-later-npm-test",
4
+ "mode": "on",
5
+ "events": [
6
+ {
7
+ "id": "event-01",
8
+ "event": "PostToolUse",
9
+ "toolName": "Bash",
10
+ "command": "node {{DOC_CHECK}} check --workspace . --config .agents/harness-everything/project-docs.json --changed-path docs/a.md",
11
+ "toolUseId": "tool-use-1",
12
+ "cwd": "{{WORKSPACE}}",
13
+ "success": true
14
+ },
15
+ {
16
+ "id": "event-02",
17
+ "event": "PostToolUse",
18
+ "toolName": "Bash",
19
+ "command": "npm test",
20
+ "toolUseId": "tool-use-2",
21
+ "cwd": "{{WORKSPACE}}",
22
+ "success": true
23
+ }
24
+ ],
25
+ "expectations": {
26
+ "moduleLoads": {
27
+ "invariant": "I1",
28
+ "outcome": "each hook and selected entrypoint load from the selected distribution; provenance is observable"
29
+ },
30
+ "stateFiles": {
31
+ "invariant": "I1",
32
+ "outcome": "state keys retain the action that created/updated each key; no fixture writes outside isolated HARNESS_STATE_HOME"
33
+ },
34
+ "captureRecords": {
35
+ "invariant": "I1-I3",
36
+ "outcome": "ordered host events retain command, cwd, tool-use and success/failure correlation"
37
+ },
38
+ "pilotReport": {
39
+ "invariant": "I1-I3",
40
+ "outcome": "no document credit without valid correlated checks; runtime drift invalidates document evidence only"
41
+ },
42
+ "workflowStep": {
43
+ "invariant": "I2-I3",
44
+ "outcome": "ordinary verification remains separate; document step remains pending absent valid credited evidence"
45
+ },
46
+ "workflowStop": {
47
+ "invariant": "I4",
48
+ "outcome": "exit 0; reminder/stop output reflects unresolved workflow state without a persistent Harness lock"
49
+ },
50
+ "genericStop": {
51
+ "invariant": "I4",
52
+ "outcome": "exit 0; generic verification behavior remains independent of document credit"
53
+ }
54
+ },
55
+ "sources": [
56
+ "synthetic stream derived from F4-Z1 §4 minimal covering set"
57
+ ]
58
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "on-valid-direct-quoted-review",
4
+ "mode": "on",
5
+ "events": [
6
+ {
7
+ "id": "event-01",
8
+ "event": "PostToolUse",
9
+ "toolName": "Bash",
10
+ "command": "node {{DOC_CHECK}} check --workspace . --config .agents/harness-everything/project-docs.json --changed-path docs/a.md",
11
+ "toolUseId": "tool-use-1",
12
+ "cwd": "{{WORKSPACE}}",
13
+ "success": true,
14
+ "runArgs": [
15
+ "check",
16
+ "--workspace",
17
+ ".",
18
+ "--config",
19
+ ".agents/harness-everything/project-docs.json",
20
+ "--changed-path",
21
+ "docs/a.md"
22
+ ]
23
+ },
24
+ {
25
+ "id": "event-02",
26
+ "event": "PostToolUse",
27
+ "toolName": "Bash",
28
+ "command": "node \"{{DOC_CHECK}}\" check --workspace . --config .agents/harness-everything/project-docs.json --changed-path docs/a.md",
29
+ "toolUseId": "tool-use-2",
30
+ "cwd": "{{WORKSPACE}}",
31
+ "success": true,
32
+ "runArgs": [
33
+ "check",
34
+ "--workspace",
35
+ ".",
36
+ "--config",
37
+ ".agents/harness-everything/project-docs.json",
38
+ "--changed-path",
39
+ "docs/a.md"
40
+ ]
41
+ },
42
+ {
43
+ "id": "event-03",
44
+ "event": "SubagentStop",
45
+ "toolUseId": "tool-use-3",
46
+ "cwd": "{{WORKSPACE}}",
47
+ "success": true
48
+ }
49
+ ],
50
+ "expectations": {
51
+ "moduleLoads": {
52
+ "invariant": "I1",
53
+ "outcome": "each hook and selected entrypoint load from the selected distribution; provenance is observable"
54
+ },
55
+ "stateFiles": {
56
+ "invariant": "I1",
57
+ "outcome": "state keys retain the action that created/updated each key; no fixture writes outside isolated HARNESS_STATE_HOME"
58
+ },
59
+ "captureRecords": {
60
+ "invariant": "I1-I3",
61
+ "outcome": "ordered host events retain command, cwd, tool-use and success/failure correlation"
62
+ },
63
+ "pilotReport": {
64
+ "invariant": "I1-I3",
65
+ "outcome": "credit only from valid direct and safely quoted doc-check plus independent approved review"
66
+ },
67
+ "workflowStep": {
68
+ "invariant": "I2-I3",
69
+ "outcome": "valid document verification may pass after evidence resolution"
70
+ },
71
+ "workflowStop": {
72
+ "invariant": "I4",
73
+ "outcome": "exit 0; reminder/stop output reflects unresolved workflow state without a persistent Harness lock"
74
+ },
75
+ "genericStop": {
76
+ "invariant": "I4",
77
+ "outcome": "exit 0; generic verification behavior remains independent of document credit"
78
+ }
79
+ },
80
+ "sources": [
81
+ "benchmarks/results/live-host/claude-325-3b-s2b/capture.sanitized.jsonl#run-2b",
82
+ "F4-R3 source valid-session evidence JSON (captured 2026-10-22)",
83
+ "F4-R3 packaged valid-session evidence JSON (captured 2026-10-22)"
84
+ ]
85
+ }