@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,139 @@
1
+ const storageKey = "flow-agents-docs-theme";
2
+ const root = document.documentElement;
3
+ const prefersDark = window.matchMedia("(prefers-color-scheme: dark)");
4
+ const mermaidApi = window.mermaid;
5
+
6
+ function currentTheme() {
7
+ return root.dataset.theme === "dark" ? "dark" : "light";
8
+ }
9
+
10
+ function updateToggleLabels() {
11
+ const label = currentTheme() === "dark" ? "Dark" : "Light";
12
+ for (const element of document.querySelectorAll("[data-theme-label]")) {
13
+ element.textContent = label;
14
+ }
15
+ }
16
+
17
+ function setTheme(theme, persist = true) {
18
+ root.dataset.theme = theme;
19
+ if (persist) {
20
+ localStorage.setItem(storageKey, theme);
21
+ }
22
+ updateToggleLabels();
23
+ }
24
+
25
+ function prepareMermaid() {
26
+ for (const block of document.querySelectorAll("code.language-mermaid, code.mermaid")) {
27
+ if (block.closest(".mermaid")) {
28
+ continue;
29
+ }
30
+ const wrapper = document.createElement("div");
31
+ wrapper.className = "mermaid";
32
+ wrapper.textContent = block.textContent;
33
+ const container = block.closest("pre");
34
+ if (container) {
35
+ container.replaceWith(wrapper);
36
+ } else {
37
+ block.replaceWith(wrapper);
38
+ }
39
+ }
40
+
41
+ for (const diagram of document.querySelectorAll("div.mermaid, section.mermaid")) {
42
+ if (!diagram.dataset.source) {
43
+ diagram.dataset.source = diagram.textContent.trim();
44
+ }
45
+ }
46
+ }
47
+
48
+ async function renderMermaid() {
49
+ if (!mermaidApi) {
50
+ return;
51
+ }
52
+ const theme = currentTheme() === "dark" ? "dark" : "base";
53
+ mermaidApi.initialize({
54
+ startOnLoad: false,
55
+ securityLevel: "strict",
56
+ theme,
57
+ themeVariables: currentTheme() === "dark"
58
+ ? {
59
+ background: "#111824",
60
+ primaryColor: "#16202d",
61
+ primaryTextColor: "#eef3f8",
62
+ primaryBorderColor: "#3d566e",
63
+ lineColor: "#5cc4e0",
64
+ secondaryColor: "#11303c",
65
+ tertiaryColor: "#0a0e13",
66
+ fontFamily: "IBM Plex Mono, monospace"
67
+ }
68
+ : {
69
+ background: "#ffffff",
70
+ primaryColor: "#ecebe4",
71
+ primaryTextColor: "#101114",
72
+ primaryBorderColor: "#9aa6b2",
73
+ lineColor: "#1f6f88",
74
+ secondaryColor: "#ddebef",
75
+ tertiaryColor: "#f5f4ef",
76
+ fontFamily: "IBM Plex Mono, monospace"
77
+ }
78
+ });
79
+
80
+ const diagrams = Array.from(document.querySelectorAll(".mermaid")).filter((diagram) => diagram.dataset.source);
81
+ diagrams.forEach((diagram, index) => {
82
+ diagram.id = diagram.id || `mermaid-${index}`;
83
+ diagram.removeAttribute("data-processed");
84
+ diagram.textContent = diagram.dataset.source;
85
+ });
86
+
87
+ if (diagrams.length) {
88
+ try {
89
+ await mermaidApi.run({ nodes: diagrams });
90
+ } catch (error) {
91
+ console.error("Mermaid render failed", error);
92
+ for (const diagram of diagrams) {
93
+ diagram.textContent = diagram.dataset.source;
94
+ diagram.classList.add("mermaid--error");
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ function setupNavDrawer() {
101
+ const toggle = document.querySelector("[data-nav-toggle]");
102
+ const rail = document.getElementById("site-rail");
103
+ const backdrop = document.querySelector("[data-nav-backdrop]");
104
+ if (!toggle || !rail || !backdrop) {
105
+ return;
106
+ }
107
+ const setOpen = (open) => {
108
+ toggle.setAttribute("aria-expanded", String(open));
109
+ rail.classList.toggle("open", open);
110
+ backdrop.hidden = !open;
111
+ document.body.classList.toggle("nav-open", open);
112
+ };
113
+ toggle.addEventListener("click", () => setOpen(toggle.getAttribute("aria-expanded") !== "true"));
114
+ backdrop.addEventListener("click", () => setOpen(false));
115
+ window.matchMedia("(min-width: 861px)").addEventListener("change", () => setOpen(false));
116
+ }
117
+
118
+ prepareMermaid();
119
+ updateToggleLabels();
120
+ setupNavDrawer();
121
+
122
+ for (const button of document.querySelectorAll("[data-theme-toggle]")) {
123
+ button.addEventListener("click", async () => {
124
+ const next = currentTheme() === "dark" ? "light" : "dark";
125
+ setTheme(next);
126
+ await renderMermaid();
127
+ });
128
+ }
129
+
130
+ prefersDark.addEventListener("change", async (event) => {
131
+ if (localStorage.getItem(storageKey)) {
132
+ return;
133
+ }
134
+ root.dataset.theme = event.matches ? "dark" : "light";
135
+ updateToggleLabels();
136
+ await renderMermaid();
137
+ });
138
+
139
+ renderMermaid();
@@ -0,0 +1,174 @@
1
+ ---
2
+ title: Configurable Workflow Routing
3
+ ---
4
+
5
+ # Configurable Workflow Routing
6
+
7
+ Configurable workflow routing is the design for choosing which provider or profile should handle each Flow Agents workflow slot. It belongs to the workflow and agent/provider-selection layer: it names who should plan, implement, review, or verify, while the workflow contracts still own state, gates, artifacts, and evidence.
8
+
9
+ This page is a design target. Flow Agents does not yet load a routing config or change runtime behavior from these examples.
10
+
11
+ ## Compatibility
12
+
13
+ No config means current behavior. If a repo or user has no routing config, the active harness, current agent profile, skills, workflow contracts, and sidecar rules behave exactly as they do today.
14
+
15
+ The first implementation slices should preserve that rule. Routing config should be opt-in, inspectable, and easy to diagnose before it affects execution.
16
+
17
+ ## Start With One Provider
18
+
19
+ The simple case is a single default provider. A user should not need to learn adapter internals, consensus backends, or advanced lane policy to say "use this provider for normal Flow Agents work."
20
+
21
+ Future config may look like this:
22
+
23
+ ```yaml
24
+ providers:
25
+ codex:
26
+ cli: codex
27
+
28
+ profiles:
29
+ default:
30
+ default: codex
31
+ ```
32
+
33
+ In this shape, every workflow slot resolves to `codex` unless a later slot override says otherwise. Planning, implementation, review, and verification still follow the same contracts from the Workflow Usage Guide and Shared Workflow Contracts:
34
+ https://github.com/kontourai/flow-agents/blob/main/docs/workflow-usage-guide.md
35
+ https://github.com/kontourai/flow-agents/blob/main/docs/workflow-shared-contracts.md
36
+
37
+ ## Slots
38
+
39
+ Slots are the workflow moments where provider choice matters. They use Flow Agents workflow vocabulary, not tool-specific command names.
40
+
41
+ | Slot | Meaning | Typical workflow owner |
42
+ | --- | --- | --- |
43
+ | `plan` | Shape an accepted work item into an implementation plan with acceptance criteria and file ownership. | `plan-work` |
44
+ | `implement` | Make source changes from the approved plan and record progress. | `execute-plan` |
45
+ | `review` | Critique the result for quality, security, correctness, or consensus findings. | critique, evidence, or review agents |
46
+ | `verify` | Run checks, map evidence to acceptance criteria, and report `PASS`, `FAIL`, or `NOT_VERIFIED`. | `verify-work` |
47
+
48
+ Slot overrides let a profile keep one default provider while choosing stronger or cheaper options for specific phases:
49
+
50
+ ```yaml
51
+ providers:
52
+ codex:
53
+ cli: codex
54
+
55
+ claude-opus:
56
+ cli: claude
57
+ model: opus
58
+
59
+ profiles:
60
+ default:
61
+ default: codex
62
+ slots:
63
+ plan: claude-opus
64
+ implement: codex
65
+ review: claude-opus
66
+ verify: codex
67
+ ```
68
+
69
+ This says: use the default provider for ordinary work, ask `claude-opus` to plan and review, and keep implementation and verification on `codex`.
70
+
71
+ ## Consensus Review
72
+
73
+ `consensus` is a Flow Agents review concept. It means more than one reviewer perspective is used for a read-only critique, and the result is normalized into Flow Agents review, critique, or evidence artifacts.
74
+
75
+ Users should be able to request consensus without knowing which backend produced it:
76
+
77
+ ```yaml
78
+ providers:
79
+ codex:
80
+ cli: codex
81
+
82
+ claude-opus:
83
+ cli: claude
84
+ model: opus
85
+
86
+ consensus-review:
87
+ mode: consensus
88
+ reviewers:
89
+ - claude-opus
90
+ - codex
91
+
92
+ profiles:
93
+ default:
94
+ default: codex
95
+ slots:
96
+ plan: claude-opus
97
+ implement: codex
98
+ review: consensus-review
99
+ verify: codex
100
+ ```
101
+
102
+ A future backend may use native subagents, separate CLI profiles, or optional MCO infrastructure to run the reviewers. That backend is not the first-class API. The user-facing promise is that consensus remains read-only review behavior and produces findings that Flow Agents can map into its normal artifact contracts.
103
+
104
+ Consensus review is not implementation routing. It should not write production files, bypass verification, or replace evidence gates.
105
+
106
+ ## Advanced Lanes
107
+
108
+ Lanes are deferred guarded overrides for bounded work. They are not a route named after task size, and this design does not define or enable runtime lane behavior yet.
109
+
110
+ A lane should eventually answer questions like:
111
+
112
+ - What kinds of work are allowed in this lane?
113
+ - Which files or directories are in scope?
114
+ - Which provider or profile may implement it?
115
+ - Which guardrails, review, and verification must pass before the work is accepted?
116
+ - What happens when the work exceeds the lane boundary?
117
+
118
+ Future config might express a guarded lane like this:
119
+
120
+ ```yaml
121
+ lanes:
122
+ docs_only:
123
+ description: Documentation changes with no runtime code edits.
124
+ allow_paths:
125
+ - docs/**
126
+ deny_paths:
127
+ - skills/**
128
+ - agents/**
129
+ - schemas/**
130
+ - scripts/**
131
+ - dist/**
132
+ slots:
133
+ implement: codex
134
+ review: consensus-review
135
+ verify: codex
136
+ ```
137
+
138
+ This example documents intent only. Guarded lanes need schema validation, conflict checks, artifact recording, and enforcement before they can safely affect execution.
139
+
140
+ ## Layer Alignment
141
+
142
+ Routing should stay aligned with Operating Layers:
143
+ https://github.com/kontourai/flow-agents/blob/main/docs/operating-layers.md
144
+
145
+ - Providers and profiles describe agent/provider selection.
146
+ - Slots connect provider selection to workflow phases.
147
+ - Workflows still own durable state, acceptance criteria, handoffs, and phase transitions.
148
+ - Evidence still owns proof, findings, validation output, and release confidence.
149
+ - Powers may expose optional tools or backend infrastructure, but they do not define Flow Agents workflow meaning.
150
+
151
+ That split keeps Flow Agents portable across Codex, Claude Code, Kiro, OpenCode, and future runtimes.
152
+
153
+ ## Non-Goals For This Slice
154
+
155
+ This design slice does not add:
156
+
157
+ - runtime config loading
158
+ - provider execution
159
+ - schema validation
160
+ - MCO integration
161
+ - consensus result normalization
162
+ - guarded lane enforcement
163
+ - generated bundle changes
164
+
165
+ Docs and examples here are vocabulary and rollout guidance for later implementation.
166
+
167
+ ## Follow-Up Slices
168
+
169
+ 1. Config schema and validation: define the config file shape, validate examples, and produce clear errors for unknown providers, slots, profiles, and lane policy.
170
+ 2. No-op routing resolution: load config and report which provider would handle each slot without changing execution.
171
+ 3. Consensus review backend: implement read-only consensus review behind a backend boundary and normalize findings into critique or evidence artifacts.
172
+ 4. Guarded lanes: design and enforce bounded policy overrides after guardrails, path scopes, artifact recording, and fallback behavior are explicit.
173
+
174
+ Each slice should preserve no-config compatibility and report `NOT_VERIFIED` when a selected provider, backend, or guardrail cannot be inspected.
@@ -0,0 +1,145 @@
1
+ ---
2
+ title: Context Map
3
+ ---
4
+
5
+ # Context Map
6
+
7
+ Generated by `npm run context-map`. Regenerate after changing agents, skills, schemas, workflow contracts, or core commands.
8
+
9
+ ## How To Use This
10
+
11
+ - Start here when a session is long, resumed, or context-constrained.
12
+ - Load only the specific skill, contract, schema, or doc that matches the task.
13
+ - Treat `.flow-agents` as runtime state and `dist/` as generated output.
14
+
15
+ ## Repository Shape
16
+
17
+ | Path | Role | Purpose |
18
+ | --- | --- | --- |
19
+ | agent-cards | canonical copy | Install/discovery cards that point at canonical agents. |
20
+ | agents | source | Canonical agent specs and routing prompts. |
21
+ | context | canonical copy | Shared contracts, routing notes, templates, and reusable guidance. |
22
+ | docs | canonical copy | Long-lived project documentation and GitHub Pages content. |
23
+ | evals | canonical copy | Static, integration, install, and behavioral eval fixtures. |
24
+ | kits | canonical copy | Project directory. |
25
+ | packaging | canonical copy | Project directory. |
26
+ | powers | canonical copy | Optional MCP/tool integration packs. |
27
+ | prompts | canonical copy | Reusable prompt entry points. |
28
+ | schemas | canonical copy | JSON Schema contracts for machine-readable workflow artifacts. |
29
+ | scripts | canonical copy | Build, validation, hook, telemetry, workflow, and import/export utilities. |
30
+ | skills | canonical copy | On-demand capability instructions and workflow primitives. |
31
+ | dist | generated | Generated bundle exports. Do not edit by hand. |
32
+ | .flow-agents | runtime | Cross-session workflow artifacts and sidecars. Not committed by default. |
33
+
34
+ ## Core Commands
35
+
36
+ | Use | Command |
37
+ | --- | --- |
38
+ | Source tree | npm run validate:source |
39
+ | Static suite | bash evals/run.sh static |
40
+ | Integration suite | bash evals/run.sh integration |
41
+ | Workflow artifacts | npm run workflow:validate-artifacts -- --require-sidecars --require-critique .flow-agents/<slug> |
42
+ | Workflow sidecars | npm run workflow:sidecar -- --help |
43
+ | Context map drift | npm run context-map:check |
44
+ | Bundle build | npm run build:bundles |
45
+
46
+ ## Workflow Sidecars
47
+
48
+ Machine-readable workflow state lives beside Markdown artifacts in `.flow-agents/<slug>/`.
49
+
50
+ | Schema | Title | ID |
51
+ | --- | --- | --- |
52
+ | backlog-provider-settings.schema.json | Flow Agents Backlog Provider Settings | https://flow-agents.dev/schemas/backlog-provider-settings.schema.json |
53
+ | workflow-acceptance.schema.json | Flow Agents Workflow Acceptance | https://flow-agents.dev/schemas/workflow-acceptance.schema.json |
54
+ | workflow-critique.schema.json | Flow Agents Workflow Critique | https://flow-agents.dev/schemas/workflow-critique.schema.json |
55
+ | workflow-evidence.schema.json | Flow Agents Workflow Evidence | https://flow-agents.dev/schemas/workflow-evidence.schema.json |
56
+ | workflow-handoff.schema.json | Flow Agents Workflow Handoff | https://flow-agents.dev/schemas/workflow-handoff.schema.json |
57
+ | workflow-learning.schema.json | Flow Agents Workflow Learning | https://flow-agents.dev/schemas/workflow-learning.schema.json |
58
+ | workflow-release.schema.json | Flow Agents Workflow Release Readiness | https://flow-agents.dev/schemas/workflow-release.schema.json |
59
+ | workflow-state.schema.json | Flow Agents Workflow State | https://flow-agents.dev/schemas/workflow-state.schema.json |
60
+
61
+ Primary tools: `npm run workflow:sidecar`, `npm run workflow:validate-artifacts`, `scripts/hooks/stop-goal-fit.js`, and `scripts/hooks/workflow-steering.js`.
62
+
63
+ ## Workflow Skills
64
+
65
+ | Skill | Source | When To Load |
66
+ | --- | --- | --- |
67
+ | deliver | skills/deliver/SKILL.md | Delivery workflow — selected work to delivered code. Ensures pull-work + pickup-probe preflight, then chains plan-work → execute-plan → review-work → verify-work → loop on failure without requiring user interaction between cleanly determ... |
68
+ | evidence-gate | skills/evidence-gate/SKILL.md | Evaluate whether completed work is trustworthy enough for human review, merge, or release. Use after implementation, verify-work, provider checks, CI, or remediation to map acceptance criteria to evidence, inspect scope integrity, classi... |
69
+ | execute-plan | skills/execute-plan/SKILL.md | Parallel execution primitive — plan artifact path to implemented code via tool-worker (x4). Reads plan directly. Updates session file between waves. |
70
+ | fix-bug | skills/fix-bug/SKILL.md | Bug fix orchestrator — diagnose → plan-work → execute-plan → review-work → verify-work → loop. Diagnosis phase is unique to bugs, then chains the same primitives. |
71
+ | idea-to-backlog | skills/idea-to-backlog/SKILL.md | Turn raw product or technical ideas into shaped, prioritized, executable GitHub issue backlog. Use for idea intake, ideation, product shaping, spike/prototype decisions, PRD-like feature briefs, prioritization, and backlog creation befor... |
72
+ | learning-review | skills/learning-review/SKILL.md | Capture post-merge, post-deploy, or post-incident learnings and feed them back into backlog, workflow skills, tests, docs, or knowledge. Use after release readiness, post-deploy checks, retrospectives, failed gates, or repeated workflow... |
73
+ | plan-work | skills/plan-work/SKILL.md | Code planning primitive — goal + directory to structured execution plan. Delegates to tool-planner. No resume, no ideation. |
74
+ | pull-work | skills/pull-work/SKILL.md | Select ready GitHub issues from the executable backlog and prepare them for implementation. Use when choosing what to work on next, reviewing a kanban-style issue board, enforcing WIP limits, grouping issues, deciding worktree isolation,... |
75
+ | release-readiness | skills/release-readiness/SKILL.md | Decide whether evidence-backed work is ready to merge, release, deploy, or hold. Use after evidence-gate PASS, before merge/release/deploy, and for post-deploy verification planning. |
76
+ | review-work | skills/review-work/SKILL.md | Review primitive - run report-only code, security, dependency, architecture/standards, and IaC/policy critique before verification; records findings through the critique artifact/sink, currently critique.json locally. |
77
+ | tdd-workflow | skills/tdd-workflow/SKILL.md | Test-driven development — RED → GREEN → REFACTOR with git checkpoints. Wraps plan-work → execute-plan → review-work → verify-work with test-first constraints and coverage gates. |
78
+ | verify-work | skills/verify-work/SKILL.md | Verification primitive — session file path to structured evidence verdict via tool-verifier + tool-playwright. Reads acceptance criteria from plan artifact. |
79
+
80
+ ## Support Skills
81
+
82
+ | Skill | Source | When To Load |
83
+ | --- | --- | --- |
84
+ | agentic-engineering | skills/agentic-engineering/SKILL.md | Eval-first execution, task decomposition, and cost-aware model routing for AI-driven development workflows. |
85
+ | browser-test | skills/browser-test/SKILL.md | Headless browser automation via Playwright — screenshots, accessibility checks, form filling, UI testing, DOM inspection. |
86
+ | builder-shape | skills/builder-shape/SKILL.md | Invoke Builder Kit shape from a raw idea or the current conversation context without requiring the user to name idea-to-backlog. Delegates shaping to idea-to-backlog, records the Builder Kit Flow Definition link, and stops at the backlog... |
87
+ | context-budget | skills/context-budget/SKILL.md | Audit token overhead across Flow Agents bundles — agent specs, skills, context files, MCP servers. Produces budget report with per-component breakdown and optimization suggestions. |
88
+ | dependency-update | skills/dependency-update/SKILL.md | Analyze and upgrade project dependencies — latest versions, security vulnerabilities, actionable update plan across all package managers. |
89
+ | design-probe | skills/design-probe/SKILL.md | Generic one-question-at-a-time design probing interview for turning unclear goals, designs, or workflow states into shared understanding before planning or execution. |
90
+ | eval-rebuild | skills/eval-rebuild/SKILL.md | Project-specific build and install commands for the eval feedback loop. Injected into eval-builder agent. Replace this skill for different build systems. |
91
+ | explore | skills/explore/SKILL.md | Parallel codebase exploration — fans out subagents to map structure, entry points, dependencies, patterns, config, and tests in one pass. |
92
+ | feedback-loop | skills/feedback-loop/SKILL.md | Verify implementation actually works. Visual changes → Playwright; integration changes → commands/tests. Run after completing builds. |
93
+ | frontend-design | skills/frontend-design/SKILL.md | Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics. |
94
+ | github-cli | skills/github-cli/SKILL.md | Interact with GitHub via gh CLI — PRs, issues, repos, releases, workflows, gists. |
95
+ | knowledge-capture | skills/knowledge-capture/SKILL.md | Save durable knowledge, lightweight pointers, user corrections, decisions, lessons, relationship context, or source references into the knowledge base. Use when the user says save, remember, capture, file this, bookmark context, or when... |
96
+ | pickup-probe | skills/pickup-probe/SKILL.md | Builder Kit work-item/docs/provider-grounded Probe specialization used at the design-probe flow step before plan-work. |
97
+ | search-first | skills/search-first/SKILL.md | Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. |
98
+
99
+ ## Agents
100
+
101
+ | Agent | Model | Tools | Role |
102
+ | --- | --- | --- | --- |
103
+ | dev | claude-opus-4.6-1m | 1 | Development agent for coding tasks. Writes, modifies, and validates code following existing patterns. Delegates to specialists for domain-specific research when available. |
104
+ | tool-code-reviewer | claude-sonnet-4.6-1m | 8 | Delegate to me for code quality review. Analyzes readability, maintainability, patterns, DRY compliance, and produces structured review with severity levels. Separate from verification (build/test/lint). |
105
+ | tool-dependencies-updater | agi-nova-beta-1m | 8 | Delegate to me for updating your project dependencies - checks latest versions, identifies outdated packages, and finds security advisories across npm, PyPI, Cargo, Maven/Gradle, Go, NuGet, Ruby, PHP, Swift, Dart, Docker, Helm, Terraform... |
106
+ | tool-explore-config | kimi-k2.5 | 6 | Delegate to me for project configuration inspection - finds and summarizes configuration files and environment variables within a project |
107
+ | tool-explore-deps | kimi-k2.5 | 6 | Delegate to me for Dependency analysis - parses package manifests to identify tech stack and dependencies |
108
+ | tool-explore-entry | kimi-k2.5 | 6 | Delegate to me to find the Entry point of a project - locates main files, CLI commands, API routes, and exports |
109
+ | tool-explore-patterns | kimi-k2.5 | 6 | Delegate to me for Pattern detection - identifies architectural patterns, frameworks, and coding conventions |
110
+ | tool-explore-structure | kimi-k2.5 | 6 | Delegate to me to scout out the project structure - maps directory layout and identifies key folders in a codebase |
111
+ | tool-explore-tests | kimi-k2.5 | 6 | Delegate to me to find and understand testing strategies - locates test files and understands testing strategy |
112
+ | tool-planner | claude-sonnet-4.6-1m | 7 | Delegate to me for codebase analysis and execution planning. Explores code, identifies patterns and dependencies, and writes plan/sidecar artifacts under .flow-agents. No production file modifications. |
113
+ | tool-playwright | claude-sonnet-4.6-1m | 25 | Delegate to me for browser automation, testing, and debugging - loading real pages, testing navigation, checking accessibility via structured snapshots, evaluating scripts, and visual verification. Anything that would otherwise require a... |
114
+ | tool-security-reviewer | claude-sonnet-4.6-1m | 7 | Delegate to me for security analysis. Checks OWASP Top 10, secrets detection, input validation, injection vulnerabilities, auth/authz, and rate limiting. Read-only analysis with shell for scanning tools. |
115
+ | tool-verifier | claude-sonnet-4.6-1m | 8 | Delegate to me for implementation verification. Read-only + shell for source code; writes review/evidence artifacts under .flow-agents. Verifies acceptance criteria and produces PASS/FAIL/NOT_VERIFIED verdicts with evidence. No productio... |
116
+ | tool-worker | claude-sonnet-4.6-1m | 1 | Delegate to me for writing and developing source code for a project. Works best when a detailed plan can be provided. NO access to web tools. Can be used in parallel for any coding tasks that require trusted access to the write and shell... |
117
+
118
+ ## Optional Powers
119
+
120
+ | Power | Source |
121
+ | --- | --- |
122
+ | dependency-checker | powers/dependency-checker/POWER.md |
123
+ | playwright | powers/playwright/POWER.md |
124
+
125
+ ## Packs
126
+
127
+ Pack composition is defined in `packaging/packs.json`. The current builder exports pack metadata in bundle catalogs, and generated install scripts support opt-in `FLOW_AGENTS_PACKS` filtering while leaving all packs installed by default.
128
+
129
+ | Pack | Default | Skills | Agents | Powers | Purpose |
130
+ | --- | --- | --- | --- | --- | --- |
131
+ | core | yes | 9 | 5 | 1 | Small default surface for reliable coding and workflow execution. |
132
+ | development | no | 17 | 9 | 1 | Development workflow depth for backlog, release, dependency, GitHub, TDD, and frontend work. |
133
+
134
+ ## Current Workflow State
135
+
136
+ Runtime workflow state is excluded from the committed map.
137
+ Regenerate locally with `npm run context-map -- --include-runtime` to include recent `.flow-agents` state.
138
+
139
+ ## Context Loading Rules
140
+
141
+ - For delivery work, load `deliver`, then the specific primitive skill for the current phase.
142
+ - For planning, verification, release, learning, or artifact validation, load `context/contracts/artifact-contract.md` plus the phase contract.
143
+ - For unknown external APIs or libraries, use `search-first` before implementation.
144
+ - For large or noisy sessions, prefer sidecars and this map over rereading broad docs.
145
+ - For generated exports, edit source files and rebuild instead of editing `dist/`.
@@ -0,0 +1,145 @@
1
+ ---
2
+ title: Developer Architecture
3
+ ---
4
+
5
+ # Developer Architecture
6
+
7
+ This guide is the local starting point for Flow Agents maintainers who need to understand how this repository coordinates with Flow, Surface, Veritas, and Builder Kit. It describes the architecture from the Flow Agents side only; product-specific runtime details remain in their owning products.
8
+
9
+ ## Orientation
10
+
11
+ Flow Agents is the agent-facing operating layer. It turns a user's intent into workflow skills, local artifacts, sidecars, checks, and handoffs that a human or another agent can inspect later.
12
+
13
+ **Current state:** Flow Agents owns the portable agent bundle, skills, contracts, local workflow artifacts, runtime-specific exports, provider wiring, and validation scripts in this repository.
14
+
15
+ **Future direction:** Flow, Surface, Veritas, Builder Kit, and other Kontour products should continue converging on shared resource shapes and gate vocabulary without making this repository the owner of every product's runtime semantics.
16
+
17
+ Use these local references when you need more detail:
18
+
19
+ - [Context glossary](../CONTEXT.md) defines Flow Agents vocabulary.
20
+ - [Repository Structure](repository-structure.md) is the canonical map for source, generated output, runtime state, packaging, eval, and cleanup boundaries.
21
+ - [ADR 0003](adr/0003-flow-agents-coordinates-kits-and-adapters.md) records the kit and adapter boundary.
22
+ - [ADR 0005](adr/0005-kubernetes-inspired-resource-contracts.md) records the Kontour Resource Contract direction.
23
+ - [Kontour Resource Contract](kontour-resource-contract.md) documents the shared durable record shape.
24
+ - [Flow Kit Repository Contract](flow-kit-repository-contract.md) documents local kit validation and activation boundaries.
25
+ - [Veritas Integration Boundary](veritas-integration.md) documents optional governance evidence.
26
+
27
+ ## Coordination Map
28
+
29
+ ```mermaid
30
+ flowchart LR
31
+ User[User intent]
32
+ Runtime[Agent runtime<br/>Codex, Claude Code, Kiro, CI]
33
+ Skills[Flow Agents skills]
34
+ Sidecars[Workflow artifacts<br/>and sidecars]
35
+ RuntimeAdapters[Runtime adapters<br/>and export]
36
+ ProviderAdapters[Provider adapters<br/>GitHub, local files, future providers]
37
+ Flow[Flow<br/>workflow semantics]
38
+ Builder[Builder Kit<br/>build workflows]
39
+ Veritas[Veritas<br/>governance evidence]
40
+ Surface[Surface<br/>portable trust state]
41
+
42
+ User --> Runtime --> Skills --> Sidecars
43
+ Skills --> RuntimeAdapters
44
+ Skills --> ProviderAdapters
45
+ RuntimeAdapters --> Runtime
46
+ Sidecars --> ProviderAdapters
47
+ Skills -. delegates workflow semantics .-> Flow
48
+ Skills -. activates Flow Kit assets .-> Builder
49
+ Skills -. records optional evidence .-> Veritas
50
+ Skills -. references trust claims .-> Surface
51
+ Veritas -. may produce .-> Surface
52
+ Builder -. uses Flow definitions .-> Flow
53
+ ```
54
+
55
+ **Current state:** Flow Agents coordinates local agent workflows with Markdown session artifacts, JSON sidecars, scripts, evals, and local docs. It validates Flow Kit repository shape and activates supported local Flow Definition assets for the implemented `codex-local` adapter.
56
+
57
+ **Future direction:** Flow should own authoritative workflow semantics, route decisions, gate enforcement, and Flow Definition validation. Flow Agents should stay the projection layer that makes those workflows usable inside agent runtimes and provider-backed workspaces.
58
+
59
+ ## Ownership Boundaries
60
+
61
+ | Product | Owns | Flow Agents boundary |
62
+ | --- | --- | --- |
63
+ | Flow Agents | Agent-facing workflow bundles, skills, sidecars, artifact contracts, evals, runtime export, provider wiring, and local-first docs. | Does not become the core workflow engine for all Kontour products and should not copy product-native rule models into this repo. |
64
+ | Flow | Generic workflow semantics, Flow Definitions, gate transitions, attempts, route-back behavior, Flow Runs, and Flow Reports. | Flow Agents may consume or project Flow concepts, but Flow owns enforcement semantics once the Flow surface is available. |
65
+ | Builder Kit | The first Kontour-authored Flow Kit for build work: shaping, pickup probes, planning, execution, review, verification, publication, release readiness, and learning workflows. | Flow Agents validates, installs, activates, and routes Builder Kit assets; it does not make every Builder Kit specialization a core Flow Agents concept. |
66
+ | Veritas | Repo-local standards, authority settings, policy/rule checks, and native governance reports. | Flow Agents records compact Veritas evidence references when configured; Veritas is optional and not a mandatory dependency for every workflow. |
67
+ | Surface | Portable trust state, claims, TrustReports, Trust Snapshots, and user-facing trust surfaces. | Flow Agents can reference Surface-shaped claims for gates, but Surface owns claim models and trust presentation. |
68
+
69
+ **Current state:** Builder Kit is the first proof point for extracting out-of-the-box behavior into normal Flow Kits. Veritas integration is documented as optional and adapter-driven. Surface references appear as a trust-state boundary in local Veritas and Builder Kit evidence docs.
70
+
71
+ **Future direction:** Flow Agents should support more runtime adapters, provider adapters, and Flow Kits without forcing all users to install Builder Kit, Veritas, Surface, or a specific hosted provider.
72
+
73
+ ## Artifact And Evidence Flow
74
+
75
+ ```mermaid
76
+ flowchart TB
77
+ Idea[Idea or request]
78
+ Backlog[Backlog / Work Item]
79
+ Probe[Alignment / Pickup Probe]
80
+ Plan[Run Plan or Execution Plan]
81
+ Execute[Execution]
82
+ Review[Review]
83
+ Verify[Verification]
84
+ Evidence[Evidence Gate]
85
+ Release[Release Gate]
86
+ Learn[Learning]
87
+
88
+ Artifacts[(Markdown artifacts)]
89
+ Sidecars[(JSON sidecars)]
90
+ Providers[(Provider records)]
91
+ Governance[(Optional governance evidence)]
92
+ Trust[(Optional Surface trust claim)]
93
+
94
+ Idea --> Backlog --> Probe --> Plan --> Execute --> Review --> Verify --> Evidence --> Release --> Learn
95
+ Plan --> Artifacts
96
+ Execute --> Artifacts
97
+ Review --> Sidecars
98
+ Verify --> Sidecars
99
+ Evidence --> Sidecars
100
+ Release --> Providers
101
+ Evidence --> Governance
102
+ Governance --> Trust
103
+ Trust --> Evidence
104
+ Review -->|finding| Execute
105
+ Verify -->|gap| Execute
106
+ Evidence -->|missing evidence| Plan
107
+ ```
108
+
109
+ **Current state:** The durable handoff surface is a pair of human-readable Markdown artifacts and machine-readable JSON sidecars under `.flow-agents/<slug>/`. Verification, critique, release, and learning records are explicit artifacts rather than hidden chat memory.
110
+
111
+ **Future direction:** Durable workflow state should converge toward Kontour Resource Contracts with versioned identity, desired state, observed status, and condition summaries. That convergence should preserve local files and provider-backed records as first-class surfaces.
112
+
113
+ ## Local Workflow Roles
114
+
115
+ Flow Agents workflows separate selection, planning, execution, critique, verification, evidence, release, and learning so each stage leaves inspectable state.
116
+
117
+ **Current state:**
118
+
119
+ - `pull-work` selects work, checks WIP and dependency context, and records the pickup decision.
120
+ - `plan-work` produces an execution plan with acceptance criteria, scope, risks, and verification expectations.
121
+ - `execute-plan` implements the approved plan and records modified files.
122
+ - `review-work` and `verify-work` produce report-only critique and evidence.
123
+ - `evidence-gate`, `release-readiness`, and `learning-review` decide whether the work is trustworthy, acceptable, and worth feeding back into the system.
124
+
125
+ **Future direction:** Flow-owned runs and gates should be able to supply the same structure to local agents, CI agents, and hosted control planes without depending on a particular chat runtime.
126
+
127
+ ## Resource Contract Alignment
128
+
129
+ Kontour Resource Contracts provide the shared shape for durable records that cross product or adapter boundaries.
130
+
131
+ **Current state:** Flow Agents already uses local workflow artifacts and sidecars as the operational handoff surface. New shared contracts should prefer the Kontour Resource Contract shape unless a product records a specific exception.
132
+
133
+ **Future direction:** Active Workflow Runs, Selected Scope, Gate status, provider evidence, Surface claims, and Veritas report pointers should become easier to compare because they use compatible identity, metadata, desired intent, observed status, and condition-style summaries.
134
+
135
+ ## Reading Order For Contributors
136
+
137
+ Start here, then follow the local docs in this order:
138
+
139
+ 1. [Workflow Usage Guide](workflow-usage-guide.md) for the user-facing delivery path.
140
+ 2. [Repository Structure](repository-structure.md) for where changes belong and what is generated or runtime-only.
141
+ 3. [Skills Map](skills-map.md) for workflow phase composition.
142
+ 4. [Workflow Artifact Lifecycle](workflow-artifact-lifecycle.md) for what stays local, what gets promoted, and what must not be merged.
143
+ 5. [Flow Kit Repository Contract](flow-kit-repository-contract.md) for kit repository validation and activation behavior.
144
+ 6. [Veritas Integration Boundary](veritas-integration.md) for optional governance evidence.
145
+ 7. [Developer Reference](context-map.md) for generated repository structure, commands, agents, skills, scripts, and contracts.
@@ -0,0 +1,61 @@
1
+ ---
2
+ title: Developer Git Hook Setup
3
+ ---
4
+
5
+ # Developer Git Hook Setup
6
+
7
+ Flow Agents has a repo-owned Git pre-push lane for contributors who want local checks before pushing this repository.
8
+
9
+ Enable it per clone:
10
+
11
+ ```bash
12
+ npm run setup:repo-hooks
13
+ ```
14
+
15
+ That command is idempotent and only writes repo-local Git config:
16
+
17
+ ```bash
18
+ git config --local core.hooksPath .githooks
19
+ ```
20
+
21
+ Verify the setting:
22
+
23
+ ```bash
24
+ git config --local --get core.hooksPath
25
+ ```
26
+
27
+ The expected value is `.githooks`.
28
+
29
+ ## Pre-Push Lane
30
+
31
+ The tracked `.githooks/pre-push` hook runs bounded local checks:
32
+
33
+ ```bash
34
+ npm run validate:repo-hooks --silent
35
+ npm run validate:source --silent
36
+ ```
37
+
38
+ These checks do not perform network access. They validate the repo hook setup and the source tree from the repository root. Use normal Git bypass mechanics, such as `git push --no-verify`, only when you have a reason to skip local developer checks.
39
+
40
+ ## Product Boundary
41
+
42
+ This Git hook lane is developer workstation safety tooling for the Flow Agents repository. It is not a Flow Agents runtime hook and does not participate in runtime adapter activation, hook influence tiers, Flow Definition gate semantics, trusted producer config, or exported agent hook configuration.
43
+
44
+ Runtime hooks remain under `scripts/hooks/` and are evaluated through the runtime hook docs and hook-influence checks. The repo Git hook only runs local package checks before a push; it must not change runtime hook behavior.
45
+
46
+ ## Runtime Hook Boundary
47
+
48
+ Runtime-specific hook configuration is generated or installed output:
49
+
50
+ - `dist/codex/.codex/hooks.json` and related files are generated bundle output.
51
+ - A repo-local or home-local `.codex/` directory is installed runtime state and is ignored by Git.
52
+ - `.claude/` is installed Claude Code runtime state and is ignored by Git.
53
+ - Canonical hook behavior belongs in `scripts/hooks/`, `context/`, packaging metadata, installer scripts, and the TypeScript bundle builder.
54
+
55
+ If local runtime hooks drift, regenerate the bundles or reinstall the runtime config instead of patching `.codex/` or `.claude/` as source. The stale local `.codex/hooks.json` incident followed exactly that failure mode: an installed runtime file still pointed at Claude-style hook behavior after the canonical Codex hook export had changed. Durable fixes must update the canonical builder, installer, hook script, or docs source, then verify with:
56
+
57
+ ```bash
58
+ npm run build:bundles --
59
+ npm run validate:repo-hooks --
60
+ npm run validate:hook-influence --
61
+ ```