@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,80 @@
1
+ ---
2
+ name: "frontend-design"
3
+ description: "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."
4
+ ---
5
+
6
+ # Frontend Design
7
+
8
+ Delegate frontend implementation to `tool-worker` with the design guidelines below included in the prompt. The orchestrator's job is to understand the user's requirements, choose an aesthetic direction, and hand off to tool-worker with clear instructions plus the full aesthetics guidelines.
9
+
10
+ ## Trigger Patterns
11
+
12
+ This skill activates when the user:
13
+
14
+ - Asks to build a UI, page, component, or web application
15
+ - Wants a landing page, dashboard, form, or interactive interface
16
+ - Mentions design quality, aesthetics, or visual polish
17
+ - Asks for something "that looks good" or "production-grade"
18
+
19
+ ## Workflow
20
+
21
+ ### Step 1: UNDERSTAND REQUIREMENTS
22
+ Gather from the user:
23
+ - What to build (component, page, app)
24
+ - Purpose and audience
25
+ - Technical constraints (framework, existing codebase)
26
+ - Any aesthetic preferences or references
27
+
28
+ ### Step 2: DELEGATE TO tool-worker
29
+ Spawn `tool-worker` with a prompt that includes:
30
+ - Delegate to the exact `tool-worker` role; do not spawn an unnamed/default implementation agent.
31
+ 1. The specific implementation task (what to build, where files go, framework)
32
+ 2. The **full Design Guidelines section below** — copy it into the delegation prompt so tool-worker has it in context
33
+
34
+ ### Step 3: VERIFY VISUALLY (mandatory)
35
+ After tool-worker completes, you MUST delegate to tool-playwright to screenshot the result and confirm it renders correctly. Do NOT skip this step. Do NOT treat implementation as the final step. Visual verification is required before relaying results to the user.
36
+
37
+ ## Design Guidelines
38
+
39
+ Include everything below this line in the tool-worker delegation prompt.
40
+
41
+ ---
42
+
43
+ ### Design Thinking
44
+
45
+ Before coding, understand the context and commit to a BOLD aesthetic direction:
46
+
47
+ - **Purpose**: What problem does this interface solve? Who uses it?
48
+ - **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. Use these for inspiration but design one that is true to the aesthetic direction.
49
+ - **Constraints**: Technical requirements (framework, performance, accessibility).
50
+ - **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
51
+
52
+ **CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work — the key is intentionality, not intensity.
53
+
54
+ Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
55
+
56
+ - Production-grade and functional
57
+ - Visually striking and memorable
58
+ - Cohesive with a clear aesthetic point-of-view
59
+ - Meticulously refined in every detail
60
+
61
+ ### Frontend Aesthetics
62
+
63
+ - **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt for distinctive choices that elevate the aesthetic. Pair a distinctive display font with a refined body font.
64
+ - **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
65
+ - **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals creates more delight than scattered micro-interactions.
66
+ - **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
67
+ - **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, and grain overlays.
68
+
69
+ ### Anti-Patterns (NEVER use)
70
+
71
+ - Generic font families (Inter, Roboto, Arial, system fonts)
72
+ - Cliched color schemes (particularly purple gradients on white backgrounds)
73
+ - Predictable layouts and cookie-cutter component patterns
74
+ - Converging on the same "safe" choices across generations (e.g., Space Grotesk every time)
75
+
76
+ Vary between light and dark themes, different fonts, different aesthetics. Every design should feel unique to its context.
77
+
78
+ ### Calibration
79
+
80
+ Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details.
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: "github-cli"
3
+ description: "Interact with GitHub via gh CLI — PRs, issues, repos, releases, workflows, gists."
4
+ ---
5
+
6
+ # GitHub CLI
7
+
8
+ Interact with GitHub using the `gh` CLI — manage pull requests, issues, repos, releases, Actions workflows, and more without leaving the terminal.
9
+
10
+ ## Trigger Patterns
11
+
12
+ This skill activates when the user:
13
+
14
+ - Wants to create, view, merge, or review pull requests
15
+ - Wants to create, list, or manage issues
16
+ - Wants to check GitHub Actions workflow runs or status
17
+ - Wants to create or manage releases, gists, or repos
18
+ - Wants to search GitHub for repos, issues, or PRs
19
+ - Wants to browse a repo or PR in the browser
20
+ - Mentions `gh` by name or references GitHub operations
21
+
22
+ ## Prerequisites
23
+
24
+ Confirm `gh` is available by running `gh --help`. If not found, tell the user it's not installed and stop.
25
+
26
+ The user must be authenticated. If a command fails with an auth error, suggest `gh auth login` and let the user handle it interactively.
27
+
28
+ ## What `gh` Does
29
+
30
+ `gh` is GitHub's official CLI. Key capability areas:
31
+
32
+ - **Pull Requests** — create, list, view, checkout, review, merge, close, diff, checks
33
+ - **Issues** — create, list, view, close, reopen, comment, assign, label
34
+ - **Repos** — create, clone, fork, view, archive, rename, sync
35
+ - **Releases** — create, list, view, delete, upload assets
36
+ - **Actions** — view workflow runs, watch live logs, re-run failed jobs, list workflows
37
+ - **Gists** — create, list, view, edit, delete
38
+ - **Search** — search repos, issues, PRs, code across GitHub
39
+ - **API** — make arbitrary authenticated GitHub API requests
40
+ - **Browse** — open any repo/issue/PR in the default browser
41
+
42
+ Run `gh --help` for the full command list and `gh <command> --help` for subcommand details. Defer to the CLI as the source of truth.
43
+
44
+ ## Workflow
45
+
46
+ ### Step 1: VERIFY
47
+ Run `gh --help` to confirm availability. If not found, stop.
48
+
49
+ ### Step 2: UNDERSTAND INTENT
50
+ Map the user's request to the right `gh` command area. If unsure which subcommand to use, run `gh <command> --help` to discover options.
51
+
52
+ ### Step 3: EXECUTE
53
+ Run the appropriate `gh` command. For commands that create or mutate (PR create, issue close, release create, etc.), confirm the action with the user first unless they were explicit.
54
+
55
+ ### Step 4: PRESENT RESULTS
56
+ Format output clearly. For list commands, summarize key fields. For view commands, highlight the important details. Offer follow-up actions where natural (e.g. after listing PRs, offer to check out or review one).
57
+
58
+ ## Key Principles
59
+ - ALWAYS verify `gh` is available before any operation
60
+ - Use `gh <command> --help` to discover flags and subcommands — don't assume syntax
61
+ - Confirm destructive or mutating operations before executing
62
+ - If auth fails, direct the user to `gh auth login` — don't attempt to authenticate programmatically
63
+ - Prefer `gh` over raw `git` commands when the operation involves GitHub-specific features (PRs, issues, Actions, etc.)
@@ -0,0 +1,267 @@
1
+ ---
2
+ name: "idea-to-backlog"
3
+ description: "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 before implementation starts."
4
+ ---
5
+
6
+ # Idea To Backlog
7
+
8
+ Convert raw ideas into shaped, prioritized, executable backlog without starting production implementation.
9
+
10
+ ## Contract
11
+
12
+ - Produce durable reasoning artifacts before creating execution issues.
13
+ - Own the human-readable backlog issue contract; downstream delivery workflows inherit and refine it rather than inventing a new shape.
14
+ - Create GitHub issues only for committed or near-committed work.
15
+ - Do not write production code or edit implementation files.
16
+ - Do not invoke downstream delivery skills while shaping upstream work.
17
+ - After the backlog gate, hand off to `pull-work` only if the user explicitly asks to continue.
18
+ - Never invoke `plan-work`, `execute-plan`, `review-work`, `verify-work`, `evidence-gate`, or release skills from this workflow.
19
+ - Stop at gates unless the user explicitly asks to continue.
20
+ - Treat GitHub issues as executable backlog, not the whole reasoning store.
21
+ - Keep separate ideas separate until a shared outcome, hard dependency, or sequencing reason justifies bundling them.
22
+ - Push back when the user blends unrelated ideas, and ask them to justify why the ideas belong together before shaping bundled work.
23
+
24
+ ## Artifact Contract
25
+
26
+ Create or update `.flow-agents/<slug>/<slug>--idea-to-backlog.md` with:
27
+
28
+ - `source_ideas`: raw inputs and dedupe links
29
+ - `idea_inventory`: one record per distinct idea, classification, outcome, and reason
30
+ - `slice_candidates`: thinnest meaningful slice for each buildable idea, success signal, and non-goals
31
+ - `bundle_justification`: why grouped ideas belong together, or explicit decision to split
32
+ - `dependency_map`: blocks / blocked-by / related-only relationships between ideas or slices
33
+ - `phase`: intake, opportunity, explore, shape, prioritize, backlog, blocked, complete
34
+ - `decisions`: decision, rationale, decision maker, date
35
+ - `opportunity_briefs`: problem, stakeholder, outcome, confidence, size
36
+ - `shaped_work`: scope, non-goals, requirements, acceptance criteria
37
+ - `risk_release_notes`: risk class, rollout, rollback, observability
38
+ - `backlog_links`: GitHub issue URLs and status
39
+ - `parked_or_rejected`: reason and revisit trigger
40
+ - `open_questions`: owner and needed evidence
41
+ - `next_gate`: gate name and pass/fail/block status
42
+
43
+ ## Workflow
44
+
45
+ ### 1. Intake
46
+
47
+ Normalize and deduplicate raw ideas.
48
+
49
+ Classify each item as:
50
+
51
+ - feature
52
+ - bug
53
+ - research question
54
+ - spike
55
+ - prototype
56
+ - chore
57
+ - cleanup
58
+ - parked thought
59
+
60
+ Outcome: `discard`, `park`, `merge`, `research`, `shape`, or `commit`.
61
+
62
+ Gate: every idea has exactly one outcome and a recorded reason.
63
+
64
+ ### 2. Separate Ideas And Slice
65
+
66
+ Create an idea inventory before shaping. Treat each distinct user problem, workflow, stakeholder, risk, or success metric as a separate idea unless proven otherwise.
67
+
68
+ When multiple ideas arrive together:
69
+
70
+ - name each idea separately
71
+ - identify the thinnest meaningful slice for each buildable idea
72
+ - challenge accidental bundles
73
+ - require a bundle justification before shaping grouped work
74
+ - distinguish hard dependencies from "related-only" context
75
+
76
+ A thinnest meaningful slice is the smallest independently valuable and testable unit that can reach evidence/release gates without leaving dependent half-work behind.
77
+
78
+ Bundled work is allowed only when at least one is true:
79
+
80
+ - one slice cannot deliver value without the other
81
+ - the same user outcome and acceptance signal require both
82
+ - the dependency order is explicit and the first slice unlocks the second
83
+ - grouping reduces delivery risk more than it increases scope risk
84
+
85
+ If the user is blending ideas without justification, push back directly and stop shaping the bundle until the relationship is clear.
86
+
87
+ Gate: every shaped candidate has one outcome, one thinnest meaningful slice, and either a split decision or a recorded bundle justification and dependency map.
88
+
89
+ ### 3. Opportunity Review
90
+
91
+ For ideas worth shaping, capture:
92
+
93
+ - product/theme goal
94
+ - user or stakeholder
95
+ - problem / opportunity
96
+ - expected outcome
97
+ - confidence
98
+ - rough investment size
99
+ - tradeoffs and what this displaces
100
+
101
+ Gate: the opportunity is worth shaping, or it is parked/rejected.
102
+
103
+ ### 4. Explore Options
104
+
105
+ Use `knowledge-search`, `search-first`, `explore`, or `crowdsource` when context is missing.
106
+
107
+ Decide the path:
108
+
109
+ - `shape-work`: enough is known to define the feature.
110
+ - `spike-research`: unknowns need investigation, no production code.
111
+ - `prototype-mvp`: visual or interaction proof is needed in an isolated worktree.
112
+ - `reject/park`: not worth current backlog.
113
+
114
+ For spikes and prototypes, define the learning question, timebox, artifact, and cleanup expectation. Prototype work must be isolated and must not silently become production implementation.
115
+
116
+ ### 5. Shape Work
117
+
118
+ Create a brief with:
119
+
120
+ - story / user outcome: `As a <user/persona>, I want <capability>, so that <outcome>` when a user-facing story fits; otherwise use a concise system/operator outcome
121
+ - problem statement
122
+ - users / stakeholders
123
+ - scope
124
+ - non-goals
125
+ - requirements with stable ids, such as `R1`, `R2`
126
+ - UX/API implications
127
+ - acceptance criteria with stable ids, such as `AC1`, `AC2`; criteria must be testable and map back to requirements
128
+ - verification expectations that preserve AC ids and name expected command/test evidence plus source evidence/permalink expectations when implementation behavior is claimed
129
+ - risk class
130
+ - rollout / rollback notes
131
+ - observability or release concerns
132
+ - open questions
133
+
134
+ Gate: acceptance criteria are testable and scope/non-goals are stable enough for planning.
135
+
136
+ The backlog issue shape should optimize for human readability first, then workflow traceability:
137
+
138
+ - `Story / Outcome`
139
+ - `Problem`
140
+ - `Scope`
141
+ - `Non-goals`
142
+ - `Requirements` with stable `R*` ids
143
+ - `Acceptance Criteria` with stable `AC*` ids
144
+ - `Verification Expectation`
145
+ - `Acceptance Evidence` expectation: closure/provider comments must map AC ids to status, command/test evidence, source evidence/permalinks, and gaps
146
+ - `Milestone / Delivery Outcome`
147
+ - `Dependencies / Blockers`
148
+ - `Source Artifact`
149
+
150
+ Downstream `pull-work`, `plan-work`, `execute-plan`, `review-work`, `verify-work`, and `evidence-gate` must preserve the `R*` and `AC*` ids and add readiness, execution, modified-file scope, critique, and evidence mappings.
151
+
152
+ ### 6. Prioritize
153
+
154
+ Produce a priority brief:
155
+
156
+ - recommendation: do / defer / reject
157
+ - why now
158
+ - expected outcome
159
+ - confidence
160
+ - cost / size
161
+ - risks
162
+ - dependencies
163
+ - alternatives
164
+ - human decision
165
+
166
+ Gate: tradeoff, priority, and decision maker are explicit.
167
+
168
+ ### 7. Sync Executable Backlog
169
+
170
+ Use `github-cli` / `gh` for issues when available.
171
+
172
+ Create GitHub issues only for committed or near-committed execution units. Each issue should include:
173
+
174
+ - story / outcome
175
+ - problem
176
+ - scope
177
+ - non-goals
178
+ - requirements with stable `R*` ids
179
+ - acceptance criteria
180
+ - links to source brief / session artifact
181
+ - priority rationale
182
+ - milestone or milestone decision: assign a milestone when the work contributes to a named delivery outcome, or record why no milestone is appropriate
183
+ - expected size
184
+ - thinnest meaningful slice
185
+ - dependencies / blockers
186
+ - bundle justification if grouped with other issues
187
+ - verification expectation
188
+ - release/evidence expectation
189
+ - acceptance evidence expectation, including source evidence refs for behavior claims and immutable GitHub blob permalinks pinned to commit SHA when a provider change is available
190
+ - owner or assignee when known
191
+
192
+ Each synced issue body must preserve the human-readable `Dependencies / Blockers` prose for people and also include a provider-neutral structured metadata marker for adapters. The marker is workflow metadata embedded in the body, not a requirement to use provider-native dependency, sub-issue, project, or custom-field APIs. Native dependency surfaces are adapter-specific enhancements and are outside the generic skill contract.
193
+
194
+ At sync time, capture the source revision assumptions that shaped the issue:
195
+
196
+ - `planned_base_ref`: target branch or ref used during shaping
197
+ - `planned_base_sha`: exact commit SHA for that ref at shaping time
198
+ - `planned_at`: timestamp when the issue scope was shaped or last materially refreshed
199
+ - `planning_artifact_ref`: idea-to-backlog artifact, brief, design, ADR, or other source artifact that produced the issue
200
+ - `planning_scope_refs`: key docs, contracts, schemas, files, packages, or provider records considered while shaping
201
+
202
+ Represent source revision per relevant repository. Single-repo work may use one source revision group; cross-repo work should use an array of scoped groups so downstream consumers can compare each repository against its own planned base.
203
+
204
+ Emit structured `blockers[]` in the marker in addition to the prose `Dependencies / Blockers` section. Use structured entries for provider refs, artifact refs, decisions, external dependencies, and text blockers. Keep the prose section concise and readable; the structured marker carries normalized fields for `pull-work`, pickup Probe, and provider adapters.
205
+
206
+ Provider-neutral marker example:
207
+
208
+ ```markdown
209
+ <!-- flow-agents:work-item-metadata
210
+ {
211
+ "schema_version": "1.0",
212
+ "source_revisions": [
213
+ {
214
+ "repo": "owner/repo",
215
+ "planned_base_ref": "main",
216
+ "planned_base_sha": "0123456789abcdef0123456789abcdef01234567",
217
+ "planned_at": "2026-06-03T03:23:14Z",
218
+ "planning_artifact_ref": ".flow-agents/example/example--idea-to-backlog.md",
219
+ "planning_scope_refs": [
220
+ "skills/idea-to-backlog/SKILL.md",
221
+ "context/contracts/work-item-contract.md"
222
+ ]
223
+ }
224
+ ],
225
+ "blockers": [
226
+ {
227
+ "type": "work_item",
228
+ "ref": "provider://work-items/123",
229
+ "status": "blocked",
230
+ "summary": "Needs the upstream contract issue to land first."
231
+ },
232
+ {
233
+ "type": "text",
234
+ "status": "blocked",
235
+ "summary": "Needs product decision on rollout scope."
236
+ }
237
+ ]
238
+ }
239
+ -->
240
+ ```
241
+
242
+ For one-repo issues, adapters may normalize the first source revision group to top-level `planned_base_ref`, `planned_base_sha`, `planned_at`, `planning_artifact_ref`, and `planning_scope_refs` while preserving `source_revisions` when present.
243
+
244
+ Avoid creating tiny implementation tasks too early; `plan-work` can decompose inside an execution artifact later.
245
+
246
+ Gate: every created issue is ready for `pull-work` or explicitly marked blocked/needs shaping.
247
+
248
+ Backlog issue bodies should not require live provider calls to create permalinks during shaping. They should require downstream closure comments to include an `Acceptance Evidence` table with columns `AC id`, `Status`, `Command/Test Evidence`, `Source Evidence / Permalinks`, and `Gaps`; source evidence can start as local file/line refs during verification and should be upgraded to immutable provider permalinks before closure when available.
249
+
250
+ When a GitHub Project is used, decide whether milestones are represented as repo milestones, project fields, issue labels, or intentionally omitted. Record the chosen milestone strategy in the artifact and apply it consistently to created issues/project items when the provider supports it.
251
+
252
+ ## Gates
253
+
254
+ - Idea Gate: deduped, classified, and either discarded, parked, merged, researched, shaped, or committed.
255
+ - Slice Gate: every candidate has one outcome, one thinnest meaningful slice, and explicit split/bundle/dependency reasoning.
256
+ - Shape Gate: brief is coherent and acceptance criteria are stable enough.
257
+ - Priority Gate: priority and tradeoff are explicit.
258
+ - Backlog Gate: GitHub issues are ready for `pull-work`.
259
+
260
+ If a gate fails, update the artifact with the missing evidence or decision and stop.
261
+
262
+ ## Backlog Hygiene
263
+
264
+ - Do not let every qualified idea become an issue.
265
+ - Use an inbox, opportunity store, shaped queue, executable backlog, and archive.
266
+ - Parked ideas need a reason and revisit trigger.
267
+ - Stale issues should be closed, archived, or returned to discovery.
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: "knowledge-capture"
3
+ description: "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 another workflow creates an artifact that should be indexed."
4
+ ---
5
+
6
+ # Knowledge Capture
7
+
8
+ Capture context so it is findable later without copying every source system into notes.
9
+
10
+ ## Capture Modes
11
+
12
+ ### Pointer
13
+
14
+ Use a pointer when an artifact already exists elsewhere: email, CRM record, calendar event, document, issue, chat thread, or generated report.
15
+
16
+ ```markdown
17
+ - [YYYY-MM-DD] [entity/topic] Summary - source:<system> id:<identifier> tool:<access method>
18
+ ```
19
+
20
+ Write pointers automatically after creating or discovering important artifacts. Do not ask for permission when the pointer is purely an index entry.
21
+
22
+ ### Curated Knowledge
23
+
24
+ Use curated knowledge when the note contains durable context not present in any single source:
25
+
26
+ - user corrections or preferences
27
+ - relationship context
28
+ - decisions and rationale
29
+ - lessons learned
30
+ - cross-system synthesis
31
+ - career or project milestones
32
+
33
+ Before saving proactively, state why it is worth keeping: future query, delta from source systems, shelf life, and whether it is fact or inference.
34
+
35
+ ## Where To Write
36
+
37
+ Follow the knowledge base's existing structure. Prefer:
38
+
39
+ - entity folder or hub for account/project/person-specific context
40
+ - `knowledge/memories/decisions.md` for decisions
41
+ - `knowledge/memories/lessons.md` for lessons
42
+ - `knowledge/memories/preferences.md` for user preferences
43
+ - `knowledge/memories/bookmarks.md` for links
44
+ - journal/raw capture only when no durable structure exists yet
45
+
46
+ If a note belongs to a person, use the `contacts` skill. If it is a meeting note, use `meeting-notes`.
47
+
48
+ ## Rules
49
+
50
+ - Always include date, source, and retrieval path for pointers.
51
+ - Save confirmed facts; label inferences explicitly.
52
+ - Do not save low-signal routine summaries.
53
+ - Do not overwrite existing notes without reading them first.
54
+ - Link from an entity hub when the knowledge base uses hubs.
55
+ - Run `post-write` after writing or updating a knowledge file.
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: "learning-review"
3
+ description: "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 friction."
4
+ ---
5
+
6
+ # Learning Review
7
+
8
+ Turn delivery outcomes into durable learning and follow-up work.
9
+
10
+ ## Contract
11
+
12
+ - Do not rewrite history or mark failed work as successful.
13
+ - Do not implement fixes during the review.
14
+ - Capture facts, decisions, and follow-up issues separately.
15
+ - Feed actionable changes back to `idea-to-backlog`, GitHub issues, tests, docs, or knowledge.
16
+ - Use `knowledge-capture` or `observe` when the learning should persist beyond the repo.
17
+ - Compare long-lived docs against the local `.flow-agents/<slug>/` plan and the final acceptance artifact so implementation intent is not lost after merge.
18
+ - Treat `learning-review` as the terminal closeout decision point for correction telemetry. Compare intended behavior to observed behavior before writing `learning.json`, then record either `correction.needed: false` for a clean run or `correction.needed: true` for a mismatch.
19
+
20
+ ## Inputs
21
+
22
+ - Release-readiness artifact, evidence-gate artifact, PR/issue links, deploy notes, incidents, telemetry, user feedback, and reviewer/verifier notes.
23
+
24
+ ## Artifact Contract
25
+
26
+ Create or update `.flow-agents/<slug>/<slug>--learning-review.md` with:
27
+
28
+ - `scope`: delivered work, issue/PR/release links, dates
29
+ - `outcomes`: expected vs observed behavior and signals
30
+ - `evidence`: telemetry, support notes, incidents, CI/review patterns
31
+ - `decisions`: what changed, why, and who decided
32
+ - `gaps`: process, tests, docs, skill, tooling, product, or ownership gaps
33
+ - `followups`: GitHub issues, idea-to-backlog items, docs/tests/eval work
34
+ - `knowledge_updates`: notes captured or observations proposed
35
+ - `docs_promotion`: durable docs updated, source artifacts archived/linked, and gaps routed
36
+ - `runtime_artifact_cleanup`: `.flow-agents/` runtime artifacts remain untracked or a blocker is recorded
37
+ - `verdict`: LEARNED, FOLLOWUP_REQUIRED, or BLOCKED
38
+
39
+ When the repository provides `npm run workflow:sidecar --`, also write `learning.json` with:
40
+
41
+ ```bash
42
+ npm run workflow:sidecar -- record-learning .flow-agents/<slug> \
43
+ --status learned \
44
+ --record-json '{"id":"...","source_refs":["release.json"],"outcome":"success","facts":["..."],"interpretation":"...","routing":[{"target":"none","action":"No follow-up required after intended-vs-observed closeout.","status":"completed"}],"correction":{"needed":false,"evidence":"Acceptance, release, docs promotion, and learning closeout behaved as intended."}}' \
45
+ --summary "..."
46
+ ```
47
+
48
+ Use `followup_required` or `blocked` when facts are captured but follow-up routing is still open.
49
+
50
+ Clean terminal runs must record a lightweight no-correction-needed record, not an invented lesson. Use `correction.needed: false`, a brief `correction.evidence` summary, and closed routing such as `target: "none"` with `status: "completed"`.
51
+
52
+ Mismatch terminal runs must record `correction.needed: true` with:
53
+
54
+ - `correction.type`: one of `workflow`, `skill`, `agent`, `tooling`, `test`, `doc`, `process`, `product`, `provider`, or `none`
55
+ - `correction.recurrence_key`: a stable free-form key for grouping repeated failures
56
+ - `correction.intended_behavior`: what the workflow, artifact, skill, agent, or provider was supposed to do
57
+ - `correction.observed_behavior`: what actually happened
58
+ - `correction.gap`: the difference between intended behavior and observed behavior
59
+ - `correction.prevention`: a routed prevention action, or `correction.no_change_rationale` when no change is intentionally made
60
+
61
+ If a correction-needed prevention route is still open, use `learning.status: followup_required` unless the route is already represented by a durable provider issue, deferred with a trigger, accepted, or rejected with a rationale.
62
+
63
+ After writing `learning.json`, run artifact validation when available. If `record-learning` is unavailable or blocked, keep the learning verdict at `FOLLOWUP_REQUIRED` or `BLOCKED` in the Markdown artifact and record the sidecar-write gap explicitly.
64
+
65
+ For Flow Agents repo changes, prefer the combined self-validation command when evidence and critique are part of the same pass:
66
+
67
+ ```bash
68
+ npm run workflow:sidecar -- dogfood-pass \
69
+ --check-json '{"id":"...","kind":"test","status":"pass","summary":"..."}' \
70
+ --require-critique \
71
+ --critique-id "..." \
72
+ --critique-summary "..." \
73
+ --learning-record-json '{"id":"...","source_refs":["evidence.json","critique.json"],"outcome":"success","facts":["..."],"interpretation":"...","routing":[{"target":"none","action":"No correction required.","status":"completed"}],"correction":{"needed":false,"evidence":"Evidence and critique matched the intended closeout behavior."}}'
74
+ ```
75
+
76
+ Use `dogfood-pass` only when it can preserve the real evidence state. It must not turn `NOT_VERIFIED` or missing critique into a clean learning outcome.
77
+
78
+ ## Workflow
79
+
80
+ ### 1. Reconstruct Outcome
81
+
82
+ Compare the original intent, acceptance criteria, release decision, and post-deploy signals. Distinguish facts from interpretation.
83
+
84
+ ### 1a. Decide Correction State
85
+
86
+ Before identifying durable learnings, write down the intended behavior, observed behavior, and any gap. If there is no gap, record `correction.needed: false`. If there is a gap, record `correction.needed: true` with typed `correction.type`, stable `correction.recurrence_key`, intended behavior, observed behavior, gap, and either a prevention route or an explicit no-change rationale.
87
+
88
+ ### 2. Identify Learning
89
+
90
+ Classify learnings as product, technical, operational, workflow, test, documentation, eval, or agent-behavior learning.
91
+
92
+ ### 3. Route Follow-Up
93
+
94
+ Route raw ideas or ambiguous improvements to `idea-to-backlog`. Create GitHub issues only for executable follow-up. Use `evidence-gate` again when unresolved trust questions remain.
95
+
96
+ ### 4. Capture Durable Knowledge
97
+
98
+ Use `knowledge-capture` for durable project or relationship knowledge and `observe` for repeated agent workflow patterns or corrections.
99
+
100
+ ### 5. Confirm Docs Promotion
101
+
102
+ Check whether accepted delivery artifacts were promoted into long-lived documentation and whether `.flow-agents/` runtime artifacts remained untracked before merge to `main`. If not, route the missing doc or cleanup work as an owned follow-up or explicitly record why the delivery was self-explanatory.
103
+
104
+ ### 6. Close The Loop
105
+
106
+ Record which follow-ups were created, which were intentionally deferred, and what trigger should revisit deferred work.
107
+
108
+ ## Gates
109
+
110
+ - Learning Gate: observed outcome is recorded with evidence.
111
+ - Follow-Up Gate: every actionable gap is routed, owned, or intentionally deferred.
112
+ - Knowledge Gate: durable learning is captured in the right store.
113
+ - Docs Gate: accepted planning and final acceptance artifacts are archived and linked from durable docs when useful.
114
+ - Closure Gate: the artifact says what is done, what remains, and why.
115
+ - Correction Gate: every terminal learning review records whether correction was needed; clean runs do not invent lessons, and mismatch runs have a recurrence key plus prevention route or no-change rationale.