@kontourai/flow-agents 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/.githooks/pre-push +11 -0
  2. package/.github/workflows/ci.yml +210 -0
  3. package/.github/workflows/docs-pages.yml +52 -0
  4. package/.github/workflows/publish-npm.yml +104 -0
  5. package/AGENTS.md +26 -0
  6. package/CHANGELOG.md +66 -0
  7. package/CODE_OF_CONDUCT.md +25 -0
  8. package/CONTEXT.md +300 -0
  9. package/CONTRIBUTING.md +44 -0
  10. package/LICENSE +201 -0
  11. package/README.md +129 -0
  12. package/SECURITY.md +33 -0
  13. package/agent-cards/dev.json +19 -0
  14. package/agents/dev.json +127 -0
  15. package/agents/tool-code-reviewer.json +61 -0
  16. package/agents/tool-dependencies-updater.json +118 -0
  17. package/agents/tool-explore-config.json +92 -0
  18. package/agents/tool-explore-deps.json +92 -0
  19. package/agents/tool-explore-entry.json +92 -0
  20. package/agents/tool-explore-patterns.json +92 -0
  21. package/agents/tool-explore-structure.json +92 -0
  22. package/agents/tool-explore-tests.json +92 -0
  23. package/agents/tool-planner.json +57 -0
  24. package/agents/tool-playwright.json +145 -0
  25. package/agents/tool-security-reviewer.json +56 -0
  26. package/agents/tool-verifier.json +61 -0
  27. package/agents/tool-worker.json +58 -0
  28. package/build/src/cli/console-learning-projection.js +123 -0
  29. package/build/src/cli/docs-preview.js +39 -0
  30. package/build/src/cli/effective-backlog-settings.js +102 -0
  31. package/build/src/cli/export-bookmarks.js +38 -0
  32. package/build/src/cli/fixture-retirement-audit.js +140 -0
  33. package/build/src/cli/flow-kit.js +138 -0
  34. package/build/src/cli/import-bookmarks.js +50 -0
  35. package/build/src/cli/init.js +239 -0
  36. package/build/src/cli/instinct-cli.js +93 -0
  37. package/build/src/cli/promote-workflow-artifact.js +63 -0
  38. package/build/src/cli/publish-change-helper.js +154 -0
  39. package/build/src/cli/pull-work-provider.js +469 -0
  40. package/build/src/cli/runtime-adapter.js +23 -0
  41. package/build/src/cli/telemetry-doctor.js +221 -0
  42. package/build/src/cli/usage-feedback.js +443 -0
  43. package/build/src/cli/validate-hook-influence.js +152 -0
  44. package/build/src/cli/validate-source-tree.js +31 -0
  45. package/build/src/cli/validate-workflow-artifacts.js +486 -0
  46. package/build/src/cli/veritas-governance.js +262 -0
  47. package/build/src/cli/workflow-artifact-cleanup-audit.js +272 -0
  48. package/build/src/cli/workflow-sidecar.js +816 -0
  49. package/build/src/cli.js +89 -0
  50. package/build/src/flow-kit/validate.js +75 -0
  51. package/build/src/lib/args.js +45 -0
  52. package/build/src/lib/fs.js +62 -0
  53. package/build/src/lib/workflow-learning-projection.js +334 -0
  54. package/build/src/runtime-adapters.js +146 -0
  55. package/build/src/tools/build-universal-bundles.js +397 -0
  56. package/build/src/tools/common.js +56 -0
  57. package/build/src/tools/filter-installed-packs.js +132 -0
  58. package/build/src/tools/generate-context-map.js +198 -0
  59. package/build/src/tools/validate-package.js +64 -0
  60. package/build/src/tools/validate-source-tree.js +622 -0
  61. package/console.telemetry.json +176 -0
  62. package/context/base-rules.md +17 -0
  63. package/context/code-review-standards.md +62 -0
  64. package/context/coding-standards.md +42 -0
  65. package/context/common/orchestrators.md +12 -0
  66. package/context/common/subagents.md +28 -0
  67. package/context/contracts/artifact-contract.md +182 -0
  68. package/context/contracts/builder-kit-workflow-state-contract.md +319 -0
  69. package/context/contracts/delivery-contract.md +69 -0
  70. package/context/contracts/execution-contract.md +53 -0
  71. package/context/contracts/governance-adapter-contract.md +67 -0
  72. package/context/contracts/planning-contract.md +85 -0
  73. package/context/contracts/review-contract.md +104 -0
  74. package/context/contracts/sandbox-policy.md +52 -0
  75. package/context/contracts/verification-contract.md +134 -0
  76. package/context/contracts/work-item-contract.md +215 -0
  77. package/context/deferred/demo-mode.md +33 -0
  78. package/context/deferred/languages/go.md +31 -0
  79. package/context/deferred/languages/python.md +31 -0
  80. package/context/deferred/languages/typescript.md +34 -0
  81. package/context/deferred/parallelization.md +35 -0
  82. package/context/deferred/worktree-isolation.md +24 -0
  83. package/context/development-workflow.md +50 -0
  84. package/context/scripts/context-budget/budget-scan.sh +166 -0
  85. package/context/scripts/detect-tools.sh +3 -0
  86. package/context/scripts/discover-agents.sh +28 -0
  87. package/context/scripts/git-status.sh +49 -0
  88. package/context/scripts/hooks/config-protection.js +79 -0
  89. package/context/scripts/hooks/desktop-notify.sh +39 -0
  90. package/context/scripts/hooks/governance-audit.sh +135 -0
  91. package/context/scripts/hooks/lib/audit-transport.sh +40 -0
  92. package/context/scripts/hooks/lib/hook-flags.js +49 -0
  93. package/context/scripts/hooks/lib/patterns.sh +57 -0
  94. package/context/scripts/hooks/lib/resolve-formatter.js +80 -0
  95. package/context/scripts/hooks/post-edit-accumulator.js +66 -0
  96. package/context/scripts/hooks/pre-commit-quality.js +194 -0
  97. package/context/scripts/hooks/quality-gate.js +93 -0
  98. package/context/scripts/hooks/report-only-guard.js +21 -0
  99. package/context/scripts/hooks/run-hook.js +136 -0
  100. package/context/scripts/hooks/stop-format-typecheck.js +141 -0
  101. package/context/scripts/hooks/stop-goal-fit.js +337 -0
  102. package/context/scripts/hooks/workflow-steering.js +250 -0
  103. package/context/scripts/telemetry/console-presets.sh +14 -0
  104. package/context/scripts/telemetry/install-console-config.sh +214 -0
  105. package/context/scripts/telemetry/lib/config.sh +85 -0
  106. package/context/scripts/telemetry/lib/enrich.sh +115 -0
  107. package/context/scripts/telemetry/lib/redact.sh +22 -0
  108. package/context/scripts/telemetry/lib/session.sh +63 -0
  109. package/context/scripts/telemetry/lib/transport.sh +183 -0
  110. package/context/scripts/telemetry/lib/usage.sh +29 -0
  111. package/context/scripts/telemetry/sync-agents.sh +173 -0
  112. package/context/scripts/telemetry/telemetry.conf +23 -0
  113. package/context/scripts/telemetry/telemetry.sh +387 -0
  114. package/context/scripts/validate-package.sh +89 -0
  115. package/context/settings/backlog-provider-settings.json +54 -0
  116. package/context/templates/core/identity.md +26 -0
  117. package/context/templates/core/user.md +15 -0
  118. package/docs/_config.yml +15 -0
  119. package/docs/_layouts/default.html +87 -0
  120. package/docs/adr/0001-flow-agents-consumes-flow.md +77 -0
  121. package/docs/adr/0002-flow-kits-as-extension-unit.md +13 -0
  122. package/docs/adr/0003-flow-agents-coordinates-kits-and-adapters.md +13 -0
  123. package/docs/adr/0004-gates-expect-surface-claims.md +15 -0
  124. package/docs/adr/0005-kubernetes-inspired-resource-contracts.md +48 -0
  125. package/docs/adr/0006-typescript-first-source-policy.md +98 -0
  126. package/docs/agent-system-guidebook.md +391 -0
  127. package/docs/agent-usage-feedback-loop.md +351 -0
  128. package/docs/assets/favicon.svg +13 -0
  129. package/docs/assets/og-image.png +0 -0
  130. package/docs/assets/site.css +774 -0
  131. package/docs/assets/site.js +139 -0
  132. package/docs/configurable-workflow-routing.md +174 -0
  133. package/docs/context-map.md +145 -0
  134. package/docs/developer-architecture.md +145 -0
  135. package/docs/developer-hook-setup.md +61 -0
  136. package/docs/fixture-ownership.md +44 -0
  137. package/docs/flow-kit-repository-contract.md +180 -0
  138. package/docs/index.md +129 -0
  139. package/docs/kontour-resource-contract.md +358 -0
  140. package/docs/migrations.md +64 -0
  141. package/docs/north-star.md +322 -0
  142. package/docs/operating-layers.md +110 -0
  143. package/docs/repository-structure.md +132 -0
  144. package/docs/sandbox-policy.md +56 -0
  145. package/docs/skills-map.md +203 -0
  146. package/docs/standards-register.md +96 -0
  147. package/docs/veritas-integration.md +165 -0
  148. package/docs/work-item-adapters.md +72 -0
  149. package/docs/workflow-artifact-lifecycle.md +141 -0
  150. package/docs/workflow-eval-strategy.md +295 -0
  151. package/docs/workflow-shared-contracts.md +51 -0
  152. package/docs/workflow-usage-guide.md +443 -0
  153. package/evals/ARCHITECTURE.md +143 -0
  154. package/evals/CONVENTIONS.md +58 -0
  155. package/evals/README.md +128 -0
  156. package/evals/acceptance/run.sh +29 -0
  157. package/evals/acceptance/test_claude_harness.sh +242 -0
  158. package/evals/acceptance/test_codex_harness.sh +108 -0
  159. package/evals/acceptance/test_kiro_harness.sh +128 -0
  160. package/evals/cases/dev/404.html +97 -0
  161. package/evals/cases/dev/code-review.yaml +44 -0
  162. package/evals/cases/dev/dashboard.html +300 -0
  163. package/evals/cases/dev/deliver.yaml +66 -0
  164. package/evals/cases/dev/dependency-update.yaml +16 -0
  165. package/evals/cases/dev/explore.yaml +20 -0
  166. package/evals/cases/dev/index.html +370 -0
  167. package/evals/cases/dev/package-lock.json +28 -0
  168. package/evals/cases/dev/package.json +16 -0
  169. package/evals/cases/dev/plan-work.yaml +20 -0
  170. package/evals/cases/dev/promptfooconfig.yaml +666 -0
  171. package/evals/cases/dev/search-first.yaml +20 -0
  172. package/evals/cases/dev/tdd-workflow.yaml +48 -0
  173. package/evals/cases/dev/verify-work.yaml +44 -0
  174. package/evals/cases/dev/workflow.yaml +34 -0
  175. package/evals/ci/run-baseline.sh +283 -0
  176. package/evals/fixtures/backlog-provider-settings/global-default.json +44 -0
  177. package/evals/fixtures/backlog-provider-settings/project-override.json +53 -0
  178. package/evals/fixtures/builder-kit-workflow-state/baseline-freshness-resolution-hint.json +139 -0
  179. package/evals/fixtures/builder-kit-workflow-state/direct-primitive-stop.json +59 -0
  180. package/evals/fixtures/builder-kit-workflow-state/empty-board-route-shape.json +55 -0
  181. package/evals/fixtures/builder-kit-workflow-state/happy-path.json +71 -0
  182. package/evals/fixtures/builder-kit-workflow-state/mid-work-resume.json +80 -0
  183. package/evals/fixtures/builder-kit-workflow-state/missing-prestep-recovery.json +65 -0
  184. package/evals/fixtures/builder-kit-workflow-state/product-build-chaining.json +60 -0
  185. package/evals/fixtures/builder-kit-workflow-state/stale-continuation-requires-new-probe.json +57 -0
  186. package/evals/fixtures/console-learning-projection/artifacts/console-learning-correction/learning.json +50 -0
  187. package/evals/fixtures/console-learning-projection/artifacts/console-learning-open-route/learning.json +41 -0
  188. package/evals/fixtures/flow-kit-repository/invalid-absolute-path/kit.json +8 -0
  189. package/evals/fixtures/flow-kit-repository/invalid-asset-section/flows/review.flow.json +6 -0
  190. package/evals/fixtures/flow-kit-repository/invalid-asset-section/kit.json +11 -0
  191. package/evals/fixtures/flow-kit-repository/invalid-duplicate-flow/flows/review.flow.json +6 -0
  192. package/evals/fixtures/flow-kit-repository/invalid-duplicate-flow/kit.json +9 -0
  193. package/evals/fixtures/flow-kit-repository/invalid-id/flows/review.flow.json +6 -0
  194. package/evals/fixtures/flow-kit-repository/invalid-id/kit.json +8 -0
  195. package/evals/fixtures/flow-kit-repository/invalid-malformed-json/kit.json +8 -0
  196. package/evals/fixtures/flow-kit-repository/invalid-missing-flow/kit.json +8 -0
  197. package/evals/fixtures/flow-kit-repository/invalid-missing-id/flows/review.flow.json +6 -0
  198. package/evals/fixtures/flow-kit-repository/invalid-missing-id/kit.json +7 -0
  199. package/evals/fixtures/flow-kit-repository/invalid-missing-schema-version/flows/review.flow.json +6 -0
  200. package/evals/fixtures/flow-kit-repository/invalid-missing-schema-version/kit.json +7 -0
  201. package/evals/fixtures/flow-kit-repository/invalid-name/flows/review.flow.json +6 -0
  202. package/evals/fixtures/flow-kit-repository/invalid-name/kit.json +8 -0
  203. package/evals/fixtures/flow-kit-repository/invalid-schema-version/flows/review.flow.json +6 -0
  204. package/evals/fixtures/flow-kit-repository/invalid-schema-version/kit.json +8 -0
  205. package/evals/fixtures/flow-kit-repository/invalid-traversal/kit.json +8 -0
  206. package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/adapters/example.json +3 -0
  207. package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/assets/example.txt +1 -0
  208. package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/docs/README.md +3 -0
  209. package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/flows/runtime.flow.json +26 -0
  210. package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/kit-evals/example.json +3 -0
  211. package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/kit-skills/mixed/SKILL.md +3 -0
  212. package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/kit.json +44 -0
  213. package/evals/fixtures/flow-kit-repository/valid-local-kit/docs/README.md +3 -0
  214. package/evals/fixtures/flow-kit-repository/valid-local-kit/flows/review.flow.json +26 -0
  215. package/evals/fixtures/flow-kit-repository/valid-local-kit/kit.json +20 -0
  216. package/evals/fixtures/hook-influence/cases.json +336 -0
  217. package/evals/fixtures/pull-work-provider/github-issues.json +170 -0
  218. package/evals/fixtures/pull-work-wip-shepherding/global-wip-informs.json +43 -0
  219. package/evals/fixtures/pull-work-wip-shepherding/personal-wip-blocks.json +42 -0
  220. package/evals/fixtures/surface-trust/accepted-claim-trust-report.json +31 -0
  221. package/evals/fixtures/surface-trust/artifact-absent.json +19 -0
  222. package/evals/fixtures/surface-trust/integrity-mismatch-trust-report.json +32 -0
  223. package/evals/fixtures/surface-trust/missing-authority-trust-report.json +27 -0
  224. package/evals/fixtures/surface-trust/provider-absent.json +19 -0
  225. package/evals/fixtures/surface-trust/rejected-claim-trust-report.json +30 -0
  226. package/evals/fixtures/surface-trust/stale-claim-trust-snapshot.json +31 -0
  227. package/evals/fixtures/usage-feedback/sample-full.jsonl +11 -0
  228. package/evals/fixtures/usage-feedback/sample-outcomes.jsonl +1 -0
  229. package/evals/fixtures/veritas-governance-adapter/fake-veritas-pass.sh +18 -0
  230. package/evals/fixtures/veritas-governance-adapter/fake-veritas-secret-fail.sh +10 -0
  231. package/evals/fixtures/veritas-governance-adapter/fake-veritas-unconfigured.sh +4 -0
  232. package/evals/integration/test_bundle_install.sh +541 -0
  233. package/evals/integration/test_console_learning_projection.sh +192 -0
  234. package/evals/integration/test_context_map.sh +65 -0
  235. package/evals/integration/test_effective_backlog_settings.sh +58 -0
  236. package/evals/integration/test_fixture_retirement_audit.sh +58 -0
  237. package/evals/integration/test_flow_agents_statusline.sh +93 -0
  238. package/evals/integration/test_flow_kit_repository.sh +90 -0
  239. package/evals/integration/test_goal_fit_hook.sh +482 -0
  240. package/evals/integration/test_hook_category_behaviors.sh +190 -0
  241. package/evals/integration/test_hook_influence_cases.sh +69 -0
  242. package/evals/integration/test_local_flow_kit_install.sh +145 -0
  243. package/evals/integration/test_publish_change_helper.sh +176 -0
  244. package/evals/integration/test_pull_work_provider.sh +140 -0
  245. package/evals/integration/test_runtime_adapter_activation.sh +106 -0
  246. package/evals/integration/test_telemetry.sh +485 -0
  247. package/evals/integration/test_telemetry_doctor.sh +193 -0
  248. package/evals/integration/test_usage_feedback_dashboard.sh +169 -0
  249. package/evals/integration/test_usage_feedback_global.sh +117 -0
  250. package/evals/integration/test_usage_feedback_import.sh +227 -0
  251. package/evals/integration/test_usage_feedback_outcomes.sh +165 -0
  252. package/evals/integration/test_usage_feedback_report.sh +263 -0
  253. package/evals/integration/test_veritas_governance_adapter.sh +235 -0
  254. package/evals/integration/test_workflow_artifact_cleanup_audit.sh +287 -0
  255. package/evals/integration/test_workflow_artifacts.sh +1247 -0
  256. package/evals/integration/test_workflow_sidecar_writer.sh +2112 -0
  257. package/evals/integration/test_workflow_steering_hook.sh +337 -0
  258. package/evals/lib/assertions/delegated-to.js +40 -0
  259. package/evals/lib/assertions/max-tool-calls.js +15 -0
  260. package/evals/lib/assertions/no-write-tools.js +27 -0
  261. package/evals/lib/assertions/pass-at-k.js +39 -0
  262. package/evals/lib/assertions/telemetry-utils.js +105 -0
  263. package/evals/lib/assertions/tool-called.js +39 -0
  264. package/evals/lib/assertions/verify-after-fix.js +61 -0
  265. package/evals/lib/claude-judge.sh +40 -0
  266. package/evals/lib/claude-provider.sh +74 -0
  267. package/evals/lib/codex-judge.sh +39 -0
  268. package/evals/lib/codex-provider.sh +81 -0
  269. package/evals/lib/eval-dev.sh +5 -0
  270. package/evals/lib/eval-judge.sh +22 -0
  271. package/evals/lib/eval-provider.sh +26 -0
  272. package/evals/lib/eval-report.sh +73 -0
  273. package/evals/lib/kiro-dev.sh +4 -0
  274. package/evals/lib/kiro-judge.sh +17 -0
  275. package/evals/lib/kiro-provider.sh +62 -0
  276. package/evals/lib/node.sh +111 -0
  277. package/evals/promptfooconfig.yaml +70 -0
  278. package/evals/run.sh +309 -0
  279. package/evals/static/test_evidence_refs.sh +141 -0
  280. package/evals/static/test_package.sh +407 -0
  281. package/evals/static/test_repo_hooks.sh +68 -0
  282. package/evals/static/test_universal_bundles.sh +274 -0
  283. package/evals/static/test_workflow_skills.sh +1207 -0
  284. package/install.sh +64 -0
  285. package/integrations/veritas/flow-agents.adapter.json +138 -0
  286. package/integrations/veritas/flow-agents.authority-settings.json +26 -0
  287. package/integrations/veritas/flow-agents.repo-standards.json +82 -0
  288. package/kits/builder/flows/build.flow.json +218 -0
  289. package/kits/builder/flows/shape.flow.json +127 -0
  290. package/kits/builder/kit.json +19 -0
  291. package/kits/catalog.json +11 -0
  292. package/package.json +130 -0
  293. package/packaging/README.md +60 -0
  294. package/packaging/manifest.json +173 -0
  295. package/packaging/packs.json +69 -0
  296. package/powers/dependency-checker/POWER.md +20 -0
  297. package/powers/dependency-checker/mcp.json +20 -0
  298. package/powers/playwright/POWER.md +25 -0
  299. package/powers/playwright/mcp.json +12 -0
  300. package/prompts/code-audit.md +123 -0
  301. package/prompts/kcommit.md +88 -0
  302. package/schemas/backlog-provider-settings.schema.json +138 -0
  303. package/schemas/workflow-acceptance.schema.json +216 -0
  304. package/schemas/workflow-critique.schema.json +113 -0
  305. package/schemas/workflow-evidence.schema.json +357 -0
  306. package/schemas/workflow-handoff.schema.json +52 -0
  307. package/schemas/workflow-learning.schema.json +223 -0
  308. package/schemas/workflow-release.schema.json +172 -0
  309. package/schemas/workflow-state.schema.json +80 -0
  310. package/scripts/README.md +111 -0
  311. package/scripts/build-universal-bundles.js +3 -0
  312. package/scripts/check-content-boundary.cjs +99 -0
  313. package/scripts/context-budget/budget-scan.sh +166 -0
  314. package/scripts/detect-tools.sh +3 -0
  315. package/scripts/discover-agents.sh +28 -0
  316. package/scripts/effective-backlog-settings.js +2 -0
  317. package/scripts/filter-installed-packs.js +2 -0
  318. package/scripts/flow-kit.js +2 -0
  319. package/scripts/generate-context-map.js +2 -0
  320. package/scripts/git-status.sh +49 -0
  321. package/scripts/hooks/claude-hook-adapter.js +174 -0
  322. package/scripts/hooks/claude-telemetry-hook.js +115 -0
  323. package/scripts/hooks/codex-hook-adapter.js +176 -0
  324. package/scripts/hooks/codex-telemetry-hook.js +95 -0
  325. package/scripts/hooks/config-protection.js +79 -0
  326. package/scripts/hooks/desktop-notify.sh +39 -0
  327. package/scripts/hooks/governance-audit.sh +135 -0
  328. package/scripts/hooks/lib/audit-transport.sh +40 -0
  329. package/scripts/hooks/lib/hook-flags.js +49 -0
  330. package/scripts/hooks/lib/patterns.sh +57 -0
  331. package/scripts/hooks/lib/resolve-formatter.js +80 -0
  332. package/scripts/hooks/post-edit-accumulator.js +66 -0
  333. package/scripts/hooks/pre-commit-quality.js +194 -0
  334. package/scripts/hooks/quality-gate.js +93 -0
  335. package/scripts/hooks/report-only-guard.js +21 -0
  336. package/scripts/hooks/run-hook.js +136 -0
  337. package/scripts/hooks/stop-format-typecheck.js +141 -0
  338. package/scripts/hooks/stop-goal-fit.js +337 -0
  339. package/scripts/hooks/workflow-steering.js +250 -0
  340. package/scripts/install-codex-home.sh +106 -0
  341. package/scripts/package.json +3 -0
  342. package/scripts/promote-workflow-artifact.js +2 -0
  343. package/scripts/publish-change-helper.js +2 -0
  344. package/scripts/pull-work-provider.js +2 -0
  345. package/scripts/setup-repo-hooks.sh +8 -0
  346. package/scripts/statusline/flow-agents-statusline.js +157 -0
  347. package/scripts/telemetry/console-presets.sh +14 -0
  348. package/scripts/telemetry/install-console-config.sh +214 -0
  349. package/scripts/telemetry/lib/config.sh +85 -0
  350. package/scripts/telemetry/lib/enrich.sh +115 -0
  351. package/scripts/telemetry/lib/redact.sh +22 -0
  352. package/scripts/telemetry/lib/session.sh +63 -0
  353. package/scripts/telemetry/lib/transport.sh +183 -0
  354. package/scripts/telemetry/lib/usage.sh +29 -0
  355. package/scripts/telemetry/sync-agents.sh +173 -0
  356. package/scripts/telemetry/telemetry.conf +23 -0
  357. package/scripts/telemetry/telemetry.sh +387 -0
  358. package/scripts/usage-feedback.js +2 -0
  359. package/scripts/validate-hook-influence-cases.js +2 -0
  360. package/scripts/validate-package.sh +89 -0
  361. package/scripts/validate-source-tree.js +9 -0
  362. package/skills/agentic-engineering/SKILL.md +62 -0
  363. package/skills/browser-test/SKILL.md +51 -0
  364. package/skills/builder-shape/SKILL.md +76 -0
  365. package/skills/context-budget/SKILL.md +40 -0
  366. package/skills/deliver/SKILL.md +241 -0
  367. package/skills/dependency-update/SKILL.md +68 -0
  368. package/skills/design-probe/SKILL.md +107 -0
  369. package/skills/eval-rebuild/SKILL.md +39 -0
  370. package/skills/evidence-gate/SKILL.md +186 -0
  371. package/skills/execute-plan/SKILL.md +110 -0
  372. package/skills/explore/SKILL.md +137 -0
  373. package/skills/feedback-loop/SKILL.md +87 -0
  374. package/skills/fix-bug/SKILL.md +133 -0
  375. package/skills/frontend-design/SKILL.md +80 -0
  376. package/skills/github-cli/SKILL.md +63 -0
  377. package/skills/idea-to-backlog/SKILL.md +267 -0
  378. package/skills/knowledge-capture/SKILL.md +55 -0
  379. package/skills/learning-review/SKILL.md +115 -0
  380. package/skills/pickup-probe/SKILL.md +114 -0
  381. package/skills/plan-work/SKILL.md +176 -0
  382. package/skills/pull-work/SKILL.md +309 -0
  383. package/skills/release-readiness/SKILL.md +121 -0
  384. package/skills/review-work/SKILL.md +161 -0
  385. package/skills/search-first/SKILL.md +66 -0
  386. package/skills/tdd-workflow/SKILL.md +140 -0
  387. package/skills/verify-work/SKILL.md +109 -0
  388. package/src/cli/console-learning-projection.ts +140 -0
  389. package/src/cli/effective-backlog-settings.ts +99 -0
  390. package/src/cli/fixture-retirement-audit.ts +154 -0
  391. package/src/cli/flow-kit.ts +139 -0
  392. package/src/cli/init.ts +248 -0
  393. package/src/cli/promote-workflow-artifact.ts +64 -0
  394. package/src/cli/publish-change-helper.ts +143 -0
  395. package/src/cli/pull-work-provider.ts +481 -0
  396. package/src/cli/runtime-adapter.ts +24 -0
  397. package/src/cli/telemetry-doctor.ts +243 -0
  398. package/src/cli/usage-feedback.ts +418 -0
  399. package/src/cli/validate-hook-influence.ts +119 -0
  400. package/src/cli/validate-source-tree.ts +30 -0
  401. package/src/cli/validate-workflow-artifacts.ts +411 -0
  402. package/src/cli/veritas-governance.ts +322 -0
  403. package/src/cli/workflow-artifact-cleanup-audit.ts +281 -0
  404. package/src/cli/workflow-sidecar.ts +676 -0
  405. package/src/cli.ts +95 -0
  406. package/src/flow-kit/validate.ts +74 -0
  407. package/src/lib/args.ts +43 -0
  408. package/src/lib/fs.ts +62 -0
  409. package/src/lib/workflow-learning-projection.ts +491 -0
  410. package/src/runtime-adapters.ts +154 -0
  411. package/src/tools/build-universal-bundles.ts +366 -0
  412. package/src/tools/common.ts +61 -0
  413. package/src/tools/filter-installed-packs.ts +129 -0
  414. package/src/tools/generate-context-map.ts +199 -0
  415. package/src/tools/validate-package.ts +57 -0
  416. package/src/tools/validate-source-tree.ts +488 -0
  417. package/tsconfig.json +19 -0
  418. package/veritas.claims.json +6 -0
