@kontourai/flow-agents 2.3.0 → 2.4.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 (250) hide show
  1. package/.github/CODEOWNERS +8 -0
  2. package/.github/workflows/ci.yml +32 -0
  3. package/AGENTS.md +4 -4
  4. package/CHANGELOG.md +39 -0
  5. package/CONTEXT.md +14 -0
  6. package/README.md +9 -3
  7. package/agents/dev.json +1 -1
  8. package/agents/tool-code-reviewer.json +1 -1
  9. package/agents/tool-planner.json +3 -3
  10. package/agents/tool-verifier.json +3 -3
  11. package/build/src/cli/console-learning-projection.js +3 -2
  12. package/build/src/cli/init.js +104 -21
  13. package/build/src/cli/kit.js +37 -6
  14. package/build/src/cli/pull-work-provider.js +1 -1
  15. package/build/src/cli/usage-feedback.js +3 -3
  16. package/build/src/cli/validate-hook-influence.js +1 -0
  17. package/build/src/cli/validate-workflow-artifacts.js +22 -6
  18. package/build/src/cli/workflow-artifact-cleanup-audit.js +36 -2
  19. package/build/src/cli/workflow-sidecar.d.ts +14 -7
  20. package/build/src/cli/workflow-sidecar.js +792 -69
  21. package/build/src/flow-kit/validate.d.ts +23 -0
  22. package/build/src/flow-kit/validate.js +67 -1
  23. package/build/src/index.d.ts +1 -1
  24. package/build/src/index.js +1 -1
  25. package/build/src/lib/flow-resolver.d.ts +6 -4
  26. package/build/src/lib/flow-resolver.js +125 -58
  27. package/build/src/lib/local-artifact-root.d.ts +14 -2
  28. package/build/src/lib/local-artifact-root.js +22 -5
  29. package/build/src/lib/workflow-learning-projection.js +2 -2
  30. package/build/src/runtime-adapters.d.ts +12 -0
  31. package/build/src/runtime-adapters.js +56 -16
  32. package/build/src/tools/build-universal-bundles.js +49 -16
  33. package/build/src/tools/generate-context-map.js +10 -8
  34. package/build/src/tools/validate-source-tree.js +23 -1
  35. package/console.telemetry.json +22 -0
  36. package/context/contracts/artifact-contract.md +38 -7
  37. package/context/contracts/builder-kit-workflow-state-contract.md +3 -2
  38. package/context/contracts/decision-registry-contract.md +263 -0
  39. package/context/contracts/delivery-contract.md +1 -1
  40. package/context/contracts/planning-contract.md +2 -1
  41. package/context/contracts/review-contract.md +5 -3
  42. package/context/contracts/verification-contract.md +9 -1
  43. package/context/contracts/work-item-contract.md +1 -1
  44. package/context/deferred/parallelization.md +1 -1
  45. package/context/gate-awareness.md +4 -4
  46. package/context/scripts/git-status.sh +2 -2
  47. package/context/scripts/hooks/config-protection.js +502 -2
  48. package/context/scripts/hooks/lib/config-protection-remedies.js +69 -0
  49. package/context/scripts/hooks/run-hook.js +14 -1
  50. package/context/scripts/hooks/stop-goal-fit.js +1140 -99
  51. package/context/scripts/hooks/workflow-steering.js +212 -6
  52. package/docs/adr/0007-flow-skill-kit-tool-boundary.md +2 -0
  53. package/docs/adr/0015-flow-flow-agents-boundary-reconciliation.md +35 -0
  54. package/docs/adr/0019-kit-dependency-ownership.md +62 -0
  55. package/docs/adr/0020-trust-reconcile-manifest-and-claim-classification.md +290 -0
  56. package/docs/adr/0021-assignment-leases-and-stale-claim-takeover.md +221 -0
  57. package/docs/adr/0022-fail-closed-delivery-reconciliation-with-governed-exemptions.md +283 -0
  58. package/docs/agent-system-guidebook.md +3 -3
  59. package/docs/agent-usage-feedback-loop.md +6 -6
  60. package/docs/context-map.md +9 -7
  61. package/docs/decisions/decision-records.md +57 -0
  62. package/docs/decisions/index.md +14 -0
  63. package/docs/decisions/promotion-gate.md +52 -0
  64. package/docs/developer-architecture.md +1 -1
  65. package/docs/fixture-ownership.md +3 -0
  66. package/docs/flow-kit-repository-contract.md +5 -5
  67. package/docs/getting-started.md +12 -2
  68. package/docs/integrations/harness-install.md +2 -1
  69. package/docs/kit-authoring-guide.md +64 -5
  70. package/docs/knowledge-kit.md +5 -1
  71. package/docs/learnings/2026-07-improvement-program.md +203 -0
  72. package/docs/migrations.md +6 -5
  73. package/docs/north-star.md +2 -2
  74. package/docs/operating-layers.md +4 -3
  75. package/docs/repository-structure.md +5 -5
  76. package/docs/skills-map.md +8 -8
  77. package/docs/spec/runtime-hook-surface.md +19 -15
  78. package/docs/spikes/graph-provider-2026-07.md +155 -0
  79. package/docs/standards-register.md +7 -7
  80. package/docs/trust-anchor-adoption.md +105 -4
  81. package/docs/work-item-adapters.md +1 -1
  82. package/docs/workflow-artifact-lifecycle.md +72 -9
  83. package/docs/workflow-eval-strategy.md +3 -3
  84. package/docs/workflow-shared-contracts.md +1 -1
  85. package/docs/workflow-usage-guide.md +254 -21
  86. package/evals/acceptance/DEMO-false-completion.md +20 -11
  87. package/evals/acceptance/prove-capture-teeth-declared.sh +15 -15
  88. package/evals/acceptance/prove-capture-teeth.sh +11 -11
  89. package/evals/acceptance/test_kiro_harness.sh +1 -1
  90. package/evals/ci/antigaming-suite.sh +5 -0
  91. package/evals/ci/run-baseline.sh +65 -1
  92. package/evals/fixtures/flow-kit-repository/invalid-bad-dependency/flows/review.flow.json +26 -0
  93. package/evals/fixtures/flow-kit-repository/invalid-bad-dependency/kit.json +13 -0
  94. package/evals/fixtures/flow-kit-repository/valid-with-dependency/flows/review.flow.json +26 -0
  95. package/evals/fixtures/flow-kit-repository/valid-with-dependency/kit.json +13 -0
  96. package/evals/fixtures/hook-influence/cases.json +32 -0
  97. package/evals/fixtures/pull-work-provider/github-issues.json +6 -6
  98. package/evals/fixtures/trust-reconcile-exploits/fabricated-attestation.json +59 -0
  99. package/evals/fixtures/trust-reconcile-exploits/no-label-bypass.json +36 -0
  100. package/evals/fixtures/trust-reconcile-exploits/skip-assumed-bypass.json +59 -0
  101. package/evals/fixtures/trust-reconcile-exploits/status-misassertion.json +48 -0
  102. package/evals/fixtures/trust-reconcile-exploits/waived-command-check.json +44 -0
  103. package/evals/fixtures/trust-reconcile-mixed-bundle/mixed-bundle.json +159 -0
  104. package/evals/fixtures/trust-reconcile-ws3/ws3-bundle.json +920 -0
  105. package/evals/integration/test_actor_identity.sh +254 -0
  106. package/evals/integration/test_builder_step_producers.sh +33 -23
  107. package/evals/integration/test_bundle_install.sh +22 -16
  108. package/evals/integration/test_bundle_lifecycle.sh +11 -11
  109. package/evals/integration/test_captured_fail_reconciliation.sh +50 -50
  110. package/evals/integration/test_checkpoint_signing.sh +43 -0
  111. package/evals/integration/test_claim_lookup.sh +4 -4
  112. package/evals/integration/test_codex_hook_resolution.sh +114 -0
  113. package/evals/integration/test_command_log_concurrency.sh +8 -8
  114. package/evals/integration/test_command_log_fork_classification.sh +3 -3
  115. package/evals/integration/test_command_log_integrity.sh +16 -16
  116. package/evals/integration/test_console_learning_projection.sh +1 -1
  117. package/evals/integration/test_dual_emit_flow_step.sh +145 -0
  118. package/evals/integration/test_enforcer_expects_driven.sh +12 -12
  119. package/evals/integration/test_evidence_capture_hook.sh +14 -13
  120. package/evals/integration/test_fixture_retirement_audit.sh +2 -2
  121. package/evals/integration/test_flow_agents_statusline.sh +2 -2
  122. package/evals/integration/test_flow_kit_install_git.sh +52 -0
  123. package/evals/integration/test_flow_kit_repository.sh +2 -0
  124. package/evals/integration/test_flowdef_session_activation.sh +6 -6
  125. package/evals/integration/test_flowdef_union_floor_regression.sh +429 -0
  126. package/evals/integration/test_gate_bypass_chain.sh +52 -40
  127. package/evals/integration/test_gate_lockdown.sh +97 -73
  128. package/evals/integration/test_gate_review_inquiry_records.sh +3 -3
  129. package/evals/integration/test_goal_fit_escape_hatch.sh +10 -10
  130. package/evals/integration/test_goal_fit_ghost_session.sh +104 -0
  131. package/evals/integration/test_goal_fit_hook.sh +32 -32
  132. package/evals/integration/test_goal_fit_rederive.sh +9 -9
  133. package/evals/integration/test_hook_category_behaviors.sh +103 -0
  134. package/evals/integration/test_hook_influence_cases.sh +1 -0
  135. package/evals/integration/test_install_merge.sh +262 -1
  136. package/evals/integration/test_kit_identity_trust.sh +6 -6
  137. package/evals/integration/test_liveness_conflict_injection.sh +587 -0
  138. package/evals/integration/test_liveness_heartbeat.sh +677 -0
  139. package/evals/integration/test_liveness_verdict.sh +394 -0
  140. package/evals/integration/test_local_flow_kit_install.sh +15 -0
  141. package/evals/integration/test_phase_map_and_gate_claim.sh +63 -11
  142. package/evals/integration/test_promote_gate.sh +178 -0
  143. package/evals/integration/test_publish_delivery.sh +2 -2
  144. package/evals/integration/test_pull_work_liveness_preflight.sh +386 -0
  145. package/evals/integration/test_pull_work_provider.sh +2 -2
  146. package/evals/integration/test_reconcile_soundness.sh +4 -4
  147. package/evals/integration/test_resolvefirststep_security.sh +22 -0
  148. package/evals/integration/test_runtime_adapter_activation.sh +87 -18
  149. package/evals/integration/test_session_resume_roundtrip.sh +147 -0
  150. package/evals/integration/test_sidecar_field_preservation.sh +249 -0
  151. package/evals/integration/test_trust_reconcile.sh +2 -2
  152. package/evals/integration/test_trust_reconcile_manifest.sh +79 -0
  153. package/evals/integration/test_trust_reconcile_mixed_bundle.sh +96 -0
  154. package/evals/integration/test_trust_reconcile_negatives.sh +151 -0
  155. package/evals/integration/test_usage_feedback_global.sh +5 -5
  156. package/evals/integration/test_validate_artifacts_portability.sh +60 -0
  157. package/evals/integration/test_verify_cli.sh +2 -2
  158. package/evals/integration/test_veritas_governance_kit.sh +117 -0
  159. package/evals/integration/test_workflow_artifact_cleanup_audit.sh +26 -1
  160. package/evals/integration/test_workflow_artifacts.sh +33 -0
  161. package/evals/integration/test_workflow_sidecar_writer.sh +723 -74
  162. package/evals/integration/test_workflow_steering_hook.sh +175 -5
  163. package/evals/lib/codex-provider.sh +1 -1
  164. package/evals/lib/node.sh +19 -1
  165. package/evals/run.sh +22 -0
  166. package/evals/static/test_decisions.sh +150 -0
  167. package/evals/static/test_flowdef_codeowners_coverage.sh +56 -0
  168. package/evals/static/test_package.sh +19 -10
  169. package/evals/static/test_universal_bundles.sh +48 -3
  170. package/evals/static/test_workflow_skills.sh +41 -8
  171. package/kits/builder/flows/build.flow.json +3 -74
  172. package/kits/builder/flows/publish-learn.flow.json +90 -0
  173. package/kits/builder/kit.json +11 -0
  174. package/kits/builder/skills/builder-shape/SKILL.md +1 -1
  175. package/kits/builder/skills/deliver/SKILL.md +13 -11
  176. package/kits/builder/skills/design-probe/SKILL.md +4 -4
  177. package/kits/builder/skills/evidence-gate/SKILL.md +26 -1
  178. package/kits/builder/skills/execute-plan/SKILL.md +2 -2
  179. package/kits/builder/skills/fix-bug/SKILL.md +2 -0
  180. package/kits/builder/skills/gate-review/SKILL.md +6 -6
  181. package/kits/builder/skills/idea-to-backlog/SKILL.md +1 -1
  182. package/kits/builder/skills/learning-review/SKILL.md +7 -7
  183. package/kits/builder/skills/pickup-probe/SKILL.md +5 -4
  184. package/kits/builder/skills/plan-work/SKILL.md +27 -5
  185. package/kits/builder/skills/pull-work/SKILL.md +80 -5
  186. package/kits/builder/skills/release-readiness/SKILL.md +4 -4
  187. package/kits/builder/skills/review-work/SKILL.md +24 -1
  188. package/kits/builder/skills/tdd-workflow/SKILL.md +2 -0
  189. package/kits/builder/skills/verify-work/SKILL.md +8 -1
  190. package/kits/catalog.json +6 -0
  191. package/kits/veritas-governance/adapter/readiness-to-trust-bundle.mjs +178 -0
  192. package/kits/veritas-governance/docs/README.md +75 -0
  193. package/kits/veritas-governance/fixtures/readiness/not-ready.readiness-report.json +4645 -0
  194. package/kits/veritas-governance/fixtures/readiness/ready.readiness-report.json +4403 -0
  195. package/kits/veritas-governance/flows/readiness-check.flow.json +35 -0
  196. package/kits/veritas-governance/kit.json +16 -0
  197. package/package.json +8 -4
  198. package/packaging/README.md +2 -2
  199. package/packaging/conformance/fixtures/config-protection--allow-read-state-json.json +20 -0
  200. package/packaging/conformance/fixtures/config-protection--block-write-state-json.json +20 -0
  201. package/packaging/conformance/fixtures/stop-goal-fit--block-bundle-disputed-claim.json +1 -1
  202. package/packaging/conformance/fixtures/stop-goal-fit--block-capture-contradicts-claimed-pass.json +1 -1
  203. package/packaging/manifest.json +9 -10
  204. package/schemas/decision-record.schema.json +109 -0
  205. package/schemas/workflow-evidence.schema.json +1 -1
  206. package/schemas/workflow-state.schema.json +5 -0
  207. package/scripts/README.md +8 -3
  208. package/scripts/check-content-boundary.cjs +1 -1
  209. package/scripts/check-decisions.cjs +356 -0
  210. package/scripts/ci/derive-claim-status.mjs +74 -0
  211. package/scripts/ci/trust-reconcile.js +436 -79
  212. package/scripts/git-status.sh +2 -2
  213. package/scripts/hooks/claude-telemetry-hook.js +37 -3
  214. package/scripts/hooks/codex-telemetry-hook.js +36 -2
  215. package/scripts/hooks/config-protection.js +102 -30
  216. package/scripts/hooks/evidence-capture.js +3 -3
  217. package/scripts/hooks/lib/actor-identity.js +368 -0
  218. package/scripts/hooks/lib/config-protection-remedies.js +69 -0
  219. package/scripts/hooks/lib/liveness-heartbeat.js +361 -0
  220. package/scripts/hooks/lib/liveness-policy.js +127 -0
  221. package/scripts/hooks/lib/liveness-read.js +105 -12
  222. package/scripts/hooks/lib/liveness-write.js +46 -0
  223. package/scripts/hooks/lib/local-artifact-paths.js +12 -6
  224. package/scripts/hooks/opencode-telemetry-hook.js +27 -1
  225. package/scripts/hooks/pi-telemetry-hook.js +27 -1
  226. package/scripts/hooks/stop-goal-fit.js +157 -26
  227. package/scripts/hooks/workflow-steering.js +77 -3
  228. package/scripts/install-codex-home.sh +138 -38
  229. package/scripts/statusline/flow-agents-statusline.js +2 -2
  230. package/src/cli/console-learning-projection.ts +3 -2
  231. package/src/cli/init.ts +101 -21
  232. package/src/cli/kit.ts +37 -6
  233. package/src/cli/public-api.test.mjs +58 -6
  234. package/src/cli/pull-work-provider.ts +1 -1
  235. package/src/cli/trust-bundle-policy-order.test.mjs +87 -0
  236. package/src/cli/usage-feedback.ts +3 -3
  237. package/src/cli/validate-hook-influence.ts +1 -0
  238. package/src/cli/validate-workflow-artifacts.ts +22 -6
  239. package/src/cli/veritas-readiness-adapter.test.mjs +267 -0
  240. package/src/cli/workflow-artifact-cleanup-audit.ts +35 -2
  241. package/src/cli/workflow-sidecar.ts +795 -71
  242. package/src/flow-kit/validate.ts +74 -1
  243. package/src/index.ts +6 -2
  244. package/src/lib/flow-resolver.ts +123 -55
  245. package/src/lib/local-artifact-root.ts +24 -5
  246. package/src/lib/workflow-learning-projection.ts +2 -2
  247. package/src/runtime-adapters.ts +61 -15
  248. package/src/tools/build-universal-bundles.ts +49 -16
  249. package/src/tools/generate-context-map.ts +10 -8
  250. package/src/tools/validate-source-tree.ts +23 -1
