@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.
- package/.githooks/pre-push +11 -0
- package/.github/workflows/ci.yml +210 -0
- package/.github/workflows/docs-pages.yml +52 -0
- package/.github/workflows/publish-npm.yml +104 -0
- package/AGENTS.md +26 -0
- package/CHANGELOG.md +66 -0
- package/CODE_OF_CONDUCT.md +25 -0
- package/CONTEXT.md +300 -0
- package/CONTRIBUTING.md +44 -0
- package/LICENSE +201 -0
- package/README.md +129 -0
- package/SECURITY.md +33 -0
- package/agent-cards/dev.json +19 -0
- package/agents/dev.json +127 -0
- package/agents/tool-code-reviewer.json +61 -0
- package/agents/tool-dependencies-updater.json +118 -0
- package/agents/tool-explore-config.json +92 -0
- package/agents/tool-explore-deps.json +92 -0
- package/agents/tool-explore-entry.json +92 -0
- package/agents/tool-explore-patterns.json +92 -0
- package/agents/tool-explore-structure.json +92 -0
- package/agents/tool-explore-tests.json +92 -0
- package/agents/tool-planner.json +57 -0
- package/agents/tool-playwright.json +145 -0
- package/agents/tool-security-reviewer.json +56 -0
- package/agents/tool-verifier.json +61 -0
- package/agents/tool-worker.json +58 -0
- package/build/src/cli/console-learning-projection.js +123 -0
- package/build/src/cli/docs-preview.js +39 -0
- package/build/src/cli/effective-backlog-settings.js +102 -0
- package/build/src/cli/export-bookmarks.js +38 -0
- package/build/src/cli/fixture-retirement-audit.js +140 -0
- package/build/src/cli/flow-kit.js +138 -0
- package/build/src/cli/import-bookmarks.js +50 -0
- package/build/src/cli/init.js +239 -0
- package/build/src/cli/instinct-cli.js +93 -0
- package/build/src/cli/promote-workflow-artifact.js +63 -0
- package/build/src/cli/publish-change-helper.js +154 -0
- package/build/src/cli/pull-work-provider.js +469 -0
- package/build/src/cli/runtime-adapter.js +23 -0
- package/build/src/cli/telemetry-doctor.js +221 -0
- package/build/src/cli/usage-feedback.js +443 -0
- package/build/src/cli/validate-hook-influence.js +152 -0
- package/build/src/cli/validate-source-tree.js +31 -0
- package/build/src/cli/validate-workflow-artifacts.js +486 -0
- package/build/src/cli/veritas-governance.js +262 -0
- package/build/src/cli/workflow-artifact-cleanup-audit.js +272 -0
- package/build/src/cli/workflow-sidecar.js +816 -0
- package/build/src/cli.js +89 -0
- package/build/src/flow-kit/validate.js +75 -0
- package/build/src/lib/args.js +45 -0
- package/build/src/lib/fs.js +62 -0
- package/build/src/lib/workflow-learning-projection.js +334 -0
- package/build/src/runtime-adapters.js +146 -0
- package/build/src/tools/build-universal-bundles.js +397 -0
- package/build/src/tools/common.js +56 -0
- package/build/src/tools/filter-installed-packs.js +132 -0
- package/build/src/tools/generate-context-map.js +198 -0
- package/build/src/tools/validate-package.js +64 -0
- package/build/src/tools/validate-source-tree.js +622 -0
- package/console.telemetry.json +176 -0
- package/context/base-rules.md +17 -0
- package/context/code-review-standards.md +62 -0
- package/context/coding-standards.md +42 -0
- package/context/common/orchestrators.md +12 -0
- package/context/common/subagents.md +28 -0
- package/context/contracts/artifact-contract.md +182 -0
- package/context/contracts/builder-kit-workflow-state-contract.md +319 -0
- package/context/contracts/delivery-contract.md +69 -0
- package/context/contracts/execution-contract.md +53 -0
- package/context/contracts/governance-adapter-contract.md +67 -0
- package/context/contracts/planning-contract.md +85 -0
- package/context/contracts/review-contract.md +104 -0
- package/context/contracts/sandbox-policy.md +52 -0
- package/context/contracts/verification-contract.md +134 -0
- package/context/contracts/work-item-contract.md +215 -0
- package/context/deferred/demo-mode.md +33 -0
- package/context/deferred/languages/go.md +31 -0
- package/context/deferred/languages/python.md +31 -0
- package/context/deferred/languages/typescript.md +34 -0
- package/context/deferred/parallelization.md +35 -0
- package/context/deferred/worktree-isolation.md +24 -0
- package/context/development-workflow.md +50 -0
- package/context/scripts/context-budget/budget-scan.sh +166 -0
- package/context/scripts/detect-tools.sh +3 -0
- package/context/scripts/discover-agents.sh +28 -0
- package/context/scripts/git-status.sh +49 -0
- package/context/scripts/hooks/config-protection.js +79 -0
- package/context/scripts/hooks/desktop-notify.sh +39 -0
- package/context/scripts/hooks/governance-audit.sh +135 -0
- package/context/scripts/hooks/lib/audit-transport.sh +40 -0
- package/context/scripts/hooks/lib/hook-flags.js +49 -0
- package/context/scripts/hooks/lib/patterns.sh +57 -0
- package/context/scripts/hooks/lib/resolve-formatter.js +80 -0
- package/context/scripts/hooks/post-edit-accumulator.js +66 -0
- package/context/scripts/hooks/pre-commit-quality.js +194 -0
- package/context/scripts/hooks/quality-gate.js +93 -0
- package/context/scripts/hooks/report-only-guard.js +21 -0
- package/context/scripts/hooks/run-hook.js +136 -0
- package/context/scripts/hooks/stop-format-typecheck.js +141 -0
- package/context/scripts/hooks/stop-goal-fit.js +337 -0
- package/context/scripts/hooks/workflow-steering.js +250 -0
- package/context/scripts/telemetry/console-presets.sh +14 -0
- package/context/scripts/telemetry/install-console-config.sh +214 -0
- package/context/scripts/telemetry/lib/config.sh +85 -0
- package/context/scripts/telemetry/lib/enrich.sh +115 -0
- package/context/scripts/telemetry/lib/redact.sh +22 -0
- package/context/scripts/telemetry/lib/session.sh +63 -0
- package/context/scripts/telemetry/lib/transport.sh +183 -0
- package/context/scripts/telemetry/lib/usage.sh +29 -0
- package/context/scripts/telemetry/sync-agents.sh +173 -0
- package/context/scripts/telemetry/telemetry.conf +23 -0
- package/context/scripts/telemetry/telemetry.sh +387 -0
- package/context/scripts/validate-package.sh +89 -0
- package/context/settings/backlog-provider-settings.json +54 -0
- package/context/templates/core/identity.md +26 -0
- package/context/templates/core/user.md +15 -0
- package/docs/_config.yml +15 -0
- package/docs/_layouts/default.html +87 -0
- package/docs/adr/0001-flow-agents-consumes-flow.md +77 -0
- package/docs/adr/0002-flow-kits-as-extension-unit.md +13 -0
- package/docs/adr/0003-flow-agents-coordinates-kits-and-adapters.md +13 -0
- package/docs/adr/0004-gates-expect-surface-claims.md +15 -0
- package/docs/adr/0005-kubernetes-inspired-resource-contracts.md +48 -0
- package/docs/adr/0006-typescript-first-source-policy.md +98 -0
- package/docs/agent-system-guidebook.md +391 -0
- package/docs/agent-usage-feedback-loop.md +351 -0
- package/docs/assets/favicon.svg +13 -0
- package/docs/assets/og-image.png +0 -0
- package/docs/assets/site.css +774 -0
- package/docs/assets/site.js +139 -0
- package/docs/configurable-workflow-routing.md +174 -0
- package/docs/context-map.md +145 -0
- package/docs/developer-architecture.md +145 -0
- package/docs/developer-hook-setup.md +61 -0
- package/docs/fixture-ownership.md +44 -0
- package/docs/flow-kit-repository-contract.md +180 -0
- package/docs/index.md +129 -0
- package/docs/kontour-resource-contract.md +358 -0
- package/docs/migrations.md +64 -0
- package/docs/north-star.md +322 -0
- package/docs/operating-layers.md +110 -0
- package/docs/repository-structure.md +132 -0
- package/docs/sandbox-policy.md +56 -0
- package/docs/skills-map.md +203 -0
- package/docs/standards-register.md +96 -0
- package/docs/veritas-integration.md +165 -0
- package/docs/work-item-adapters.md +72 -0
- package/docs/workflow-artifact-lifecycle.md +141 -0
- package/docs/workflow-eval-strategy.md +295 -0
- package/docs/workflow-shared-contracts.md +51 -0
- package/docs/workflow-usage-guide.md +443 -0
- package/evals/ARCHITECTURE.md +143 -0
- package/evals/CONVENTIONS.md +58 -0
- package/evals/README.md +128 -0
- package/evals/acceptance/run.sh +29 -0
- package/evals/acceptance/test_claude_harness.sh +242 -0
- package/evals/acceptance/test_codex_harness.sh +108 -0
- package/evals/acceptance/test_kiro_harness.sh +128 -0
- package/evals/cases/dev/404.html +97 -0
- package/evals/cases/dev/code-review.yaml +44 -0
- package/evals/cases/dev/dashboard.html +300 -0
- package/evals/cases/dev/deliver.yaml +66 -0
- package/evals/cases/dev/dependency-update.yaml +16 -0
- package/evals/cases/dev/explore.yaml +20 -0
- package/evals/cases/dev/index.html +370 -0
- package/evals/cases/dev/package-lock.json +28 -0
- package/evals/cases/dev/package.json +16 -0
- package/evals/cases/dev/plan-work.yaml +20 -0
- package/evals/cases/dev/promptfooconfig.yaml +666 -0
- package/evals/cases/dev/search-first.yaml +20 -0
- package/evals/cases/dev/tdd-workflow.yaml +48 -0
- package/evals/cases/dev/verify-work.yaml +44 -0
- package/evals/cases/dev/workflow.yaml +34 -0
- package/evals/ci/run-baseline.sh +283 -0
- package/evals/fixtures/backlog-provider-settings/global-default.json +44 -0
- package/evals/fixtures/backlog-provider-settings/project-override.json +53 -0
- package/evals/fixtures/builder-kit-workflow-state/baseline-freshness-resolution-hint.json +139 -0
- package/evals/fixtures/builder-kit-workflow-state/direct-primitive-stop.json +59 -0
- package/evals/fixtures/builder-kit-workflow-state/empty-board-route-shape.json +55 -0
- package/evals/fixtures/builder-kit-workflow-state/happy-path.json +71 -0
- package/evals/fixtures/builder-kit-workflow-state/mid-work-resume.json +80 -0
- package/evals/fixtures/builder-kit-workflow-state/missing-prestep-recovery.json +65 -0
- package/evals/fixtures/builder-kit-workflow-state/product-build-chaining.json +60 -0
- package/evals/fixtures/builder-kit-workflow-state/stale-continuation-requires-new-probe.json +57 -0
- package/evals/fixtures/console-learning-projection/artifacts/console-learning-correction/learning.json +50 -0
- package/evals/fixtures/console-learning-projection/artifacts/console-learning-open-route/learning.json +41 -0
- package/evals/fixtures/flow-kit-repository/invalid-absolute-path/kit.json +8 -0
- package/evals/fixtures/flow-kit-repository/invalid-asset-section/flows/review.flow.json +6 -0
- package/evals/fixtures/flow-kit-repository/invalid-asset-section/kit.json +11 -0
- package/evals/fixtures/flow-kit-repository/invalid-duplicate-flow/flows/review.flow.json +6 -0
- package/evals/fixtures/flow-kit-repository/invalid-duplicate-flow/kit.json +9 -0
- package/evals/fixtures/flow-kit-repository/invalid-id/flows/review.flow.json +6 -0
- package/evals/fixtures/flow-kit-repository/invalid-id/kit.json +8 -0
- package/evals/fixtures/flow-kit-repository/invalid-malformed-json/kit.json +8 -0
- package/evals/fixtures/flow-kit-repository/invalid-missing-flow/kit.json +8 -0
- package/evals/fixtures/flow-kit-repository/invalid-missing-id/flows/review.flow.json +6 -0
- package/evals/fixtures/flow-kit-repository/invalid-missing-id/kit.json +7 -0
- package/evals/fixtures/flow-kit-repository/invalid-missing-schema-version/flows/review.flow.json +6 -0
- package/evals/fixtures/flow-kit-repository/invalid-missing-schema-version/kit.json +7 -0
- package/evals/fixtures/flow-kit-repository/invalid-name/flows/review.flow.json +6 -0
- package/evals/fixtures/flow-kit-repository/invalid-name/kit.json +8 -0
- package/evals/fixtures/flow-kit-repository/invalid-schema-version/flows/review.flow.json +6 -0
- package/evals/fixtures/flow-kit-repository/invalid-schema-version/kit.json +8 -0
- package/evals/fixtures/flow-kit-repository/invalid-traversal/kit.json +8 -0
- package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/adapters/example.json +3 -0
- package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/assets/example.txt +1 -0
- package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/docs/README.md +3 -0
- package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/flows/runtime.flow.json +26 -0
- package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/kit-evals/example.json +3 -0
- package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/kit-skills/mixed/SKILL.md +3 -0
- package/evals/fixtures/flow-kit-repository/mixed-runtime-kit/kit.json +44 -0
- package/evals/fixtures/flow-kit-repository/valid-local-kit/docs/README.md +3 -0
- package/evals/fixtures/flow-kit-repository/valid-local-kit/flows/review.flow.json +26 -0
- package/evals/fixtures/flow-kit-repository/valid-local-kit/kit.json +20 -0
- package/evals/fixtures/hook-influence/cases.json +336 -0
- package/evals/fixtures/pull-work-provider/github-issues.json +170 -0
- package/evals/fixtures/pull-work-wip-shepherding/global-wip-informs.json +43 -0
- package/evals/fixtures/pull-work-wip-shepherding/personal-wip-blocks.json +42 -0
- package/evals/fixtures/surface-trust/accepted-claim-trust-report.json +31 -0
- package/evals/fixtures/surface-trust/artifact-absent.json +19 -0
- package/evals/fixtures/surface-trust/integrity-mismatch-trust-report.json +32 -0
- package/evals/fixtures/surface-trust/missing-authority-trust-report.json +27 -0
- package/evals/fixtures/surface-trust/provider-absent.json +19 -0
- package/evals/fixtures/surface-trust/rejected-claim-trust-report.json +30 -0
- package/evals/fixtures/surface-trust/stale-claim-trust-snapshot.json +31 -0
- package/evals/fixtures/usage-feedback/sample-full.jsonl +11 -0
- package/evals/fixtures/usage-feedback/sample-outcomes.jsonl +1 -0
- package/evals/fixtures/veritas-governance-adapter/fake-veritas-pass.sh +18 -0
- package/evals/fixtures/veritas-governance-adapter/fake-veritas-secret-fail.sh +10 -0
- package/evals/fixtures/veritas-governance-adapter/fake-veritas-unconfigured.sh +4 -0
- package/evals/integration/test_bundle_install.sh +541 -0
- package/evals/integration/test_console_learning_projection.sh +192 -0
- package/evals/integration/test_context_map.sh +65 -0
- package/evals/integration/test_effective_backlog_settings.sh +58 -0
- package/evals/integration/test_fixture_retirement_audit.sh +58 -0
- package/evals/integration/test_flow_agents_statusline.sh +93 -0
- package/evals/integration/test_flow_kit_repository.sh +90 -0
- package/evals/integration/test_goal_fit_hook.sh +482 -0
- package/evals/integration/test_hook_category_behaviors.sh +190 -0
- package/evals/integration/test_hook_influence_cases.sh +69 -0
- package/evals/integration/test_local_flow_kit_install.sh +145 -0
- package/evals/integration/test_publish_change_helper.sh +176 -0
- package/evals/integration/test_pull_work_provider.sh +140 -0
- package/evals/integration/test_runtime_adapter_activation.sh +106 -0
- package/evals/integration/test_telemetry.sh +485 -0
- package/evals/integration/test_telemetry_doctor.sh +193 -0
- package/evals/integration/test_usage_feedback_dashboard.sh +169 -0
- package/evals/integration/test_usage_feedback_global.sh +117 -0
- package/evals/integration/test_usage_feedback_import.sh +227 -0
- package/evals/integration/test_usage_feedback_outcomes.sh +165 -0
- package/evals/integration/test_usage_feedback_report.sh +263 -0
- package/evals/integration/test_veritas_governance_adapter.sh +235 -0
- package/evals/integration/test_workflow_artifact_cleanup_audit.sh +287 -0
- package/evals/integration/test_workflow_artifacts.sh +1247 -0
- package/evals/integration/test_workflow_sidecar_writer.sh +2112 -0
- package/evals/integration/test_workflow_steering_hook.sh +337 -0
- package/evals/lib/assertions/delegated-to.js +40 -0
- package/evals/lib/assertions/max-tool-calls.js +15 -0
- package/evals/lib/assertions/no-write-tools.js +27 -0
- package/evals/lib/assertions/pass-at-k.js +39 -0
- package/evals/lib/assertions/telemetry-utils.js +105 -0
- package/evals/lib/assertions/tool-called.js +39 -0
- package/evals/lib/assertions/verify-after-fix.js +61 -0
- package/evals/lib/claude-judge.sh +40 -0
- package/evals/lib/claude-provider.sh +74 -0
- package/evals/lib/codex-judge.sh +39 -0
- package/evals/lib/codex-provider.sh +81 -0
- package/evals/lib/eval-dev.sh +5 -0
- package/evals/lib/eval-judge.sh +22 -0
- package/evals/lib/eval-provider.sh +26 -0
- package/evals/lib/eval-report.sh +73 -0
- package/evals/lib/kiro-dev.sh +4 -0
- package/evals/lib/kiro-judge.sh +17 -0
- package/evals/lib/kiro-provider.sh +62 -0
- package/evals/lib/node.sh +111 -0
- package/evals/promptfooconfig.yaml +70 -0
- package/evals/run.sh +309 -0
- package/evals/static/test_evidence_refs.sh +141 -0
- package/evals/static/test_package.sh +407 -0
- package/evals/static/test_repo_hooks.sh +68 -0
- package/evals/static/test_universal_bundles.sh +274 -0
- package/evals/static/test_workflow_skills.sh +1207 -0
- package/install.sh +64 -0
- package/integrations/veritas/flow-agents.adapter.json +138 -0
- package/integrations/veritas/flow-agents.authority-settings.json +26 -0
- package/integrations/veritas/flow-agents.repo-standards.json +82 -0
- package/kits/builder/flows/build.flow.json +218 -0
- package/kits/builder/flows/shape.flow.json +127 -0
- package/kits/builder/kit.json +19 -0
- package/kits/catalog.json +11 -0
- package/package.json +130 -0
- package/packaging/README.md +60 -0
- package/packaging/manifest.json +173 -0
- package/packaging/packs.json +69 -0
- package/powers/dependency-checker/POWER.md +20 -0
- package/powers/dependency-checker/mcp.json +20 -0
- package/powers/playwright/POWER.md +25 -0
- package/powers/playwright/mcp.json +12 -0
- package/prompts/code-audit.md +123 -0
- package/prompts/kcommit.md +88 -0
- package/schemas/backlog-provider-settings.schema.json +138 -0
- package/schemas/workflow-acceptance.schema.json +216 -0
- package/schemas/workflow-critique.schema.json +113 -0
- package/schemas/workflow-evidence.schema.json +357 -0
- package/schemas/workflow-handoff.schema.json +52 -0
- package/schemas/workflow-learning.schema.json +223 -0
- package/schemas/workflow-release.schema.json +172 -0
- package/schemas/workflow-state.schema.json +80 -0
- package/scripts/README.md +111 -0
- package/scripts/build-universal-bundles.js +3 -0
- package/scripts/check-content-boundary.cjs +99 -0
- package/scripts/context-budget/budget-scan.sh +166 -0
- package/scripts/detect-tools.sh +3 -0
- package/scripts/discover-agents.sh +28 -0
- package/scripts/effective-backlog-settings.js +2 -0
- package/scripts/filter-installed-packs.js +2 -0
- package/scripts/flow-kit.js +2 -0
- package/scripts/generate-context-map.js +2 -0
- package/scripts/git-status.sh +49 -0
- package/scripts/hooks/claude-hook-adapter.js +174 -0
- package/scripts/hooks/claude-telemetry-hook.js +115 -0
- package/scripts/hooks/codex-hook-adapter.js +176 -0
- package/scripts/hooks/codex-telemetry-hook.js +95 -0
- package/scripts/hooks/config-protection.js +79 -0
- package/scripts/hooks/desktop-notify.sh +39 -0
- package/scripts/hooks/governance-audit.sh +135 -0
- package/scripts/hooks/lib/audit-transport.sh +40 -0
- package/scripts/hooks/lib/hook-flags.js +49 -0
- package/scripts/hooks/lib/patterns.sh +57 -0
- package/scripts/hooks/lib/resolve-formatter.js +80 -0
- package/scripts/hooks/post-edit-accumulator.js +66 -0
- package/scripts/hooks/pre-commit-quality.js +194 -0
- package/scripts/hooks/quality-gate.js +93 -0
- package/scripts/hooks/report-only-guard.js +21 -0
- package/scripts/hooks/run-hook.js +136 -0
- package/scripts/hooks/stop-format-typecheck.js +141 -0
- package/scripts/hooks/stop-goal-fit.js +337 -0
- package/scripts/hooks/workflow-steering.js +250 -0
- package/scripts/install-codex-home.sh +106 -0
- package/scripts/package.json +3 -0
- package/scripts/promote-workflow-artifact.js +2 -0
- package/scripts/publish-change-helper.js +2 -0
- package/scripts/pull-work-provider.js +2 -0
- package/scripts/setup-repo-hooks.sh +8 -0
- package/scripts/statusline/flow-agents-statusline.js +157 -0
- package/scripts/telemetry/console-presets.sh +14 -0
- package/scripts/telemetry/install-console-config.sh +214 -0
- package/scripts/telemetry/lib/config.sh +85 -0
- package/scripts/telemetry/lib/enrich.sh +115 -0
- package/scripts/telemetry/lib/redact.sh +22 -0
- package/scripts/telemetry/lib/session.sh +63 -0
- package/scripts/telemetry/lib/transport.sh +183 -0
- package/scripts/telemetry/lib/usage.sh +29 -0
- package/scripts/telemetry/sync-agents.sh +173 -0
- package/scripts/telemetry/telemetry.conf +23 -0
- package/scripts/telemetry/telemetry.sh +387 -0
- package/scripts/usage-feedback.js +2 -0
- package/scripts/validate-hook-influence-cases.js +2 -0
- package/scripts/validate-package.sh +89 -0
- package/scripts/validate-source-tree.js +9 -0
- package/skills/agentic-engineering/SKILL.md +62 -0
- package/skills/browser-test/SKILL.md +51 -0
- package/skills/builder-shape/SKILL.md +76 -0
- package/skills/context-budget/SKILL.md +40 -0
- package/skills/deliver/SKILL.md +241 -0
- package/skills/dependency-update/SKILL.md +68 -0
- package/skills/design-probe/SKILL.md +107 -0
- package/skills/eval-rebuild/SKILL.md +39 -0
- package/skills/evidence-gate/SKILL.md +186 -0
- package/skills/execute-plan/SKILL.md +110 -0
- package/skills/explore/SKILL.md +137 -0
- package/skills/feedback-loop/SKILL.md +87 -0
- package/skills/fix-bug/SKILL.md +133 -0
- package/skills/frontend-design/SKILL.md +80 -0
- package/skills/github-cli/SKILL.md +63 -0
- package/skills/idea-to-backlog/SKILL.md +267 -0
- package/skills/knowledge-capture/SKILL.md +55 -0
- package/skills/learning-review/SKILL.md +115 -0
- package/skills/pickup-probe/SKILL.md +114 -0
- package/skills/plan-work/SKILL.md +176 -0
- package/skills/pull-work/SKILL.md +309 -0
- package/skills/release-readiness/SKILL.md +121 -0
- package/skills/review-work/SKILL.md +161 -0
- package/skills/search-first/SKILL.md +66 -0
- package/skills/tdd-workflow/SKILL.md +140 -0
- package/skills/verify-work/SKILL.md +109 -0
- package/src/cli/console-learning-projection.ts +140 -0
- package/src/cli/effective-backlog-settings.ts +99 -0
- package/src/cli/fixture-retirement-audit.ts +154 -0
- package/src/cli/flow-kit.ts +139 -0
- package/src/cli/init.ts +248 -0
- package/src/cli/promote-workflow-artifact.ts +64 -0
- package/src/cli/publish-change-helper.ts +143 -0
- package/src/cli/pull-work-provider.ts +481 -0
- package/src/cli/runtime-adapter.ts +24 -0
- package/src/cli/telemetry-doctor.ts +243 -0
- package/src/cli/usage-feedback.ts +418 -0
- package/src/cli/validate-hook-influence.ts +119 -0
- package/src/cli/validate-source-tree.ts +30 -0
- package/src/cli/validate-workflow-artifacts.ts +411 -0
- package/src/cli/veritas-governance.ts +322 -0
- package/src/cli/workflow-artifact-cleanup-audit.ts +281 -0
- package/src/cli/workflow-sidecar.ts +676 -0
- package/src/cli.ts +95 -0
- package/src/flow-kit/validate.ts +74 -0
- package/src/lib/args.ts +43 -0
- package/src/lib/fs.ts +62 -0
- package/src/lib/workflow-learning-projection.ts +491 -0
- package/src/runtime-adapters.ts +154 -0
- package/src/tools/build-universal-bundles.ts +366 -0
- package/src/tools/common.ts +61 -0
- package/src/tools/filter-installed-packs.ts +129 -0
- package/src/tools/generate-context-map.ts +199 -0
- package/src/tools/validate-package.ts +57 -0
- package/src/tools/validate-source-tree.ts +488 -0
- package/tsconfig.json +19 -0
- package/veritas.claims.json +6 -0
package/install.sh
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
usage() {
|
|
5
|
+
cat >&2 <<'EOF'
|
|
6
|
+
usage: bash install.sh /path/to/workspace [options]
|
|
7
|
+
|
|
8
|
+
Options:
|
|
9
|
+
--telemetry-sink NAME local-files, local-kontour-console,
|
|
10
|
+
kontour-hosted-console, user-hosted-console,
|
|
11
|
+
or legacy aliases. May be repeated.
|
|
12
|
+
--console-url URL Persist Console telemetry base URL.
|
|
13
|
+
--console-endpoint URL Persist full Console telemetry records endpoint URL.
|
|
14
|
+
--console-token-file PATH
|
|
15
|
+
Read Console telemetry bearer token from a file.
|
|
16
|
+
--console-tenant ID Persist Console tenant identifier.
|
|
17
|
+
EOF
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
DEST=""
|
|
21
|
+
CONSOLE_CONFIG_ARGS=()
|
|
22
|
+
while [[ $# -gt 0 ]]; do
|
|
23
|
+
case "$1" in
|
|
24
|
+
--telemetry-sink|--telemetry-sinks|--console-url|--console-endpoint|--console-endpoint-url|--console-token-file|--console-tenant|--console-tenant-id)
|
|
25
|
+
[[ $# -ge 2 ]] || { echo "install.sh: $1 requires a value" >&2; exit 2; }
|
|
26
|
+
CONSOLE_CONFIG_ARGS+=("$1" "$2")
|
|
27
|
+
shift 2
|
|
28
|
+
;;
|
|
29
|
+
--help|-h)
|
|
30
|
+
usage
|
|
31
|
+
exit 0
|
|
32
|
+
;;
|
|
33
|
+
-*)
|
|
34
|
+
echo "install.sh: unknown option: $1" >&2
|
|
35
|
+
usage
|
|
36
|
+
exit 2
|
|
37
|
+
;;
|
|
38
|
+
*)
|
|
39
|
+
if [[ -n "$DEST" ]]; then
|
|
40
|
+
echo "install.sh: unexpected argument: $1" >&2
|
|
41
|
+
usage
|
|
42
|
+
exit 2
|
|
43
|
+
fi
|
|
44
|
+
DEST="$1"
|
|
45
|
+
shift
|
|
46
|
+
;;
|
|
47
|
+
esac
|
|
48
|
+
done
|
|
49
|
+
[[ -n "$DEST" ]] || { usage; exit 2; }
|
|
50
|
+
SRC="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
51
|
+
|
|
52
|
+
mkdir -p "$DEST"
|
|
53
|
+
rsync -a "$SRC"/ "$DEST"/
|
|
54
|
+
if [[ -n "${FLOW_AGENTS_PACKS:-}" ]]; then
|
|
55
|
+
FILTER_SCRIPT="$DEST/scripts/filter-installed-packs.mjs"
|
|
56
|
+
if [[ ! -f "$FILTER_SCRIPT" ]]; then
|
|
57
|
+
FILTER_SCRIPT="$DEST/scripts/filter-installed-packs.js"
|
|
58
|
+
fi
|
|
59
|
+
node "$FILTER_SCRIPT" "$DEST" --packs "$FLOW_AGENTS_PACKS"
|
|
60
|
+
fi
|
|
61
|
+
if [[ ${#CONSOLE_CONFIG_ARGS[@]} -gt 0 || -n "${FLOW_AGENTS_TELEMETRY_SINK:-}" || -n "${FLOW_AGENTS_TELEMETRY_SINKS:-}" || -n "${FLOW_AGENTS_CONSOLE_URL:-}" || -n "${CONSOLE_TELEMETRY_URL:-}" || -n "${CONSOLE_URL:-}" || -n "${FLOW_AGENTS_CONSOLE_TOKEN_FILE:-}" || -n "${CONSOLE_TELEMETRY_TOKEN_FILE:-}" ]]; then
|
|
62
|
+
bash "$DEST/scripts/telemetry/install-console-config.sh" "$DEST/scripts/telemetry/telemetry.conf" "${CONSOLE_CONFIG_ARGS[@]}"
|
|
63
|
+
fi
|
|
64
|
+
echo "Installed Flow Agents bundle into $DEST"
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "flow-agents",
|
|
3
|
+
"kind": "repo-adapter",
|
|
4
|
+
"policy": {
|
|
5
|
+
"defaultFalsePositiveReview": "unknown",
|
|
6
|
+
"defaultPromotionCandidate": false,
|
|
7
|
+
"defaultOverrideOrBypass": false
|
|
8
|
+
},
|
|
9
|
+
"graph": {
|
|
10
|
+
"version": 1,
|
|
11
|
+
"defaultResolution": {
|
|
12
|
+
"phase": "Flow Agents north star",
|
|
13
|
+
"workstream": "Portable agent workflow reliability",
|
|
14
|
+
"matchedArtifacts": [
|
|
15
|
+
"docs/north-star-roadmap.md"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"nonSliceableInvariants": [
|
|
19
|
+
"Portable bundle exports stay installable across Codex, Claude Code, and Kiro",
|
|
20
|
+
"Workflow contract changes include validation coverage",
|
|
21
|
+
"Hook and sidecar behavior stays evidence-backed"
|
|
22
|
+
],
|
|
23
|
+
"resolverPrecedence": [
|
|
24
|
+
"active workflow sidecar under .flow-agents",
|
|
25
|
+
"north-star roadmap workstream",
|
|
26
|
+
"repo surface fallback"
|
|
27
|
+
],
|
|
28
|
+
"nodes": [
|
|
29
|
+
{
|
|
30
|
+
"id": "flow-agents.workflow",
|
|
31
|
+
"kind": "governance-surface",
|
|
32
|
+
"label": "workflow contracts and sidecars",
|
|
33
|
+
"patterns": [
|
|
34
|
+
"context/contracts/",
|
|
35
|
+
"schemas/",
|
|
36
|
+
"src/cli/workflow-sidecar.ts",
|
|
37
|
+
"src/cli/validate-workflow-artifacts.ts"
|
|
38
|
+
],
|
|
39
|
+
"boundary": "advisory",
|
|
40
|
+
"owners": [
|
|
41
|
+
"flow-agents-core"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "flow-agents.hooks",
|
|
46
|
+
"kind": "tooling-surface",
|
|
47
|
+
"label": "runtime hooks",
|
|
48
|
+
"patterns": [
|
|
49
|
+
"scripts/hooks/"
|
|
50
|
+
],
|
|
51
|
+
"boundary": "advisory",
|
|
52
|
+
"owners": [
|
|
53
|
+
"flow-agents-runtime"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "flow-agents.docs",
|
|
58
|
+
"kind": "product-surface",
|
|
59
|
+
"label": "docs and guidebook",
|
|
60
|
+
"patterns": [
|
|
61
|
+
"docs/"
|
|
62
|
+
],
|
|
63
|
+
"boundary": "advisory",
|
|
64
|
+
"owners": [
|
|
65
|
+
"flow-agents-docs"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "flow-agents.skills",
|
|
70
|
+
"kind": "product-surface",
|
|
71
|
+
"label": "skills and powers",
|
|
72
|
+
"patterns": [
|
|
73
|
+
"skills/",
|
|
74
|
+
"powers/"
|
|
75
|
+
],
|
|
76
|
+
"boundary": "advisory",
|
|
77
|
+
"owners": [
|
|
78
|
+
"flow-agents-core"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "flow-agents.evals",
|
|
83
|
+
"kind": "verification-surface",
|
|
84
|
+
"label": "evals",
|
|
85
|
+
"patterns": [
|
|
86
|
+
"evals/"
|
|
87
|
+
],
|
|
88
|
+
"boundary": "advisory",
|
|
89
|
+
"owners": [
|
|
90
|
+
"flow-agents-quality"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "flow-agents.packaging",
|
|
95
|
+
"kind": "delivery-surface",
|
|
96
|
+
"label": "bundle packaging",
|
|
97
|
+
"patterns": [
|
|
98
|
+
"packaging/",
|
|
99
|
+
"src/tools/build-universal-bundles.ts",
|
|
100
|
+
"src/tools/filter-installed-packs.ts"
|
|
101
|
+
],
|
|
102
|
+
"boundary": "advisory",
|
|
103
|
+
"owners": [
|
|
104
|
+
"flow-agents-release"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "flow-agents.instructions",
|
|
109
|
+
"kind": "governance-surface",
|
|
110
|
+
"label": "agent instructions",
|
|
111
|
+
"patterns": [
|
|
112
|
+
"AGENTS.md",
|
|
113
|
+
"README.md"
|
|
114
|
+
],
|
|
115
|
+
"boundary": "advisory",
|
|
116
|
+
"owners": [
|
|
117
|
+
"flow-agents-core"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"evidence": {
|
|
123
|
+
"artifactDir": ".veritas/evidence/flow-agents-readiness",
|
|
124
|
+
"reportTransport": "artifact",
|
|
125
|
+
"evidenceChecks": [
|
|
126
|
+
{
|
|
127
|
+
"id": "source-tree",
|
|
128
|
+
"command": "npm run validate:source",
|
|
129
|
+
"method": "validation",
|
|
130
|
+
"summary": "Validates Flow Agents canonical source tree invariants."
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"requiredEvidenceCheckIds": [
|
|
134
|
+
"source-tree"
|
|
135
|
+
],
|
|
136
|
+
"uncoveredPathPolicy": "warn"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"id": "flow-agents",
|
|
4
|
+
"name": "Flow Agents Authority Settings",
|
|
5
|
+
"description": "Conservative local authority settings for recording Veritas as optional Flow Agents evidence before any release.",
|
|
6
|
+
"defaults": {
|
|
7
|
+
"mode": "advisory",
|
|
8
|
+
"new_rule_stage": "recommend"
|
|
9
|
+
},
|
|
10
|
+
"review_preferences": {
|
|
11
|
+
"human_signoff_required_for_stage_promotion": true,
|
|
12
|
+
"reviewer_confidence_scale": [
|
|
13
|
+
"low",
|
|
14
|
+
"medium",
|
|
15
|
+
"high"
|
|
16
|
+
],
|
|
17
|
+
"major_rewrite_definition": "A change counts as a major rewrite when the reviewer replaces the main workflow, contract, or hook structure instead of making local edits."
|
|
18
|
+
},
|
|
19
|
+
"promotion_preferences": {
|
|
20
|
+
"evidence_checks_required_before_block": [
|
|
21
|
+
"npm run validate:source"
|
|
22
|
+
],
|
|
23
|
+
"warnings_block_in_ci": false,
|
|
24
|
+
"require_consistent_eval_before_promotion": true
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"name": "flow-agents-governance",
|
|
4
|
+
"description": "Local Veritas repo standards for Flow Agents development. This stays optional and adapter-boundary scoped.",
|
|
5
|
+
"rules": [
|
|
6
|
+
{
|
|
7
|
+
"id": "agent-instructions-remain-flow-agents-source",
|
|
8
|
+
"kind": "required-pattern",
|
|
9
|
+
"classification": "hard-invariant",
|
|
10
|
+
"stage": "warn",
|
|
11
|
+
"message": "Flow Agents source instructions must keep the canonical source-of-truth framing.",
|
|
12
|
+
"owner": "flow-agents-core",
|
|
13
|
+
"rollback_switch": null,
|
|
14
|
+
"match": {
|
|
15
|
+
"files": [
|
|
16
|
+
"AGENTS.md"
|
|
17
|
+
],
|
|
18
|
+
"pattern": "Flow Agents Source"
|
|
19
|
+
},
|
|
20
|
+
"explain": {
|
|
21
|
+
"summary": "Agent instruction files are governance surface. They must continue to identify this repo as the canonical Flow Agents source.",
|
|
22
|
+
"mustDo": [
|
|
23
|
+
"Keep AGENTS.md present and scoped to Flow Agents source behavior.",
|
|
24
|
+
"Route instruction changes through normal workflow evidence."
|
|
25
|
+
],
|
|
26
|
+
"mustNotDo": [
|
|
27
|
+
"Replace source-of-truth guidance with generated bundle instructions."
|
|
28
|
+
],
|
|
29
|
+
"contextLinks": [
|
|
30
|
+
"docs/operating-layers.md",
|
|
31
|
+
"context/contracts/governance-adapter-contract.md"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "workflow-contract-changes-require-evals",
|
|
37
|
+
"kind": "diff-required",
|
|
38
|
+
"classification": "promotable-policy",
|
|
39
|
+
"stage": "warn",
|
|
40
|
+
"message": "Workflow contract or sidecar schema changes should include eval coverage.",
|
|
41
|
+
"owner": "flow-agents-quality",
|
|
42
|
+
"rollback_switch": null,
|
|
43
|
+
"match": {
|
|
44
|
+
"if-changed": "{context/contracts/,schemas/,src/cli/workflow-sidecar.ts,src/cli/validate-workflow-artifacts.ts}",
|
|
45
|
+
"then-require": "evals/"
|
|
46
|
+
},
|
|
47
|
+
"explain": {
|
|
48
|
+
"summary": "Workflow state is a reliability boundary. Contract, schema, and sidecar writer changes need executable coverage.",
|
|
49
|
+
"mustDo": [
|
|
50
|
+
"Add or update static/integration evals when workflow contracts or sidecar schemas change.",
|
|
51
|
+
"Record eval evidence in Flow Agents evidence sidecars."
|
|
52
|
+
],
|
|
53
|
+
"contextLinks": [
|
|
54
|
+
"docs/workflow-usage-guide.md"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "hook-changes-require-hook-evals",
|
|
60
|
+
"kind": "diff-required",
|
|
61
|
+
"classification": "promotable-policy",
|
|
62
|
+
"stage": "warn",
|
|
63
|
+
"message": "Runtime hook changes should include hook influence or steering eval updates.",
|
|
64
|
+
"owner": "flow-agents-runtime",
|
|
65
|
+
"rollback_switch": null,
|
|
66
|
+
"match": {
|
|
67
|
+
"if-changed": "scripts/hooks/",
|
|
68
|
+
"then-require": "evals/"
|
|
69
|
+
},
|
|
70
|
+
"explain": {
|
|
71
|
+
"summary": "Hook behavior is a just-in-time guidance boundary. Hook changes need eval evidence that guidance still reaches agents or fails honestly.",
|
|
72
|
+
"mustDo": [
|
|
73
|
+
"Update hook integration or hook-influence cases when runtime hook behavior changes.",
|
|
74
|
+
"Document runtime gaps instead of implying live influence."
|
|
75
|
+
],
|
|
76
|
+
"contextLinks": [
|
|
77
|
+
"evals/fixtures/hook-influence/cases.json"
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "builder.build",
|
|
3
|
+
"version": "1.0",
|
|
4
|
+
"steps": [
|
|
5
|
+
{ "id": "pull-work", "next": "design-probe" },
|
|
6
|
+
{ "id": "design-probe", "next": "plan" },
|
|
7
|
+
{ "id": "plan", "next": "execute" },
|
|
8
|
+
{ "id": "execute", "next": "verify" },
|
|
9
|
+
{ "id": "verify", "next": "merge-ready" },
|
|
10
|
+
{ "id": "merge-ready", "next": "pr-open" },
|
|
11
|
+
{ "id": "pr-open", "next": "merge-ready-ci" },
|
|
12
|
+
{ "id": "merge-ready-ci", "next": "learn" },
|
|
13
|
+
{ "id": "learn", "next": "done" },
|
|
14
|
+
{ "id": "done", "next": null }
|
|
15
|
+
],
|
|
16
|
+
"gates": {
|
|
17
|
+
"pull-work-gate": {
|
|
18
|
+
"step": "pull-work",
|
|
19
|
+
"expects": [
|
|
20
|
+
{
|
|
21
|
+
"id": "selected-work",
|
|
22
|
+
"kind": "surface.claim",
|
|
23
|
+
"required": true,
|
|
24
|
+
"description": "A ready work item is selected with scope and acceptance context.",
|
|
25
|
+
"claim": {
|
|
26
|
+
"type": "builder.pull-work.selected",
|
|
27
|
+
"subject": "work-item",
|
|
28
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"design-probe-gate": {
|
|
34
|
+
"step": "design-probe",
|
|
35
|
+
"expects": [
|
|
36
|
+
{
|
|
37
|
+
"id": "pickup-probe-readiness",
|
|
38
|
+
"kind": "surface.claim",
|
|
39
|
+
"required": true,
|
|
40
|
+
"description": "Pickup Probe evidence is recorded before planning: goal fit and scope, blockers and dependencies, dependency freshness, acceptance criteria quality, provider state, risk, stop-short risks, planning readiness, decisions, unresolved questions, accepted gaps, probe_status, probe_artifact_ref, grouping decision, expected modified files, and conflict risks.",
|
|
41
|
+
"claim": {
|
|
42
|
+
"type": "builder.design-probe.pickup-readiness",
|
|
43
|
+
"subject": "work-item",
|
|
44
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "probe-decisions-or-accepted-gaps",
|
|
49
|
+
"kind": "surface.claim",
|
|
50
|
+
"required": true,
|
|
51
|
+
"description": "Planning is blocked until pickup Probe decisions are captured in the pull-work or plan handoff artifact, or unresolved questions are explicitly recorded as accepted gaps. Stale broad continuation language after a merge is not sufficient for planning newly selected work.",
|
|
52
|
+
"claim": {
|
|
53
|
+
"type": "builder.design-probe.decisions",
|
|
54
|
+
"subject": "decision",
|
|
55
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"plan-gate": {
|
|
61
|
+
"step": "plan",
|
|
62
|
+
"expects": [
|
|
63
|
+
{
|
|
64
|
+
"id": "implementation-plan",
|
|
65
|
+
"kind": "surface.claim",
|
|
66
|
+
"required": true,
|
|
67
|
+
"description": "The implementation plan names files, changes, acceptance evidence, and sequencing.",
|
|
68
|
+
"claim": {
|
|
69
|
+
"type": "builder.plan.implementation",
|
|
70
|
+
"subject": "artifact",
|
|
71
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"execute-gate": {
|
|
77
|
+
"step": "execute",
|
|
78
|
+
"expects": [
|
|
79
|
+
{
|
|
80
|
+
"id": "implementation-scope",
|
|
81
|
+
"kind": "surface.claim",
|
|
82
|
+
"required": true,
|
|
83
|
+
"description": "The implementation scope records changed files and excludes unrelated work.",
|
|
84
|
+
"claim": {
|
|
85
|
+
"type": "builder.execute.scope",
|
|
86
|
+
"subject": "change",
|
|
87
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"verify-gate": {
|
|
93
|
+
"step": "verify",
|
|
94
|
+
"on_route_back": {
|
|
95
|
+
"missing_evidence": "verify",
|
|
96
|
+
"implementation_defect": "execute",
|
|
97
|
+
"plan_gap": "plan",
|
|
98
|
+
"decision_gap": "design-probe",
|
|
99
|
+
"default": "verify"
|
|
100
|
+
},
|
|
101
|
+
"route_back_policy": {
|
|
102
|
+
"max_attempts": 3,
|
|
103
|
+
"on_exceeded": "block"
|
|
104
|
+
},
|
|
105
|
+
"expects": [
|
|
106
|
+
{
|
|
107
|
+
"id": "tests-evidence",
|
|
108
|
+
"kind": "surface.claim",
|
|
109
|
+
"required": true,
|
|
110
|
+
"description": "Relevant tests or checks have evidence tied to the implemented change.",
|
|
111
|
+
"claim": {
|
|
112
|
+
"type": "builder.verify.tests",
|
|
113
|
+
"subject": "flow-step",
|
|
114
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "policy-compliance",
|
|
119
|
+
"kind": "surface.claim",
|
|
120
|
+
"required": false,
|
|
121
|
+
"description": "Policy compliance evidence is attached when policy gates apply.",
|
|
122
|
+
"explore_hint": "Use as advisory evidence for scope, security, privacy, release, or repository policy checks.",
|
|
123
|
+
"claim": {
|
|
124
|
+
"type": "builder.verify.policy-compliance",
|
|
125
|
+
"subject": "artifact",
|
|
126
|
+
"accepted_statuses": ["trusted", "accepted", "advisory"]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"merge-ready-gate": {
|
|
132
|
+
"step": "merge-ready",
|
|
133
|
+
"on_route_back": {
|
|
134
|
+
"missing_evidence": "verify",
|
|
135
|
+
"implementation_defect": "execute",
|
|
136
|
+
"plan_gap": "plan",
|
|
137
|
+
"decision_gap": "design-probe",
|
|
138
|
+
"default": "verify"
|
|
139
|
+
},
|
|
140
|
+
"route_back_policy": {
|
|
141
|
+
"max_attempts": 3,
|
|
142
|
+
"on_exceeded": "block"
|
|
143
|
+
},
|
|
144
|
+
"expects": [
|
|
145
|
+
{
|
|
146
|
+
"id": "merge-readiness",
|
|
147
|
+
"kind": "surface.claim",
|
|
148
|
+
"required": true,
|
|
149
|
+
"description": "The change is ready for merge review based on scope, evidence, and unresolved risks.",
|
|
150
|
+
"claim": {
|
|
151
|
+
"type": "builder.merge-ready.readiness",
|
|
152
|
+
"subject": "change",
|
|
153
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"pr-open-gate": {
|
|
159
|
+
"step": "pr-open",
|
|
160
|
+
"expects": [
|
|
161
|
+
{
|
|
162
|
+
"id": "pull-request-opened",
|
|
163
|
+
"kind": "surface.claim",
|
|
164
|
+
"required": true,
|
|
165
|
+
"description": "A pull request exists with linked work, implementation summary, and verification evidence.",
|
|
166
|
+
"claim": {
|
|
167
|
+
"type": "builder.pr-open.pull-request",
|
|
168
|
+
"subject": "pull-request",
|
|
169
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"merge-ready-ci-gate": {
|
|
175
|
+
"step": "merge-ready-ci",
|
|
176
|
+
"expects": [
|
|
177
|
+
{
|
|
178
|
+
"id": "ci-merge-readiness",
|
|
179
|
+
"kind": "surface.claim",
|
|
180
|
+
"required": true,
|
|
181
|
+
"description": "CI and review status support a merge-ready decision.",
|
|
182
|
+
"claim": {
|
|
183
|
+
"type": "builder.merge-ready-ci.readiness",
|
|
184
|
+
"subject": "pull-request",
|
|
185
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
"learn-gate": {
|
|
191
|
+
"step": "learn",
|
|
192
|
+
"expects": [
|
|
193
|
+
{
|
|
194
|
+
"id": "decision-evidence",
|
|
195
|
+
"kind": "surface.claim",
|
|
196
|
+
"required": true,
|
|
197
|
+
"description": "Durable decision evidence from the build is recorded.",
|
|
198
|
+
"claim": {
|
|
199
|
+
"type": "builder.learn.decisions",
|
|
200
|
+
"subject": "decision",
|
|
201
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"id": "learning-evidence",
|
|
206
|
+
"kind": "surface.claim",
|
|
207
|
+
"required": true,
|
|
208
|
+
"description": "Learning evidence from delivery is recorded for future work.",
|
|
209
|
+
"claim": {
|
|
210
|
+
"type": "builder.learn.evidence",
|
|
211
|
+
"subject": "release",
|
|
212
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "builder.shape",
|
|
3
|
+
"version": "1.0",
|
|
4
|
+
"steps": [
|
|
5
|
+
{ "id": "shape", "next": "breakdown" },
|
|
6
|
+
{ "id": "breakdown", "next": "file-issues" },
|
|
7
|
+
{ "id": "file-issues", "next": "shape-done" },
|
|
8
|
+
{ "id": "shape-done", "next": null }
|
|
9
|
+
],
|
|
10
|
+
"gates": {
|
|
11
|
+
"shape-gate": {
|
|
12
|
+
"step": "shape",
|
|
13
|
+
"expects": [
|
|
14
|
+
{
|
|
15
|
+
"id": "shaped-problem",
|
|
16
|
+
"kind": "surface.claim",
|
|
17
|
+
"required": true,
|
|
18
|
+
"description": "The problem is stated in terms a builder can act on.",
|
|
19
|
+
"claim": {
|
|
20
|
+
"type": "builder.shape.problem",
|
|
21
|
+
"subject": "decision",
|
|
22
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "shaped-outcome",
|
|
27
|
+
"kind": "surface.claim",
|
|
28
|
+
"required": true,
|
|
29
|
+
"description": "The intended outcome is explicit enough to evaluate later.",
|
|
30
|
+
"claim": {
|
|
31
|
+
"type": "builder.shape.outcome",
|
|
32
|
+
"subject": "flow-run",
|
|
33
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "shaped-constraints",
|
|
38
|
+
"kind": "surface.claim",
|
|
39
|
+
"required": true,
|
|
40
|
+
"description": "Constraints that affect implementation are captured.",
|
|
41
|
+
"claim": {
|
|
42
|
+
"type": "builder.shape.constraints",
|
|
43
|
+
"subject": "decision",
|
|
44
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "shaped-non-goals",
|
|
49
|
+
"kind": "surface.claim",
|
|
50
|
+
"required": true,
|
|
51
|
+
"description": "Non-goals are named so the build stays scoped.",
|
|
52
|
+
"claim": {
|
|
53
|
+
"type": "builder.shape.non-goals",
|
|
54
|
+
"subject": "decision",
|
|
55
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "shaped-success",
|
|
60
|
+
"kind": "surface.claim",
|
|
61
|
+
"required": true,
|
|
62
|
+
"description": "Success criteria are concrete enough for verification.",
|
|
63
|
+
"claim": {
|
|
64
|
+
"type": "builder.shape.success",
|
|
65
|
+
"subject": "artifact",
|
|
66
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "shaped-risk",
|
|
71
|
+
"kind": "surface.claim",
|
|
72
|
+
"required": true,
|
|
73
|
+
"description": "Material delivery risks are recorded before breakdown.",
|
|
74
|
+
"claim": {
|
|
75
|
+
"type": "builder.shape.risk",
|
|
76
|
+
"subject": "decision",
|
|
77
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "open-decisions",
|
|
82
|
+
"kind": "surface.claim",
|
|
83
|
+
"required": false,
|
|
84
|
+
"description": "Open decisions are recorded when the shape is not fully settled.",
|
|
85
|
+
"explore_hint": "Attach when unresolved choices could affect slices or issue boundaries.",
|
|
86
|
+
"claim": {
|
|
87
|
+
"type": "builder.shape.open-decisions",
|
|
88
|
+
"subject": "decision",
|
|
89
|
+
"accepted_statuses": ["trusted", "accepted", "advisory"]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"breakdown-gate": {
|
|
95
|
+
"step": "breakdown",
|
|
96
|
+
"expects": [
|
|
97
|
+
{
|
|
98
|
+
"id": "slices-defined",
|
|
99
|
+
"kind": "surface.claim",
|
|
100
|
+
"required": true,
|
|
101
|
+
"description": "The shaped work is split into independently useful slices.",
|
|
102
|
+
"claim": {
|
|
103
|
+
"type": "builder.breakdown.slices",
|
|
104
|
+
"subject": "work-item",
|
|
105
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"file-issues-gate": {
|
|
111
|
+
"step": "file-issues",
|
|
112
|
+
"expects": [
|
|
113
|
+
{
|
|
114
|
+
"id": "work-items-filed",
|
|
115
|
+
"kind": "surface.claim",
|
|
116
|
+
"required": true,
|
|
117
|
+
"description": "Work items are filed or otherwise recorded with enough context to pull later.",
|
|
118
|
+
"claim": {
|
|
119
|
+
"type": "builder.file-issues.work-items",
|
|
120
|
+
"subject": "work-item",
|
|
121
|
+
"accepted_statuses": ["trusted", "accepted"]
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "1.0",
|
|
3
|
+
"id": "builder",
|
|
4
|
+
"name": "Builder Kit",
|
|
5
|
+
"product_name": "Builder Kit",
|
|
6
|
+
"description": "A Flow Kit for shaping work, breaking it down, building changes, verifying evidence, preparing pull requests, checking merge readiness, and recording learning.",
|
|
7
|
+
"flows": [
|
|
8
|
+
{
|
|
9
|
+
"id": "builder.shape",
|
|
10
|
+
"path": "flows/shape.flow.json",
|
|
11
|
+
"description": "Shape a problem into slices and fileable work items."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "builder.build",
|
|
15
|
+
"path": "flows/build.flow.json",
|
|
16
|
+
"description": "Pull ready work through design probing, planning, implementation, verification, pull request readiness, merge readiness, and learning."
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|