@@ -0,0 +1,176 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "product": {
4
+ "id": "flow-agents",
5
+ "name": "Flow Agents"
6
+ },
7
+ "recordSources": [
8
+ {
9
+ "id": "flow-agents-workflow-state",
10
+ "label": "Workflow state",
11
+ "root": "product:flow-agents:.flow-agents",
12
+ "files": ["state.json"],
13
+ "attributes": {
14
+ "taskSlug": "task_slug",
15
+ "repo": "repo",
16
+ "project": "project",
17
+ "runtime": "runtime",
18
+ "flow": "flow_id",
19
+ "skill": "skill_id",
20
+ "agent": "agent_id",
21
+ "model": "model",
22
+ "status": "status",
23
+ "phase": "phase",
24
+ "outcome": "outcome",
25
+ "title": "summary",
26
+ "observedAt": "updated_at"
27
+ }
28
+ },
29
+ {
30
+ "id": "flow-agents-acceptance",
31
+ "label": "Acceptance criteria",
32
+ "root": "product:flow-agents:.flow-agents",
33
+ "files": ["acceptance.json"],
34
+ "attributes": {
35
+ "taskSlug": "task_slug",
36
+ "repo": "repo",
37
+ "project": "project",
38
+ "flow": "flow_id",
39
+ "skill": "skill_id",
40
+ "status": "status",
41
+ "outcome": "goal_fit.status",
42
+ "title": "summary",
43
+ "observedAt": "updated_at"
44
+ }
45
+ },
46
+ {
47
+ "id": "flow-agents-evidence",
48
+ "label": "Verification evidence",
49
+ "root": "product:flow-agents:.flow-agents",
50
+ "files": ["evidence.json"],
51
+ "attributes": {
52
+ "taskSlug": "task_slug",
53
+ "repo": "repo",
54
+ "project": "project",
55
+ "runtime": "runtime",
56
+ "flow": "flow_id",
57
+ "skill": "skill_id",
58
+ "agent": "verifier.agent_id",
59
+ "model": "verifier.model",
60
+ "status": "verdict",
61
+ "outcome": "verdict",
62
+ "title": "summary",
63
+ "observedAt": "updated_at"
64
+ }
65
+ },
66
+ {
67
+ "id": "flow-agents-handoffs",
68
+ "label": "Handoffs",
69
+ "root": "product:flow-agents:.flow-agents",
70
+ "files": ["handoff.json"],
71
+ "attributes": {
72
+ "taskSlug": "task_slug",
73
+ "repo": "repo",
74
+ "project": "project",
75
+ "runtime": "runtime",
76
+ "flow": "flow_id",
77
+ "skill": "skill_id",
78
+ "agent": "agent_id",
79
+ "model": "model",
80
+ "status": "next_action.status",
81
+ "outcome": "status",
82
+ "title": "summary",
83
+ "observedAt": "updated_at"
84
+ }
85
+ },
86
+ {
87
+ "id": "flow-agents-learning",
88
+ "label": "Learning records",
89
+ "root": "product:flow-agents:.flow-agents",
90
+ "files": ["learning.json"],
91
+ "attributes": {
92
+ "taskSlug": "task_slug",
93
+ "repo": "repo",
94
+ "project": "project",
95
+ "flow": "flow_id",
96
+ "skill": "skill_id",
97
+ "status": "status",
98
+ "title": "summary",
99
+ "observedAt": "updated_at"
100
+ }
101
+ }
102
+ ],
103
+ "facets": [
104
+ { "id": "skills", "label": "Skills", "attribute": "skill", "limit": 16 },
105
+ { "id": "tools", "label": "Tools", "attribute": "toolName", "limit": 16 },
106
+ { "id": "flows", "label": "Flows", "attribute": "flow", "limit": 16 },
107
+ { "id": "repositories", "label": "Repositories", "attribute": "repo", "limit": 16 },
108
+ { "id": "projects", "label": "Projects", "attribute": "project", "limit": 16 },
109
+ { "id": "runtimes", "label": "Runtimes", "attribute": "runtime", "limit": 12 },
110
+ { "id": "agents", "label": "Agents", "attribute": "agent", "limit": 16 },
111
+ { "id": "models", "label": "Models", "attribute": "model", "limit": 16 },
112
+ { "id": "statuses", "label": "Statuses", "attribute": "status", "limit": 12 },
113
+ { "id": "outcomes", "label": "Outcomes", "attribute": "outcome", "limit": 12 }
114
+ ],
115
+ "flows": [
116
+ {
117
+ "id": "builder.shape",
118
+ "label": "Builder shape",
119
+ "match": { "attribute": "flow", "includes": "builder.shape" },
120
+ "titleAttribute": "title",
121
+ "detailAttributes": {
122
+ "Project": "project",
123
+ "Repository": "repo",
124
+ "Task": "taskSlug",
125
+ "Status": "status",
126
+ "Outcome": "outcome",
127
+ "Phase": "phase",
128
+ "Skill": "skill",
129
+ "Agent": "agent",
130
+ "Model": "model",
131
+ "Observed": "observedAt"
132
+ },
133
+ "limit": 10
134
+ },
135
+ {
136
+ "id": "builder.build",
137
+ "label": "Builder build",
138
+ "match": { "attribute": "flow", "includes": "builder.build" },
139
+ "titleAttribute": "title",
140
+ "detailAttributes": {
141
+ "Project": "project",
142
+ "Repository": "repo",
143
+ "Task": "taskSlug",
144
+ "Status": "status",
145
+ "Outcome": "outcome",
146
+ "Phase": "phase",
147
+ "Skill": "skill",
148
+ "Agent": "agent",
149
+ "Model": "model",
150
+ "Observed": "observedAt"
151
+ },
152
+ "limit": 10
153
+ },
154
+ {
155
+ "id": "delivery",
156
+ "label": "Delivery workflows",
157
+ "match": { "attribute": "skill", "includes": "deliver" },
158
+ "titleAttribute": "title",
159
+ "limit": 10
160
+ },
161
+ {
162
+ "id": "verification",
163
+ "label": "Verification workflows",
164
+ "match": { "attribute": "skill", "includes": "verify-work" },
165
+ "titleAttribute": "title",
166
+ "limit": 10
167
+ },
168
+ {
169
+ "id": "review",
170
+ "label": "Review workflows",
171
+ "match": { "attribute": "skill", "includes": "review-work" },
172
+ "titleAttribute": "title",
173
+ "limit": 10
174
+ }
175
+ ]
176
+ }
@@ -0,0 +1,17 @@
1
+ # Base Agent Rules
2
+
3
+ The following are rules that ALL agents should follow, regardless of specialty. These apply across all projects!
4
+
5
+ ## Guidance
6
+ - If useful in the future, consider adding a note to the agents memory file (AGENTS.md) for the given project. If the content is repeatable debugging steps, consider detailing the approach in separate documentation (ie docs/<approach>.md) and linking to it with a description from the memory file (ie. AGENTS.md)
7
+
8
+
9
+ ## Guardrails
10
+ - NEVER guess at syntax or APIs — look it up or research it using available tools or specialized agents (ListAgents).
11
+ - ALWAYS assume your training data is outdated. Confirm your knowledge with available tools (ie. web) to ensure information is up-to-date.
12
+ - NEVER take destructive git actions without checking history (ie. `git diff` -- if available) first OR ensuring files are recoverable from source control in their current state -- use minimal roll backs via source control or ensure files are fully in context for immediate recovery if no source control is available
13
+ - NEVER remove code just to make things compile UNLESS part of a larger TODO plan that will bring it back - if you cannot complete a task as described surface that to the user
14
+ - NEVER "fallback" to a simpler implementation just to keep moving forward. ALWAYS check with the user before recommending "simpler" solutions because of repeated issues caused in trying to accomplish the task at hand
15
+ - ALWAYS cleanup any temporary files or configurations created for debugging purposes.
16
+ - ALWAYS check with user before committing IF there are any doubts about what should or should not be considered safe in the STAGED changes in source control
17
+ - ALWAYS plan a given task for completeness as well as prioritized for parallelization. If tasks can be independently executed, run them in parallel
@@ -0,0 +1,62 @@
1
+ # Code Review Standards
2
+
3
+ Standards for ALL agents to follow when reviewing or writing code.
4
+
5
+ ## Review Checklist
6
+
7
+ - [ ] Readable, well-named variables/functions
8
+ - [ ] Functions < 50 lines
9
+ - [ ] Files < 800 lines
10
+ - [ ] Nesting < 4 levels
11
+ - [ ] Errors handled at every level — never silently swallowed
12
+ - [ ] No hardcoded secrets or credentials
13
+ - [ ] No debug statements (`console.log`, `debugger`, `print`)
14
+ - [ ] Tests exist for new/changed logic
15
+ - [ ] Coverage >= 80%
16
+
17
+ ## Severity Levels
18
+
19
+ | Severity | Scope | Action |
20
+ |---|---|---|
21
+ | CRITICAL | Security vulnerabilities, data loss, auth bypass | BLOCK — must fix before merge |
22
+ | HIGH | Bugs, broken logic, missing error handling | WARN — should fix before merge |
23
+ | MEDIUM | Maintainability, duplication, unclear naming | INFO — fix when practical |
24
+ | LOW | Style, formatting, minor conventions | NOTE — optional |
25
+
26
+ ## Mandatory Review Triggers
27
+
28
+ - After writing or modifying code
29
+ - Before commits to shared branches
30
+ - Security-sensitive changes (auth, payments, user data)
31
+ - Architectural changes (new services, schema changes, API contracts)
32
+
33
+ ## Security Review Triggers
34
+
35
+ Review with extra scrutiny when changes touch:
36
+ - Authentication / authorization logic
37
+ - User input handling or validation
38
+ - Database queries (especially dynamic/constructed)
39
+ - File system operations
40
+ - External API calls or webhook handlers
41
+ - Cryptographic operations
42
+ - Payment or billing code
43
+
44
+ ## Common Issues to Catch
45
+
46
+ ### Security
47
+ - Hardcoded credentials or API keys
48
+ - SQL injection (unsanitized input in queries)
49
+ - XSS (unescaped user content in HTML)
50
+ - Path traversal (unsanitized file paths)
51
+ - CSRF (missing token validation on state-changing requests)
52
+
53
+ ### Code Quality
54
+ - Functions or files exceeding size limits
55
+ - Deep nesting (> 4 levels) — extract helper functions
56
+ - Missing error handling or silent catch blocks
57
+ - Direct mutation of shared state — use immutable patterns
58
+
59
+ ### Performance
60
+ - N+1 queries — batch or join instead
61
+ - Missing pagination on list endpoints
62
+ - Unbounded queries (no LIMIT, no max results)
@@ -0,0 +1,42 @@
1
+ # Coding Standards
2
+
3
+ Standards for ALL agents to follow when writing code.
4
+
5
+ ## Immutability
6
+
7
+ Always create new objects — never mutate existing ones.
8
+ - Prevents side effects and hidden state bugs
9
+ - Safe for concurrent access without locks
10
+ - Use spread operators, `Object.freeze`, or immutable data structures
11
+
12
+ ## File Organization
13
+
14
+ - Many small files > few large files
15
+ - Typical file: 200–400 lines. Hard max: 800 lines
16
+ - Organize by feature/domain, not by type (e.g., `auth/` not `controllers/`)
17
+ - One export per file when practical — colocate related helpers
18
+
19
+ ## Error Handling
20
+
21
+ - Handle errors at every level — never silently swallow
22
+ - UI: user-friendly messages, no stack traces
23
+ - Server-side: detailed context (what failed, input state, upstream cause)
24
+ - Fail fast on unrecoverable errors — don't limp along with bad state
25
+ - Always clean up resources (connections, file handles) in finally blocks
26
+
27
+ ## Input Validation
28
+
29
+ - Validate at system boundaries (API endpoints, CLI args, file reads, external data)
30
+ - Use schema-based validation where available (Zod, JSON Schema, etc.)
31
+ - Fail fast with clear error messages — include what was wrong and what's expected
32
+ - Never trust external data — validate type, range, format, and length
33
+
34
+ ## Code Quality Checklist
35
+
36
+ - [ ] Readable, well-named (variables, functions, files)
37
+ - [ ] Functions < 50 lines
38
+ - [ ] Files < 800 lines
39
+ - [ ] Nesting < 4 levels deep
40
+ - [ ] Errors handled properly at every level
41
+ - [ ] No hardcoded values (secrets, URLs, magic numbers)
42
+ - [ ] Immutable patterns used — no direct mutation of shared state
@@ -0,0 +1,12 @@
1
+ # Orchestrator Agents
2
+
3
+ You are an orchestrator agent designed for tasks that require a human-in-the-loop.
4
+
5
+ ALWAYS keep strict adherence to the following.
6
+
7
+ ## Guidelines
8
+ - Be honest about your limitations rather than producing mediocre results.
9
+ - IF the user asks about functionality that you don't have access to, list the available subagents to see if we can delegate the request. NEVER assume you have access to a subagent without first looking at your available subagents.
10
+ - ALWAYS be thorough! Remember, you are the brains of the operation
11
+ - When opportunities arise to parallelize instructions to a subagent make a plan.
12
+ - Don't immediately give up until multiple avenues have been explored and let the user know what you tried and why, including any relevant citations
@@ -0,0 +1,28 @@
1
+ # Subagent Guidelines
2
+
3
+ You are a subagent — a specialist invoked by an orchestrator to complete a focused task. Follow these rules strictly.
4
+
5
+ ## No Guessing
6
+ - NEVER fabricate, assume, or infer information you don't have
7
+ - If your tools return no results, say so — do not fill gaps with speculation
8
+ - If the orchestrator's request is ambiguous or missing critical details, push back immediately with a clear description of what you need before proceeding
9
+
10
+ ## Insufficient Context Handoff
11
+ When the orchestrator has not provided enough detail to complete the task:
12
+ 1. Do NOT attempt a partial or best-effort answer
13
+ 2. Respond with exactly what is missing and why you need it
14
+ 3. If the missing context is something the orchestrator should already have, say so directly
15
+
16
+ Example: "I cannot complete this request — I need the account name and time period to search. Please provide these and re-delegate."
17
+
18
+ ## Out-of-Scope Requests
19
+ If the request falls outside your area of expertise:
20
+ 1. State clearly that the request is outside your scope
21
+ 2. Suggest which type of agent would be better suited (if you know)
22
+ 3. Do NOT attempt the work anyway
23
+
24
+ ## Response Quality
25
+ - Be concise and factual
26
+ - Include dates and sources when available
27
+ - Structure responses so the orchestrator can act on them immediately
28
+ - If results are partial, clearly label what was found vs what was not
@@ -0,0 +1,182 @@
1
+ # Workflow Artifact Contract
2
+
3
+ Workflow artifacts are the durable handoff surface between orchestrators, workers, verifiers, hooks, evals, and future sessions.
4
+
5
+ ## Artifact Root
6
+
7
+ Use the task artifact root defined by the active distribution's bundle instructions. This source repo has a historical default task root, but distributions may substitute their own root during export.
8
+
9
+ Do not hard-code a different root inside a skill or agent when the distribution has already defined one.
10
+
11
+ In this source tree, `.flow-agents/<slug>/` is the local runtime/session state root by default. Exported agent bundles may map the runtime root to a distribution-specific path through their bundle instructions; treat those paths as local runtime roots, not durable product documentation.
12
+
13
+ The artifact root is local working memory unless a workflow explicitly promotes or publishes it:
14
+
15
+ - Keep active plans, handoffs, sidecars, temporary evidence, verifier notes, and parallel-worker progress in the runtime root.
16
+ - When in-progress planning must be reviewable across people or sessions, promote the durable summary, decisions, and evidence pointers into docs, source, schemas, or provider records.
17
+ - Archive completed local records under `<artifact-root>/<slug>/archive/<date>/` when they are useful for audit or recovery but should not remain the active session.
18
+ - Promote stable decisions, usage guidance, release notes, and accepted architecture changes into durable docs such as `docs/`, ADRs, changelogs, or provider-backed descriptions/comments.
19
+ - Publish provider records only through the provider adapter or explicit publish-change step. Provider records may link back to local artifacts, but they do not make local runtime files durable by themselves.
20
+ - Do not commit local workflow runtime roots such as `.flow-agents/<slug>/` as durable policy unless a repository-specific contract explicitly says that artifact is promoted.
21
+ - Do not commit local workflow runtime roots such as `.flow-agents/<slug>/`; final acceptance must promote durable content before merge.
22
+
23
+ ## Required Artifact Types
24
+
25
+ ### Structured Sidecars
26
+
27
+ Markdown artifacts remain the human-readable handoff surface. JSON sidecars are the machine-readable recovery and gate surface. When a workflow creates or updates the corresponding information, write the sidecar beside the Markdown artifacts in `.flow-agents/<slug>/`.
28
+
29
+ Draft sidecars:
30
+
31
+ - `state.json` follows `schemas/workflow-state.schema.json`
32
+ - `acceptance.json` follows `schemas/workflow-acceptance.schema.json`
33
+ - `evidence.json` follows `schemas/workflow-evidence.schema.json`
34
+ - `handoff.json` follows `schemas/workflow-handoff.schema.json`
35
+ - `critique.json` follows `schemas/workflow-critique.schema.json`
36
+ - `release.json` follows `schemas/workflow-release.schema.json`
37
+ - `learning.json` follows `schemas/workflow-learning.schema.json`
38
+
39
+ Sidecar rules:
40
+
41
+ - Keep `schema_version` at `1.0` until the schema changes incompatibly.
42
+ - Keep `task_slug` stable across all sidecars for a workflow.
43
+ - Prefer `npm run workflow:sidecar --` for creating and updating sidecars. If a harness cannot run the writer, produce equivalent JSON and validate it with `npm run workflow:validate-artifacts --`.
44
+ - Use `npm run workflow:sidecar -- ensure-session` when available to create or select the current `.flow-agents/<slug>/` session artifact before substantial work starts.
45
+ - Update `state.json` at phase transitions.
46
+ - Create or update `acceptance.json` when planning defines or changes acceptance criteria.
47
+ - Create or update `evidence.json` when verification or evidence-gate records proof.
48
+ - Create or update `handoff.json` when work pauses, blocks, delegates, or hands off to a future session.
49
+ - Use `npm run workflow:sidecar -- advance-state` when available to keep `state.json` and `handoff.json` synchronized during phase transitions.
50
+ - Runtime `state.json` and `handoff.json` writes from the sidecar writer must pass through the transition guard. Flow owns transition semantics; Flow Agents enforces runtime sidecar transitions through an interim Flow Definition-compatible adapter until Flow core provides the authoritative validator.
51
+ - Rejected runtime transitions must fail closed before mutating `state.json` or `handoff.json` and should append diagnostics to `transition-diagnostics.jsonl` beside the workflow sidecars. Route-back attempt counts, when applicable, belong in `transition-attempts.json` rather than `state.json`.
52
+ - Create or update the configured critique artifact/sink when a reviewer, critique subagent, or human review pass evaluates the workflow; locally this is materialized as `critique.json`.
53
+ - Create or update `release.json` when release-readiness records a merge, release, deploy, hold, or rollback decision.
54
+ - Create or update `learning.json` when a learning review turns completed work, repeated friction, or accepted critique into system improvements.
55
+ - Do not let sidecars silently contradict the Markdown artifact. If they disagree, the sidecar is the machine-readable gate input and the Markdown summary should be corrected.
56
+ - Record `NOT_VERIFIED` in sidecars as `not_verified`; do not omit uncertain checks.
57
+ - For substantial work, critique findings must be `fixed`, `accepted`, `deferred`, or `false_positive` before marking critique `pass`; open findings block a pass.
58
+ - Treat sidecars as authoritative gate inputs. Temporary verifier-local mismatch notes are observations only; before terminal delivery, the orchestrator must update or reconcile `acceptance.json`, `evidence.json`, `release.json`, and the final Markdown summary so stale mismatch notes are superseded by final evidence or release validation.
59
+
60
+ Evidence reference rules:
61
+
62
+ - `acceptance.criteria[].evidence_refs`, `evidence.checks[].artifact_refs`, and `evidence.external_evidence[].ref` use structured evidence reference objects. Legacy bare strings are not part of the schema contract.
63
+ - Every evidence reference has `kind`; allowed kinds are `source`, `command`, `artifact`, `provider`, and `external`.
64
+ - Source evidence references identify the code or documentation that supports an implementation-behavior claim and include `file`, `line_start`, `line_end`, and `excerpt`. Include `url` when a provider permalink is known.
65
+ - Provider source URLs should be immutable GitHub blob URLs pinned to a commit SHA, for example `https://github.com/<owner>/<repo>/blob/<commit-sha>/<path>#L12-L24`. Do not use branch-relative blob URLs for final provider, PR, issue, closure, or release comments.
66
+ - Before a commit/provider permalink exists, local `file` plus line fields and `excerpt` are acceptable temporary evidence. Evidence Gate should treat those refs as publish-change inputs and prefer upgrading them to immutable provider URLs before release or closure.
67
+ - Command and test proof may use `kind: "command"` with `excerpt`, `summary`, or `url` for the relevant log/artifact. Behavior acceptance claims should cite both command/test proof and source evidence unless source evidence is not applicable.
68
+ - If source evidence is not applicable, record the reason as a gap, `not_verified`, or accepted gap rather than replacing source evidence with broad prose.
69
+
70
+ Provider, PR, issue, closure, and final acceptance comments that claim implementation behavior must include an `Acceptance Evidence` table:
71
+
72
+ | AC id | Status | Command/Test Evidence | Source Evidence / Permalinks | Gaps |
73
+ | --- | --- | --- | --- | --- |
74
+
75
+ Each row maps one acceptance criterion id to its status, concrete command/test evidence, source refs or immutable provider permalinks, and any `NOT_VERIFIED` or accepted gaps. A prose-only summary is not enough for clean closure when behavior is claimed.
76
+
77
+ Canonical vocabulary:
78
+
79
+ `state.phase` is the canonical lifecycle vocabulary for machine-readable workflow state. It does not include review as a phase; review-work is represented by the required critique artifact/sink for the workflow, with `critique.json` as the current local sidecar materialization.
80
+
81
+ | Field | Values |
82
+ | --- | --- |
83
+ | `state.status` | `new`, `planning`, `planned`, `in_progress`, `blocked`, `verifying`, `verified`, `needs_decision`, `not_verified`, `failed`, `delivered`, `accepted`, `archived` |
84
+ | `state.phase` | `idea`, `backlog`, `pickup`, `planning`, `execution`, `verification`, `goal_fit`, `evidence`, `release`, `learning`, `done` |
85
+ | `next_action.status` | `continue`, `needs_user`, `blocked`, `done` |
86
+ | `acceptance.criteria[].status` | `pending`, `pass`, `fail`, `not_verified`, `accepted_gap` |
87
+ | `acceptance.goal_fit.status` | `pending`, `pass`, `fail`, `not_verified`, `accepted_gap` |
88
+ | `evidence.verdict` | `pass`, `partial`, `fail`, `not_verified` |
89
+ | `evidence.checks[].status` | `pass`, `fail`, `not_verified`, `skip` |
90
+ | `critique.status` | `pending`, `pass`, `fail`, `not_required` |
91
+ | `critique.critiques[].verdict` | `pass`, `comment`, `fail`, `not_verified` |
92
+ | `critique.critiques[].findings[].severity` | `critical`, `high`, `medium`, `low`, `info` |
93
+ | `critique.critiques[].findings[].status` | `open`, `accepted`, `fixed`, `deferred`, `false_positive` |
94
+ | `learning.status` | `pending`, `learned`, `followup_required`, `blocked` |
95
+ | `learning.records[].outcome` | `success`, `failure`, `mixed`, `unknown` |
96
+ | `learning.records[].routing[].target` | `rule`, `skill`, `power`, `agent`, `eval`, `doc`, `backlog`, `knowledge`, `none` |
97
+ | `release.decision` | `merge`, `release`, `deploy`, `hold`, `rollback_required` |
98
+ | `release.gates[].status` | `pass`, `hold`, `not_required`, `not_verified` |
99
+ | `release.rollback_plan.status` | `ready`, `not_required`, `missing` |
100
+
101
+ Sidecar ownership by phase:
102
+
103
+ - Planning owns initial `state.json`, `acceptance.json`, and `handoff.json`.
104
+ - Execution updates progress in the Markdown session artifact and uses `advance-state` when available to update `state.json` or `handoff.json` when work blocks, pauses, or changes phase.
105
+ - Verification owns `evidence.json` check details and criterion status updates in `acceptance.json`.
106
+ - Critique reviewers own the configured critique artifact/sink findings and resolution state; locally this is materialized as `critique.json`.
107
+ - Release reviewers own `release.json` gate decisions and operational readiness records.
108
+ - Learning reviewers own `learning.json` routing into durable improvements.
109
+ - Evidence Gate owns final evidence assessment, residual gaps, and next-step handoff updates.
110
+ - Release Readiness owns release/final-acceptance state after evidence passes.
111
+
112
+ Final-state reconciliation:
113
+
114
+ - Verifiers may report that local Markdown and sidecars disagree when they inspect a workflow before orchestration has finished.
115
+ - The terminal delivery state must be based on the final sidecars plus final orchestrator evidence, not on an earlier verifier-local warning.
116
+ - If the final sidecars still disagree with the Markdown artifact, the workflow cannot be treated as a clean pass.
117
+ - If the orchestrator updates the sidecars and records final validation, the final summary should name the reconciled sidecars and supersede earlier mismatch notes instead of carrying both as equal truth.
118
+
119
+ ### Session
120
+
121
+ The session artifact is the recovery point for the overall workflow.
122
+
123
+ Required fields or sections:
124
+ - title
125
+ - branch
126
+ - worktree
127
+ - created
128
+ - status
129
+ - type
130
+ - iteration when the workflow can loop
131
+ - plan reference
132
+ - execution progress
133
+ - verification report
134
+ - goal fit status when delivery is involved
135
+ - final acceptance status when merge, release, or durable documentation is involved
136
+
137
+ ### Plan
138
+
139
+ The plan artifact is the source of truth for implementation.
140
+
141
+ Required frontmatter:
142
+ ```yaml
143
+ ---
144
+ role: plan
145
+ parent: <session basename>
146
+ created: <ISO date>
147
+ ---
148
+ ```
149
+
150
+ Required sections:
151
+ - `## Plan`
152
+ - `## Definition Of Done`
153
+ - implementation waves
154
+
155
+ ### Review Or Verification
156
+
157
+ Review and verification artifacts are report-only evidence. They must not contain fixes applied by the reviewer or verifier.
158
+
159
+ Review artifacts feed the configured critique artifact/sink, locally materialized as `critique.json`, and describe code, security, architecture, standards, or maintainability findings. Verification artifacts feed `evidence.json` and describe build/test/runtime proof mapped to acceptance criteria. Do not collapse critique findings and evidence checks into one gate unless a legacy workflow has no separate review stage.
160
+
161
+ Required frontmatter:
162
+ ```yaml
163
+ ---
164
+ role: review
165
+ parent: <session basename>
166
+ created: <ISO date>
167
+ verdict: PASS | PARTIAL | FAIL | NOT_VERIFIED
168
+ ---
169
+ ```
170
+
171
+ Required sections:
172
+ - commands or checks run
173
+ - evidence mapped to acceptance criteria
174
+ - failures or gaps
175
+ - verdict
176
+
177
+ ## Continuity Rules
178
+
179
+ - Update the session artifact at each phase transition.
180
+ - Preserve links from session to plan, review, verification, final docs, and archived artifacts.
181
+ - Record `NOT_VERIFIED` explicitly. Do not convert it to PASS or hide it in a summary.
182
+ - Treat artifacts as working memory until final acceptance; promote durable decisions and usage notes to long-lived docs after merge or acceptance.