@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
package/install.sh ADDED
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ usage() {
5
+ cat >&2 <<'EOF'
6
+ usage: bash install.sh /path/to/workspace [options]
7
+
8
+ Options:
9
+ --telemetry-sink NAME local-files, local-kontour-console,
10
+ kontour-hosted-console, user-hosted-console,
11
+ or legacy aliases. May be repeated.
12
+ --console-url URL Persist Console telemetry base URL.
13
+ --console-endpoint URL Persist full Console telemetry records endpoint URL.
14
+ --console-token-file PATH
15
+ Read Console telemetry bearer token from a file.
16
+ --console-tenant ID Persist Console tenant identifier.
17
+ EOF
18
+ }
19
+
20
+ DEST=""
21
+ CONSOLE_CONFIG_ARGS=()
22
+ while [[ $# -gt 0 ]]; do
23
+ case "$1" in
24
+ --telemetry-sink|--telemetry-sinks|--console-url|--console-endpoint|--console-endpoint-url|--console-token-file|--console-tenant|--console-tenant-id)
25
+ [[ $# -ge 2 ]] || { echo "install.sh: $1 requires a value" >&2; exit 2; }
26
+ CONSOLE_CONFIG_ARGS+=("$1" "$2")
27
+ shift 2
28
+ ;;
29
+ --help|-h)
30
+ usage
31
+ exit 0
32
+ ;;
33
+ -*)
34
+ echo "install.sh: unknown option: $1" >&2
35
+ usage
36
+ exit 2
37
+ ;;
38
+ *)
39
+ if [[ -n "$DEST" ]]; then
40
+ echo "install.sh: unexpected argument: $1" >&2
41
+ usage
42
+ exit 2
43
+ fi
44
+ DEST="$1"
45
+ shift
46
+ ;;
47
+ esac
48
+ done
49
+ [[ -n "$DEST" ]] || { usage; exit 2; }
50
+ SRC="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
51
+
52
+ mkdir -p "$DEST"
53
+ rsync -a "$SRC"/ "$DEST"/
54
+ if [[ -n "${FLOW_AGENTS_PACKS:-}" ]]; then
55
+ FILTER_SCRIPT="$DEST/scripts/filter-installed-packs.mjs"
56
+ if [[ ! -f "$FILTER_SCRIPT" ]]; then
57
+ FILTER_SCRIPT="$DEST/scripts/filter-installed-packs.js"
58
+ fi
59
+ node "$FILTER_SCRIPT" "$DEST" --packs "$FLOW_AGENTS_PACKS"
60
+ fi
61
+ if [[ ${#CONSOLE_CONFIG_ARGS[@]} -gt 0 || -n "${FLOW_AGENTS_TELEMETRY_SINK:-}" || -n "${FLOW_AGENTS_TELEMETRY_SINKS:-}" || -n "${FLOW_AGENTS_CONSOLE_URL:-}" || -n "${CONSOLE_TELEMETRY_URL:-}" || -n "${CONSOLE_URL:-}" || -n "${FLOW_AGENTS_CONSOLE_TOKEN_FILE:-}" || -n "${CONSOLE_TELEMETRY_TOKEN_FILE:-}" ]]; then
62
+ bash "$DEST/scripts/telemetry/install-console-config.sh" "$DEST/scripts/telemetry/telemetry.conf" "${CONSOLE_CONFIG_ARGS[@]}"
63
+ fi
64
+ echo "Installed Flow Agents bundle into $DEST"
@@ -0,0 +1,138 @@
1
+ {
2
+ "name": "flow-agents",
3
+ "kind": "repo-adapter",
4
+ "policy": {
5
+ "defaultFalsePositiveReview": "unknown",
6
+ "defaultPromotionCandidate": false,
7
+ "defaultOverrideOrBypass": false
8
+ },
9
+ "graph": {
10
+ "version": 1,
11
+ "defaultResolution": {
12
+ "phase": "Flow Agents north star",
13
+ "workstream": "Portable agent workflow reliability",
14
+ "matchedArtifacts": [
15
+ "docs/north-star-roadmap.md"
16
+ ]
17
+ },
18
+ "nonSliceableInvariants": [
19
+ "Portable bundle exports stay installable across Codex, Claude Code, and Kiro",
20
+ "Workflow contract changes include validation coverage",
21
+ "Hook and sidecar behavior stays evidence-backed"
22
+ ],
23
+ "resolverPrecedence": [
24
+ "active workflow sidecar under .flow-agents",
25
+ "north-star roadmap workstream",
26
+ "repo surface fallback"
27
+ ],
28
+ "nodes": [
29
+ {
30
+ "id": "flow-agents.workflow",
31
+ "kind": "governance-surface",
32
+ "label": "workflow contracts and sidecars",
33
+ "patterns": [
34
+ "context/contracts/",
35
+ "schemas/",
36
+ "src/cli/workflow-sidecar.ts",
37
+ "src/cli/validate-workflow-artifacts.ts"
38
+ ],
39
+ "boundary": "advisory",
40
+ "owners": [
41
+ "flow-agents-core"
42
+ ]
43
+ },
44
+ {
45
+ "id": "flow-agents.hooks",
46
+ "kind": "tooling-surface",
47
+ "label": "runtime hooks",
48
+ "patterns": [
49
+ "scripts/hooks/"
50
+ ],
51
+ "boundary": "advisory",
52
+ "owners": [
53
+ "flow-agents-runtime"
54
+ ]
55
+ },
56
+ {
57
+ "id": "flow-agents.docs",
58
+ "kind": "product-surface",
59
+ "label": "docs and guidebook",
60
+ "patterns": [
61
+ "docs/"
62
+ ],
63
+ "boundary": "advisory",
64
+ "owners": [
65
+ "flow-agents-docs"
66
+ ]
67
+ },
68
+ {
69
+ "id": "flow-agents.skills",
70
+ "kind": "product-surface",
71
+ "label": "skills and powers",
72
+ "patterns": [
73
+ "skills/",
74
+ "powers/"
75
+ ],
76
+ "boundary": "advisory",
77
+ "owners": [
78
+ "flow-agents-core"
79
+ ]
80
+ },
81
+ {
82
+ "id": "flow-agents.evals",
83
+ "kind": "verification-surface",
84
+ "label": "evals",
85
+ "patterns": [
86
+ "evals/"
87
+ ],
88
+ "boundary": "advisory",
89
+ "owners": [
90
+ "flow-agents-quality"
91
+ ]
92
+ },
93
+ {
94
+ "id": "flow-agents.packaging",
95
+ "kind": "delivery-surface",
96
+ "label": "bundle packaging",
97
+ "patterns": [
98
+ "packaging/",
99
+ "src/tools/build-universal-bundles.ts",
100
+ "src/tools/filter-installed-packs.ts"
101
+ ],
102
+ "boundary": "advisory",
103
+ "owners": [
104
+ "flow-agents-release"
105
+ ]
106
+ },
107
+ {
108
+ "id": "flow-agents.instructions",
109
+ "kind": "governance-surface",
110
+ "label": "agent instructions",
111
+ "patterns": [
112
+ "AGENTS.md",
113
+ "README.md"
114
+ ],
115
+ "boundary": "advisory",
116
+ "owners": [
117
+ "flow-agents-core"
118
+ ]
119
+ }
120
+ ]
121
+ },
122
+ "evidence": {
123
+ "artifactDir": ".veritas/evidence/flow-agents-readiness",
124
+ "reportTransport": "artifact",
125
+ "evidenceChecks": [
126
+ {
127
+ "id": "source-tree",
128
+ "command": "npm run validate:source",
129
+ "method": "validation",
130
+ "summary": "Validates Flow Agents canonical source tree invariants."
131
+ }
132
+ ],
133
+ "requiredEvidenceCheckIds": [
134
+ "source-tree"
135
+ ],
136
+ "uncoveredPathPolicy": "warn"
137
+ }
138
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "version": 1,
3
+ "id": "flow-agents",
4
+ "name": "Flow Agents Authority Settings",
5
+ "description": "Conservative local authority settings for recording Veritas as optional Flow Agents evidence before any release.",
6
+ "defaults": {
7
+ "mode": "advisory",
8
+ "new_rule_stage": "recommend"
9
+ },
10
+ "review_preferences": {
11
+ "human_signoff_required_for_stage_promotion": true,
12
+ "reviewer_confidence_scale": [
13
+ "low",
14
+ "medium",
15
+ "high"
16
+ ],
17
+ "major_rewrite_definition": "A change counts as a major rewrite when the reviewer replaces the main workflow, contract, or hook structure instead of making local edits."
18
+ },
19
+ "promotion_preferences": {
20
+ "evidence_checks_required_before_block": [
21
+ "npm run validate:source"
22
+ ],
23
+ "warnings_block_in_ci": false,
24
+ "require_consistent_eval_before_promotion": true
25
+ }
26
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "version": 1,
3
+ "name": "flow-agents-governance",
4
+ "description": "Local Veritas repo standards for Flow Agents development. This stays optional and adapter-boundary scoped.",
5
+ "rules": [
6
+ {
7
+ "id": "agent-instructions-remain-flow-agents-source",
8
+ "kind": "required-pattern",
9
+ "classification": "hard-invariant",
10
+ "stage": "warn",
11
+ "message": "Flow Agents source instructions must keep the canonical source-of-truth framing.",
12
+ "owner": "flow-agents-core",
13
+ "rollback_switch": null,
14
+ "match": {
15
+ "files": [
16
+ "AGENTS.md"
17
+ ],
18
+ "pattern": "Flow Agents Source"
19
+ },
20
+ "explain": {
21
+ "summary": "Agent instruction files are governance surface. They must continue to identify this repo as the canonical Flow Agents source.",
22
+ "mustDo": [
23
+ "Keep AGENTS.md present and scoped to Flow Agents source behavior.",
24
+ "Route instruction changes through normal workflow evidence."
25
+ ],
26
+ "mustNotDo": [
27
+ "Replace source-of-truth guidance with generated bundle instructions."
28
+ ],
29
+ "contextLinks": [
30
+ "docs/operating-layers.md",
31
+ "context/contracts/governance-adapter-contract.md"
32
+ ]
33
+ }
34
+ },
35
+ {
36
+ "id": "workflow-contract-changes-require-evals",
37
+ "kind": "diff-required",
38
+ "classification": "promotable-policy",
39
+ "stage": "warn",
40
+ "message": "Workflow contract or sidecar schema changes should include eval coverage.",
41
+ "owner": "flow-agents-quality",
42
+ "rollback_switch": null,
43
+ "match": {
44
+ "if-changed": "{context/contracts/,schemas/,src/cli/workflow-sidecar.ts,src/cli/validate-workflow-artifacts.ts}",
45
+ "then-require": "evals/"
46
+ },
47
+ "explain": {
48
+ "summary": "Workflow state is a reliability boundary. Contract, schema, and sidecar writer changes need executable coverage.",
49
+ "mustDo": [
50
+ "Add or update static/integration evals when workflow contracts or sidecar schemas change.",
51
+ "Record eval evidence in Flow Agents evidence sidecars."
52
+ ],
53
+ "contextLinks": [
54
+ "docs/workflow-usage-guide.md"
55
+ ]
56
+ }
57
+ },
58
+ {
59
+ "id": "hook-changes-require-hook-evals",
60
+ "kind": "diff-required",
61
+ "classification": "promotable-policy",
62
+ "stage": "warn",
63
+ "message": "Runtime hook changes should include hook influence or steering eval updates.",
64
+ "owner": "flow-agents-runtime",
65
+ "rollback_switch": null,
66
+ "match": {
67
+ "if-changed": "scripts/hooks/",
68
+ "then-require": "evals/"
69
+ },
70
+ "explain": {
71
+ "summary": "Hook behavior is a just-in-time guidance boundary. Hook changes need eval evidence that guidance still reaches agents or fails honestly.",
72
+ "mustDo": [
73
+ "Update hook integration or hook-influence cases when runtime hook behavior changes.",
74
+ "Document runtime gaps instead of implying live influence."
75
+ ],
76
+ "contextLinks": [
77
+ "evals/fixtures/hook-influence/cases.json"
78
+ ]
79
+ }
80
+ }
81
+ ]
82
+ }
@@ -0,0 +1,218 @@
1
+ {
2
+ "id": "builder.build",
3
+ "version": "1.0",
4
+ "steps": [
5
+ { "id": "pull-work", "next": "design-probe" },
6
+ { "id": "design-probe", "next": "plan" },
7
+ { "id": "plan", "next": "execute" },
8
+ { "id": "execute", "next": "verify" },
9
+ { "id": "verify", "next": "merge-ready" },
10
+ { "id": "merge-ready", "next": "pr-open" },
11
+ { "id": "pr-open", "next": "merge-ready-ci" },
12
+ { "id": "merge-ready-ci", "next": "learn" },
13
+ { "id": "learn", "next": "done" },
14
+ { "id": "done", "next": null }
15
+ ],
16
+ "gates": {
17
+ "pull-work-gate": {
18
+ "step": "pull-work",
19
+ "expects": [
20
+ {
21
+ "id": "selected-work",
22
+ "kind": "surface.claim",
23
+ "required": true,
24
+ "description": "A ready work item is selected with scope and acceptance context.",
25
+ "claim": {
26
+ "type": "builder.pull-work.selected",
27
+ "subject": "work-item",
28
+ "accepted_statuses": ["trusted", "accepted"]
29
+ }
30
+ }
31
+ ]
32
+ },
33
+ "design-probe-gate": {
34
+ "step": "design-probe",
35
+ "expects": [
36
+ {
37
+ "id": "pickup-probe-readiness",
38
+ "kind": "surface.claim",
39
+ "required": true,
40
+ "description": "Pickup Probe evidence is recorded before planning: goal fit and scope, blockers and dependencies, dependency freshness, acceptance criteria quality, provider state, risk, stop-short risks, planning readiness, decisions, unresolved questions, accepted gaps, probe_status, probe_artifact_ref, grouping decision, expected modified files, and conflict risks.",
41
+ "claim": {
42
+ "type": "builder.design-probe.pickup-readiness",
43
+ "subject": "work-item",
44
+ "accepted_statuses": ["trusted", "accepted"]
45
+ }
46
+ },
47
+ {
48
+ "id": "probe-decisions-or-accepted-gaps",
49
+ "kind": "surface.claim",
50
+ "required": true,
51
+ "description": "Planning is blocked until pickup Probe decisions are captured in the pull-work or plan handoff artifact, or unresolved questions are explicitly recorded as accepted gaps. Stale broad continuation language after a merge is not sufficient for planning newly selected work.",
52
+ "claim": {
53
+ "type": "builder.design-probe.decisions",
54
+ "subject": "decision",
55
+ "accepted_statuses": ["trusted", "accepted"]
56
+ }
57
+ }
58
+ ]
59
+ },
60
+ "plan-gate": {
61
+ "step": "plan",
62
+ "expects": [
63
+ {
64
+ "id": "implementation-plan",
65
+ "kind": "surface.claim",
66
+ "required": true,
67
+ "description": "The implementation plan names files, changes, acceptance evidence, and sequencing.",
68
+ "claim": {
69
+ "type": "builder.plan.implementation",
70
+ "subject": "artifact",
71
+ "accepted_statuses": ["trusted", "accepted"]
72
+ }
73
+ }
74
+ ]
75
+ },
76
+ "execute-gate": {
77
+ "step": "execute",
78
+ "expects": [
79
+ {
80
+ "id": "implementation-scope",
81
+ "kind": "surface.claim",
82
+ "required": true,
83
+ "description": "The implementation scope records changed files and excludes unrelated work.",
84
+ "claim": {
85
+ "type": "builder.execute.scope",
86
+ "subject": "change",
87
+ "accepted_statuses": ["trusted", "accepted"]
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ "verify-gate": {
93
+ "step": "verify",
94
+ "on_route_back": {
95
+ "missing_evidence": "verify",
96
+ "implementation_defect": "execute",
97
+ "plan_gap": "plan",
98
+ "decision_gap": "design-probe",
99
+ "default": "verify"
100
+ },
101
+ "route_back_policy": {
102
+ "max_attempts": 3,
103
+ "on_exceeded": "block"
104
+ },
105
+ "expects": [
106
+ {
107
+ "id": "tests-evidence",
108
+ "kind": "surface.claim",
109
+ "required": true,
110
+ "description": "Relevant tests or checks have evidence tied to the implemented change.",
111
+ "claim": {
112
+ "type": "builder.verify.tests",
113
+ "subject": "flow-step",
114
+ "accepted_statuses": ["trusted", "accepted"]
115
+ }
116
+ },
117
+ {
118
+ "id": "policy-compliance",
119
+ "kind": "surface.claim",
120
+ "required": false,
121
+ "description": "Policy compliance evidence is attached when policy gates apply.",
122
+ "explore_hint": "Use as advisory evidence for scope, security, privacy, release, or repository policy checks.",
123
+ "claim": {
124
+ "type": "builder.verify.policy-compliance",
125
+ "subject": "artifact",
126
+ "accepted_statuses": ["trusted", "accepted", "advisory"]
127
+ }
128
+ }
129
+ ]
130
+ },
131
+ "merge-ready-gate": {
132
+ "step": "merge-ready",
133
+ "on_route_back": {
134
+ "missing_evidence": "verify",
135
+ "implementation_defect": "execute",
136
+ "plan_gap": "plan",
137
+ "decision_gap": "design-probe",
138
+ "default": "verify"
139
+ },
140
+ "route_back_policy": {
141
+ "max_attempts": 3,
142
+ "on_exceeded": "block"
143
+ },
144
+ "expects": [
145
+ {
146
+ "id": "merge-readiness",
147
+ "kind": "surface.claim",
148
+ "required": true,
149
+ "description": "The change is ready for merge review based on scope, evidence, and unresolved risks.",
150
+ "claim": {
151
+ "type": "builder.merge-ready.readiness",
152
+ "subject": "change",
153
+ "accepted_statuses": ["trusted", "accepted"]
154
+ }
155
+ }
156
+ ]
157
+ },
158
+ "pr-open-gate": {
159
+ "step": "pr-open",
160
+ "expects": [
161
+ {
162
+ "id": "pull-request-opened",
163
+ "kind": "surface.claim",
164
+ "required": true,
165
+ "description": "A pull request exists with linked work, implementation summary, and verification evidence.",
166
+ "claim": {
167
+ "type": "builder.pr-open.pull-request",
168
+ "subject": "pull-request",
169
+ "accepted_statuses": ["trusted", "accepted"]
170
+ }
171
+ }
172
+ ]
173
+ },
174
+ "merge-ready-ci-gate": {
175
+ "step": "merge-ready-ci",
176
+ "expects": [
177
+ {
178
+ "id": "ci-merge-readiness",
179
+ "kind": "surface.claim",
180
+ "required": true,
181
+ "description": "CI and review status support a merge-ready decision.",
182
+ "claim": {
183
+ "type": "builder.merge-ready-ci.readiness",
184
+ "subject": "pull-request",
185
+ "accepted_statuses": ["trusted", "accepted"]
186
+ }
187
+ }
188
+ ]
189
+ },
190
+ "learn-gate": {
191
+ "step": "learn",
192
+ "expects": [
193
+ {
194
+ "id": "decision-evidence",
195
+ "kind": "surface.claim",
196
+ "required": true,
197
+ "description": "Durable decision evidence from the build is recorded.",
198
+ "claim": {
199
+ "type": "builder.learn.decisions",
200
+ "subject": "decision",
201
+ "accepted_statuses": ["trusted", "accepted"]
202
+ }
203
+ },
204
+ {
205
+ "id": "learning-evidence",
206
+ "kind": "surface.claim",
207
+ "required": true,
208
+ "description": "Learning evidence from delivery is recorded for future work.",
209
+ "claim": {
210
+ "type": "builder.learn.evidence",
211
+ "subject": "release",
212
+ "accepted_statuses": ["trusted", "accepted"]
213
+ }
214
+ }
215
+ ]
216
+ }
217
+ }
218
+ }
@@ -0,0 +1,127 @@
1
+ {
2
+ "id": "builder.shape",
3
+ "version": "1.0",
4
+ "steps": [
5
+ { "id": "shape", "next": "breakdown" },
6
+ { "id": "breakdown", "next": "file-issues" },
7
+ { "id": "file-issues", "next": "shape-done" },
8
+ { "id": "shape-done", "next": null }
9
+ ],
10
+ "gates": {
11
+ "shape-gate": {
12
+ "step": "shape",
13
+ "expects": [
14
+ {
15
+ "id": "shaped-problem",
16
+ "kind": "surface.claim",
17
+ "required": true,
18
+ "description": "The problem is stated in terms a builder can act on.",
19
+ "claim": {
20
+ "type": "builder.shape.problem",
21
+ "subject": "decision",
22
+ "accepted_statuses": ["trusted", "accepted"]
23
+ }
24
+ },
25
+ {
26
+ "id": "shaped-outcome",
27
+ "kind": "surface.claim",
28
+ "required": true,
29
+ "description": "The intended outcome is explicit enough to evaluate later.",
30
+ "claim": {
31
+ "type": "builder.shape.outcome",
32
+ "subject": "flow-run",
33
+ "accepted_statuses": ["trusted", "accepted"]
34
+ }
35
+ },
36
+ {
37
+ "id": "shaped-constraints",
38
+ "kind": "surface.claim",
39
+ "required": true,
40
+ "description": "Constraints that affect implementation are captured.",
41
+ "claim": {
42
+ "type": "builder.shape.constraints",
43
+ "subject": "decision",
44
+ "accepted_statuses": ["trusted", "accepted"]
45
+ }
46
+ },
47
+ {
48
+ "id": "shaped-non-goals",
49
+ "kind": "surface.claim",
50
+ "required": true,
51
+ "description": "Non-goals are named so the build stays scoped.",
52
+ "claim": {
53
+ "type": "builder.shape.non-goals",
54
+ "subject": "decision",
55
+ "accepted_statuses": ["trusted", "accepted"]
56
+ }
57
+ },
58
+ {
59
+ "id": "shaped-success",
60
+ "kind": "surface.claim",
61
+ "required": true,
62
+ "description": "Success criteria are concrete enough for verification.",
63
+ "claim": {
64
+ "type": "builder.shape.success",
65
+ "subject": "artifact",
66
+ "accepted_statuses": ["trusted", "accepted"]
67
+ }
68
+ },
69
+ {
70
+ "id": "shaped-risk",
71
+ "kind": "surface.claim",
72
+ "required": true,
73
+ "description": "Material delivery risks are recorded before breakdown.",
74
+ "claim": {
75
+ "type": "builder.shape.risk",
76
+ "subject": "decision",
77
+ "accepted_statuses": ["trusted", "accepted"]
78
+ }
79
+ },
80
+ {
81
+ "id": "open-decisions",
82
+ "kind": "surface.claim",
83
+ "required": false,
84
+ "description": "Open decisions are recorded when the shape is not fully settled.",
85
+ "explore_hint": "Attach when unresolved choices could affect slices or issue boundaries.",
86
+ "claim": {
87
+ "type": "builder.shape.open-decisions",
88
+ "subject": "decision",
89
+ "accepted_statuses": ["trusted", "accepted", "advisory"]
90
+ }
91
+ }
92
+ ]
93
+ },
94
+ "breakdown-gate": {
95
+ "step": "breakdown",
96
+ "expects": [
97
+ {
98
+ "id": "slices-defined",
99
+ "kind": "surface.claim",
100
+ "required": true,
101
+ "description": "The shaped work is split into independently useful slices.",
102
+ "claim": {
103
+ "type": "builder.breakdown.slices",
104
+ "subject": "work-item",
105
+ "accepted_statuses": ["trusted", "accepted"]
106
+ }
107
+ }
108
+ ]
109
+ },
110
+ "file-issues-gate": {
111
+ "step": "file-issues",
112
+ "expects": [
113
+ {
114
+ "id": "work-items-filed",
115
+ "kind": "surface.claim",
116
+ "required": true,
117
+ "description": "Work items are filed or otherwise recorded with enough context to pull later.",
118
+ "claim": {
119
+ "type": "builder.file-issues.work-items",
120
+ "subject": "work-item",
121
+ "accepted_statuses": ["trusted", "accepted"]
122
+ }
123
+ }
124
+ ]
125
+ }
126
+ }
127
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "id": "builder",
4
+ "name": "Builder Kit",
5
+ "product_name": "Builder Kit",
6
+ "description": "A Flow Kit for shaping work, breaking it down, building changes, verifying evidence, preparing pull requests, checking merge readiness, and recording learning.",
7
+ "flows": [
8
+ {
9
+ "id": "builder.shape",
10
+ "path": "flows/shape.flow.json",
11
+ "description": "Shape a problem into slices and fileable work items."
12
+ },
13
+ {
14
+ "id": "builder.build",
15
+ "path": "flows/build.flow.json",
16
+ "description": "Pull ready work through design probing, planning, implementation, verification, pull request readiness, merge readiness, and learning."
17
+ }
18
+ ]
19
+ }