@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
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Agent Usage Feedback Loop
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Agent Usage Feedback Loop
|
|
6
|
+
|
|
7
|
+
This document defines the usage feedback loop for comparing agent runs across repositories, runtimes, profiles, prompts, skills, and future setups. The measurement schema is runtime-neutral: every runtime should import or emit normalized session, event, and outcome records before reporting. Codex and Claude Code can both flow through the shared telemetry envelope; Kiro uses the same canonical telemetry script when hooks are installed.
|
|
8
|
+
|
|
9
|
+
The loop has three parts:
|
|
10
|
+
|
|
11
|
+
1. Import or read runtime telemetry into normalized usage records.
|
|
12
|
+
2. Sync quality outcomes from task artifacts, evals, release gates, or humans.
|
|
13
|
+
3. Report usage and outcome metrics by repo, runtime, profile, prompt, skill, or task type.
|
|
14
|
+
|
|
15
|
+
Quality outcomes are not inferred from raw telemetry alone. The CLI can automatically derive coarse outcomes from task artifacts such as `.flow-agents/<slug>/*.md`: `delivered` and `complete` become `success`, `failed` becomes `failure`, and optionally open artifacts can be recorded as `not_verified`. It does not invent `quality_score` or `human_minutes_saved`; those remain human/eval/release-gate facts.
|
|
16
|
+
|
|
17
|
+
## Storage Defaults
|
|
18
|
+
|
|
19
|
+
Repo-local telemetry defaults to `.telemetry/`:
|
|
20
|
+
|
|
21
|
+
- `.telemetry/full.jsonl`: raw runtime telemetry events.
|
|
22
|
+
- `.telemetry/analytics.jsonl`: summarized analytics emitted by telemetry hooks.
|
|
23
|
+
- `.telemetry/sessions/`: per-session runtime artifacts, when the runtime writes them.
|
|
24
|
+
- `.telemetry/outcomes.jsonl`: human/eval outcome records for completed work.
|
|
25
|
+
- `.telemetry/reports/`: generated Markdown or JSON usage reports.
|
|
26
|
+
|
|
27
|
+
Locations are configurable. CLI commands should accept `--telemetry-dir`, and shell workflows may set `TELEMETRY_DATA_DIR`. User-level or global Codex telemetry roots, such as `~/.codex/telemetry` or `~/.flow-agents/telemetry`, should be treated as configurable installation choices, not hard-coded truth. When comparing multiple repositories or machines, pass each telemetry root explicitly with repeatable `--telemetry-dir` flags.
|
|
28
|
+
|
|
29
|
+
Runtime hooks can also mirror redacted telemetry to Console without changing the
|
|
30
|
+
event shape. Set `CONSOLE_TELEMETRY_URL=http://127.0.0.1:3737` for a local
|
|
31
|
+
Console, or `CONSOLE_URL=https://console.kontourai.io` for a deployed Console.
|
|
32
|
+
The transport posts to `/api/telemetry/records` by default. Hosted Console URLs
|
|
33
|
+
must use `https://`; `http://` is accepted only for `localhost` or `127.0.0.1`
|
|
34
|
+
local development. Use `CONSOLE_TELEMETRY_ENDPOINT_URL` only when the API path
|
|
35
|
+
is nonstandard, `CONSOLE_TELEMETRY_TOKEN` or `CONSOLE_AUTH_TOKEN` for bearer
|
|
36
|
+
auth, and `CONSOLE_TENANT_ID` for hosted tenant routing. If no Console URL is
|
|
37
|
+
set, telemetry remains local-only.
|
|
38
|
+
|
|
39
|
+
Flow Agents owns the Console telemetry descriptor at `console.telemetry.json`.
|
|
40
|
+
Generated bundles include that root descriptor beside `AGENTS.md`, scripts, and
|
|
41
|
+
kit assets. The descriptor maps Flow Agents runtime telemetry and workflow
|
|
42
|
+
sidecars into generic Console facets for skills, tools, flows, repositories,
|
|
43
|
+
projects, runtimes, agents, models, statuses, and outcomes. Console consumes
|
|
44
|
+
those mappings as product-owned display metadata; Flow-owned gate and transition
|
|
45
|
+
semantics stay in Flow contracts and sidecars. Repository and project metadata
|
|
46
|
+
are stable cross-user workspace identifiers when present. Local working-directory
|
|
47
|
+
paths stay out of the descriptor so Console display metadata does not expose
|
|
48
|
+
usernames or machine-local paths; records without a repository identifier should
|
|
49
|
+
fall back to their logical product root such as `product:flow-agents:.flow-agents`.
|
|
50
|
+
|
|
51
|
+
Packaged setup modes are:
|
|
52
|
+
|
|
53
|
+
- `local-files`: default local JSONL telemetry only; no Console URL or token.
|
|
54
|
+
- `local-kontour-console`: mirror to a separately running local Console, using
|
|
55
|
+
`http://127.0.0.1:3737` unless `FLOW_AGENTS_LOCAL_KONTOUR_CONSOLE_URL` is set.
|
|
56
|
+
- `kontour-hosted-console`: mirror to Kontour's hosted Console default URL.
|
|
57
|
+
Pass `--console-token-file` and `--console-tenant` for headless hosted setup.
|
|
58
|
+
- `user-hosted-console`: mirror to a self-hosted Console; requires
|
|
59
|
+
`--console-url` or `--console-endpoint`.
|
|
60
|
+
|
|
61
|
+
Use `flow-agents init --yes` or `--headless` with the same flags in CI. The
|
|
62
|
+
legacy sink names `kontour-cloud` and `hosted-kontour-console` are still
|
|
63
|
+
accepted for existing scripts.
|
|
64
|
+
|
|
65
|
+
Check an installed telemetry setup without opening an interactive prompt:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
flow-agents telemetry-doctor --dest /path/to/installed/flow-agents --json --headless
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The doctor reads `scripts/telemetry/telemetry.conf`, reports active local and
|
|
72
|
+
Console sinks, the resolved local telemetry files, Console URL/endpoint
|
|
73
|
+
configuration, and a bounded Console reachability check. JSON output is stable
|
|
74
|
+
for CI and setup scripts; a missing or unreachable configured Console makes the
|
|
75
|
+
command exit nonzero while still emitting the report. By default, reachability
|
|
76
|
+
checks are limited to local endpoints; pass `--allow-network` to probe a
|
|
77
|
+
non-local HTTPS Console endpoint explicitly.
|
|
78
|
+
|
|
79
|
+
## Normalized Records
|
|
80
|
+
|
|
81
|
+
### Session
|
|
82
|
+
|
|
83
|
+
A session record represents one agent run after import or aggregation. It should include:
|
|
84
|
+
|
|
85
|
+
- `schema_version`
|
|
86
|
+
- `source_id`
|
|
87
|
+
- `repo`
|
|
88
|
+
- `repo_root`
|
|
89
|
+
- `runtime`
|
|
90
|
+
- `runtime_session_id`
|
|
91
|
+
- `session_id`
|
|
92
|
+
- `agent`
|
|
93
|
+
- `model`
|
|
94
|
+
- `profile_id`
|
|
95
|
+
- `prompt_id`
|
|
96
|
+
- `prompt_variant`
|
|
97
|
+
- `skill_ids`
|
|
98
|
+
- `skill_variant`
|
|
99
|
+
- `started_at`
|
|
100
|
+
- `ended_at`
|
|
101
|
+
- `duration_s`
|
|
102
|
+
- `turns`
|
|
103
|
+
- `tool_invocations`
|
|
104
|
+
- `delegations`
|
|
105
|
+
- `permission_requests`
|
|
106
|
+
- `imported_at`
|
|
107
|
+
|
|
108
|
+
### Event
|
|
109
|
+
|
|
110
|
+
An event record is a runtime-neutral envelope around a runtime event. It keeps report code from depending on Codex-specific names. Runtime adapters can map native event names like `session.start`, `turn.user`, `tool.invoke`, `tool.permission_request`, `agent.delegate`, `session.usage`, and `session.end` into a shared event shape.
|
|
111
|
+
|
|
112
|
+
### Outcome
|
|
113
|
+
|
|
114
|
+
An outcome record captures quality and effectiveness facts:
|
|
115
|
+
|
|
116
|
+
- `schema_version`
|
|
117
|
+
- `outcome_id`
|
|
118
|
+
- `recorded_at`
|
|
119
|
+
- `session_id`
|
|
120
|
+
- `runtime_session_id`
|
|
121
|
+
- `runtime`
|
|
122
|
+
- `repo`
|
|
123
|
+
- `agent`
|
|
124
|
+
- `profile_id`
|
|
125
|
+
- `prompt_id`
|
|
126
|
+
- `prompt_variant`
|
|
127
|
+
- `skill_ids`
|
|
128
|
+
- `skill_variant`
|
|
129
|
+
- `task_type`
|
|
130
|
+
- `task_slug`
|
|
131
|
+
- `result`: `success`, `partial`, `failure`, or `not_verified`
|
|
132
|
+
- `quality_score`: `1` through `5`, or null
|
|
133
|
+
- `human_minutes_saved`
|
|
134
|
+
- `rework_required`
|
|
135
|
+
- `notes`
|
|
136
|
+
- `evidence`
|
|
137
|
+
|
|
138
|
+
Do not store sensitive prompt text, tool payloads, secrets, or customer data in outcome records. Use evidence paths or stable identifiers instead.
|
|
139
|
+
|
|
140
|
+
## Metrics
|
|
141
|
+
|
|
142
|
+
Recommended reports should include:
|
|
143
|
+
|
|
144
|
+
- Success rate.
|
|
145
|
+
- Partial, failure, and not-verified rates.
|
|
146
|
+
- Session duration, including total and average duration.
|
|
147
|
+
- Tool invocations per session.
|
|
148
|
+
- Delegations per session.
|
|
149
|
+
- Permission requests per session.
|
|
150
|
+
- Rework rate.
|
|
151
|
+
- Average quality score from recorded outcomes.
|
|
152
|
+
- Human minutes saved from recorded outcomes.
|
|
153
|
+
- Sessions with outcomes versus sessions without outcomes.
|
|
154
|
+
|
|
155
|
+
Usage-only metrics can be computed from telemetry. Quality and value metrics require outcome records.
|
|
156
|
+
|
|
157
|
+
## Core Commands
|
|
158
|
+
|
|
159
|
+
### Project Dashboard
|
|
160
|
+
|
|
161
|
+
Generate the local HTML dashboard. This syncs terminal task artifacts from `.flow-agents` into `.telemetry/outcomes.jsonl` before rendering:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
npm run usage-feedback -- dashboard --force
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
The dashboard is written to `.telemetry/reports/dashboard.html` by default.
|
|
168
|
+
|
|
169
|
+
Sync artifacts without rendering the dashboard:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
npm run usage-feedback -- sync-artifacts \
|
|
173
|
+
--artifact-dir .flow-agents \
|
|
174
|
+
--repo flow-agents \
|
|
175
|
+
--profile-id codex-default \
|
|
176
|
+
--prompt-id deliver-v1 \
|
|
177
|
+
--skill-id deliver
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Import Codex telemetry from an explicit source and tag it with comparable identifiers:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npm run usage-feedback -- import-codex \
|
|
184
|
+
--input-telemetry-dir ../repo-a/.telemetry \
|
|
185
|
+
--telemetry-dir .telemetry/repo-a \
|
|
186
|
+
--source-id repo-a \
|
|
187
|
+
--repo repo-a \
|
|
188
|
+
--profile-id codex-kdev \
|
|
189
|
+
--prompt-id deliver-v1 \
|
|
190
|
+
--skill-id deliver
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Import telemetry from any runtime that emits the shared event envelope:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
npm run usage-feedback -- import-telemetry \
|
|
197
|
+
--runtime claude-code \
|
|
198
|
+
--input-telemetry-dir ../repo-b/.telemetry \
|
|
199
|
+
--telemetry-dir .telemetry/repo-b \
|
|
200
|
+
--source-id repo-b \
|
|
201
|
+
--repo repo-b \
|
|
202
|
+
--profile-id claude-dev \
|
|
203
|
+
--prompt-id deliver-v1 \
|
|
204
|
+
--skill-id deliver
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Record a human or eval outcome for one session:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
npm run usage-feedback -- record-outcome \
|
|
211
|
+
--telemetry-dir .telemetry/repo-a \
|
|
212
|
+
--session-id session-123 \
|
|
213
|
+
--runtime codex \
|
|
214
|
+
--repo repo-a \
|
|
215
|
+
--agent dev \
|
|
216
|
+
--profile-id codex-kdev \
|
|
217
|
+
--prompt-id deliver-v1 \
|
|
218
|
+
--skill-id deliver \
|
|
219
|
+
--task-type delivery \
|
|
220
|
+
--task-slug usage-feedback-docs \
|
|
221
|
+
--result success \
|
|
222
|
+
--quality-score 5 \
|
|
223
|
+
--human-minutes-saved 35 \
|
|
224
|
+
--evidence .flow-agents/agent-usage-feedback-loop/agent-usage-feedback-loop--deliver.md
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Generate a report:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
npm run usage-feedback -- report \
|
|
231
|
+
--telemetry-dir .telemetry/repo-a \
|
|
232
|
+
--group-by profile_id \
|
|
233
|
+
--output reports/usage-feedback.md
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Generate a standalone HTML report without artifact syncing:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
npm run usage-feedback -- report \
|
|
240
|
+
--telemetry-dir .telemetry/repo-a \
|
|
241
|
+
--group-by profile_id \
|
|
242
|
+
--format html \
|
|
243
|
+
--output reports/usage-feedback.html
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Global Dashboard
|
|
247
|
+
|
|
248
|
+
Use a global telemetry root when you want one view across projects. The default global root is `~/.flow-agents/telemetry`.
|
|
249
|
+
|
|
250
|
+
Register the current project once with stable comparison labels:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
npm run usage-feedback -- register-project \
|
|
254
|
+
--global-dir ~/.flow-agents/telemetry \
|
|
255
|
+
--repo-root "$PWD" \
|
|
256
|
+
--name flow-agents \
|
|
257
|
+
--profile-id codex-default \
|
|
258
|
+
--prompt-id deliver-v1 \
|
|
259
|
+
--skill-id deliver
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Sync registered projects into the global root:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
npm run usage-feedback -- sync-projects \
|
|
266
|
+
--global-dir ~/.flow-agents/telemetry
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Render the global dashboard:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
npm run usage-feedback -- global-dashboard \
|
|
273
|
+
--global-dir ~/.flow-agents/telemetry \
|
|
274
|
+
--group-by repo \
|
|
275
|
+
--force
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
The global dashboard writes `~/.flow-agents/telemetry/reports/global-dashboard.html`.
|
|
279
|
+
|
|
280
|
+
You can also target projects directly without registering them first:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
npm run usage-feedback -- global-dashboard \
|
|
284
|
+
--global-dir ~/.flow-agents/telemetry \
|
|
285
|
+
--repo-root /path/to/project-a \
|
|
286
|
+
--repo-root /path/to/project-b \
|
|
287
|
+
--group-by repo \
|
|
288
|
+
--force
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Or discover direct child projects under a parent directory:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
npm run usage-feedback -- global-dashboard \
|
|
295
|
+
--global-dir ~/.flow-agents/telemetry \
|
|
296
|
+
--discover ~/dev/github \
|
|
297
|
+
--group-by repo \
|
|
298
|
+
--force
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Global project stores live under `~/.flow-agents/telemetry/projects/<project>/`. Each project store contains normalized sessions and outcomes, so reports can compare projects, profiles, prompts, and skills from one dashboard.
|
|
302
|
+
|
|
303
|
+
## Comparison Examples
|
|
304
|
+
|
|
305
|
+
Compare two repositories:
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
npm run usage-feedback -- report \
|
|
309
|
+
--telemetry-dir ../repo-a/.telemetry \
|
|
310
|
+
--telemetry-dir ../repo-b/.telemetry \
|
|
311
|
+
--group-by repo
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Compare two Codex profiles over the same task family:
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
npm run usage-feedback -- report \
|
|
318
|
+
--telemetry-dir .telemetry/codex-default \
|
|
319
|
+
--telemetry-dir .telemetry/codex-bedrock \
|
|
320
|
+
--runtime codex \
|
|
321
|
+
--group-by profile_id
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
Compare prompt variants:
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
npm run usage-feedback -- report \
|
|
328
|
+
--telemetry-dir .telemetry/prompt-a \
|
|
329
|
+
--telemetry-dir .telemetry/prompt-b \
|
|
330
|
+
--group-by prompt_variant
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
Compare skill setups:
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
npm run usage-feedback -- report \
|
|
337
|
+
--telemetry-dir .telemetry/with-deliver \
|
|
338
|
+
--telemetry-dir .telemetry/with-tdd \
|
|
339
|
+
--group-by skill_id
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
Compare Codex with Kiro or another future runtime after import:
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
npm run usage-feedback -- report \
|
|
346
|
+
--telemetry-dir .telemetry/codex \
|
|
347
|
+
--telemetry-dir .telemetry/kiro \
|
|
348
|
+
--group-by runtime
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
The non-Codex runtime must provide or import normalized records with the same session and outcome fields. Codex-specific paths and event names should stay inside the Codex adapter.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#5cc4e0"/>
|
|
5
|
+
<stop offset="1" stop-color="#1f6f88"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect x="2" y="2" width="28" height="28" rx="7" fill="url(#g)"/>
|
|
9
|
+
<circle cx="11" cy="11" r="3" fill="#06080b"/>
|
|
10
|
+
<circle cx="21" cy="16" r="3" fill="#06080b"/>
|
|
11
|
+
<circle cx="11" cy="21" r="3" fill="#06080b"/>
|
|
12
|
+
<path d="M13 12.5l5 2M13.5 19.5l4.5-2" stroke="#06080b" stroke-width="2" stroke-linecap="round"/>
|
|
13
|
+
</svg>
|
|
Binary file
|