@@ -0,0 +1,920 @@
1
+ {
2
+ "schemaVersion": 5,
3
+ "source": "flow-agents/workflow-sidecar;statusFunctionVersion=2",
4
+ "claims": [
5
+ {
6
+ "id": "ws3-kit-dependencies-namespacing-iter3-scope-confirm.flow-agents-workflow.git-status-porcelain-v1-wc-l-grep-qx-26-20-modified-6-untracked-byte-identical-file-set-to-iteration-1-2-only-evals-integration-test-hook-category-behaviors-sh-edited-since-iteration-2-record-evidence-per-command-log-jsonl-timeline",
7
+ "subjectType": "work-item",
8
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-scope-confirm",
9
+ "facet": "flow-agents.workflow",
10
+ "claimType": "builder.pull-work.selected",
11
+ "fieldOrBehavior": "git status --porcelain=v1 | wc -l | grep -qx 26 # 20 modified + 6 untracked, byte-identical file set to iteration 1/2; only evals/integration/test_hook_category_behaviors.sh edited since iteration-2 record-evidence per command-log.jsonl timeline",
12
+ "value": "pass",
13
+ "createdAt": "2026-07-02T00:23:16Z",
14
+ "updatedAt": "2026-07-02T00:23:16Z",
15
+ "impactLevel": "high",
16
+ "verificationPolicyId": "policy:builder.pull-work.selected",
17
+ "status": "verified"
18
+ },
19
+ {
20
+ "id": "ws3-kit-dependencies-namespacing-iter3-mutation-check.flow-agents-workflow.true-mutation-check-pass-2-substring-scan-loop-in-remedyforcommand-disabled-on-a-scratch-copy-of-config-protection-js-interpreter-write-to-state-json-assertion-falls-back-to-shell-profile-remedy-and-fails-restored-copy-pass-with-advance-state-remedy-production-file-untouched-sha256-e60b712c-unchanged-see-verification-report-iteration-3",
21
+ "subjectType": "work-item",
22
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-mutation-check",
23
+ "facet": "flow-agents.workflow",
24
+ "claimType": "builder.pull-work.selected",
25
+ "fieldOrBehavior": "true # mutation check: Pass-2 substring-scan loop in remedyForCommand disabled on a scratch copy of config-protection.js -> interpreter-write-to-state.json assertion falls back to shell-profile remedy and FAILS; restored copy -> PASS with advance-state remedy; production file untouched (sha256 e60b712c unchanged) - see verification report iteration 3",
26
+ "value": "pass",
27
+ "createdAt": "2026-07-02T00:23:16Z",
28
+ "updatedAt": "2026-07-02T00:23:16Z",
29
+ "impactLevel": "high",
30
+ "verificationPolicyId": "policy:builder.pull-work.selected",
31
+ "status": "verified"
32
+ },
33
+ {
34
+ "id": "ws3-kit-dependencies-namespacing-iter3-production-untouched.flow-agents-workflow.sha256sum-scripts-hooks-config-protection-js-grep-q-e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8-production-hook-byte-identical-after-mutation-probe",
35
+ "subjectType": "work-item",
36
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-production-untouched",
37
+ "facet": "flow-agents.workflow",
38
+ "claimType": "builder.pull-work.selected",
39
+ "fieldOrBehavior": "sha256sum scripts/hooks/config-protection.js | grep -q e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8 # production hook byte-identical after mutation probe",
40
+ "value": "pass",
41
+ "createdAt": "2026-07-02T00:23:16Z",
42
+ "updatedAt": "2026-07-02T00:23:16Z",
43
+ "impactLevel": "high",
44
+ "verificationPolicyId": "policy:builder.pull-work.selected",
45
+ "status": "verified"
46
+ },
47
+ {
48
+ "id": "ws3-kit-dependencies-namespacing-iter3-unit.flow-agents-workflow.npm-run-test-unit-15-15",
49
+ "subjectType": "work-item",
50
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-unit",
51
+ "facet": "flow-agents.workflow",
52
+ "claimType": "builder.pull-work.selected",
53
+ "fieldOrBehavior": "npm run test:unit # 15/15",
54
+ "value": "pass",
55
+ "createdAt": "2026-07-02T00:23:16Z",
56
+ "updatedAt": "2026-07-02T00:23:16Z",
57
+ "impactLevel": "high",
58
+ "verificationPolicyId": "policy:builder.pull-work.selected",
59
+ "status": "verified"
60
+ },
61
+ {
62
+ "id": "ws3-kit-dependencies-namespacing-iter3-eval-static.flow-agents-workflow.npm-run-eval-static-exit-0-all-suites",
63
+ "subjectType": "work-item",
64
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-eval-static",
65
+ "facet": "flow-agents.workflow",
66
+ "claimType": "builder.pull-work.selected",
67
+ "fieldOrBehavior": "npm run eval:static # exit 0 all suites",
68
+ "value": "pass",
69
+ "createdAt": "2026-07-02T00:23:16Z",
70
+ "updatedAt": "2026-07-02T00:23:16Z",
71
+ "impactLevel": "high",
72
+ "verificationPolicyId": "policy:builder.pull-work.selected",
73
+ "status": "verified"
74
+ },
75
+ {
76
+ "id": "ws3-kit-dependencies-namespacing-iter3-hook-behaviors.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh-26-checks-incl-pass-2-mutation-pinned-assertion",
77
+ "subjectType": "work-item",
78
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-hook-behaviors",
79
+ "facet": "flow-agents.workflow",
80
+ "claimType": "builder.pull-work.selected",
81
+ "fieldOrBehavior": "bash evals/integration/test_hook_category_behaviors.sh # 26 checks incl Pass-2 mutation-pinned assertion",
82
+ "value": "pass",
83
+ "createdAt": "2026-07-02T00:23:16Z",
84
+ "updatedAt": "2026-07-02T00:23:16Z",
85
+ "impactLevel": "high",
86
+ "verificationPolicyId": "policy:builder.pull-work.selected",
87
+ "status": "verified"
88
+ },
89
+ {
90
+ "id": "ws3-kit-dependencies-namespacing-iter3-canary-activation.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh-17-skills-ac5-ac2-dependency-enforcement-canary",
91
+ "subjectType": "work-item",
92
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-canary-activation",
93
+ "facet": "flow-agents.workflow",
94
+ "claimType": "builder.pull-work.selected",
95
+ "fieldOrBehavior": "bash evals/integration/test_runtime_adapter_activation.sh # 17-skills AC5 + AC2 dependency-enforcement canary",
96
+ "value": "pass",
97
+ "createdAt": "2026-07-02T00:23:16Z",
98
+ "updatedAt": "2026-07-02T00:23:16Z",
99
+ "impactLevel": "high",
100
+ "verificationPolicyId": "policy:builder.pull-work.selected",
101
+ "status": "verified"
102
+ },
103
+ {
104
+ "id": "ws3-kit-dependencies-namespacing-iter3-universal-bundles.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh-43-43-incl-ac6-collision-detector",
105
+ "subjectType": "work-item",
106
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-universal-bundles",
107
+ "facet": "flow-agents.workflow",
108
+ "claimType": "builder.pull-work.selected",
109
+ "fieldOrBehavior": "bash evals/static/test_universal_bundles.sh # 43/43 incl AC6 collision detector",
110
+ "value": "pass",
111
+ "createdAt": "2026-07-02T00:23:16Z",
112
+ "updatedAt": "2026-07-02T00:23:16Z",
113
+ "impactLevel": "high",
114
+ "verificationPolicyId": "policy:builder.pull-work.selected",
115
+ "status": "verified"
116
+ },
117
+ {
118
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac1-cmd.flow-agents-workflow.bash-evals-integration-test-flow-kit-repository-sh-bash-evals-integration-test-local-flow-kit-install-sh",
119
+ "subjectType": "work-item",
120
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac1-cmd",
121
+ "facet": "flow-agents.workflow",
122
+ "claimType": "builder.pull-work.selected",
123
+ "fieldOrBehavior": "bash evals/integration/test_flow_kit_repository.sh && bash evals/integration/test_local_flow_kit_install.sh",
124
+ "value": "pass",
125
+ "createdAt": "2026-07-02T00:23:16Z",
126
+ "updatedAt": "2026-07-02T00:23:16Z",
127
+ "impactLevel": "high",
128
+ "verificationPolicyId": "policy:builder.pull-work.selected",
129
+ "status": "verified"
130
+ },
131
+ {
132
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac2-cmd.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh",
133
+ "subjectType": "work-item",
134
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac2-cmd",
135
+ "facet": "flow-agents.workflow",
136
+ "claimType": "builder.pull-work.selected",
137
+ "fieldOrBehavior": "bash evals/integration/test_runtime_adapter_activation.sh",
138
+ "value": "pass",
139
+ "createdAt": "2026-07-02T00:23:16Z",
140
+ "updatedAt": "2026-07-02T00:23:16Z",
141
+ "impactLevel": "high",
142
+ "verificationPolicyId": "policy:builder.pull-work.selected",
143
+ "status": "verified"
144
+ },
145
+ {
146
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac3-cmd.flow-agents-workflow.grep-q-kit-id-knowledge-kits-builder-kit-json-node-build-src-cli-kit-js-inspect-kits-builder-json-dev-null",
147
+ "subjectType": "work-item",
148
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac3-cmd",
149
+ "facet": "flow-agents.workflow",
150
+ "claimType": "builder.pull-work.selected",
151
+ "fieldOrBehavior": "grep -q \"\\\"kit_id\\\": \\\"knowledge\\\"\" kits/builder/kit.json && node build/src/cli/kit.js inspect kits/builder --json >/dev/null",
152
+ "value": "pass",
153
+ "createdAt": "2026-07-02T00:23:16Z",
154
+ "updatedAt": "2026-07-02T00:23:16Z",
155
+ "impactLevel": "high",
156
+ "verificationPolicyId": "policy:builder.pull-work.selected",
157
+ "status": "verified"
158
+ },
159
+ {
160
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac4-cmd.flow-agents-workflow.test-f-docs-adr-0019-kit-dependency-ownership-md-grep-q-0019-docs-adr-0007-flow-skill-kit-tool-boundary-md",
161
+ "subjectType": "work-item",
162
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac4-cmd",
163
+ "facet": "flow-agents.workflow",
164
+ "claimType": "builder.pull-work.selected",
165
+ "fieldOrBehavior": "test -f docs/adr/0019-kit-dependency-ownership.md && grep -q 0019 docs/adr/0007-flow-skill-kit-tool-boundary.md",
166
+ "value": "pass",
167
+ "createdAt": "2026-07-02T00:23:16Z",
168
+ "updatedAt": "2026-07-02T00:23:16Z",
169
+ "impactLevel": "high",
170
+ "verificationPolicyId": "policy:builder.pull-work.selected",
171
+ "status": "verified"
172
+ },
173
+ {
174
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac6-cmd.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh",
175
+ "subjectType": "work-item",
176
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac6-cmd",
177
+ "facet": "flow-agents.workflow",
178
+ "claimType": "builder.pull-work.selected",
179
+ "fieldOrBehavior": "bash evals/static/test_universal_bundles.sh",
180
+ "value": "pass",
181
+ "createdAt": "2026-07-02T00:23:16Z",
182
+ "updatedAt": "2026-07-02T00:23:16Z",
183
+ "impactLevel": "high",
184
+ "verificationPolicyId": "policy:builder.pull-work.selected",
185
+ "status": "verified"
186
+ },
187
+ {
188
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac7-cmd.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh",
189
+ "subjectType": "work-item",
190
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac7-cmd",
191
+ "facet": "flow-agents.workflow",
192
+ "claimType": "builder.pull-work.selected",
193
+ "fieldOrBehavior": "bash evals/integration/test_hook_category_behaviors.sh",
194
+ "value": "pass",
195
+ "createdAt": "2026-07-02T00:23:16Z",
196
+ "updatedAt": "2026-07-02T00:23:16Z",
197
+ "impactLevel": "high",
198
+ "verificationPolicyId": "policy:builder.pull-work.selected",
199
+ "status": "verified"
200
+ },
201
+ {
202
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac8-cmd.flow-agents-workflow.grep-rn-owns-root-state-json-kits-agents-include-md-include-json",
203
+ "subjectType": "work-item",
204
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac8-cmd",
205
+ "facet": "flow-agents.workflow",
206
+ "claimType": "builder.pull-work.selected",
207
+ "fieldOrBehavior": "! grep -rn \"owns root state.json\" kits/ agents/ --include=*.md --include=*.json",
208
+ "value": "pass",
209
+ "createdAt": "2026-07-02T00:23:16Z",
210
+ "updatedAt": "2026-07-02T00:23:16Z",
211
+ "impactLevel": "high",
212
+ "verificationPolicyId": "policy:builder.pull-work.selected",
213
+ "status": "verified"
214
+ },
215
+ {
216
+ "id": "ws3-kit-dependencies-namespacing-iter3-ac9-cmd.flow-agents-workflow.bash-evals-integration-test-validate-artifacts-portability-sh",
217
+ "subjectType": "work-item",
218
+ "subjectId": "ws3-kit-dependencies-namespacing/iter3-ac9-cmd",
219
+ "facet": "flow-agents.workflow",
220
+ "claimType": "builder.pull-work.selected",
221
+ "fieldOrBehavior": "bash evals/integration/test_validate_artifacts_portability.sh",
222
+ "value": "pass",
223
+ "createdAt": "2026-07-02T00:23:16Z",
224
+ "updatedAt": "2026-07-02T00:23:16Z",
225
+ "impactLevel": "high",
226
+ "verificationPolicyId": "policy:builder.pull-work.selected",
227
+ "status": "verified"
228
+ },
229
+ {
230
+ "id": "ws3-kit-dependencies-namespacing-ac1-kit-dependency-shape-and-install-kit-json-supports-a-dependencies-kit-id-reason-array-malformed-entries-bad-kebab-case-id-self-reference-duplicate-are-rejected-as-hard-errors-at-flow-agents-kit-install-inspect-time-via-validatekitrepository-flow-agents-kit-install-prints-an-actionable-non-blocking-warning-when-a-declared-dependency-is-not-present-in-the-destination-s-local-registry.flow-agents-workflow.ac1-kit-dependency-shape-and-install-kit-json-supports-a-dependencies-kit-id-reason-array-malformed-entries-bad-kebab-case-id-self-reference-duplicate-are-rejected-as-hard-errors-at-flow-agents-kit-install-inspect-time-via-validatekitrepository-flow-agents-kit-install-prints-an-actionable-non-blocking-warning-when-a-declared-dependency-is-not-present-in-the-destination-s-local-registry",
231
+ "subjectType": "work-item",
232
+ "subjectId": "ws3-kit-dependencies-namespacing/ac1-kit-dependency-shape-and-install-kit-json-supports-a-dependencies-kit-id-reason-array-malformed-entries-bad-kebab-case-id-self-reference-duplicate-are-rejected-as-hard-errors-at-flow-agents-kit-install-inspect-time-via-validatekitrepository-flow-agents-kit-install-prints-an-actionable-non-blocking-warning-when-a-declared-dependency-is-not-present-in-the-destination-s-local-registry",
233
+ "facet": "flow-agents.workflow",
234
+ "claimType": "builder.pull-work.selected",
235
+ "fieldOrBehavior": "AC1 `kit-dependency-shape-and-install`: `kit.json` supports a `dependencies: [{kit_id, reason}]` array; malformed entries (bad kebab-case id, self-reference, duplicate) are rejected as hard errors at `flow-agents kit install`/`inspect` time via `validateKitRepository`; `flow-agents kit install` prints an actionable (non-blocking) warning when a declared dependency is not present in the destination's local registry",
236
+ "value": "pass",
237
+ "createdAt": "2026-07-02T00:23:16Z",
238
+ "updatedAt": "2026-07-02T00:23:16Z",
239
+ "impactLevel": "high",
240
+ "verificationPolicyId": "policy:builder.pull-work.selected",
241
+ "status": "proposed"
242
+ },
243
+ {
244
+ "id": "ws3-kit-dependencies-namespacing-ac2-kit-dependency-activation-enforcement-flow-agents-kit-activate-fails-non-zero-exit-errors-populated-when-a-declared-dependency-s-kit-id-is-not-present-among-the-union-of-built-in-catalog-kits-and-locally-installed-kits-at-activation-time.flow-agents-workflow.ac2-kit-dependency-activation-enforcement-flow-agents-kit-activate-fails-non-zero-exit-errors-populated-when-a-declared-dependency-s-kit-id-is-not-present-among-the-union-of-built-in-catalog-kits-and-locally-installed-kits-at-activation-time",
245
+ "subjectType": "work-item",
246
+ "subjectId": "ws3-kit-dependencies-namespacing/ac2-kit-dependency-activation-enforcement-flow-agents-kit-activate-fails-non-zero-exit-errors-populated-when-a-declared-dependency-s-kit-id-is-not-present-among-the-union-of-built-in-catalog-kits-and-locally-installed-kits-at-activation-time",
247
+ "facet": "flow-agents.workflow",
248
+ "claimType": "builder.pull-work.selected",
249
+ "fieldOrBehavior": "AC2 `kit-dependency-activation-enforcement`: `flow-agents kit activate` fails (non-zero exit, `errors[]` populated) when a declared dependency's `kit_id` is not present among the union of built-in catalog kits and locally-installed kits at activation time",
250
+ "value": "pass",
251
+ "createdAt": "2026-07-02T00:23:16Z",
252
+ "updatedAt": "2026-07-02T00:23:16Z",
253
+ "impactLevel": "high",
254
+ "verificationPolicyId": "policy:builder.pull-work.selected",
255
+ "status": "proposed"
256
+ },
257
+ {
258
+ "id": "ws3-kit-dependencies-namespacing-ac3-builder-knowledge-dependency-declared-kits-builder-kit-json-declares-dependencies-kit-id-knowledge-reason-learning-review-invokes-knowledge-capture-for-durable-knowledge-storage-flow-agents-kit-inspect-kits-builder-no-longer-lists-dependencies-in-third-party-extensions-or-targets-recognized-as-a-known-metadata-field-not-an-unknown-extension-namespace.flow-agents-workflow.ac3-builder-knowledge-dependency-declared-kits-builder-kit-json-declares-dependencies-kit-id-knowledge-reason-learning-review-invokes-knowledge-capture-for-durable-knowledge-storage-flow-agents-kit-inspect-kits-builder-no-longer-lists-dependencies-in-third-party-extensions-or-targets-recognized-as-a-known-metadata-field-not-an-unknown-extension-namespace",
259
+ "subjectType": "work-item",
260
+ "subjectId": "ws3-kit-dependencies-namespacing/ac3-builder-knowledge-dependency-declared-kits-builder-kit-json-declares-dependencies-kit-id-knowledge-reason-learning-review-invokes-knowledge-capture-for-durable-knowledge-storage-flow-agents-kit-inspect-kits-builder-no-longer-lists-dependencies-in-third-party-extensions-or-targets-recognized-as-a-known-metadata-field-not-an-unknown-extension-namespace",
261
+ "facet": "flow-agents.workflow",
262
+ "claimType": "builder.pull-work.selected",
263
+ "fieldOrBehavior": "AC3 `builder-knowledge-dependency-declared`: `kits/builder/kit.json` declares `dependencies: [{\"kit_id\":\"knowledge\",\"reason\":\"learning-review invokes knowledge-capture for durable knowledge storage\"}]`; `flow-agents kit inspect kits/builder` no longer lists `dependencies` in `third_party_extensions` or `targets` (recognized as a known metadata field, not an unknown extension namespace)",
264
+ "value": "pass",
265
+ "createdAt": "2026-07-02T00:23:16Z",
266
+ "updatedAt": "2026-07-02T00:23:16Z",
267
+ "impactLevel": "high",
268
+ "verificationPolicyId": "policy:builder.pull-work.selected",
269
+ "status": "proposed"
270
+ },
271
+ {
272
+ "id": "ws3-kit-dependencies-namespacing-ac4-dependency-ownership-adr-a-new-adr-docs-adr-0019-md-records-the-flow-vs-extension-layer-ownership-decision-for-kit-dependencies-citing-adr-0007-deferred-npm-dependency-model-adr-0008-the-does-it-interpret-the-extension-dividing-test-and-flow-kit-container-schema-json-s-additionalproperties-true-ignores-but-permits-design-as-the-basis-for-not-requiring-a-kontourai-flow-change.flow-agents-workflow.ac4-dependency-ownership-adr-a-new-adr-docs-adr-0019-md-records-the-flow-vs-extension-layer-ownership-decision-for-kit-dependencies-citing-adr-0007-deferred-npm-dependency-model-adr-0008-the-does-it-interpret-the-extension-dividing-test-and-flow-kit-container-schema-json-s-additionalproperties-true-ignores-but-permits-design-as-the-basis-for-not-requiring-a-kontourai-flow-change",
273
+ "subjectType": "work-item",
274
+ "subjectId": "ws3-kit-dependencies-namespacing/ac4-dependency-ownership-adr-a-new-adr-docs-adr-0019-md-records-the-flow-vs-extension-layer-ownership-decision-for-kit-dependencies-citing-adr-0007-deferred-npm-dependency-model-adr-0008-the-does-it-interpret-the-extension-dividing-test-and-flow-kit-container-schema-json-s-additionalproperties-true-ignores-but-permits-design-as-the-basis-for-not-requiring-a-kontourai-flow-change",
275
+ "facet": "flow-agents.workflow",
276
+ "claimType": "builder.pull-work.selected",
277
+ "fieldOrBehavior": "AC4 `dependency-ownership-adr`: a new ADR (`docs/adr/0019-*.md`) records the Flow-vs-extension-layer ownership decision for kit `dependencies`, citing ADR 0007 (deferred npm-dependency model), ADR 0008 (the \"does it interpret the extension?\" dividing test), and `flow-kit-container.schema.json`'s `additionalProperties: true` / \"ignores-but-permits\" design as the basis for not requiring a `@kontourai/flow` change",
278
+ "value": "pass",
279
+ "createdAt": "2026-07-02T00:23:16Z",
280
+ "updatedAt": "2026-07-02T00:23:16Z",
281
+ "impactLevel": "high",
282
+ "verificationPolicyId": "policy:builder.pull-work.selected",
283
+ "status": "proposed"
284
+ },
285
+ {
286
+ "id": "ws3-kit-dependencies-namespacing-ac5-activation-skill-collision-fixed-activatecodexlocal-and-activatestrandslocal-write-each-kit-s-skills-to-projections-adapter-skills-kit-id-skill-dir-name-skill-md-namespaced-by-both-kit-id-and-skill-directory-name-instead-of-colliding-at-kit-id-skill-md.flow-agents-workflow.ac5-activation-skill-collision-fixed-activatecodexlocal-and-activatestrandslocal-write-each-kit-s-skills-to-projections-adapter-skills-kit-id-skill-dir-name-skill-md-namespaced-by-both-kit-id-and-skill-directory-name-instead-of-colliding-at-kit-id-skill-md",
287
+ "subjectType": "work-item",
288
+ "subjectId": "ws3-kit-dependencies-namespacing/ac5-activation-skill-collision-fixed-activatecodexlocal-and-activatestrandslocal-write-each-kit-s-skills-to-projections-adapter-skills-kit-id-skill-dir-name-skill-md-namespaced-by-both-kit-id-and-skill-directory-name-instead-of-colliding-at-kit-id-skill-md",
289
+ "facet": "flow-agents.workflow",
290
+ "claimType": "builder.pull-work.selected",
291
+ "fieldOrBehavior": "AC5 `activation-skill-collision-fixed`: `activateCodexLocal` and `activateStrandsLocal` write each kit's skills to `projections/<adapter>/skills/<kit-id>/<skill-dir-name>/SKILL.md` (namespaced by both kit id and skill directory name) instead of colliding at `.../<kit-id>/SKILL.md`",
292
+ "value": "pass",
293
+ "createdAt": "2026-07-02T00:23:16Z",
294
+ "updatedAt": "2026-07-02T00:23:16Z",
295
+ "impactLevel": "high",
296
+ "verificationPolicyId": "policy:builder.pull-work.selected",
297
+ "status": "proposed"
298
+ },
299
+ {
300
+ "id": "ws3-kit-dependencies-namespacing-ac6-bundle-skill-collision-detected-npm-run-build-bundles-fails-with-a-clear-named-collision-diagnostic-source-kit-ids-skill-name-when-two-kits-or-a-top-level-skills-entry-and-a-kit-declare-the-same-skill-directory-name-instead-of-silently-keeping-only-the-first.flow-agents-workflow.ac6-bundle-skill-collision-detected-npm-run-build-bundles-fails-with-a-clear-named-collision-diagnostic-source-kit-ids-skill-name-when-two-kits-or-a-top-level-skills-entry-and-a-kit-declare-the-same-skill-directory-name-instead-of-silently-keeping-only-the-first",
301
+ "subjectType": "work-item",
302
+ "subjectId": "ws3-kit-dependencies-namespacing/ac6-bundle-skill-collision-detected-npm-run-build-bundles-fails-with-a-clear-named-collision-diagnostic-source-kit-ids-skill-name-when-two-kits-or-a-top-level-skills-entry-and-a-kit-declare-the-same-skill-directory-name-instead-of-silently-keeping-only-the-first",
303
+ "facet": "flow-agents.workflow",
304
+ "claimType": "builder.pull-work.selected",
305
+ "fieldOrBehavior": "AC6 `bundle-skill-collision-detected`: `npm run build:bundles` fails with a clear, named collision diagnostic (source kit ids + skill name) when two kits (or a top-level `skills/` entry and a kit) declare the same skill directory name, instead of silently keeping only the first",
306
+ "value": "pass",
307
+ "createdAt": "2026-07-02T00:23:16Z",
308
+ "updatedAt": "2026-07-02T00:23:16Z",
309
+ "impactLevel": "high",
310
+ "verificationPolicyId": "policy:builder.pull-work.selected",
311
+ "status": "proposed"
312
+ },
313
+ {
314
+ "id": "ws3-kit-dependencies-namespacing-ac7-sidecar-hook-message-and-scope-fixed-config-protection-js-a-never-tells-an-agent-to-disable-the-config-protection-hook-for-any-sidecar-owned-path-current-json-slug-state-json-slug-trust-bundle-delivery-trust-bundle-delivery-trust-checkpoint-json-instead-names-the-sanctioned-npm-run-workflow-sidecar-command-remedy-b-no-longer-blocks-read-only-tool-calls-read-glob-grep-ls-notebookread-against-these-paths.flow-agents-workflow.ac7-sidecar-hook-message-and-scope-fixed-config-protection-js-a-never-tells-an-agent-to-disable-the-config-protection-hook-for-any-sidecar-owned-path-current-json-slug-state-json-slug-trust-bundle-delivery-trust-bundle-delivery-trust-checkpoint-json-instead-names-the-sanctioned-npm-run-workflow-sidecar-command-remedy-b-no-longer-blocks-read-only-tool-calls-read-glob-grep-ls-notebookread-against-these-paths",
315
+ "subjectType": "work-item",
316
+ "subjectId": "ws3-kit-dependencies-namespacing/ac7-sidecar-hook-message-and-scope-fixed-config-protection-js-a-never-tells-an-agent-to-disable-the-config-protection-hook-for-any-sidecar-owned-path-current-json-slug-state-json-slug-trust-bundle-delivery-trust-bundle-delivery-trust-checkpoint-json-instead-names-the-sanctioned-npm-run-workflow-sidecar-command-remedy-b-no-longer-blocks-read-only-tool-calls-read-glob-grep-ls-notebookread-against-these-paths",
317
+ "facet": "flow-agents.workflow",
318
+ "claimType": "builder.pull-work.selected",
319
+ "fieldOrBehavior": "AC7 `sidecar-hook-message-and-scope-fixed`: `config-protection.js` (a) never tells an agent to \"disable the config-protection hook\" for any sidecar-owned path (`current.json`, `<slug>/state.json`, `<slug>/trust.bundle`, `delivery/trust.bundle`, `delivery/trust.checkpoint.json`) — instead names the sanctioned `npm run workflow:sidecar -- <command>` remedy; (b) no longer blocks read-only tool calls (`Read`, `Glob`, `Grep`, `LS`, `NotebookRead`) against these paths",
320
+ "value": "pass",
321
+ "createdAt": "2026-07-02T00:23:16Z",
322
+ "updatedAt": "2026-07-02T00:23:16Z",
323
+ "impactLevel": "high",
324
+ "verificationPolicyId": "policy:builder.pull-work.selected",
325
+ "status": "proposed"
326
+ },
327
+ {
328
+ "id": "ws3-kit-dependencies-namespacing-ac8-sidecar-governance-wording-fixed-kits-builder-skills-deliver-skill-md-execute-plan-skill-md-plan-work-skill-md-agents-tool-planner-json-and-agents-tool-verifier-json-all-state-that-state-json-handoff-json-updates-including-the-orchestrator-s-own-are-routed-through-npm-run-workflow-sidecar-advance-state-init-plan-never-through-direct-write-edit-tool-calls.flow-agents-workflow.ac8-sidecar-governance-wording-fixed-kits-builder-skills-deliver-skill-md-execute-plan-skill-md-plan-work-skill-md-agents-tool-planner-json-and-agents-tool-verifier-json-all-state-that-state-json-handoff-json-updates-including-the-orchestrator-s-own-are-routed-through-npm-run-workflow-sidecar-advance-state-init-plan-never-through-direct-write-edit-tool-calls",
329
+ "subjectType": "work-item",
330
+ "subjectId": "ws3-kit-dependencies-namespacing/ac8-sidecar-governance-wording-fixed-kits-builder-skills-deliver-skill-md-execute-plan-skill-md-plan-work-skill-md-agents-tool-planner-json-and-agents-tool-verifier-json-all-state-that-state-json-handoff-json-updates-including-the-orchestrator-s-own-are-routed-through-npm-run-workflow-sidecar-advance-state-init-plan-never-through-direct-write-edit-tool-calls",
331
+ "facet": "flow-agents.workflow",
332
+ "claimType": "builder.pull-work.selected",
333
+ "fieldOrBehavior": "AC8 `sidecar-governance-wording-fixed`: `kits/builder/skills/deliver/SKILL.md`, `execute-plan/SKILL.md`, `plan-work/SKILL.md`, `agents/tool-planner.json`, and `agents/tool-verifier.json` all state that `state.json`/`handoff.json` updates — including the orchestrator's own — are routed through `npm run workflow:sidecar -- advance-state`/`init-plan`, never through direct Write/Edit tool calls",
334
+ "value": "pass",
335
+ "createdAt": "2026-07-02T00:23:16Z",
336
+ "updatedAt": "2026-07-02T00:23:16Z",
337
+ "impactLevel": "high",
338
+ "verificationPolicyId": "policy:builder.pull-work.selected",
339
+ "status": "proposed"
340
+ },
341
+ {
342
+ "id": "ws3-kit-dependencies-namespacing-ac9-sidecar-portability-fixed-flow-agents-validate-artifacts-resolves-its-json-schemas-relative-to-its-own-installed-package-location-not-process-cwd-and-runs-successfully-via-npx-package-kontourai-flow-agents-flow-agents-validate-artifacts-require-sidecars-dir-from-a-directory-with-no-local-schemas-folder.flow-agents-workflow.ac9-sidecar-portability-fixed-flow-agents-validate-artifacts-resolves-its-json-schemas-relative-to-its-own-installed-package-location-not-process-cwd-and-runs-successfully-via-npx-package-kontourai-flow-agents-flow-agents-validate-artifacts-require-sidecars-dir-from-a-directory-with-no-local-schemas-folder",
343
+ "subjectType": "work-item",
344
+ "subjectId": "ws3-kit-dependencies-namespacing/ac9-sidecar-portability-fixed-flow-agents-validate-artifacts-resolves-its-json-schemas-relative-to-its-own-installed-package-location-not-process-cwd-and-runs-successfully-via-npx-package-kontourai-flow-agents-flow-agents-validate-artifacts-require-sidecars-dir-from-a-directory-with-no-local-schemas-folder",
345
+ "facet": "flow-agents.workflow",
346
+ "claimType": "builder.pull-work.selected",
347
+ "fieldOrBehavior": "AC9 `sidecar-portability-fixed`: `flow-agents-validate-artifacts` resolves its JSON Schemas relative to its own installed package location, not `process.cwd()`, and runs successfully via `npx --package=@kontourai/flow-agents -- flow-agents-validate-artifacts --require-sidecars <dir>` from a directory with no local `schemas/` folder",
348
+ "value": "pass",
349
+ "createdAt": "2026-07-02T00:23:16Z",
350
+ "updatedAt": "2026-07-02T00:23:16Z",
351
+ "impactLevel": "high",
352
+ "verificationPolicyId": "policy:builder.pull-work.selected",
353
+ "status": "proposed"
354
+ }
355
+ ],
356
+ "evidence": [
357
+ {
358
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-scope-confirm.flow-agents-workflow.git-status-porcelain-v1-wc-l-grep-qx-26-20-modified-6-untracked-byte-identical-file-set-to-iteration-1-2-only-evals-integration-test-hook-category-behaviors-sh-edited-since-iteration-2-record-evidence-per-command-log-jsonl-timeline",
359
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-scope-confirm.flow-agents-workflow.git-status-porcelain-v1-wc-l-grep-qx-26-20-modified-6-untracked-byte-identical-file-set-to-iteration-1-2-only-evals-integration-test-hook-category-behaviors-sh-edited-since-iteration-2-record-evidence-per-command-log-jsonl-timeline",
360
+ "evidenceType": "test_output",
361
+ "method": "validation",
362
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
363
+ "excerptOrSummary": "git status --porcelain=v1 | wc -l | grep -qx 26 # 20 modified + 6 untracked, byte-identical file set to iteration 1/2; only evals/integration/test_hook_category_behaviors.sh edited since iteration-2 record-evidence per command-log.jsonl timeline",
364
+ "observedAt": "2026-07-02T00:23:16Z",
365
+ "collectedBy": "flow-agents/workflow-sidecar",
366
+ "passing": true
367
+ },
368
+ {
369
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-mutation-check.flow-agents-workflow.true-mutation-check-pass-2-substring-scan-loop-in-remedyforcommand-disabled-on-a-scratch-copy-of-config-protection-js-interpreter-write-to-state-json-assertion-falls-back-to-shell-profile-remedy-and-fails-restored-copy-pass-with-advance-state-remedy-production-file-untouched-sha256-e60b712c-unchanged-see-verification-report-iteration-3",
370
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-mutation-check.flow-agents-workflow.true-mutation-check-pass-2-substring-scan-loop-in-remedyforcommand-disabled-on-a-scratch-copy-of-config-protection-js-interpreter-write-to-state-json-assertion-falls-back-to-shell-profile-remedy-and-fails-restored-copy-pass-with-advance-state-remedy-production-file-untouched-sha256-e60b712c-unchanged-see-verification-report-iteration-3",
371
+ "evidenceType": "test_output",
372
+ "method": "validation",
373
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
374
+ "excerptOrSummary": "true # mutation check: Pass-2 substring-scan loop in remedyForCommand disabled on a scratch copy of config-protection.js -> interpreter-write-to-state.json assertion falls back to shell-profile remedy and FAILS; restored copy -> PASS with advance-state remedy; production file untouched (sha256 e60b712c unchanged) - see verification report iteration 3",
375
+ "observedAt": "2026-07-02T00:23:16Z",
376
+ "collectedBy": "flow-agents/workflow-sidecar",
377
+ "passing": true
378
+ },
379
+ {
380
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-production-untouched.flow-agents-workflow.sha256sum-scripts-hooks-config-protection-js-grep-q-e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8-production-hook-byte-identical-after-mutation-probe",
381
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-production-untouched.flow-agents-workflow.sha256sum-scripts-hooks-config-protection-js-grep-q-e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8-production-hook-byte-identical-after-mutation-probe",
382
+ "evidenceType": "test_output",
383
+ "method": "validation",
384
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
385
+ "excerptOrSummary": "sha256sum scripts/hooks/config-protection.js | grep -q e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8 # production hook byte-identical after mutation probe",
386
+ "observedAt": "2026-07-02T00:23:16Z",
387
+ "collectedBy": "flow-agents/workflow-sidecar",
388
+ "passing": true
389
+ },
390
+ {
391
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-unit.flow-agents-workflow.npm-run-test-unit-15-15",
392
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-unit.flow-agents-workflow.npm-run-test-unit-15-15",
393
+ "evidenceType": "test_output",
394
+ "method": "validation",
395
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
396
+ "excerptOrSummary": "npm run test:unit # 15/15",
397
+ "observedAt": "2026-07-02T00:23:16Z",
398
+ "collectedBy": "flow-agents/workflow-sidecar",
399
+ "passing": true
400
+ },
401
+ {
402
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-eval-static.flow-agents-workflow.npm-run-eval-static-exit-0-all-suites",
403
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-eval-static.flow-agents-workflow.npm-run-eval-static-exit-0-all-suites",
404
+ "evidenceType": "test_output",
405
+ "method": "validation",
406
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
407
+ "excerptOrSummary": "npm run eval:static # exit 0 all suites",
408
+ "observedAt": "2026-07-02T00:23:16Z",
409
+ "collectedBy": "flow-agents/workflow-sidecar",
410
+ "passing": true
411
+ },
412
+ {
413
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-hook-behaviors.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh-26-checks-incl-pass-2-mutation-pinned-assertion",
414
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-hook-behaviors.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh-26-checks-incl-pass-2-mutation-pinned-assertion",
415
+ "evidenceType": "test_output",
416
+ "method": "validation",
417
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
418
+ "excerptOrSummary": "bash evals/integration/test_hook_category_behaviors.sh # 26 checks incl Pass-2 mutation-pinned assertion",
419
+ "observedAt": "2026-07-02T00:23:16Z",
420
+ "collectedBy": "flow-agents/workflow-sidecar",
421
+ "passing": true
422
+ },
423
+ {
424
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-canary-activation.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh-17-skills-ac5-ac2-dependency-enforcement-canary",
425
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-canary-activation.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh-17-skills-ac5-ac2-dependency-enforcement-canary",
426
+ "evidenceType": "test_output",
427
+ "method": "validation",
428
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
429
+ "excerptOrSummary": "bash evals/integration/test_runtime_adapter_activation.sh # 17-skills AC5 + AC2 dependency-enforcement canary",
430
+ "observedAt": "2026-07-02T00:23:16Z",
431
+ "collectedBy": "flow-agents/workflow-sidecar",
432
+ "passing": true
433
+ },
434
+ {
435
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-universal-bundles.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh-43-43-incl-ac6-collision-detector",
436
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-universal-bundles.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh-43-43-incl-ac6-collision-detector",
437
+ "evidenceType": "test_output",
438
+ "method": "validation",
439
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
440
+ "excerptOrSummary": "bash evals/static/test_universal_bundles.sh # 43/43 incl AC6 collision detector",
441
+ "observedAt": "2026-07-02T00:23:16Z",
442
+ "collectedBy": "flow-agents/workflow-sidecar",
443
+ "passing": true
444
+ },
445
+ {
446
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac1-cmd.flow-agents-workflow.bash-evals-integration-test-flow-kit-repository-sh-bash-evals-integration-test-local-flow-kit-install-sh",
447
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac1-cmd.flow-agents-workflow.bash-evals-integration-test-flow-kit-repository-sh-bash-evals-integration-test-local-flow-kit-install-sh",
448
+ "evidenceType": "test_output",
449
+ "method": "validation",
450
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
451
+ "excerptOrSummary": "bash evals/integration/test_flow_kit_repository.sh && bash evals/integration/test_local_flow_kit_install.sh",
452
+ "observedAt": "2026-07-02T00:23:16Z",
453
+ "collectedBy": "flow-agents/workflow-sidecar",
454
+ "passing": true
455
+ },
456
+ {
457
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac2-cmd.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh",
458
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac2-cmd.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh",
459
+ "evidenceType": "test_output",
460
+ "method": "validation",
461
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
462
+ "excerptOrSummary": "bash evals/integration/test_runtime_adapter_activation.sh",
463
+ "observedAt": "2026-07-02T00:23:16Z",
464
+ "collectedBy": "flow-agents/workflow-sidecar",
465
+ "passing": true
466
+ },
467
+ {
468
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac3-cmd.flow-agents-workflow.grep-q-kit-id-knowledge-kits-builder-kit-json-node-build-src-cli-kit-js-inspect-kits-builder-json-dev-null",
469
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac3-cmd.flow-agents-workflow.grep-q-kit-id-knowledge-kits-builder-kit-json-node-build-src-cli-kit-js-inspect-kits-builder-json-dev-null",
470
+ "evidenceType": "test_output",
471
+ "method": "validation",
472
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
473
+ "excerptOrSummary": "grep -q \"\\\"kit_id\\\": \\\"knowledge\\\"\" kits/builder/kit.json && node build/src/cli/kit.js inspect kits/builder --json >/dev/null",
474
+ "observedAt": "2026-07-02T00:23:16Z",
475
+ "collectedBy": "flow-agents/workflow-sidecar",
476
+ "passing": true
477
+ },
478
+ {
479
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac4-cmd.flow-agents-workflow.test-f-docs-adr-0019-kit-dependency-ownership-md-grep-q-0019-docs-adr-0007-flow-skill-kit-tool-boundary-md",
480
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac4-cmd.flow-agents-workflow.test-f-docs-adr-0019-kit-dependency-ownership-md-grep-q-0019-docs-adr-0007-flow-skill-kit-tool-boundary-md",
481
+ "evidenceType": "test_output",
482
+ "method": "validation",
483
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
484
+ "excerptOrSummary": "test -f docs/adr/0019-kit-dependency-ownership.md && grep -q 0019 docs/adr/0007-flow-skill-kit-tool-boundary.md",
485
+ "observedAt": "2026-07-02T00:23:16Z",
486
+ "collectedBy": "flow-agents/workflow-sidecar",
487
+ "passing": true
488
+ },
489
+ {
490
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac6-cmd.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh",
491
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac6-cmd.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh",
492
+ "evidenceType": "test_output",
493
+ "method": "validation",
494
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
495
+ "excerptOrSummary": "bash evals/static/test_universal_bundles.sh",
496
+ "observedAt": "2026-07-02T00:23:16Z",
497
+ "collectedBy": "flow-agents/workflow-sidecar",
498
+ "passing": true
499
+ },
500
+ {
501
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac7-cmd.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh",
502
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac7-cmd.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh",
503
+ "evidenceType": "test_output",
504
+ "method": "validation",
505
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
506
+ "excerptOrSummary": "bash evals/integration/test_hook_category_behaviors.sh",
507
+ "observedAt": "2026-07-02T00:23:16Z",
508
+ "collectedBy": "flow-agents/workflow-sidecar",
509
+ "passing": true
510
+ },
511
+ {
512
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac8-cmd.flow-agents-workflow.grep-rn-owns-root-state-json-kits-agents-include-md-include-json",
513
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac8-cmd.flow-agents-workflow.grep-rn-owns-root-state-json-kits-agents-include-md-include-json",
514
+ "evidenceType": "test_output",
515
+ "method": "validation",
516
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
517
+ "excerptOrSummary": "! grep -rn \"owns root state.json\" kits/ agents/ --include=*.md --include=*.json",
518
+ "observedAt": "2026-07-02T00:23:16Z",
519
+ "collectedBy": "flow-agents/workflow-sidecar",
520
+ "passing": true
521
+ },
522
+ {
523
+ "id": "ev:ws3-kit-dependencies-namespacing-iter3-ac9-cmd.flow-agents-workflow.bash-evals-integration-test-validate-artifacts-portability-sh",
524
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac9-cmd.flow-agents-workflow.bash-evals-integration-test-validate-artifacts-portability-sh",
525
+ "evidenceType": "test_output",
526
+ "method": "validation",
527
+ "sourceRef": "ws3-kit-dependencies-namespacing/evidence.json",
528
+ "excerptOrSummary": "bash evals/integration/test_validate_artifacts_portability.sh",
529
+ "observedAt": "2026-07-02T00:23:16Z",
530
+ "collectedBy": "flow-agents/workflow-sidecar",
531
+ "passing": true
532
+ }
533
+ ],
534
+ "policies": [
535
+ {
536
+ "id": "policy:workflow.check.diff",
537
+ "claimType": "workflow.check.diff",
538
+ "requiredEvidence": [
539
+ "test_output"
540
+ ],
541
+ "acceptanceCriteria": [
542
+ "A verified verification event must support a workflow.check.diff claim."
543
+ ],
544
+ "reviewAuthority": "system",
545
+ "validityRule": {
546
+ "kind": "manual"
547
+ },
548
+ "stalenessTriggers": [],
549
+ "conflictRules": [],
550
+ "impactLevel": "high"
551
+ },
552
+ {
553
+ "id": "policy:builder.pull-work.selected",
554
+ "claimType": "builder.pull-work.selected",
555
+ "requiredEvidence": [
556
+ "test_output"
557
+ ],
558
+ "acceptanceCriteria": [
559
+ "A verified verification event must support a builder.pull-work.selected claim."
560
+ ],
561
+ "reviewAuthority": "system",
562
+ "validityRule": {
563
+ "kind": "manual"
564
+ },
565
+ "stalenessTriggers": [],
566
+ "conflictRules": [],
567
+ "impactLevel": "high"
568
+ },
569
+ {
570
+ "id": "policy:workflow.check.external",
571
+ "claimType": "workflow.check.external",
572
+ "requiredEvidence": [
573
+ "test_output"
574
+ ],
575
+ "acceptanceCriteria": [
576
+ "A verified verification event must support a workflow.check.external claim."
577
+ ],
578
+ "reviewAuthority": "system",
579
+ "validityRule": {
580
+ "kind": "manual"
581
+ },
582
+ "stalenessTriggers": [],
583
+ "conflictRules": [],
584
+ "impactLevel": "high"
585
+ },
586
+ {
587
+ "id": "policy:workflow.check.command",
588
+ "claimType": "workflow.check.command",
589
+ "requiredEvidence": [
590
+ "test_output"
591
+ ],
592
+ "acceptanceCriteria": [
593
+ "A verified verification event must support a workflow.check.command claim."
594
+ ],
595
+ "reviewAuthority": "system",
596
+ "validityRule": {
597
+ "kind": "manual"
598
+ },
599
+ "stalenessTriggers": [],
600
+ "conflictRules": [],
601
+ "impactLevel": "high"
602
+ },
603
+ {
604
+ "id": "policy:workflow.check.test",
605
+ "claimType": "workflow.check.test",
606
+ "requiredEvidence": [
607
+ "test_output"
608
+ ],
609
+ "acceptanceCriteria": [
610
+ "A verified verification event must support a workflow.check.test claim."
611
+ ],
612
+ "reviewAuthority": "system",
613
+ "validityRule": {
614
+ "kind": "manual"
615
+ },
616
+ "stalenessTriggers": [],
617
+ "conflictRules": [],
618
+ "impactLevel": "high"
619
+ },
620
+ {
621
+ "id": "policy:workflow.acceptance.criterion",
622
+ "claimType": "workflow.acceptance.criterion",
623
+ "requiredEvidence": [],
624
+ "acceptanceCriteria": [
625
+ "A verified verification event must support a workflow.acceptance.criterion claim."
626
+ ],
627
+ "reviewAuthority": "system",
628
+ "validityRule": {
629
+ "kind": "manual"
630
+ },
631
+ "stalenessTriggers": [],
632
+ "conflictRules": [],
633
+ "impactLevel": "high"
634
+ }
635
+ ],
636
+ "events": [
637
+ {
638
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-scope-confirm.flow-agents-workflow.git-status-porcelain-v1-wc-l-grep-qx-26-20-modified-6-untracked-byte-identical-file-set-to-iteration-1-2-only-evals-integration-test-hook-category-behaviors-sh-edited-since-iteration-2-record-evidence-per-command-log-jsonl-timeline",
639
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-scope-confirm.flow-agents-workflow.git-status-porcelain-v1-wc-l-grep-qx-26-20-modified-6-untracked-byte-identical-file-set-to-iteration-1-2-only-evals-integration-test-hook-category-behaviors-sh-edited-since-iteration-2-record-evidence-per-command-log-jsonl-timeline",
640
+ "status": "verified",
641
+ "actor": "flow-agents/workflow-sidecar",
642
+ "method": "validation",
643
+ "evidenceIds": [
644
+ "ev:ws3-kit-dependencies-namespacing-iter3-scope-confirm.flow-agents-workflow.git-status-porcelain-v1-wc-l-grep-qx-26-20-modified-6-untracked-byte-identical-file-set-to-iteration-1-2-only-evals-integration-test-hook-category-behaviors-sh-edited-since-iteration-2-record-evidence-per-command-log-jsonl-timeline"
645
+ ],
646
+ "createdAt": "2026-07-02T00:23:16Z",
647
+ "verifiedAt": "2026-07-02T00:23:16Z"
648
+ },
649
+ {
650
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-mutation-check.flow-agents-workflow.true-mutation-check-pass-2-substring-scan-loop-in-remedyforcommand-disabled-on-a-scratch-copy-of-config-protection-js-interpreter-write-to-state-json-assertion-falls-back-to-shell-profile-remedy-and-fails-restored-copy-pass-with-advance-state-remedy-production-file-untouched-sha256-e60b712c-unchanged-see-verification-report-iteration-3",
651
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-mutation-check.flow-agents-workflow.true-mutation-check-pass-2-substring-scan-loop-in-remedyforcommand-disabled-on-a-scratch-copy-of-config-protection-js-interpreter-write-to-state-json-assertion-falls-back-to-shell-profile-remedy-and-fails-restored-copy-pass-with-advance-state-remedy-production-file-untouched-sha256-e60b712c-unchanged-see-verification-report-iteration-3",
652
+ "status": "verified",
653
+ "actor": "flow-agents/workflow-sidecar",
654
+ "method": "validation",
655
+ "evidenceIds": [
656
+ "ev:ws3-kit-dependencies-namespacing-iter3-mutation-check.flow-agents-workflow.true-mutation-check-pass-2-substring-scan-loop-in-remedyforcommand-disabled-on-a-scratch-copy-of-config-protection-js-interpreter-write-to-state-json-assertion-falls-back-to-shell-profile-remedy-and-fails-restored-copy-pass-with-advance-state-remedy-production-file-untouched-sha256-e60b712c-unchanged-see-verification-report-iteration-3"
657
+ ],
658
+ "createdAt": "2026-07-02T00:23:16Z",
659
+ "verifiedAt": "2026-07-02T00:23:16Z"
660
+ },
661
+ {
662
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-production-untouched.flow-agents-workflow.sha256sum-scripts-hooks-config-protection-js-grep-q-e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8-production-hook-byte-identical-after-mutation-probe",
663
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-production-untouched.flow-agents-workflow.sha256sum-scripts-hooks-config-protection-js-grep-q-e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8-production-hook-byte-identical-after-mutation-probe",
664
+ "status": "verified",
665
+ "actor": "flow-agents/workflow-sidecar",
666
+ "method": "validation",
667
+ "evidenceIds": [
668
+ "ev:ws3-kit-dependencies-namespacing-iter3-production-untouched.flow-agents-workflow.sha256sum-scripts-hooks-config-protection-js-grep-q-e60b712c09eb4023c16f3c87755f12b8625fe65cf1e481dfd6cf8389f590e8-production-hook-byte-identical-after-mutation-probe"
669
+ ],
670
+ "createdAt": "2026-07-02T00:23:16Z",
671
+ "verifiedAt": "2026-07-02T00:23:16Z"
672
+ },
673
+ {
674
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-unit.flow-agents-workflow.npm-run-test-unit-15-15",
675
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-unit.flow-agents-workflow.npm-run-test-unit-15-15",
676
+ "status": "verified",
677
+ "actor": "flow-agents/workflow-sidecar",
678
+ "method": "validation",
679
+ "evidenceIds": [
680
+ "ev:ws3-kit-dependencies-namespacing-iter3-unit.flow-agents-workflow.npm-run-test-unit-15-15"
681
+ ],
682
+ "createdAt": "2026-07-02T00:23:16Z",
683
+ "verifiedAt": "2026-07-02T00:23:16Z"
684
+ },
685
+ {
686
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-eval-static.flow-agents-workflow.npm-run-eval-static-exit-0-all-suites",
687
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-eval-static.flow-agents-workflow.npm-run-eval-static-exit-0-all-suites",
688
+ "status": "verified",
689
+ "actor": "flow-agents/workflow-sidecar",
690
+ "method": "validation",
691
+ "evidenceIds": [
692
+ "ev:ws3-kit-dependencies-namespacing-iter3-eval-static.flow-agents-workflow.npm-run-eval-static-exit-0-all-suites"
693
+ ],
694
+ "createdAt": "2026-07-02T00:23:16Z",
695
+ "verifiedAt": "2026-07-02T00:23:16Z"
696
+ },
697
+ {
698
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-hook-behaviors.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh-26-checks-incl-pass-2-mutation-pinned-assertion",
699
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-hook-behaviors.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh-26-checks-incl-pass-2-mutation-pinned-assertion",
700
+ "status": "verified",
701
+ "actor": "flow-agents/workflow-sidecar",
702
+ "method": "validation",
703
+ "evidenceIds": [
704
+ "ev:ws3-kit-dependencies-namespacing-iter3-hook-behaviors.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh-26-checks-incl-pass-2-mutation-pinned-assertion"
705
+ ],
706
+ "createdAt": "2026-07-02T00:23:16Z",
707
+ "verifiedAt": "2026-07-02T00:23:16Z"
708
+ },
709
+ {
710
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-canary-activation.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh-17-skills-ac5-ac2-dependency-enforcement-canary",
711
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-canary-activation.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh-17-skills-ac5-ac2-dependency-enforcement-canary",
712
+ "status": "verified",
713
+ "actor": "flow-agents/workflow-sidecar",
714
+ "method": "validation",
715
+ "evidenceIds": [
716
+ "ev:ws3-kit-dependencies-namespacing-iter3-canary-activation.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh-17-skills-ac5-ac2-dependency-enforcement-canary"
717
+ ],
718
+ "createdAt": "2026-07-02T00:23:16Z",
719
+ "verifiedAt": "2026-07-02T00:23:16Z"
720
+ },
721
+ {
722
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-universal-bundles.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh-43-43-incl-ac6-collision-detector",
723
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-universal-bundles.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh-43-43-incl-ac6-collision-detector",
724
+ "status": "verified",
725
+ "actor": "flow-agents/workflow-sidecar",
726
+ "method": "validation",
727
+ "evidenceIds": [
728
+ "ev:ws3-kit-dependencies-namespacing-iter3-universal-bundles.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh-43-43-incl-ac6-collision-detector"
729
+ ],
730
+ "createdAt": "2026-07-02T00:23:16Z",
731
+ "verifiedAt": "2026-07-02T00:23:16Z"
732
+ },
733
+ {
734
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac1-cmd.flow-agents-workflow.bash-evals-integration-test-flow-kit-repository-sh-bash-evals-integration-test-local-flow-kit-install-sh",
735
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac1-cmd.flow-agents-workflow.bash-evals-integration-test-flow-kit-repository-sh-bash-evals-integration-test-local-flow-kit-install-sh",
736
+ "status": "verified",
737
+ "actor": "flow-agents/workflow-sidecar",
738
+ "method": "validation",
739
+ "evidenceIds": [
740
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac1-cmd.flow-agents-workflow.bash-evals-integration-test-flow-kit-repository-sh-bash-evals-integration-test-local-flow-kit-install-sh"
741
+ ],
742
+ "createdAt": "2026-07-02T00:23:16Z",
743
+ "verifiedAt": "2026-07-02T00:23:16Z"
744
+ },
745
+ {
746
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac2-cmd.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh",
747
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac2-cmd.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh",
748
+ "status": "verified",
749
+ "actor": "flow-agents/workflow-sidecar",
750
+ "method": "validation",
751
+ "evidenceIds": [
752
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac2-cmd.flow-agents-workflow.bash-evals-integration-test-runtime-adapter-activation-sh"
753
+ ],
754
+ "createdAt": "2026-07-02T00:23:16Z",
755
+ "verifiedAt": "2026-07-02T00:23:16Z"
756
+ },
757
+ {
758
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac3-cmd.flow-agents-workflow.grep-q-kit-id-knowledge-kits-builder-kit-json-node-build-src-cli-kit-js-inspect-kits-builder-json-dev-null",
759
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac3-cmd.flow-agents-workflow.grep-q-kit-id-knowledge-kits-builder-kit-json-node-build-src-cli-kit-js-inspect-kits-builder-json-dev-null",
760
+ "status": "verified",
761
+ "actor": "flow-agents/workflow-sidecar",
762
+ "method": "validation",
763
+ "evidenceIds": [
764
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac3-cmd.flow-agents-workflow.grep-q-kit-id-knowledge-kits-builder-kit-json-node-build-src-cli-kit-js-inspect-kits-builder-json-dev-null"
765
+ ],
766
+ "createdAt": "2026-07-02T00:23:16Z",
767
+ "verifiedAt": "2026-07-02T00:23:16Z"
768
+ },
769
+ {
770
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac4-cmd.flow-agents-workflow.test-f-docs-adr-0019-kit-dependency-ownership-md-grep-q-0019-docs-adr-0007-flow-skill-kit-tool-boundary-md",
771
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac4-cmd.flow-agents-workflow.test-f-docs-adr-0019-kit-dependency-ownership-md-grep-q-0019-docs-adr-0007-flow-skill-kit-tool-boundary-md",
772
+ "status": "verified",
773
+ "actor": "flow-agents/workflow-sidecar",
774
+ "method": "validation",
775
+ "evidenceIds": [
776
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac4-cmd.flow-agents-workflow.test-f-docs-adr-0019-kit-dependency-ownership-md-grep-q-0019-docs-adr-0007-flow-skill-kit-tool-boundary-md"
777
+ ],
778
+ "createdAt": "2026-07-02T00:23:16Z",
779
+ "verifiedAt": "2026-07-02T00:23:16Z"
780
+ },
781
+ {
782
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac6-cmd.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh",
783
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac6-cmd.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh",
784
+ "status": "verified",
785
+ "actor": "flow-agents/workflow-sidecar",
786
+ "method": "validation",
787
+ "evidenceIds": [
788
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac6-cmd.flow-agents-workflow.bash-evals-static-test-universal-bundles-sh"
789
+ ],
790
+ "createdAt": "2026-07-02T00:23:16Z",
791
+ "verifiedAt": "2026-07-02T00:23:16Z"
792
+ },
793
+ {
794
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac7-cmd.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh",
795
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac7-cmd.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh",
796
+ "status": "verified",
797
+ "actor": "flow-agents/workflow-sidecar",
798
+ "method": "validation",
799
+ "evidenceIds": [
800
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac7-cmd.flow-agents-workflow.bash-evals-integration-test-hook-category-behaviors-sh"
801
+ ],
802
+ "createdAt": "2026-07-02T00:23:16Z",
803
+ "verifiedAt": "2026-07-02T00:23:16Z"
804
+ },
805
+ {
806
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac8-cmd.flow-agents-workflow.grep-rn-owns-root-state-json-kits-agents-include-md-include-json",
807
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac8-cmd.flow-agents-workflow.grep-rn-owns-root-state-json-kits-agents-include-md-include-json",
808
+ "status": "verified",
809
+ "actor": "flow-agents/workflow-sidecar",
810
+ "method": "validation",
811
+ "evidenceIds": [
812
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac8-cmd.flow-agents-workflow.grep-rn-owns-root-state-json-kits-agents-include-md-include-json"
813
+ ],
814
+ "createdAt": "2026-07-02T00:23:16Z",
815
+ "verifiedAt": "2026-07-02T00:23:16Z"
816
+ },
817
+ {
818
+ "id": "evt:ws3-kit-dependencies-namespacing-iter3-ac9-cmd.flow-agents-workflow.bash-evals-integration-test-validate-artifacts-portability-sh",
819
+ "claimId": "ws3-kit-dependencies-namespacing-iter3-ac9-cmd.flow-agents-workflow.bash-evals-integration-test-validate-artifacts-portability-sh",
820
+ "status": "verified",
821
+ "actor": "flow-agents/workflow-sidecar",
822
+ "method": "validation",
823
+ "evidenceIds": [
824
+ "ev:ws3-kit-dependencies-namespacing-iter3-ac9-cmd.flow-agents-workflow.bash-evals-integration-test-validate-artifacts-portability-sh"
825
+ ],
826
+ "createdAt": "2026-07-02T00:23:16Z",
827
+ "verifiedAt": "2026-07-02T00:23:16Z"
828
+ },
829
+ {
830
+ "id": "evt:ws3-kit-dependencies-namespacing-ac1-kit-dependency-shape-and-install-kit-json-supports-a-dependencies-kit-id-reason-array-malformed-entries-bad-kebab-case-id-self-reference-duplicate-are-rejected-as-hard-errors-at-flow-agents-kit-install-inspect-time-via-validatekitrepository-flow-agents-kit-install-prints-an-actionable-non-blocking-warning-when-a-declared-dependency-is-not-present-in-the-destination-s-local-registry.flow-agents-workflow.ac1-kit-dependency-shape-and-install-kit-json-supports-a-dependencies-kit-id-reason-array-malformed-entries-bad-kebab-case-id-self-reference-duplicate-are-rejected-as-hard-errors-at-flow-agents-kit-install-inspect-time-via-validatekitrepository-flow-agents-kit-install-prints-an-actionable-non-blocking-warning-when-a-declared-dependency-is-not-present-in-the-destination-s-local-registry",
831
+ "claimId": "ws3-kit-dependencies-namespacing-ac1-kit-dependency-shape-and-install-kit-json-supports-a-dependencies-kit-id-reason-array-malformed-entries-bad-kebab-case-id-self-reference-duplicate-are-rejected-as-hard-errors-at-flow-agents-kit-install-inspect-time-via-validatekitrepository-flow-agents-kit-install-prints-an-actionable-non-blocking-warning-when-a-declared-dependency-is-not-present-in-the-destination-s-local-registry.flow-agents-workflow.ac1-kit-dependency-shape-and-install-kit-json-supports-a-dependencies-kit-id-reason-array-malformed-entries-bad-kebab-case-id-self-reference-duplicate-are-rejected-as-hard-errors-at-flow-agents-kit-install-inspect-time-via-validatekitrepository-flow-agents-kit-install-prints-an-actionable-non-blocking-warning-when-a-declared-dependency-is-not-present-in-the-destination-s-local-registry",
832
+ "status": "verified",
833
+ "actor": "flow-agents/workflow-sidecar",
834
+ "method": "validation",
835
+ "evidenceIds": [],
836
+ "createdAt": "2026-07-02T00:23:16Z",
837
+ "verifiedAt": "2026-07-02T00:23:16Z"
838
+ },
839
+ {
840
+ "id": "evt:ws3-kit-dependencies-namespacing-ac2-kit-dependency-activation-enforcement-flow-agents-kit-activate-fails-non-zero-exit-errors-populated-when-a-declared-dependency-s-kit-id-is-not-present-among-the-union-of-built-in-catalog-kits-and-locally-installed-kits-at-activation-time.flow-agents-workflow.ac2-kit-dependency-activation-enforcement-flow-agents-kit-activate-fails-non-zero-exit-errors-populated-when-a-declared-dependency-s-kit-id-is-not-present-among-the-union-of-built-in-catalog-kits-and-locally-installed-kits-at-activation-time",
841
+ "claimId": "ws3-kit-dependencies-namespacing-ac2-kit-dependency-activation-enforcement-flow-agents-kit-activate-fails-non-zero-exit-errors-populated-when-a-declared-dependency-s-kit-id-is-not-present-among-the-union-of-built-in-catalog-kits-and-locally-installed-kits-at-activation-time.flow-agents-workflow.ac2-kit-dependency-activation-enforcement-flow-agents-kit-activate-fails-non-zero-exit-errors-populated-when-a-declared-dependency-s-kit-id-is-not-present-among-the-union-of-built-in-catalog-kits-and-locally-installed-kits-at-activation-time",
842
+ "status": "verified",
843
+ "actor": "flow-agents/workflow-sidecar",
844
+ "method": "validation",
845
+ "evidenceIds": [],
846
+ "createdAt": "2026-07-02T00:23:16Z",
847
+ "verifiedAt": "2026-07-02T00:23:16Z"
848
+ },
849
+ {
850
+ "id": "evt:ws3-kit-dependencies-namespacing-ac3-builder-knowledge-dependency-declared-kits-builder-kit-json-declares-dependencies-kit-id-knowledge-reason-learning-review-invokes-knowledge-capture-for-durable-knowledge-storage-flow-agents-kit-inspect-kits-builder-no-longer-lists-dependencies-in-third-party-extensions-or-targets-recognized-as-a-known-metadata-field-not-an-unknown-extension-namespace.flow-agents-workflow.ac3-builder-knowledge-dependency-declared-kits-builder-kit-json-declares-dependencies-kit-id-knowledge-reason-learning-review-invokes-knowledge-capture-for-durable-knowledge-storage-flow-agents-kit-inspect-kits-builder-no-longer-lists-dependencies-in-third-party-extensions-or-targets-recognized-as-a-known-metadata-field-not-an-unknown-extension-namespace",
851
+ "claimId": "ws3-kit-dependencies-namespacing-ac3-builder-knowledge-dependency-declared-kits-builder-kit-json-declares-dependencies-kit-id-knowledge-reason-learning-review-invokes-knowledge-capture-for-durable-knowledge-storage-flow-agents-kit-inspect-kits-builder-no-longer-lists-dependencies-in-third-party-extensions-or-targets-recognized-as-a-known-metadata-field-not-an-unknown-extension-namespace.flow-agents-workflow.ac3-builder-knowledge-dependency-declared-kits-builder-kit-json-declares-dependencies-kit-id-knowledge-reason-learning-review-invokes-knowledge-capture-for-durable-knowledge-storage-flow-agents-kit-inspect-kits-builder-no-longer-lists-dependencies-in-third-party-extensions-or-targets-recognized-as-a-known-metadata-field-not-an-unknown-extension-namespace",
852
+ "status": "verified",
853
+ "actor": "flow-agents/workflow-sidecar",
854
+ "method": "validation",
855
+ "evidenceIds": [],
856
+ "createdAt": "2026-07-02T00:23:16Z",
857
+ "verifiedAt": "2026-07-02T00:23:16Z"
858
+ },
859
+ {
860
+ "id": "evt:ws3-kit-dependencies-namespacing-ac4-dependency-ownership-adr-a-new-adr-docs-adr-0019-md-records-the-flow-vs-extension-layer-ownership-decision-for-kit-dependencies-citing-adr-0007-deferred-npm-dependency-model-adr-0008-the-does-it-interpret-the-extension-dividing-test-and-flow-kit-container-schema-json-s-additionalproperties-true-ignores-but-permits-design-as-the-basis-for-not-requiring-a-kontourai-flow-change.flow-agents-workflow.ac4-dependency-ownership-adr-a-new-adr-docs-adr-0019-md-records-the-flow-vs-extension-layer-ownership-decision-for-kit-dependencies-citing-adr-0007-deferred-npm-dependency-model-adr-0008-the-does-it-interpret-the-extension-dividing-test-and-flow-kit-container-schema-json-s-additionalproperties-true-ignores-but-permits-design-as-the-basis-for-not-requiring-a-kontourai-flow-change",
861
+ "claimId": "ws3-kit-dependencies-namespacing-ac4-dependency-ownership-adr-a-new-adr-docs-adr-0019-md-records-the-flow-vs-extension-layer-ownership-decision-for-kit-dependencies-citing-adr-0007-deferred-npm-dependency-model-adr-0008-the-does-it-interpret-the-extension-dividing-test-and-flow-kit-container-schema-json-s-additionalproperties-true-ignores-but-permits-design-as-the-basis-for-not-requiring-a-kontourai-flow-change.flow-agents-workflow.ac4-dependency-ownership-adr-a-new-adr-docs-adr-0019-md-records-the-flow-vs-extension-layer-ownership-decision-for-kit-dependencies-citing-adr-0007-deferred-npm-dependency-model-adr-0008-the-does-it-interpret-the-extension-dividing-test-and-flow-kit-container-schema-json-s-additionalproperties-true-ignores-but-permits-design-as-the-basis-for-not-requiring-a-kontourai-flow-change",
862
+ "status": "verified",
863
+ "actor": "flow-agents/workflow-sidecar",
864
+ "method": "validation",
865
+ "evidenceIds": [],
866
+ "createdAt": "2026-07-02T00:23:16Z",
867
+ "verifiedAt": "2026-07-02T00:23:16Z"
868
+ },
869
+ {
870
+ "id": "evt:ws3-kit-dependencies-namespacing-ac5-activation-skill-collision-fixed-activatecodexlocal-and-activatestrandslocal-write-each-kit-s-skills-to-projections-adapter-skills-kit-id-skill-dir-name-skill-md-namespaced-by-both-kit-id-and-skill-directory-name-instead-of-colliding-at-kit-id-skill-md.flow-agents-workflow.ac5-activation-skill-collision-fixed-activatecodexlocal-and-activatestrandslocal-write-each-kit-s-skills-to-projections-adapter-skills-kit-id-skill-dir-name-skill-md-namespaced-by-both-kit-id-and-skill-directory-name-instead-of-colliding-at-kit-id-skill-md",
871
+ "claimId": "ws3-kit-dependencies-namespacing-ac5-activation-skill-collision-fixed-activatecodexlocal-and-activatestrandslocal-write-each-kit-s-skills-to-projections-adapter-skills-kit-id-skill-dir-name-skill-md-namespaced-by-both-kit-id-and-skill-directory-name-instead-of-colliding-at-kit-id-skill-md.flow-agents-workflow.ac5-activation-skill-collision-fixed-activatecodexlocal-and-activatestrandslocal-write-each-kit-s-skills-to-projections-adapter-skills-kit-id-skill-dir-name-skill-md-namespaced-by-both-kit-id-and-skill-directory-name-instead-of-colliding-at-kit-id-skill-md",
872
+ "status": "verified",
873
+ "actor": "flow-agents/workflow-sidecar",
874
+ "method": "validation",
875
+ "evidenceIds": [],
876
+ "createdAt": "2026-07-02T00:23:16Z",
877
+ "verifiedAt": "2026-07-02T00:23:16Z"
878
+ },
879
+ {
880
+ "id": "evt:ws3-kit-dependencies-namespacing-ac6-bundle-skill-collision-detected-npm-run-build-bundles-fails-with-a-clear-named-collision-diagnostic-source-kit-ids-skill-name-when-two-kits-or-a-top-level-skills-entry-and-a-kit-declare-the-same-skill-directory-name-instead-of-silently-keeping-only-the-first.flow-agents-workflow.ac6-bundle-skill-collision-detected-npm-run-build-bundles-fails-with-a-clear-named-collision-diagnostic-source-kit-ids-skill-name-when-two-kits-or-a-top-level-skills-entry-and-a-kit-declare-the-same-skill-directory-name-instead-of-silently-keeping-only-the-first",
881
+ "claimId": "ws3-kit-dependencies-namespacing-ac6-bundle-skill-collision-detected-npm-run-build-bundles-fails-with-a-clear-named-collision-diagnostic-source-kit-ids-skill-name-when-two-kits-or-a-top-level-skills-entry-and-a-kit-declare-the-same-skill-directory-name-instead-of-silently-keeping-only-the-first.flow-agents-workflow.ac6-bundle-skill-collision-detected-npm-run-build-bundles-fails-with-a-clear-named-collision-diagnostic-source-kit-ids-skill-name-when-two-kits-or-a-top-level-skills-entry-and-a-kit-declare-the-same-skill-directory-name-instead-of-silently-keeping-only-the-first",
882
+ "status": "verified",
883
+ "actor": "flow-agents/workflow-sidecar",
884
+ "method": "validation",
885
+ "evidenceIds": [],
886
+ "createdAt": "2026-07-02T00:23:16Z",
887
+ "verifiedAt": "2026-07-02T00:23:16Z"
888
+ },
889
+ {
890
+ "id": "evt:ws3-kit-dependencies-namespacing-ac7-sidecar-hook-message-and-scope-fixed-config-protection-js-a-never-tells-an-agent-to-disable-the-config-protection-hook-for-any-sidecar-owned-path-current-json-slug-state-json-slug-trust-bundle-delivery-trust-bundle-delivery-trust-checkpoint-json-instead-names-the-sanctioned-npm-run-workflow-sidecar-command-remedy-b-no-longer-blocks-read-only-tool-calls-read-glob-grep-ls-notebookread-against-these-paths.flow-agents-workflow.ac7-sidecar-hook-message-and-scope-fixed-config-protection-js-a-never-tells-an-agent-to-disable-the-config-protection-hook-for-any-sidecar-owned-path-current-json-slug-state-json-slug-trust-bundle-delivery-trust-bundle-delivery-trust-checkpoint-json-instead-names-the-sanctioned-npm-run-workflow-sidecar-command-remedy-b-no-longer-blocks-read-only-tool-calls-read-glob-grep-ls-notebookread-against-these-paths",
891
+ "claimId": "ws3-kit-dependencies-namespacing-ac7-sidecar-hook-message-and-scope-fixed-config-protection-js-a-never-tells-an-agent-to-disable-the-config-protection-hook-for-any-sidecar-owned-path-current-json-slug-state-json-slug-trust-bundle-delivery-trust-bundle-delivery-trust-checkpoint-json-instead-names-the-sanctioned-npm-run-workflow-sidecar-command-remedy-b-no-longer-blocks-read-only-tool-calls-read-glob-grep-ls-notebookread-against-these-paths.flow-agents-workflow.ac7-sidecar-hook-message-and-scope-fixed-config-protection-js-a-never-tells-an-agent-to-disable-the-config-protection-hook-for-any-sidecar-owned-path-current-json-slug-state-json-slug-trust-bundle-delivery-trust-bundle-delivery-trust-checkpoint-json-instead-names-the-sanctioned-npm-run-workflow-sidecar-command-remedy-b-no-longer-blocks-read-only-tool-calls-read-glob-grep-ls-notebookread-against-these-paths",
892
+ "status": "verified",
893
+ "actor": "flow-agents/workflow-sidecar",
894
+ "method": "validation",
895
+ "evidenceIds": [],
896
+ "createdAt": "2026-07-02T00:23:16Z",
897
+ "verifiedAt": "2026-07-02T00:23:16Z"
898
+ },
899
+ {
900
+ "id": "evt:ws3-kit-dependencies-namespacing-ac8-sidecar-governance-wording-fixed-kits-builder-skills-deliver-skill-md-execute-plan-skill-md-plan-work-skill-md-agents-tool-planner-json-and-agents-tool-verifier-json-all-state-that-state-json-handoff-json-updates-including-the-orchestrator-s-own-are-routed-through-npm-run-workflow-sidecar-advance-state-init-plan-never-through-direct-write-edit-tool-calls.flow-agents-workflow.ac8-sidecar-governance-wording-fixed-kits-builder-skills-deliver-skill-md-execute-plan-skill-md-plan-work-skill-md-agents-tool-planner-json-and-agents-tool-verifier-json-all-state-that-state-json-handoff-json-updates-including-the-orchestrator-s-own-are-routed-through-npm-run-workflow-sidecar-advance-state-init-plan-never-through-direct-write-edit-tool-calls",
901
+ "claimId": "ws3-kit-dependencies-namespacing-ac8-sidecar-governance-wording-fixed-kits-builder-skills-deliver-skill-md-execute-plan-skill-md-plan-work-skill-md-agents-tool-planner-json-and-agents-tool-verifier-json-all-state-that-state-json-handoff-json-updates-including-the-orchestrator-s-own-are-routed-through-npm-run-workflow-sidecar-advance-state-init-plan-never-through-direct-write-edit-tool-calls.flow-agents-workflow.ac8-sidecar-governance-wording-fixed-kits-builder-skills-deliver-skill-md-execute-plan-skill-md-plan-work-skill-md-agents-tool-planner-json-and-agents-tool-verifier-json-all-state-that-state-json-handoff-json-updates-including-the-orchestrator-s-own-are-routed-through-npm-run-workflow-sidecar-advance-state-init-plan-never-through-direct-write-edit-tool-calls",
902
+ "status": "verified",
903
+ "actor": "flow-agents/workflow-sidecar",
904
+ "method": "validation",
905
+ "evidenceIds": [],
906
+ "createdAt": "2026-07-02T00:23:16Z",
907
+ "verifiedAt": "2026-07-02T00:23:16Z"
908
+ },
909
+ {
910
+ "id": "evt:ws3-kit-dependencies-namespacing-ac9-sidecar-portability-fixed-flow-agents-validate-artifacts-resolves-its-json-schemas-relative-to-its-own-installed-package-location-not-process-cwd-and-runs-successfully-via-npx-package-kontourai-flow-agents-flow-agents-validate-artifacts-require-sidecars-dir-from-a-directory-with-no-local-schemas-folder.flow-agents-workflow.ac9-sidecar-portability-fixed-flow-agents-validate-artifacts-resolves-its-json-schemas-relative-to-its-own-installed-package-location-not-process-cwd-and-runs-successfully-via-npx-package-kontourai-flow-agents-flow-agents-validate-artifacts-require-sidecars-dir-from-a-directory-with-no-local-schemas-folder",
911
+ "claimId": "ws3-kit-dependencies-namespacing-ac9-sidecar-portability-fixed-flow-agents-validate-artifacts-resolves-its-json-schemas-relative-to-its-own-installed-package-location-not-process-cwd-and-runs-successfully-via-npx-package-kontourai-flow-agents-flow-agents-validate-artifacts-require-sidecars-dir-from-a-directory-with-no-local-schemas-folder.flow-agents-workflow.ac9-sidecar-portability-fixed-flow-agents-validate-artifacts-resolves-its-json-schemas-relative-to-its-own-installed-package-location-not-process-cwd-and-runs-successfully-via-npx-package-kontourai-flow-agents-flow-agents-validate-artifacts-require-sidecars-dir-from-a-directory-with-no-local-schemas-folder",
912
+ "status": "verified",
913
+ "actor": "flow-agents/workflow-sidecar",
914
+ "method": "validation",
915
+ "evidenceIds": [],
916
+ "createdAt": "2026-07-02T00:23:16Z",
917
+ "verifiedAt": "2026-07-02T00:23:16Z"
918
+ }
919
+ ]
920
+ }