@event4u/agent-config 9.9.0 → 9.11.0
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +212 -194
- package/README.md +13 -16
- package/agents/templates/.ai-council.yml.example +481 -0
- package/agents/templates/.ai-video.xml.example +247 -0
- package/dist/agent-src/commands/agent-status.md +12 -11
- package/dist/agent-src/commands/agents/user/accept.md +115 -30
- package/dist/agent-src/commands/agents/user/delete.md +147 -0
- package/dist/agent-src/commands/agents/user/review.md +65 -28
- package/dist/agent-src/commands/agents/user/show.md +82 -29
- package/dist/agent-src/commands/agents/user/update.md +2 -2
- package/dist/agent-src/commands/agents/user.md +16 -3
- package/dist/agent-src/commands/check-current-md.md +0 -10
- package/dist/agent-src/commands/condense.md +28 -97
- package/dist/agent-src/commands/cost/report.md +7 -0
- package/dist/agent-src/commands/fix/portability.md +0 -8
- package/dist/agent-src/commands/fix/refs.md +0 -8
- package/dist/agent-src/commands/humanize.md +2 -2
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/memory/load.md +11 -0
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/pr/create.md +4 -4
- package/dist/agent-src/commands/profile/show.md +3 -3
- package/dist/agent-src/commands/rule-compliance-audit.md +5 -4
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
- package/dist/agent-src/commands/tdd.md +21 -0
- package/dist/agent-src/commands/team/delegate.md +2 -2
- package/dist/agent-src/commands/team-knowledge/bootstrap.md +9 -8
- package/dist/agent-src/commands/team-knowledge/consolidate.md +8 -7
- package/dist/agent-src/commands/team.md +4 -1
- package/dist/agent-src/commands/upstream-contribute.md +0 -1
- package/dist/agent-src/contexts/authority/commit-mechanics.md +7 -0
- package/dist/agent-src/contexts/authority/destructive-mechanics.md +16 -0
- package/dist/agent-src/contexts/authority/scope-mechanics.md +61 -0
- package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +20 -18
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/source-of-truth-mechanics.md +9 -10
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +11 -0
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +26 -15
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +3 -0
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +67 -37
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
- package/dist/agent-src/contexts/execution/autonomy-examples.md +1 -1
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +7 -6
- package/dist/agent-src/contexts/execution/evidence-discipline.md +92 -77
- package/dist/agent-src/contexts/execution/orchestration-benchmark-gate.md +22 -21
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +24 -0
- package/dist/agent-src/contexts/execution/project-intelligence.md +122 -103
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +23 -21
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +5 -5
- package/dist/agent-src/contexts/execution/subagent-routing.md +11 -0
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +13 -13
- package/dist/agent-src/contexts/execution/subagent-steering.md +36 -34
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
- package/dist/agent-src/contexts/execution/user-memory-channels.md +189 -0
- package/dist/agent-src/contexts/execution/verification-mechanics.md +9 -0
- package/dist/agent-src/contexts/model-recommendations.md +3 -2
- package/dist/agent-src/contexts/subagent-configuration.md +3 -3
- package/dist/agent-src/ghostwriter/README.md +2 -2
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/personas/README.md +5 -5
- package/dist/agent-src/personas/_template-specialist/persona.md +3 -3
- package/dist/agent-src/personas/backend-architect.md +24 -23
- package/dist/agent-src/personas/eloquent-tamer.md +30 -30
- package/dist/agent-src/personas/frontend-engineer.md +30 -30
- package/dist/agent-src/personas/product-owner.md +41 -38
- package/dist/agent-src/personas/qa.md +13 -13
- package/dist/agent-src/personas/security-engineer.md +22 -22
- package/dist/agent-src/presets/README.md +3 -3
- package/dist/agent-src/profiles/README.md +3 -3
- package/dist/agent-src/rules/active-remediation.md +2 -2
- package/dist/agent-src/rules/artifact-engagement-recording.md +4 -4
- package/dist/agent-src/rules/ask-when-uncertain.md +0 -4
- package/dist/agent-src/rules/augment-edit-discipline.md +1 -1
- package/dist/agent-src/rules/broken-access-control.md +4 -4
- package/dist/agent-src/rules/code-comment-discipline.md +1 -1
- package/dist/agent-src/rules/code-provenance.md +2 -2
- package/dist/agent-src/rules/commit-policy.md +4 -9
- package/dist/agent-src/rules/communication-through-line.md +5 -5
- package/dist/agent-src/rules/decision-revisit-gate.md +1 -1
- package/dist/agent-src/rules/design-fidelity.md +1 -1
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
- package/dist/agent-src/rules/domain-safety-pii.md +1 -1
- package/dist/agent-src/rules/external-code-graph-interop.md +1 -1
- package/dist/agent-src/rules/fast-path-marker-visibility.md +43 -7
- package/dist/agent-src/rules/finance-safety-floor.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -3
- package/dist/agent-src/rules/history-discipline.md +1 -1
- package/dist/agent-src/rules/legal-safety-floor.md +1 -1
- package/dist/agent-src/rules/lethal-trifecta-guard.md +5 -5
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +10 -8
- package/dist/agent-src/rules/media-governance-routing.md +13 -13
- package/dist/agent-src/rules/media-sync-ground-truth.md +29 -11
- package/dist/agent-src/rules/no-cheap-questions.md +7 -7
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +29 -18
- package/dist/agent-src/rules/non-destructive-by-default.md +5 -23
- package/dist/agent-src/rules/onboarding-gate.md +14 -4
- package/dist/agent-src/rules/persona-governance.md +2 -2
- package/dist/agent-src/rules/prefer-enums-over-literals.md +9 -9
- package/dist/agent-src/rules/preservation-guard.md +10 -2
- package/dist/agent-src/rules/question-not-instruction.md +1 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +6 -6
- package/dist/agent-src/rules/rule-type-governance.md +1 -1
- package/dist/agent-src/rules/scale-discipline.md +1 -1
- package/dist/agent-src/rules/scope-control.md +1 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +17 -11
- package/dist/agent-src/rules/senior-engineering-discipline.md +17 -17
- package/dist/agent-src/rules/session-canary.md +1 -1
- package/dist/agent-src/rules/skill-quality.md +1 -1
- package/dist/agent-src/rules/source-confidentiality.md +21 -19
- package/dist/agent-src/rules/source-of-truth.md +6 -5
- package/dist/agent-src/rules/spreadsheet-source-quality.md +2 -2
- package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
- package/dist/agent-src/rules/think-before-action.md +5 -5
- package/dist/agent-src/rules/token-budget-discipline.md +5 -3
- package/dist/agent-src/rules/token-efficiency.md +2 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +4 -4
- package/dist/agent-src/rules/user-interaction.md +12 -0
- package/dist/agent-src/rules/verify-before-complete.md +4 -24
- package/dist/agent-src/skills/adversarial-review/SKILL.md +2 -2
- package/dist/agent-src/skills/agent-security-review/SKILL.md +52 -45
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +20 -20
- package/dist/agent-src/skills/ai-council/SKILL.md +185 -128
- package/dist/agent-src/skills/analysis-skill-router/SKILL.md +3 -3
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -2
- package/dist/agent-src/skills/artisan-commands/SKILL.md +2 -2
- package/dist/agent-src/skills/async-python-patterns/SKILL.md +8 -7
- package/dist/agent-src/skills/authz-review/SKILL.md +16 -15
- package/dist/agent-src/skills/aws-infrastructure/SKILL.md +5 -5
- package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +30 -12
- package/dist/agent-src/skills/code-intelligence/SKILL.md +0 -1
- package/dist/agent-src/skills/code-intelligence/evals/triggers.json +52 -0
- package/dist/agent-src/skills/code-review/SKILL.md +6 -6
- package/dist/agent-src/skills/command-routing/SKILL.md +5 -4
- package/dist/agent-src/skills/composer-packages/SKILL.md +2 -2
- package/dist/agent-src/skills/condense-memory/SKILL.md +43 -41
- package/dist/agent-src/skills/context-document/SKILL.md +23 -21
- package/dist/agent-src/skills/copilot-config/SKILL.md +6 -1
- package/dist/agent-src/skills/decision-record/SKILL.md +20 -18
- package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
- package/dist/agent-src/skills/design-review/SKILL.md +15 -14
- package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +28 -25
- package/dist/agent-src/skills/devcontainer/SKILL.md +2 -2
- package/dist/agent-src/skills/docker/SKILL.md +1 -1
- package/dist/agent-src/skills/docx-authoring/evals/triggers.json +52 -0
- package/dist/agent-src/skills/emit-tickets/SKILL.md +2 -2
- package/dist/agent-src/skills/error-handling-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +2 -2
- package/dist/agent-src/skills/evaluate-llm-feature/SKILL.md +0 -1
- package/dist/agent-src/skills/evaluate-llm-feature/evals/triggers.json +52 -0
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +21 -7
- package/dist/agent-src/skills/fe-design/SKILL.md +10 -0
- package/dist/agent-src/skills/feature-planning/SKILL.md +2 -2
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +3 -3
- package/dist/agent-src/skills/flux/SKILL.md +1 -1
- package/dist/agent-src/skills/frontend-render-security/SKILL.md +13 -13
- package/dist/agent-src/skills/git-workflow/SKILL.md +33 -33
- package/dist/agent-src/skills/grafana/SKILL.md +5 -0
- package/dist/agent-src/skills/humanizer/SKILL.md +83 -66
- package/dist/agent-src/skills/humanizer/data/patterns.md +14 -14
- package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +4 -4
- package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +82 -37
- package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +17 -5
- package/dist/agent-src/skills/judge-injection-defense/SKILL.md +63 -25
- package/dist/agent-src/skills/judge-security-auditor/SKILL.md +2 -0
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +72 -28
- package/dist/agent-src/skills/laravel-horizon/SKILL.md +5 -0
- package/dist/agent-src/skills/laravel-mail/SKILL.md +5 -4
- package/dist/agent-src/skills/laravel-middleware/SKILL.md +5 -4
- package/dist/agent-src/skills/laravel-notifications/SKILL.md +10 -9
- package/dist/agent-src/skills/laravel-pennant/SKILL.md +1 -1
- package/dist/agent-src/skills/laravel-pulse/SKILL.md +9 -8
- package/dist/agent-src/skills/laravel-reverb/SKILL.md +6 -5
- package/dist/agent-src/skills/laravel-scheduling/SKILL.md +6 -1
- package/dist/agent-src/skills/laravel-validation/SKILL.md +12 -0
- package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +7 -7
- package/dist/agent-src/skills/learning-tutor/SKILL.md +44 -43
- package/dist/agent-src/skills/learning-tutor/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-audit/SKILL.md +7 -7
- package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +3 -3
- package/dist/agent-src/skills/license-compliance-credits/SKILL.md +4 -4
- package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +0 -1
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +69 -64
- package/dist/agent-src/skills/motion-choreographer/SKILL.md +6 -6
- package/dist/agent-src/skills/pdf-tools/evals/triggers.json +52 -0
- package/dist/agent-src/skills/performance-analysis/SKILL.md +7 -3
- package/dist/agent-src/skills/persona-improvement/SKILL.md +0 -2
- package/dist/agent-src/skills/persona-improvement/evals/triggers.json +52 -0
- package/dist/agent-src/skills/php-coder/SKILL.md +10 -0
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +129 -120
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +36 -35
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +45 -41
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +4 -4
- package/dist/agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
- package/dist/agent-src/skills/project-analysis-react/SKILL.md +1 -1
- package/dist/agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
- package/dist/agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
- package/dist/agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-validator/SKILL.md +39 -39
- package/dist/agent-src/skills/quality-tools/SKILL.md +15 -15
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +55 -19
- package/dist/agent-src/skills/react-shadcn-ui/reference/registry.md +29 -27
- package/dist/agent-src/skills/readme-writing-package/SKILL.md +2 -2
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +25 -25
- package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -5
- package/dist/agent-src/skills/refine-prompt/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +20 -2
- package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
- package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-management/SKILL.md +80 -66
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +84 -77
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/screenshot-hygiene/evals/triggers.json +52 -0
- package/dist/agent-src/skills/security-audit/SKILL.md +26 -9
- package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +38 -16
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +14 -11
- package/dist/agent-src/skills/skill-writing/SKILL.md +9 -8
- package/dist/agent-src/skills/song-to-script/SKILL.md +93 -85
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +4 -3
- package/dist/agent-src/skills/standards-from-config/SKILL.md +61 -43
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +22 -8
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +28 -2
- package/dist/agent-src/skills/supply-chain-intake/SKILL.md +13 -13
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +22 -21
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +1 -1
- package/dist/agent-src/skills/technical-specification/SKILL.md +5 -0
- package/dist/agent-src/skills/terraform/SKILL.md +2 -2
- package/dist/agent-src/skills/terragrunt/SKILL.md +8 -8
- package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +1 -1
- package/dist/agent-src/skills/threat-modeling/SKILL.md +19 -13
- package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/upstream-contribute/SKILL.md +0 -1
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +9 -9
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +3 -1
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +4 -6
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +67 -61
- package/dist/agent-src/skills/video-director/SKILL.md +7 -7
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +3 -3
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/contexts/knowledge-pages.md +47 -45
- package/dist/agent-src/templates/contexts/lesson-card.md +2 -2
- package/dist/agent-src/templates/contexts/tenant-boundaries.md +2 -2
- package/dist/agent-src/templates/contexts.md +1 -1
- package/dist/agent-src/templates/features.md +1 -1
- package/dist/agent-src/templates/roadmaps.md +125 -116
- package/dist/agent-src/templates/rule.md +2 -1
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +2 -2
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +30 -30
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +88 -33
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +22 -2
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +21 -2
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +179 -0
- package/dist/agent-src/templates/scripts/work_engine/stack/detect.ts +155 -4
- package/dist/agent-src/templates/scripts/work_engine/state.ts +21 -4
- package/dist/agent-src/user-types/README.md +8 -8
- package/dist/agent-src/user-types/galabau-field-crew.md +34 -33
- package/dist/agent-src/user-types/metalworking-shop.md +35 -34
- package/dist/agent-src/user-types/truck-driver.md +22 -20
- package/dist/cli/initRouting.js +74 -11
- package/dist/cli/initRouting.js.map +1 -1
- package/dist/cli/main.js +14 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +2 -2
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli-delegate/chunk-4SV3XGFA.js +6910 -0
- package/dist/cli-delegate/chunk-736JCWLM.js +1104 -0
- package/dist/cli-delegate/chunk-7DSAMZFU.js +356 -0
- package/dist/cli-delegate/chunk-7HQ52DHU.js +74 -0
- package/dist/cli-delegate/chunk-BJGXZNPM.js +266 -0
- package/dist/cli-delegate/chunk-FTAISGDQ.js +117 -0
- package/dist/cli-delegate/chunk-GME3Q44L.js +82 -0
- package/dist/cli-delegate/chunk-GRRPEPRN.js +336 -0
- package/dist/cli-delegate/chunk-HJ6DAJHR.js +502 -0
- package/dist/cli-delegate/chunk-IR7P7JWA.js +872 -0
- package/dist/cli-delegate/chunk-J55WI3RR.js +47 -0
- package/dist/cli-delegate/chunk-MCJYCQPF.js +35 -0
- package/dist/cli-delegate/chunk-NDJLNC6Q.js +169 -0
- package/dist/cli-delegate/chunk-OMIVVCG2.js +26 -0
- package/dist/cli-delegate/chunk-OY53J6II.js +7336 -0
- package/dist/cli-delegate/chunk-RDGRHAAB.js +259 -0
- package/dist/cli-delegate/chunk-TFG57JJM.js +1969 -0
- package/dist/cli-delegate/chunk-XX6TOPD7.js +715 -0
- package/dist/cli-delegate/chunk-YMFO6FDN.js +10603 -0
- package/dist/cli-delegate/cmd_analyze_session.js +294 -0
- package/dist/cli-delegate/cmd_conformance.js +646 -0
- package/dist/cli-delegate/cmd_converge.js +326 -0
- package/dist/cli-delegate/cmd_doctor.js +144 -0
- package/dist/cli-delegate/cmd_explain.js +2508 -0
- package/dist/cli-delegate/cmd_export.js +296 -0
- package/dist/cli-delegate/cmd_fleet.js +332 -0
- package/dist/cli-delegate/cmd_memory_get.js +3878 -0
- package/dist/cli-delegate/cmd_migrate.js +11 -0
- package/dist/cli-delegate/cmd_preflight.js +270 -0
- package/dist/cli-delegate/cmd_prune.js +444 -0
- package/dist/cli-delegate/cmd_refresh.js +28 -0
- package/dist/cli-delegate/cmd_settings_check.js +574 -0
- package/dist/cli-delegate/cmd_settings_migrate.js +223 -0
- package/dist/cli-delegate/cmd_sync.js +264 -0
- package/dist/cli-delegate/cmd_uninstall.js +656 -0
- package/dist/cli-delegate/cmd_update.js +425 -0
- package/dist/cli-delegate/cmd_upgrade.js +444 -0
- package/dist/cli-delegate/cmd_validate.js +305 -0
- package/dist/cli-delegate/cmd_versions.js +370 -0
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +100 -67
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +4 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +16 -10
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +7 -5
- package/dist/hooks/dispatch.js +186 -12
- package/dist/install/emit_host_rules_cli.js +2 -1
- package/dist/install/emit_host_rules_cli.js.map +1 -1
- package/dist/install/install.mjs +418 -378
- package/dist/install/rule_scope.js +5 -1
- package/dist/install/rule_scope.js.map +1 -1
- package/dist/install/toolDetection.js +40 -12
- package/dist/install/toolDetection.js.map +1 -1
- package/dist/install/wizard-plan.js +2 -2
- package/dist/install/wizard-plan.js.map +1 -1
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +2194 -1003
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/compile_time_toggles.js +48 -0
- package/dist/scripts/_lib/compile_time_toggles.js.map +1 -0
- package/dist/scripts/condense.js +234 -217
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/schemas/settings.js +4 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/shared/userMd/utils.js +30 -0
- package/dist/shared/userMd/utils.js.map +1 -1
- package/dist/ui/assets/index-BpSQt5vm.js.map +1 -1
- package/docs/guidelines/agent-infra/api-cost-levers.md +56 -5
- package/docs/guidelines/agent-infra/simplicity-and-goal-demos.md +93 -33
- package/package.json +4 -2
- package/src/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
- package/src/agent-src/templates/scripts/tier_usage_report.ts +2 -2
- package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +30 -30
- package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +88 -33
- package/src/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +22 -2
- package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +21 -2
- package/src/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +179 -0
- package/src/agent-src/templates/scripts/work_engine/stack/detect.ts +155 -4
- package/src/agent-src/templates/scripts/work_engine/state.ts +21 -4
- package/src/config/agent-settings.template.yml +32 -2
- package/src/config/ci-local-parity.yml +142 -0
- package/src/config/discovery/packs.yml +7 -0
- package/src/config/evaluator-budgets.json +1 -1
- package/src/config/gate-coverage.yml +127 -0
- package/src/config/pack-size-budget.json +27 -0
- package/src/config/preamble-payload-budget.json +44 -0
- package/src/install/emit_host_rules_cli.ts +2 -1
- package/src/install/rule_scope.ts +5 -1
- package/src/install/toolDetection.ts +39 -8
- package/src/install/wizard-plan.ts +2 -2
- package/src/scripts/_cli/cmd_conformance.ts +2 -1
- package/src/scripts/_cli/cmd_converge.ts +2 -1
- package/src/scripts/_cli/cmd_doctor.ts +292 -15
- package/src/scripts/_cli/cmd_export.ts +2 -1
- package/src/scripts/_cli/cmd_fleet.ts +2 -1
- package/src/scripts/_cli/cmd_migrate.ts +2 -1
- package/src/scripts/_cli/cmd_preflight.ts +2 -1
- package/src/scripts/_cli/cmd_refresh.ts +2 -1
- package/src/scripts/_cli/cmd_update.ts +2 -1
- package/src/scripts/_cli/cmd_upgrade.ts +2 -1
- package/src/scripts/_cli/cmd_versions.ts +2 -1
- package/src/scripts/_cli/detection_report.ts +480 -0
- package/src/scripts/_dispatch.bash +52 -14
- package/src/scripts/_lib/agent_user_profile.ts +381 -0
- package/src/scripts/_lib/agents_overlay.ts +9 -0
- package/src/scripts/_lib/anchor_eval.ts +311 -0
- package/src/scripts/_lib/cc_transcript.ts +316 -0
- package/src/scripts/_lib/changelog_eras.ts +103 -9
- package/src/scripts/_lib/compile_time_toggles.ts +79 -0
- package/src/scripts/_lib/confusables.ts +101 -0
- package/src/scripts/_lib/duplicate_scope_census.ts +77 -0
- package/src/scripts/_lib/environment_detector.ts +441 -0
- package/src/scripts/_lib/managed_agents_folder.ts +181 -0
- package/src/scripts/_lib/package_root.ts +72 -0
- package/src/scripts/_lib/payload_hash_drift.ts +126 -0
- package/src/scripts/_lib/preservation_migration.ts +291 -0
- package/src/scripts/_lib/retrieval_sanitize.ts +166 -2
- package/src/scripts/_lib/scan_scope.ts +115 -0
- package/src/scripts/_lib/user_global_memory_audit.ts +187 -0
- package/src/scripts/_lib/user_global_observations.ts +830 -0
- package/src/scripts/_lib/user_global_revocations.ts +110 -0
- package/src/scripts/_lib/user_memory_gate_counters.ts +291 -0
- package/src/scripts/ai_council/blind_review.ts +0 -0
- package/src/scripts/ai_council/budget_guard.ts +90 -11
- package/src/scripts/ai_council/bundler.ts +2 -2
- package/src/scripts/ai_council/clients.ts +59 -3
- package/src/scripts/ai_council/config.ts +53 -7
- package/src/scripts/ai_council/modes.ts +68 -2
- package/src/scripts/ai_council/orchestrator.ts +54 -9
- package/src/scripts/ai_council/transport_resolver.ts +331 -0
- package/src/scripts/ai_team/team_dispatch.ts +17 -6
- package/src/scripts/anchor_eval_falsify.ts +198 -0
- package/src/scripts/anchor_scoring_run.ts +239 -0
- package/src/scripts/annotate_discovery.ts +1 -65
- package/src/scripts/bench_quality_run.ts +168 -4
- package/src/scripts/cache_realization_report.ts +782 -0
- package/src/scripts/check_artefact_count_messaging.ts +5 -1
- package/src/scripts/check_augment_description_cap.ts +15 -4
- package/src/scripts/check_bundle_path_leakage.ts +10 -4
- package/src/scripts/check_ci_local_parity.ts +317 -0
- package/src/scripts/check_condensation.ts +96 -191
- package/src/scripts/check_context_paths.ts +38 -9
- package/src/scripts/check_dependency_floors.ts +153 -0
- package/src/scripts/check_gate_coverage.ts +299 -0
- package/src/scripts/check_iron_law_prominence.ts +22 -1
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_no_new_legacy_path.ts +16 -6
- package/src/scripts/check_no_roadmap_refs.ts +22 -9
- package/src/scripts/check_originality_freshness.ts +167 -0
- package/src/scripts/check_pack_size.ts +188 -0
- package/src/scripts/check_preamble_payload_budget.ts +130 -0
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_references.ts +0 -1
- package/src/scripts/check_safety_floor_untouched.ts +171 -24
- package/src/scripts/check_site_links.ts +62 -3
- package/src/scripts/ci_status.ts +0 -0
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/code_graph/build.ts +0 -0
- package/src/scripts/command_suggester/types.ts +0 -0
- package/src/scripts/compile_router.ts +10 -14
- package/src/scripts/condense.sh +3 -4
- package/src/scripts/condense.ts +247 -228
- package/src/scripts/cost/track.mjs +168 -33
- package/src/scripts/cost_summary.ts +33 -1
- package/src/scripts/council_cli.ts +51 -5
- package/src/scripts/discovery_graph.ts +0 -0
- package/src/scripts/encoding_corpus.ts +500 -0
- package/src/scripts/encoding_corpus_report.ts +216 -0
- package/src/scripts/evaluator_umbrella.sh +34 -1
- package/src/scripts/generate_index.ts +19 -2
- package/src/scripts/install-hooks.sh +2 -2
- package/src/scripts/learning_sidecar.ts +0 -0
- package/src/scripts/lint_confusables.ts +10 -72
- package/src/scripts/lint_eval_fixture_citations.ts +113 -0
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_hidden_unicode.ts +208 -0
- package/src/scripts/lint_load_context.ts +17 -5
- package/src/scripts/lint_new_skill_gate.ts +9 -3
- package/src/scripts/lint_no_python_twin_rationale.ts +17 -2
- package/src/scripts/lint_originality.ts +1 -1
- package/src/scripts/lint_skill_originality.ts +1 -1
- package/src/scripts/lint_ticket_buildable.ts +1 -1
- package/src/scripts/lint_ui_stack_bundles.ts +170 -0
- package/src/scripts/mcp_server/tools.ts +4 -4
- package/src/scripts/measure_scope_dedup.ts +224 -0
- package/src/scripts/memory_lookup.ts +0 -0
- package/src/scripts/mine_session.ts +98 -0
- package/src/scripts/orchestration_payload_hash_drift.ts +145 -0
- package/src/scripts/preamble_byte_census.ts +574 -0
- package/src/scripts/probe_skill_registration.ts +2 -2
- package/src/scripts/redact_hook_capture.ts +13 -0
- package/src/scripts/release.ts +65 -10
- package/src/scripts/router_telemetry.ts +1 -1
- package/src/scripts/second_brain_retrieval.ts +14 -4
- package/src/scripts/skill_linter.ts +5 -0
- package/src/scripts/surface-tiers.yml +2 -0
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/server/schemas/settings.ts +8 -0
- package/src/shared/userMd/utils.ts +31 -0
- package/dist/agent-src/rules/telegraph-speak.md +0 -87
|
@@ -21,20 +21,20 @@ A task is classified **delegable** when **any** of these holds:
|
|
|
21
21
|
`parallelizable: steps | files | independent` in its frontmatter.
|
|
22
22
|
- `steps` → ordered plan → `do-in-steps`.
|
|
23
23
|
- `files` / `independent` → independent slices → `do-in-parallel`.
|
|
24
|
-
2. **Ordered-plan structure** — explicit ordered plan (numbered
|
|
25
|
-
phase / a checklist) → `do-in-steps`. Deterministic markers:
|
|
26
|
-
- `1. … 2. … 3.` numbered list
|
|
27
|
-
-
|
|
28
|
-
- "first … then … finally" with distinct deliverables.
|
|
29
|
-
- "in N steps" or "phase by phase".
|
|
24
|
+
2. **Ordered-plan structure** — the task is an explicit ordered plan (numbered
|
|
25
|
+
steps / a roadmap phase / a checklist) → `do-in-steps`. Deterministic markers:
|
|
26
|
+
- User message contains `1. … 2. … 3.` numbered list.
|
|
27
|
+
- User message references a roadmap phase or checklist.
|
|
28
|
+
- User message uses "first … then … finally" with distinct deliverables.
|
|
29
|
+
- User message says "in N steps" or "phase by phase".
|
|
30
30
|
3. **Independent-slices structure** — N ≥ 3 independent targets of the same shape
|
|
31
31
|
→ `do-in-parallel`. Deterministic markers (N ≥ 3 of the same form):
|
|
32
|
-
- N file paths
|
|
33
|
-
- N named modules/components
|
|
32
|
+
- N file paths listed where each is a separate analysis/edit target.
|
|
33
|
+
- N named modules/components to perform the same action on.
|
|
34
34
|
- N named test files, adapters, endpoints, or services to convert/review/audit.
|
|
35
|
-
- "for each X in [list]" where list ≥ 3 items
|
|
36
|
-
Do **not** fire on interdependent
|
|
37
|
-
migrations") — those are ordered plans (signal 2).
|
|
35
|
+
- "for each X in [list]" where list has ≥ 3 items and no cross-item dependency.
|
|
36
|
+
Do **not** fire on lists where items are interdependent (e.g. "add these 3
|
|
37
|
+
sequential migrations") — those are ordered plans (signal 2).
|
|
38
38
|
|
|
39
39
|
AND the **task-size floor** is cleared: the task's estimated size exceeds a
|
|
40
40
|
minimum (trivial one-line edits never delegate — the dispatch overhead
|
|
@@ -58,9 +58,10 @@ dwarfs the work). Below the floor → in-session.
|
|
|
58
58
|
## Per-slice tier inference (v1.5 — deterministic, task-TYPE-keyed)
|
|
59
59
|
|
|
60
60
|
Once a slice is classified **delegable**, a second deterministic table infers
|
|
61
|
-
its `model_tier` (road-to-cost-aware-model-routing, council 2026-07-08).
|
|
62
|
-
|
|
63
|
-
metrics; diff size anti-correlates with difficulty in
|
|
61
|
+
its `model_tier` (road-to-cost-aware-model-routing, council 2026-07-08). The
|
|
62
|
+
inference is keyed **exclusively on the classifier's task-TYPE outputs** —
|
|
63
|
+
never on raw size metrics; diff size anti-correlates with difficulty in
|
|
64
|
+
refactoring domains.
|
|
64
65
|
|
|
65
66
|
```
|
|
66
67
|
UNKNOWN / AMBIGUOUS → inherit (SESSION TIER). NEVER GUESS DOWN.
|
|
@@ -76,14 +77,42 @@ THEY NEVER CREATE ONE.
|
|
|
76
77
|
| Delegable + synthesis / judgment (review, analysis slice) | `medium` — judge one tier up per the orchestration Iron Law |
|
|
77
78
|
| Any other / ambiguous shape | `inherit` — session tier, no downshift |
|
|
78
79
|
|
|
79
|
-
**Negative size guard:** slice scope
|
|
80
|
-
(multi-file mutation, diff surface beyond single responsibility) loses
|
|
81
|
-
candidacy
|
|
82
|
-
against one.
|
|
80
|
+
**Negative size guard:** a slice whose scope exceeds the mechanical envelope
|
|
81
|
+
(multi-file mutation, or a diff surface beyond a single responsibility) loses
|
|
82
|
+
its `lite` candidacy and resolves one row down — size never argues FOR a
|
|
83
|
+
downshift, only against one.
|
|
83
84
|
|
|
84
|
-
Every inferred decision records `tier_source: "inferred"` in
|
|
85
|
-
telemetry (
|
|
86
|
-
|
|
85
|
+
Every inferred decision records `tier_source: "inferred"` in the
|
|
86
|
+
orchestration telemetry (statically pinned tiers record `"static"`;
|
|
87
|
+
session-tier runs record `"inherit"`) so the evidence gate can score inferred
|
|
88
|
+
routing separately from static pinning.
|
|
89
|
+
|
|
90
|
+
## Dispatch-primitive output — fork vs. named subagent (road-to-cache-economy Phase 4)
|
|
91
|
+
|
|
92
|
+
A third, ORTHOGONAL classifier output — independent of form and tier — on a
|
|
93
|
+
host that exposes a fork primitive alongside named-subagent dispatch:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
TOOL AND SCOPE FIT IS FIRST-ORDER. CACHE INHERITANCE IS SECOND-ORDER.
|
|
97
|
+
NEVER "ALWAYS FORK" — THE BENEFIT CANNOT BE PREDICTED BEFORE THE FORK HAPPENS.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
| Slice shape | `dispatch_primitive` |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Continues the parent's task under IDENTICAL tools and constraints (no isolation need, no nested dispatch) | `fork` — its first request reads the parent's cache |
|
|
103
|
+
| Needs isolation, a different tool set, or nested dispatch | `subagent` — a fork cannot nest and cannot change tools |
|
|
104
|
+
| Ambiguous / host has no fork primitive | `subagent` — the only primitive this suite's `Agent`-tool dispatch uses today |
|
|
105
|
+
|
|
106
|
+
A fork forces background mode, which changes the tool set and therefore
|
|
107
|
+
invalidates the very prefix that motivated the fork — so a slice that would
|
|
108
|
+
need a different tool set mid-flight is a `subagent` candidate even when it
|
|
109
|
+
started as a fork candidate. This output never downgrades the form or tier
|
|
110
|
+
decisions above; it only picks the primitive once a `parallel` / `steps` /
|
|
111
|
+
`judge` form has already been selected. See
|
|
112
|
+
[`subagent-orchestration/SKILL.md`](../../skills/subagent-orchestration/SKILL.md)
|
|
113
|
+
§ Form gate and
|
|
114
|
+
[`prompts/README.md`](../../skills/subagent-orchestration/prompts/README.md)
|
|
115
|
+
§ Prompt-cache discipline for the full rationale.
|
|
87
116
|
|
|
88
117
|
## Lookup-class rung (L0 — road-to-lean-agent-init, BELOW the tiers)
|
|
89
118
|
|
|
@@ -100,7 +129,7 @@ NEVER A SILENTLY DEGRADED ANSWER. NO LLM CLASSIFIER FALLBACK (CUT C3).
|
|
|
100
129
|
|
|
101
130
|
| Task pattern | Lookup class | Primitive |
|
|
102
131
|
|---|---|---|
|
|
103
|
-
| "where is X defined" / "confirm X's definition location" | `definition` | capped `rg` (definition-shaped patterns, `--max-count`); `code_graph query` only as opportunistic accelerant when an index is present + fresh + `hooks.code_graph.enabled: true` |
|
|
132
|
+
| "where is X defined" / "confirm X's definition location" | `definition` | capped `rg` (definition-shaped patterns, `--max-count`); `code_graph query` only as an opportunistic accelerant when an index is present + fresh + `hooks.code_graph.enabled: true` |
|
|
104
133
|
| "who calls / imports X" / "confirm call sites" | `references` | capped `rg` (reference-shaped patterns); same optional `code_graph affected` accelerant clause |
|
|
105
134
|
| "does string Y exist" / "probe candidate strings" | `string-existence` | FTS one-shot (`memory_lookup` for the knowledge corpus) or capped `rg -n --max-count` for the codebase |
|
|
106
135
|
| "run report Z" / "run check_*" | `report-run` | direct script run, wrapped per the **measured** rtk allowlist (`internal/bench/rtk-savings/RESULTS.md` — wrap only the ~55%-savings class) |
|
|
@@ -112,21 +141,22 @@ recall 0.365 vs grep 0.797 on graph-shaped questions, root cause an **indexing
|
|
|
112
141
|
gap** (TS arrow-function exports produce no symbol nodes) that hits structured
|
|
113
142
|
lookups exactly as it hits NL retrieval — and the recorded consequence bound
|
|
114
143
|
keeps `code_graph.enabled` false permanently. The accelerant clause is the
|
|
115
|
-
escape hatch that bound names ("unless external evidence appears"); today
|
|
116
|
-
inert.
|
|
117
|
-
|
|
118
|
-
**Escalation, not degradation:** a primitive
|
|
119
|
-
ambiguous
|
|
120
|
-
ambiguous between candidates, or visibly off-target because the
|
|
121
|
-
pattern matched a task that was not actually a lookup, e.g. a
|
|
122
|
-
constructed symbol name) — escalates to the regular
|
|
123
|
-
answer
|
|
124
|
-
|
|
125
|
-
path (`inherit`
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
144
|
+
escape hatch that bound names ("unless external evidence appears"); today it
|
|
145
|
+
is inert.
|
|
146
|
+
|
|
147
|
+
**Escalation, not degradation:** a primitive that returns nothing (index miss,
|
|
148
|
+
pattern too ambiguous, report script absent) — **or an unusable result**
|
|
149
|
+
(empty, ambiguous between candidates, or visibly off-target because the
|
|
150
|
+
lookup pattern matched a task that was not actually a lookup, e.g. a
|
|
151
|
+
dynamically constructed symbol name) — escalates to the regular
|
|
152
|
+
classification path above — the answer quality bar never drops. The
|
|
153
|
+
"primitive ran but the result is unusable" case escalates exactly like the
|
|
154
|
+
"class unknown" case. `unknown` resolves to the regular path (`inherit`
|
|
155
|
+
semantics), never down-guessed.
|
|
156
|
+
|
|
157
|
+
Correctness floor: the golden comparison in `internal/bench/lean-init/`
|
|
158
|
+
(primitive answer ≡ agent answer on ≥10 lookup tasks, including the four
|
|
159
|
+
observed shapes); any mismatch is a routing bug, not a rounding error.
|
|
130
160
|
|
|
131
161
|
## v2+ (deferred, gated on Phase 6 evidence)
|
|
132
162
|
|
|
@@ -12,7 +12,7 @@ whether dispatch is physically possible on the host).
|
|
|
12
12
|
| Key | Default | Purpose |
|
|
13
13
|
|---|---|---|
|
|
14
14
|
| `subagents.enabled` | `true` | Global master switch. `false` = the whole layer is off — the canonical kill-switch. No auto-dispatch, no routing, everything runs in-session. |
|
|
15
|
-
| `subagents.auto` | `on` | Auto-dispatch mode: `off` \| `ask` \| `on`.
|
|
15
|
+
| `subagents.auto` | `on` | Auto-dispatch mode: `off` \| `ask` \| `on`. Shipped default `on` on subagent-capable hosts (flipped from `ask` 2026-07-09, ADR-117), `off` elsewhere. |
|
|
16
16
|
| `subagents.downshift` | `true` | Route delegable sub-tasks to the lowest-capable tier (Phase 2). |
|
|
17
17
|
| `subagents.quota_arbitrage` | `true` | Prefer a separate-quota-pool model where the host manifest allows it (Phase 2 bonus). |
|
|
18
18
|
| `subagents.model_map` | `{}` | Optional per-tier model override for downshift routing. |
|
|
@@ -53,7 +53,7 @@ or `auto`-after-opt-in, act on them.
|
|
|
53
53
|
- "Should we commit now or after the next change?" — answered by the
|
|
54
54
|
commit-default in [`commit-policy`](../../rules/commit-policy.md), no need to ask.
|
|
55
55
|
- "How should I split the commits?" — never asked; either you are
|
|
56
|
-
invoked via `/commit
|
|
56
|
+
invoked via `/commit:in-chunks` (split and commit) or you are not
|
|
57
57
|
(don't commit at all).
|
|
58
58
|
- "Should I run the linter / tests now or after the change?" — run
|
|
59
59
|
what [`verify-before-complete`](../../rules/verify-before-complete.md)
|
|
@@ -129,12 +129,13 @@ knob. The per-dimension uncertainty score (see
|
|
|
129
129
|
[`notes-first-reasoning`](../../rules/notes-first-reasoning.md)) feeds this
|
|
130
130
|
decision. Engage per [`rdp-gate`](rdp-gate.md).
|
|
131
131
|
|
|
132
|
-
**Concrete diminishing-returns stop-signal.**
|
|
133
|
-
|
|
134
|
-
(a read, a grep, a query) yield **no new
|
|
135
|
-
changes the plan or the hypothesis —
|
|
136
|
-
|
|
137
|
-
|
|
132
|
+
**Concrete diminishing-returns stop-signal.** "Marginal evidence drops" is
|
|
133
|
+
otherwise fuzzy; operationalize it so it is checkable, not vibes: when **two
|
|
134
|
+
consecutive investigative probes** (a read, a grep, a query) yield **no new
|
|
135
|
+
load-bearing information** — nothing that changes the plan or the hypothesis —
|
|
136
|
+
stop gathering and act on what you have (or ask). This is the diminishing-returns
|
|
137
|
+
twin of the N=3 hard cap: N=3 stops fruitless *fixing*, this stops fruitless
|
|
138
|
+
*searching*. It never overrides the read-loop abort in
|
|
138
139
|
[`context-hygiene`](../../rules/context-hygiene.md) — that is the hard ceiling;
|
|
139
140
|
this is the earlier soft signal.
|
|
140
141
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Evidence Discipline — Report format, provenance, enforcement reality
|
|
2
2
|
|
|
3
|
-
Canonical definitional spine for evidence-first structure discipline. Loaded
|
|
4
|
-
[`source-discovery`](../../rules/source-discovery-gate.md) rule and
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
Canonical definitional spine for the evidence-first structure discipline. Loaded
|
|
4
|
+
by the [`source-discovery`](../../rules/source-discovery-gate.md) rule and the
|
|
5
|
+
[`source-discovery`](../../skills/source-discovery/SKILL.md) skill. The skill
|
|
6
|
+
holds the *procedure* (how to discover each surface); this file holds the
|
|
7
|
+
*definitions* every later phase, the linter, and the ADR refer back to.
|
|
7
8
|
|
|
8
9
|
## The invariant
|
|
9
10
|
|
|
@@ -13,78 +14,86 @@ EVERY FIELD, ENDPOINT, COLUMN, AND VALUE TRACES TO file:line · SDL · migration
|
|
|
13
14
|
LOCAL BEFORE REMOTE. REAL SOURCE BEFORE GUESSING.
|
|
14
15
|
```
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
cache for *expensive* evidence — never a source of truth, never a
|
|
17
|
+
The product is a **discipline**, not a knowledge database. A card is only an
|
|
18
|
+
optional cache for *expensive* evidence — never a source of truth, never a
|
|
19
|
+
build input.
|
|
18
20
|
|
|
19
|
-
## Evidence Report — discovery output
|
|
21
|
+
## Evidence Report — the discovery output
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
task), produced **before** the plan, soft-capped to ~10–20 decision-relevant
|
|
23
|
-
Three buckets:
|
|
23
|
+
A gitignored session scratchpad (`agents/memory/knowledge/session/`, overwritten
|
|
24
|
+
each task), produced **before** the plan, soft-capped to ~10–20 decision-relevant
|
|
25
|
+
facts (a smell-test, not a hard gate). Three buckets:
|
|
24
26
|
|
|
25
27
|
- **Verified** — confirmed **this session** against a real source, **or** durable
|
|
26
|
-
committed-card content (negative facts + pointers, pointer-CI green). Nothing
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
committed-card content (negative facts + pointers, pointer-CI green). Nothing
|
|
29
|
+
else qualifies.
|
|
30
|
+
- **Assumed (from card)** — positive structural claims taken from a committed
|
|
31
|
+
card but **not** confirmed this session; explicitly a hypothesis. A card's
|
|
32
|
+
positive structure is **never** "Verified", even with a green pointer (R4 P1).
|
|
30
33
|
- **Gaps** — missing evidence the decision needs (negative facts in the making).
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
`evidence_report.ts` so it never
|
|
35
|
+
It feeds the plan. It is **not** a forensic log and is **not** hard enforcement.
|
|
36
|
+
Produce it cheaply via `evidence_report.ts` (template automation) so it never
|
|
37
|
+
gets skipped.
|
|
34
38
|
|
|
35
39
|
## Provenance and freshness
|
|
36
40
|
|
|
37
|
-
- Every item carries `observed_at`, `source`, `version` where one
|
|
38
|
-
**positive-structure lines** carry **per-line** `observed_at` /
|
|
39
|
-
|
|
40
|
-
- **
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
- Every evidence item carries `observed_at`, `source`, and `version` where one
|
|
42
|
+
exists. Card **positive-structure lines** carry **per-line** `observed_at` /
|
|
43
|
+
`source_version` (R4 P5).
|
|
44
|
+
- **Within a session:** a read is fresh until the file's **mtime** changes.
|
|
45
|
+
- **Invalidate all session reads when `git rev-parse HEAD` changes** — a new HEAD
|
|
46
|
+
means the tree may have moved under you.
|
|
47
|
+
- **Fail-fast mid git-op:** if a rebase/merge/cherry-pick is in progress
|
|
48
|
+
(`.git/MERGE_HEAD`, `.git/CHERRY_PICK_HEAD`, or a `.git/rebase-merge`/
|
|
49
|
+
`rebase-apply` directory present), do **not** read an intermediate tree — stop
|
|
50
|
+
and surface it (R4 P6, hole-3). *(`.git/REBASE_HEAD` is excluded — it lingers as
|
|
51
|
+
a stale ref after a completed rebase and is not a live-op marker.)* The
|
|
52
|
+
`evidence_report.ts git-state` subcommand is the deterministic check.
|
|
48
53
|
- **Across sessions:** always re-read. No file hashing, no content-hash theater.
|
|
49
54
|
|
|
50
55
|
## Two-file split
|
|
51
56
|
|
|
52
57
|
| File | Home | Tracked? | Holds |
|
|
53
58
|
|---|---|---|---|
|
|
54
|
-
| **Ephemeral session cache** | `agents/memory/knowledge/session/` | gitignored | Evidence Report + raw probe/introspection dumps + absence-search log |
|
|
59
|
+
| **Ephemeral session cache** | `agents/memory/knowledge/session/` | gitignored | Evidence Report + raw probe/introspection dumps + the absence-search log |
|
|
55
60
|
| **Committed card** | `agents/knowledge/<source>.md` | tracked | thin distillation: `trust: durable` negative facts + pointers; positive structure as per-line last-verified hypothesis |
|
|
56
61
|
|
|
57
|
-
|
|
58
|
-
— **not** a second knowledge system.
|
|
62
|
+
The committed card extends the `context-document` mechanism (a specialized
|
|
63
|
+
context type) — it is **not** a second knowledge system.
|
|
59
64
|
|
|
60
65
|
## DB-not-in-codebase boundary (R4 P2)
|
|
61
66
|
|
|
62
|
-
- **In-codebase** = schema defined by repo migrations / models / ORM /
|
|
63
|
-
**including** schemaless stores the app controls
|
|
64
|
-
rules). → always **local, read fresh, no card**.
|
|
67
|
+
- **In-codebase** = the schema is defined by repo migrations / models / ORM /
|
|
68
|
+
app code — **including** schemaless stores whose shape the app controls
|
|
69
|
+
(Mongoose, Prisma, Firestore rules). → always **local, read fresh, no card**.
|
|
65
70
|
- **DB-not-in-codebase** = no repo migrations/models/app-code define the schema
|
|
66
|
-
**and** app does not control it (vendor SaaS, partner, legacy DB). → may be
|
|
71
|
+
**and** the app does not control it (vendor SaaS, partner, legacy DB). → may be
|
|
67
72
|
**card-worthy** (remote evidence).
|
|
68
73
|
|
|
69
74
|
## Negative facts (R4 P4)
|
|
70
75
|
|
|
71
76
|
A negative fact is a **current-state fact** — "searched X, did not find Y" — not a
|
|
72
|
-
card-worthiness *decision* (belongs in notes/ADR, never an anti-hallucination
|
|
73
|
-
Write a negative-fact card **only after search is exhausted across all
|
|
74
|
-
sources
|
|
77
|
+
card-worthiness *decision* (that belongs in notes/ADR, never an anti-hallucination
|
|
78
|
+
card). Write a negative-fact card **only after the search is exhausted across all
|
|
79
|
+
relevant sources** for that claim, logging `searched` *and* `not_searched`, and
|
|
80
|
+
attach a `revalidate_if` trigger (e.g. "an OpenAPI spec / contracts dir is added").
|
|
75
81
|
|
|
76
82
|
## Card-worthiness threshold (R3 F-3, R4 P2/P7)
|
|
77
83
|
|
|
78
84
|
Card-worthy = **(external package / remote API / DB-not-in-codebase)** AND **(≥3
|
|
79
|
-
distinct methods/fields *intended* to be used OR source exposes >50 methods
|
|
80
|
-
is used OR prior hallucination OR local types/README
|
|
81
|
-
**intended** use at discovery
|
|
82
|
-
|
|
85
|
+
distinct methods/fields *intended* to be used OR the source exposes >50 methods
|
|
86
|
+
and ≥1 is used OR a prior hallucination on it OR local types/README are
|
|
87
|
+
insufficient)**. Judged on **intended** use at discovery — a card may be upgraded
|
|
88
|
+
later if usage grows, so it is still built *before* coding. A cross-feature
|
|
89
|
+
duplication check flags structure discovered in >1 session without a card as
|
|
90
|
+
"should-have-been-card-worthy".
|
|
83
91
|
|
|
84
92
|
## L0–L4 — descriptive, not prescriptive
|
|
85
93
|
|
|
86
|
-
L0–L4 are human shorthand for discovery
|
|
87
|
-
rules apply at every tier — no enforced state
|
|
94
|
+
L0–L4 are human shorthand for how deep a discovery went; they are documentation
|
|
95
|
+
only. The **same** evidence rules apply at every tier — no enforced state
|
|
96
|
+
machine, no per-tier evidence relaxation.
|
|
88
97
|
|
|
89
98
|
## Honest enforcement reality
|
|
90
99
|
|
|
@@ -94,55 +103,61 @@ A MODEL THAT INVENTS A FIELD CAN ALSO WRITE A FALSE "VERIFIED".
|
|
|
94
103
|
THE TEETH ARE POINTER-CI (DETERMINISTIC) + THE ANTI-HALLUCINATION EVAL (EMPIRICAL).
|
|
95
104
|
```
|
|
96
105
|
|
|
97
|
-
- **Instrumentation (soft):** Evidence Report and any `card_claims` self-log.
|
|
98
|
-
signal; never oversold as a guarantee.
|
|
106
|
+
- **Instrumentation (soft):** the Evidence Report and any `card_claims` self-log.
|
|
107
|
+
Useful signal; never oversold as a guarantee.
|
|
99
108
|
- **Teeth (hard):** pointer-resolution CI (path exists / URL 200, strict-mode
|
|
100
|
-
content-compare) + multi-evidence git-ancestry consistency check +
|
|
101
|
-
per-surface anti-hallucination eval with variance baseline.
|
|
109
|
+
content-compare) + the multi-evidence git-ancestry consistency check +
|
|
110
|
+
the per-surface anti-hallucination eval with a variance baseline.
|
|
102
111
|
|
|
103
112
|
## Global layer (v2 — cross-project card sharing, ADR-100)
|
|
104
113
|
|
|
105
|
-
An *expensive* (remote) card may be promoted from project-local
|
|
106
|
-
to per-user **file-first** global store at
|
|
107
|
-
(no daemon / DB / vector index / decay —
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
114
|
+
An *expensive* (remote) card may be promoted from project-local
|
|
115
|
+
`agents/knowledge/` to a per-user **file-first** global store at
|
|
116
|
+
`~/.event4u/agent-config/knowledge/` (no daemon / DB / vector index / decay —
|
|
117
|
+
the 2026-06-14 Layer-2 sunset's core is preserved). It is **storage, not
|
|
118
|
+
governed** like a committed card: unversioned, a cache, never a source of
|
|
119
|
+
truth — the per-card provenance footer is its audit trail. Gated by the
|
|
120
|
+
user-global `knowledge.global_sharing` setting (**default OFF until cross-project
|
|
121
|
+
reuse is measured across ≥ 2 real projects** — ADR-103 amends ADR-100 Phase 0;
|
|
122
|
+
`enabled: false` fully no-ops the layer — v1 unaffected; an operator opts in
|
|
123
|
+
explicitly and the default flips back only on a positive reuse signal).
|
|
124
|
+
|
|
125
|
+
- **A global card is a distillation, not a copy.** Its `trust: durable` core is
|
|
126
|
+
**negative facts + pointers**; positive structure is an explicit per-line
|
|
127
|
+
**hypothesis** — the same shape as a committed card, never positive structure
|
|
128
|
+
copied as a build input.
|
|
129
|
+
- **Leads-only consumption.** A global card loaded in a consuming project enters
|
|
130
|
+
the Evidence Report under **"Assumed (from card · GLOBAL, unverified)"** — its
|
|
131
|
+
positive structure must be re-confirmed against the live source *this session*
|
|
132
|
+
before use (version skew, schema drift). Negative facts + pointers are usable
|
|
133
|
+
as leads. Global-sourced positive structure is **never** "Verified".
|
|
134
|
+
- **Origin-tier scoping is the privacy floor.** `public` (registry / GitHub /
|
|
135
|
+
docs) auto-shareable; `vendor` (Stripe / AWS / …) shareable **post-redaction**;
|
|
136
|
+
`proprietary` (in-house DB / private API / client schemas) **manual-only,
|
|
137
|
+
default-off regardless of `enabled`** — no client-A schema leaks into client-B.
|
|
138
|
+
- **Redaction on write.** Promotion runs the `low-impact-corpus-privacy-floor`
|
|
139
|
+
+ `source-confidentiality` pattern set and **halts** on any hit — never
|
|
126
140
|
silent-shares, never auto-rewrites.
|
|
127
|
-
- **Promotion is hybrid.**
|
|
128
|
-
triggers a one-tap **suggestion**; never a silent write.
|
|
141
|
+
- **Promotion is hybrid.** A `public`/`vendor` card seen in ≥`auto_promote_threshold`
|
|
142
|
+
distinct repos triggers a one-tap **suggestion**; never a silent write.
|
|
129
143
|
|
|
130
144
|
## Evidence v2 rollback target (Phase 0)
|
|
131
145
|
|
|
132
146
|
Evidence v2 (self-building project context — Class A config-pointers, Class B
|
|
133
|
-
observed conventions, Class C learned lessons) is an **additive** layer.
|
|
134
|
-
target is fixed and measurable:
|
|
147
|
+
observed conventions, Class C learned lessons) is an **additive** layer. Its
|
|
148
|
+
rollback target is fixed and measurable:
|
|
135
149
|
|
|
136
150
|
```
|
|
137
151
|
v2 ROLLBACK = DISABLE ALL CURATED ACCUMULATED CONTEXT EXCEPT CLASS-A CONFIG-POINTERS.
|
|
138
152
|
THE MEASURABLE BASELINE TO REVERT TO IS v1 DISCIPLINE WITH NO ACCUMULATED CONTEXT.
|
|
139
153
|
```
|
|
140
154
|
|
|
141
|
-
Class A (config-derived pointers) is deterministic, drift-proof, no
|
|
142
|
-
risk
|
|
143
|
-
accumulated context raises error rate or cost
|
|
144
|
-
|
|
145
|
-
|
|
155
|
+
Class A (config-derived pointers) is deterministic, drift-proof, and carries no
|
|
156
|
+
accumulation risk, so it survives a rollback. Class B/C are the accumulation
|
|
157
|
+
layers; if a v2 eval shows accumulated context raises the error rate or its cost
|
|
158
|
+
is disproportionate, those layers are disabled and the agent runs on v1 discipline
|
|
159
|
+
alone — an acceptable outcome (v1's value stood on its own). "Self-improving" is a
|
|
160
|
+
hypothesis, not a law; the rollback target is what makes the hypothesis falsifiable.
|
|
146
161
|
|
|
147
162
|
## See also
|
|
148
163
|
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
# Orchestration Benchmark & Demotion Gate (Phase 6 → telemetry-demotion)
|
|
2
2
|
|
|
3
3
|
Originally the falsification gate the auto-orchestration roadmap was built
|
|
4
|
-
around: shipped default for `subagents.auto` would flip toward `on` only
|
|
5
|
-
benchmark
|
|
4
|
+
around: the shipped default for `subagents.auto` would flip toward `on` only
|
|
5
|
+
when a real benchmark proved a net win at held quality.
|
|
6
6
|
|
|
7
7
|
**As of 2026-07-09 the shipped default IS `on`** on subagent-capable hosts
|
|
8
8
|
(ADR-117; [`orchestration-default-flip-verdict`](../../../../agents/settings/contexts/orchestration-default-flip-verdict.md)
|
|
9
|
-
§ 2026-07-09).
|
|
10
|
-
benchmark: rigorous paired bench:ab not producible
|
|
11
|
-
model `Task`/`Agent` calls), win-validation
|
|
12
|
-
`on` gated on telemetry).
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
§ 2026-07-09). It was flipped on a **bounded-downside re-evaluation**, not a
|
|
10
|
+
passed benchmark: a rigorous paired bench:ab is not producible in this harness
|
|
11
|
+
(no runtime that executes model `Task`/`Agent` calls), and the win-validation
|
|
12
|
+
was deadlocked (telemetry needs `on`, `on` was gated on telemetry). The
|
|
13
|
+
re-evaluation broke the deadlock by showing the downside of `on` is
|
|
14
|
+
structurally small — delegable slices are cost-routed to the cheapest capable
|
|
15
|
+
tier, classification fires only on real structural signals, every return is
|
|
16
|
+
verified — so `on` gathers the realized telemetry responsibly. This gate now
|
|
17
|
+
governs **demotion**: a measured regression flips the default back to `ask`.
|
|
17
18
|
|
|
18
19
|
## Measurement — pin the method
|
|
19
20
|
|
|
@@ -42,18 +43,18 @@ HONEST-NULL EXIT: no win, or quality regressed → KEEP the conservative default
|
|
|
42
43
|
|
|
43
44
|
## Default state + demotion — host-gated
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
`subagent_spawn: true` (`off` elsewhere) — set directly in
|
|
46
|
+
The shipped default for `subagents.auto` is `on` on hosts whose capability
|
|
47
|
+
manifest reports `subagent_spawn: true` (`off` elsewhere) — set directly in
|
|
47
48
|
`src/config/agent-settings.template.yml`. `resolveShippedDefault()` remains the
|
|
48
|
-
host-gated resolver
|
|
49
|
-
accumulated real-world orchestration telemetry, resolves back to `ask`
|
|
50
|
-
(conservative). A `pass` keeps `on`.
|
|
51
|
-
host-gated by the manifest at runtime.
|
|
49
|
+
host-gated resolver and now serves **demotion**: fed a `fail` verdict from
|
|
50
|
+
accumulated real-world orchestration telemetry, it resolves back to `ask`
|
|
51
|
+
(conservative). A `pass` verdict keeps `on`. The demotion path is a one-line
|
|
52
|
+
edit, host-gated by the manifest at runtime.
|
|
52
53
|
|
|
53
|
-
The 2026-07-09 flip
|
|
54
|
-
"prove-first": rather than wait on a benchmark that cannot be
|
|
55
|
-
`on` ships because its downside is bounded and reversible, and
|
|
56
|
-
telemetry is now free to accrue and drive demotion if it regresses.
|
|
54
|
+
The 2026-07-09 flip is the reconciliation of the user's "default on" goal with
|
|
55
|
+
the council's "prove-first": rather than wait on a benchmark that cannot be
|
|
56
|
+
produced here, `on` ships because its downside is bounded and reversible, and
|
|
57
|
+
realized telemetry is now free to accrue and drive demotion if it regresses.
|
|
57
58
|
|
|
58
59
|
## Reproducibility
|
|
59
60
|
|
|
@@ -69,7 +70,7 @@ is auditable rather than asserted.
|
|
|
69
70
|
|
|
70
71
|
## Related
|
|
71
72
|
|
|
72
|
-
- ADR-118 (`docs/decisions/ADR-118-loop-engineering-boundaries.md`) — demotion stays manual human edit by decision; never automated (disposition #1).
|
|
73
|
+
- ADR-118 (`docs/decisions/ADR-118-loop-engineering-boundaries.md`) — demotion stays a manual human edit by decision; never automated (disposition #1).
|
|
73
74
|
- [`auto-orchestration-activation`](auto-orchestration-activation.md) — the `subagents.auto` key this gate sets the default for.
|
|
74
75
|
- [`host-capability-manifest`](host-capability-manifest.md) — `subagent_spawn` gates the flip.
|
|
75
76
|
- [`orchestration-telemetry`](orchestration-telemetry.md) — the per-dispatch metrics the benchmark aggregates.
|
|
@@ -185,6 +185,30 @@ derivable from this data. A percentage would require an additive
|
|
|
185
185
|
absolute-baseline field on this object (deferred follow-up). Reader:
|
|
186
186
|
[`src/scripts/_lib/orchestration_savings.ts`](../../../../src/scripts/_lib/orchestration_savings.ts).
|
|
187
187
|
|
|
188
|
+
## Payload-hash drift report (`payload_hash` × `cache_hit`)
|
|
189
|
+
|
|
190
|
+
Join the two fields into a stable/unstable prefix-stability cohort split:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
./scripts-run src/scripts/orchestration_payload_hash_drift [--dir <path>] [--format text|json]
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Reader: [`src/scripts/_lib/payload_hash_drift.ts`](../../../../src/scripts/_lib/payload_hash_drift.ts).
|
|
197
|
+
Zero recorded lines carrying both fields is the current expected state — both
|
|
198
|
+
are lean-init extensions with no caller wiring a real value into them yet;
|
|
199
|
+
the report says so rather than presenting empty input as a pass.
|
|
200
|
+
|
|
201
|
+
**Refusal (report, never act).** `cache_hit` is a provider-reported proxy for
|
|
202
|
+
HOST-controlled cache behaviour — this package causes the dispatch but does
|
|
203
|
+
not control whether the host reports a hit. Per
|
|
204
|
+
[`ADR-118`](../../../../docs/decisions/ADR-118-loop-engineering-boundaries.md)
|
|
205
|
+
§1 (a measure→adjust loop is automated only when it is a *direct* measure of
|
|
206
|
+
the failure mode, the false-positive rate is low, and human judgement adds no
|
|
207
|
+
unique information), a host-controlled proxy fails the direct-measure
|
|
208
|
+
condition outright. No consumer of `payload_hash` or `cache_hit` may wire a
|
|
209
|
+
measure→adjust step off them — no default flip, no tier change, no dispatch
|
|
210
|
+
throttle. They are read-only diagnostic fields.
|
|
211
|
+
|
|
188
212
|
## Related
|
|
189
213
|
|
|
190
214
|
- [`audit-log-v1`](../../../../docs/contracts/audit-log-v1.md) — the frozen
|