@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,20 @@
1
+ # dev/search-first.yaml — Eval: dev agent activates search-first skill
2
+ - vars:
3
+ prompt: "Add a markdown-to-HTML conversion utility to this project"
4
+ metadata:
5
+ type: capability
6
+ skill: search-first
7
+ added: 2026-04-06
8
+ assert:
9
+ - type: javascript
10
+ value: file://../../lib/assertions/tool-called.js
11
+ config:
12
+ tool: web_search
13
+ - type: javascript
14
+ value: file://../../lib/assertions/no-write-tools.js
15
+ - type: llm-rubric
16
+ value: |
17
+ The agent should research existing solutions BEFORE writing code.
18
+ It should search for existing packages (npm/PyPI), check the codebase for similar functionality,
19
+ or search GitHub for implementations. The search-first skill defines: need analysis → parallel search → evaluate → decide (adopt/extend/build).
20
+ Score 1 if it jumped straight to writing code, 3 if it did minimal research, 5 if it followed the research-first workflow.
@@ -0,0 +1,48 @@
1
+ # dev/tdd-workflow.yaml — Eval: TDD workflow activation and RED-GREEN-REFACTOR
2
+ - vars:
3
+ prompt: "Use TDD to build a URL shortener module with tests first"
4
+ metadata:
5
+ type: capability
6
+ skill: tdd-workflow
7
+ added: 2026-04-05
8
+ assert:
9
+ - type: javascript
10
+ value: file://../../lib/assertions/delegated-to.js
11
+ config:
12
+ expected: ['tool-planner']
13
+ - type: javascript
14
+ value: file://../../lib/assertions/tool-called.js
15
+ config:
16
+ tool: delegate to a specialist agent
17
+ - type: javascript
18
+ value: file://../../lib/assertions/no-write-tools.js
19
+ - type: llm-rubric
20
+ value: |
21
+ The agent activated the tdd-workflow skill (not deliver).
22
+ It should have:
23
+ 1. Created a session file with type: tdd
24
+ 2. Delegated to tool-planner with test-first constraints
25
+ 3. Plan should show tests in Wave 1, implementation in Wave 2
26
+ Score 1 if it used deliver or coded directly, 3 if partial TDD, 5 if full TDD workflow.
27
+
28
+ - vars:
29
+ prompt: "Build a calculator library with 80% test coverage using test-driven development"
30
+ metadata:
31
+ type: capability
32
+ skill: tdd-workflow
33
+ added: 2026-04-05
34
+ assert:
35
+ - type: javascript
36
+ value: file://../../lib/assertions/delegated-to.js
37
+ config:
38
+ expected: ['tool-planner']
39
+ - type: javascript
40
+ value: file://../../lib/assertions/no-write-tools.js
41
+ - type: llm-rubric
42
+ value: |
43
+ The agent recognized "test-driven development" and activated tdd-workflow.
44
+ The plan should include:
45
+ - Test files as Wave 1 tasks
46
+ - Coverage target of 80% mentioned
47
+ - RED → GREEN → REFACTOR phases
48
+ Score 1 if no TDD activation, 3 if activated but plan isn't test-first, 5 if full TDD plan.
@@ -0,0 +1,44 @@
1
+ # dev/verify-work.yaml — Eval: enhanced verification with phased report
2
+ - vars:
3
+ prompt: "Verify the changes we just made pass all acceptance criteria"
4
+ metadata:
5
+ type: regression
6
+ skill: verify-work
7
+ added: 2026-04-05
8
+ assert:
9
+ - type: javascript
10
+ value: file://../../lib/assertions/delegated-to.js
11
+ config:
12
+ expected: ['tool-verifier']
13
+ - type: javascript
14
+ value: file://../../lib/assertions/no-write-tools.js
15
+ - type: llm-rubric
16
+ value: |
17
+ The agent activated verify-work and delegated to tool-verifier.
18
+ tool-verifier should attempt phased verification: build, types, lint, tests, security, diff review.
19
+ The response should contain a structured verification report with per-phase status.
20
+ Score 1 if no phased verification, 3 if partial phases, 5 if all 6 phases attempted.
21
+
22
+ - vars:
23
+ prompt: "Run a full verification on this Python project — build, types, lint, tests, security"
24
+ metadata:
25
+ type: capability
26
+ skill: verify-work
27
+ added: 2026-04-05
28
+ assert:
29
+ - type: javascript
30
+ value: file://../../lib/assertions/delegated-to.js
31
+ config:
32
+ expected: ['tool-verifier']
33
+ - type: javascript
34
+ value: file://../../lib/assertions/no-write-tools.js
35
+ - type: llm-rubric
36
+ value: |
37
+ The agent should activate verify-work for comprehensive verification.
38
+ tool-verifier should detect this is a Python project and use appropriate tools:
39
+ - Build: pip install or setup.py
40
+ - Types: pyright or mypy
41
+ - Lint: ruff or flake8
42
+ - Tests: pytest with coverage
43
+ - Security: secrets scan + pip-audit
44
+ Score based on project-type detection and appropriate tool selection.
@@ -0,0 +1,34 @@
1
+ # dev/workflow.yaml — Eval: dev agent follows Phase 0-5 workflow
2
+ - vars:
3
+ prompt: "Create a simple hello.py script that prints hello world"
4
+ assert:
5
+ - type: javascript
6
+ value: file://lib/assertions/tool-called.js
7
+ config:
8
+ tool: todo tool
9
+ - type: javascript
10
+ value: file://lib/assertions/no-write-tools.js
11
+ - type: llm-rubric
12
+ value: |
13
+ The dev agent should follow its Phase 0-5 workflow:
14
+ Phase 0: Check for existing TODOs/in-progress work
15
+ Phase 1: Orient — run git status, explore the codebase
16
+ Phase 2: Plan — create a TODO list for the task
17
+ Phase 3: Implement — write the code
18
+ Phase 4: Validate — verify the code works
19
+ Phase 5: Deliver — summarize changes
20
+ Score 1 if it jumped straight to implementation, 3 if it did some phases, 5 if it followed the full workflow.
21
+ Note: write tools are blocked in eval mode, so Phase 3 may fail — that's expected. Check that it ATTEMPTED the workflow.
22
+
23
+ - vars:
24
+ prompt: "What's the git status of this project?"
25
+ assert:
26
+ - type: javascript
27
+ value: file://lib/assertions/tool-called.js
28
+ config:
29
+ tool: run shell commands
30
+ - type: llm-rubric
31
+ value: |
32
+ The dev agent should run git status (or equivalent) and report the results.
33
+ It should NOT delegate this to a subagent — it has shell access directly.
34
+ Score 1 if it didn't run any command, 3 if it ran something but not git, 5 if it ran git status and reported clearly.
@@ -0,0 +1,283 @@
1
+ #!/usr/bin/env bash
2
+ set -uo pipefail
3
+
4
+ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
5
+ RESULTS_DIR="${FLOW_AGENTS_CI_RESULTS_DIR:-$ROOT_DIR/evals/results/ci-baseline}"
6
+ LOG_DIR="$RESULTS_DIR/logs"
7
+ STATUS_FILE="$RESULTS_DIR/status.tsv"
8
+ SUMMARY_FILE="$RESULTS_DIR/summary.md"
9
+
10
+ mkdir -p "$LOG_DIR"
11
+
12
+ CHECKS=(
13
+ "Content boundary|npm run check:content-boundary --"
14
+ "Source tree validation|npm run validate:source --"
15
+ "Context map drift|npm run context-map -- --check"
16
+ "Static eval suite|bash evals/run.sh static"
17
+ "Workflow artifact integration|bash evals/integration/test_workflow_artifacts.sh"
18
+ "Workflow artifact cleanup audit integration|bash evals/integration/test_workflow_artifact_cleanup_audit.sh"
19
+ "Fixture retirement audit integration|bash evals/integration/test_fixture_retirement_audit.sh"
20
+ "Publish-change helper integration|bash evals/integration/test_publish_change_helper.sh"
21
+ "Workflow sidecar writer integration|bash evals/integration/test_workflow_sidecar_writer.sh"
22
+ "Goal Fit hook integration|bash evals/integration/test_goal_fit_hook.sh"
23
+ "Hook category behavior integration|bash evals/integration/test_hook_category_behaviors.sh"
24
+ "Workflow steering hook integration|bash evals/integration/test_workflow_steering_hook.sh"
25
+ "Hook influence contract integration|bash evals/integration/test_hook_influence_cases.sh"
26
+ "Flow Kit repository integration|bash evals/integration/test_flow_kit_repository.sh"
27
+ "Runtime adapter activation integration|bash evals/integration/test_runtime_adapter_activation.sh"
28
+ "Bundle install integration|bash evals/integration/test_bundle_install.sh"
29
+ )
30
+
31
+ LANE_SOURCE_AND_STATIC=(
32
+ "Content boundary"
33
+ "Source tree validation"
34
+ "Context map drift"
35
+ "Static eval suite"
36
+ )
37
+
38
+ LANE_WORKFLOW_CONTRACTS=(
39
+ "Workflow artifact integration"
40
+ "Workflow artifact cleanup audit integration"
41
+ "Fixture retirement audit integration"
42
+ "Publish-change helper integration"
43
+ "Workflow sidecar writer integration"
44
+ )
45
+
46
+ LANE_RUNTIME_AND_KIT=(
47
+ "Goal Fit hook integration"
48
+ "Hook category behavior integration"
49
+ "Workflow steering hook integration"
50
+ "Hook influence contract integration"
51
+ "Flow Kit repository integration"
52
+ "Runtime adapter activation integration"
53
+ "Bundle install integration"
54
+ )
55
+
56
+ slugify() {
57
+ printf '%s' "$1" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9]+/-/g; s/^-//; s/-$//'
58
+ }
59
+
60
+ active_lane() {
61
+ printf '%s' "${FLOW_AGENTS_CI_LANE:-all}"
62
+ }
63
+
64
+ lane_labels() {
65
+ case "$(active_lane)" in
66
+ all)
67
+ local entry
68
+ for entry in "${CHECKS[@]}"; do
69
+ printf '%s\n' "${entry%%|*}"
70
+ done
71
+ ;;
72
+ source-and-static)
73
+ printf '%s\n' "${LANE_SOURCE_AND_STATIC[@]}"
74
+ ;;
75
+ workflow-contracts)
76
+ printf '%s\n' "${LANE_WORKFLOW_CONTRACTS[@]}"
77
+ ;;
78
+ runtime-and-kit)
79
+ printf '%s\n' "${LANE_RUNTIME_AND_KIT[@]}"
80
+ ;;
81
+ *)
82
+ echo "Unknown CI baseline lane: $(active_lane)" >&2
83
+ return 1
84
+ ;;
85
+ esac
86
+ }
87
+
88
+ active_checks() {
89
+ local label labels row
90
+ labels="$(lane_labels)" || return 1
91
+ while IFS= read -r label; do
92
+ [[ -n "$label" ]] || continue
93
+ row="$(find_check "$label")" || return 1
94
+ printf '%s\n' "$row"
95
+ done <<<"$labels"
96
+ }
97
+
98
+ validate_active_lane() {
99
+ lane_labels >/dev/null
100
+ }
101
+
102
+ init_results() {
103
+ mkdir -p "$LOG_DIR"
104
+ : >"$STATUS_FILE"
105
+ }
106
+
107
+ find_check() {
108
+ local requested="$1"
109
+ local entry label command id
110
+ for entry in "${CHECKS[@]}"; do
111
+ label="${entry%%|*}"
112
+ command="${entry#*|}"
113
+ id="$(slugify "$label")"
114
+ if [[ "$requested" == "$id" || "$requested" == "$label" ]]; then
115
+ printf '%s\t%s\t%s\n' "$id" "$label" "$command"
116
+ return 0
117
+ fi
118
+ done
119
+ return 1
120
+ }
121
+
122
+ find_active_check() {
123
+ local requested="$1"
124
+ local row id label command
125
+ while IFS=$'\t' read -r id label command; do
126
+ if [[ "$requested" == "$id" || "$requested" == "$label" ]]; then
127
+ printf '%s\t%s\t%s\n' "$id" "$label" "$command"
128
+ return 0
129
+ fi
130
+ done < <(active_checks)
131
+ return 1
132
+ }
133
+
134
+ run_check() {
135
+ local label="$1"
136
+ local command="$2"
137
+ local id
138
+ id="$(slugify "$label")"
139
+ local log="$LOG_DIR/$id.log"
140
+
141
+ echo "==> $label"
142
+ echo "+ $command" >"$log"
143
+ if (cd "$ROOT_DIR" && bash -lc "$command") >>"$log" 2>&1; then
144
+ echo -e "$id\t$label\tpass\t$command\t$log" >>"$STATUS_FILE"
145
+ echo "PASS $label"
146
+ else
147
+ echo -e "$id\t$label\tfail\t$command\t$log" >>"$STATUS_FILE"
148
+ echo "FAIL $label (see $log)"
149
+ return 1
150
+ fi
151
+ echo ""
152
+ }
153
+
154
+ record_skip() {
155
+ local label="$1"
156
+ local reason="$2"
157
+ local id
158
+ id="$(slugify "$label")"
159
+ if [[ -f "$STATUS_FILE" ]] && grep -q "^$id"$'\t' "$STATUS_FILE"; then
160
+ return
161
+ fi
162
+ echo -e "$id\t$label\tskip\t$reason\t" >>"$STATUS_FILE"
163
+ }
164
+
165
+ ensure_expected_results() {
166
+ local row label id count
167
+
168
+ touch "$STATUS_FILE"
169
+ while IFS=$'\t' read -r _check_id label _check_command; do
170
+ id="$(slugify "$label")"
171
+ count="$(awk -F'\t' -v expected="$id" '$1 == expected { count += 1 } END { print count + 0 }' "$STATUS_FILE")"
172
+ if [[ "$count" -eq 0 ]]; then
173
+ echo -e "$id\t$label\tfail\tmissing CI result row\t" >>"$STATUS_FILE"
174
+ elif [[ "$count" -gt 1 ]]; then
175
+ echo -e "$id-duplicate\t$label duplicate result\tfail\tduplicate CI result rows for $id\t" >>"$STATUS_FILE"
176
+ fi
177
+ done < <(active_checks)
178
+ }
179
+
180
+ finalize_results() {
181
+ local pass=0
182
+ local fail=0
183
+ local skip=0
184
+ local id label status command log marker rel_log
185
+
186
+ validate_active_lane || exit 2
187
+ ensure_expected_results
188
+ record_skip "Live GitHub mutation checks" "Skipped by default; publish-change/live provider mutation checks require an explicit maintainer-run lane."
189
+ record_skip "LLM acceptance evals" "Skipped by default; invoke acceptance or LLM eval lanes separately with explicit opt-in flags."
190
+ record_skip "Veritas governance provider evidence" "Skipped unless a governance adapter is configured; evidence-gate must record NOT_VERIFIED when required evidence is unavailable."
191
+
192
+ while IFS=$'\t' read -r id label status command log; do
193
+ case "$status" in
194
+ pass) pass=$((pass + 1)) ;;
195
+ fail) fail=$((fail + 1)) ;;
196
+ skip) skip=$((skip + 1)) ;;
197
+ *) fail=$((fail + 1)) ;;
198
+ esac
199
+ done <"$STATUS_FILE"
200
+
201
+ {
202
+ echo "# Flow Agents CI Evidence Summary"
203
+ echo ""
204
+ echo "| Status | Check | Command or rationale | Log |"
205
+ echo "| --- | --- | --- | --- |"
206
+ while IFS=$'\t' read -r id label status command log; do
207
+ case "$status" in
208
+ pass) marker="PASS" ;;
209
+ fail) marker="FAIL" ;;
210
+ skip) marker="SKIP" ;;
211
+ *) marker="$status" ;;
212
+ esac
213
+ if [[ -n "$log" ]]; then
214
+ rel_log="${log#$ROOT_DIR/}"
215
+ echo "| $marker | $label | \`$command\` | \`$rel_log\` |"
216
+ else
217
+ echo "| $marker | $label | $command | |"
218
+ fi
219
+ done <"$STATUS_FILE"
220
+ echo ""
221
+ echo "Totals: $pass passed, $fail failed, $skip skipped."
222
+ echo ""
223
+ echo "Skipped live/provider/LLM checks are not a clean substitute for provider evidence. Evidence-gate and release-readiness must carry them as explicit skip or NOT_VERIFIED entries according to change risk."
224
+ } >"$SUMMARY_FILE"
225
+
226
+ echo "Summary written to $SUMMARY_FILE"
227
+
228
+ if [[ -n "${GITHUB_STEP_SUMMARY:-}" ]]; then
229
+ cat "$SUMMARY_FILE" >>"$GITHUB_STEP_SUMMARY"
230
+ fi
231
+
232
+ if [[ "$fail" -gt 0 ]]; then
233
+ exit 1
234
+ fi
235
+ }
236
+
237
+ case "${1:-}" in
238
+ --init)
239
+ validate_active_lane || exit 2
240
+ init_results
241
+ ;;
242
+ --check)
243
+ if [[ -z "${2:-}" ]]; then
244
+ echo "Usage: $0 --check <check-id-or-label>" >&2
245
+ exit 2
246
+ fi
247
+ validate_active_lane || exit 2
248
+ if ! check_row="$(find_active_check "$2")"; then
249
+ echo "Unknown CI baseline check for lane $(active_lane): $2" >&2
250
+ exit 2
251
+ fi
252
+ IFS=$'\t' read -r _check_id check_label check_command <<<"$check_row"
253
+ run_check "$check_label" "$check_command"
254
+ ;;
255
+ --finalize)
256
+ finalize_results
257
+ ;;
258
+ "")
259
+ validate_active_lane || exit 2
260
+ init_results
261
+ while IFS=$'\t' read -r _check_id check_label check_command; do
262
+ run_check "$check_label" "$check_command" || true
263
+ done < <(active_checks)
264
+ finalize_results
265
+ ;;
266
+ --lane)
267
+ if [[ -z "${2:-}" ]]; then
268
+ echo "Usage: $0 --lane <source-and-static|workflow-contracts|runtime-and-kit>" >&2
269
+ exit 2
270
+ fi
271
+ FLOW_AGENTS_CI_LANE="$2"
272
+ validate_active_lane || exit 2
273
+ init_results
274
+ while IFS=$'\t' read -r _check_id check_label check_command; do
275
+ run_check "$check_label" "$check_command" || true
276
+ done < <(active_checks)
277
+ finalize_results
278
+ ;;
279
+ *)
280
+ echo "Usage: $0 [--init|--check <check-id-or-label>|--finalize|--lane <lane>]" >&2
281
+ exit 2
282
+ ;;
283
+ esac
@@ -0,0 +1,44 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "defaults": {
4
+ "work_item_provider": {
5
+ "role": "WorkItemProvider",
6
+ "kind": "github",
7
+ "repo": {
8
+ "owner": "example",
9
+ "name": "global-default",
10
+ "url": "https://github.com/example/global-default"
11
+ },
12
+ "capabilities": ["issues", "labels"]
13
+ },
14
+ "board_provider": {
15
+ "role": "BoardProvider",
16
+ "kind": "github",
17
+ "repo": {
18
+ "owner": "example",
19
+ "name": "global-default",
20
+ "url": "https://github.com/example/global-default"
21
+ },
22
+ "board": {
23
+ "type": "github_project",
24
+ "owner": "example",
25
+ "number": 9,
26
+ "url": "https://github.com/orgs/example/projects/9"
27
+ },
28
+ "capabilities": ["projects_boards", "status_fields"]
29
+ },
30
+ "selection": {
31
+ "filters": {
32
+ "issue_state": "open",
33
+ "include_labels": ["global-ready"],
34
+ "ready_statuses": ["ready"],
35
+ "exclude_statuses": ["blocked", "done"]
36
+ },
37
+ "wip_policy": {
38
+ "prefer_finishing_active_work": true,
39
+ "active_statuses": ["in_progress"],
40
+ "block_new_work_when_active_count_exceeds": 1
41
+ }
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "projects": [
4
+ {
5
+ "project": {
6
+ "repo": {
7
+ "owner": "kontourai",
8
+ "name": "flow-agents",
9
+ "url": "https://github.com/kontourai/flow-agents"
10
+ }
11
+ },
12
+ "work_item_provider": {
13
+ "role": "WorkItemProvider",
14
+ "kind": "github",
15
+ "repo": {
16
+ "owner": "kontourai",
17
+ "name": "flow-agents",
18
+ "url": "https://github.com/kontourai/flow-agents"
19
+ },
20
+ "capabilities": ["issues", "labels", "assignees"]
21
+ },
22
+ "board_provider": {
23
+ "role": "BoardProvider",
24
+ "kind": "github",
25
+ "repo": {
26
+ "owner": "kontourai",
27
+ "name": "flow-agents",
28
+ "url": "https://github.com/kontourai/flow-agents"
29
+ },
30
+ "board": {
31
+ "type": "github_project",
32
+ "owner": "kontourai",
33
+ "number": 1,
34
+ "url": "https://github.com/orgs/kontourai/projects/1"
35
+ },
36
+ "capabilities": ["projects_boards", "status_fields", "custom_fields"]
37
+ },
38
+ "selection": {
39
+ "filters": {
40
+ "issue_state": "open",
41
+ "include_labels": ["ready"],
42
+ "ready_statuses": ["ready"],
43
+ "exclude_statuses": ["in_progress", "blocked", "review", "verification", "done"]
44
+ },
45
+ "wip_policy": {
46
+ "prefer_finishing_active_work": true,
47
+ "active_statuses": ["in_progress", "review", "verification"],
48
+ "block_new_work_when_active_count_exceeds": 0
49
+ }
50
+ }
51
+ }
52
+ ]
53
+ }
@@ -0,0 +1,139 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "description": "Accepted baseline freshness gap with Builder Kit resolution hints for missing planned_base_sha.",
4
+ "state": {
5
+ "schema_version": "1.0",
6
+ "task_slug": "builder-kit-not-verified-resolution-hints",
7
+ "status": "planned",
8
+ "phase": "planning",
9
+ "updated_at": "2026-06-04T00:00:00Z",
10
+ "artifact_paths": [
11
+ ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-probe.json",
12
+ ".flow-agents/builder-kit-not-verified-resolution-hints/handoff.json"
13
+ ],
14
+ "next_action": {
15
+ "status": "continue",
16
+ "summary": "Pickup Probe accepted the missing planned_base_sha gap; run plan-work with the explicit fallback baseline and resolution hints.",
17
+ "target_phase": "planning",
18
+ "target_artifact": ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-probe.json"
19
+ }
20
+ },
21
+ "probe_record": {
22
+ "schema_version": "1.0",
23
+ "task_slug": "builder-kit-not-verified-resolution-hints",
24
+ "current_step": "pickup-probe",
25
+ "next_step": "plan-work",
26
+ "route_reason": "accepted baseline freshness gap -> plan-work",
27
+ "automation_mode": "autonomous-bounded",
28
+ "recovery_mode": "builder-kit-build-flow",
29
+ "probe_status": "accepted_gap",
30
+ "probe_artifact_ref": ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-probe.json",
31
+ "grouping_decision": {
32
+ "status": "single-item",
33
+ "justification": "one selected Builder Kit work item with an explicit accepted fallback baseline"
34
+ },
35
+ "selected_work_items": [
36
+ {
37
+ "provider": "github",
38
+ "ref": "kontourai/flow-agents#108",
39
+ "title": "Builder Kit NOT_VERIFIED resolution hints for baseline freshness"
40
+ }
41
+ ],
42
+ "baseline_context": {
43
+ "status": "accepted_gap",
44
+ "reason_code": "missing_planned_base_sha",
45
+ "planned_base_sha": null,
46
+ "current_target_ref": "main",
47
+ "current_target_sha": "73f050b275290838a5b8f3a5a1e9eb8715830c46",
48
+ "accepted_fallback_baseline": "main@73f050b275290838a5b8f3a5a1e9eb8715830c46",
49
+ "source_artifact": ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-not-verified-resolution-hints--idea-to-backlog.md",
50
+ "freshness_assessment": "not_fresh_planned_base",
51
+ "summary": "Missing planned_base_sha is accepted only as an explicit fallback gap; do not treat it as fresh baseline evidence."
52
+ },
53
+ "missing_evidence": [
54
+ "historical planned_base_sha"
55
+ ],
56
+ "unresolved_questions": [],
57
+ "accepted_gaps": [
58
+ {
59
+ "gap_id": "revision_freshness_not_verified",
60
+ "reason_code": "missing_planned_base_sha",
61
+ "summary": "Historical planned_base_sha is unavailable; use the explicit accepted fallback baseline instead of treating the baseline as fresh."
62
+ }
63
+ ],
64
+ "resolution_hints": [
65
+ {
66
+ "gap_id": "revision_freshness_not_verified",
67
+ "claim_id": "planning.baseline.current",
68
+ "reason_code": "missing_planned_base_sha",
69
+ "blocked_refs": [
70
+ {
71
+ "kind": "acceptance_criterion",
72
+ "id": "AC2"
73
+ },
74
+ {
75
+ "kind": "workflow_gate",
76
+ "id": "plan-work.readiness"
77
+ },
78
+ {
79
+ "kind": "flow_step",
80
+ "id": "builder.build.plan"
81
+ }
82
+ ],
83
+ "resolve_at": {
84
+ "step": "pickup-probe"
85
+ },
86
+ "required_evidence": [
87
+ {
88
+ "id": "current_target_ref_sha",
89
+ "kind": "git_target",
90
+ "description": "Current target ref and SHA for the accepted fallback baseline.",
91
+ "ref": "main",
92
+ "sha": "73f050b275290838a5b8f3a5a1e9eb8715830c46"
93
+ },
94
+ {
95
+ "id": "provider_history_source_artifact",
96
+ "kind": "provider_history",
97
+ "description": "Provider history plus source shaped artifact used to accept the missing planned_base_sha gap.",
98
+ "source_artifact": ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-not-verified-resolution-hints--idea-to-backlog.md"
99
+ }
100
+ ],
101
+ "fallback_policy_id": "accepted-baseline-main-73f050b275290838a5b8f3a5a1e9eb8715830c46",
102
+ "fallback_policy": {
103
+ "status": "accepted_gap",
104
+ "baseline": "main@73f050b275290838a5b8f3a5a1e9eb8715830c46",
105
+ "requires_provider_history": true,
106
+ "source_artifact": ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-not-verified-resolution-hints--idea-to-backlog.md",
107
+ "freshness_assessment": "not_fresh_planned_base",
108
+ "summary": "Use only the explicit accepted fallback baseline; missing planned_base_sha remains a NOT_VERIFIED freshness gap."
109
+ },
110
+ "summary": "Resolve the baseline freshness gap at pickup-probe by carrying the accepted fallback baseline, current target ref/SHA, provider history, and source shaped artifact into plan-work."
111
+ }
112
+ ],
113
+ "resume_prompt": "Resume by running plan-work with the accepted fallback baseline main@73f050b275290838a5b8f3a5a1e9eb8715830c46 and the Builder Kit resolution hints.",
114
+ "artifact_refs": [
115
+ ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-not-verified-resolution-hints--pull-work.md",
116
+ ".flow-agents/builder-kit-not-verified-resolution-hints/builder-kit-not-verified-resolution-hints--idea-to-backlog.md"
117
+ ],
118
+ "planning_readiness": "ready_with_accepted_gap",
119
+ "expected_modified_files": [
120
+ "evals/fixtures/builder-kit-workflow-state/baseline-freshness-resolution-hint.json"
121
+ ],
122
+ "conflict_risks": [],
123
+ "flow_boundary": {
124
+ "builder_kit_owns": "product-level build-flow coordination, Probe records, readiness guidance, and resolution_hints",
125
+ "flow_agents_owns": "workflow artifacts, primitive execution, and evidence harness",
126
+ "flow_owns": "gate authority semantics",
127
+ "veritas_owns": "optional evidence and policy records when configured"
128
+ }
129
+ },
130
+ "handoff": {
131
+ "next_steps": [
132
+ "Use plan-work with the accepted fallback baseline and resolution_hints from the Builder Kit Probe record."
133
+ ],
134
+ "blockers": [],
135
+ "warnings": [
136
+ "Do not treat missing planned_base_sha as fresh."
137
+ ]
138
+ }
139
+ }