@event4u/agent-config 9.9.0 → 9.10.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 +153 -194
- package/README.md +1 -1
- 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/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 +6 -5
- 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/polish.ts +2 -2
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +1 -1
- 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/python/workspace_roles.js +2 -2
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +88 -62
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +6 -5
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +5 -4
- package/dist/hooks/dispatch.js +186 -12
- package/dist/install/install.mjs +8 -0
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1199 -857
- 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 +1 -1
- 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/polish.ts +2 -2
- package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +1 -1
- package/src/config/agent-settings.template.yml +32 -2
- package/src/config/ci-local-parity.yml +142 -0
- package/src/config/gate-coverage.yml +127 -0
- package/src/config/preamble-payload-budget.json +44 -0
- package/src/scripts/_cli/cmd_doctor.ts +78 -2
- 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/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/managed_agents_folder.ts +181 -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 +38 -0
- package/src/scripts/ai_council/orchestrator.ts +54 -9
- 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_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_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_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 +45 -3
- 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/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_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/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
|
@@ -22,9 +22,9 @@ packs:
|
|
|
22
22
|
Seeds a fresh project's `agents/knowledge/` typed pages from
|
|
23
23
|
**deterministic static analysis only** — directory names and known
|
|
24
24
|
config filenames, never file content, never an LLM-invented claim.
|
|
25
|
-
|
|
26
|
-
`standards-from-config`, `module-detect-on-the-fly`)
|
|
27
|
-
for filling in what this script cannot know.
|
|
25
|
+
This is the fast first pass; the deeper analyzers
|
|
26
|
+
(`project-analysis-*`, `standards-from-config`, `module-detect-on-the-fly`)
|
|
27
|
+
remain the tools for filling in what this script cannot know.
|
|
28
28
|
|
|
29
29
|
## Steps
|
|
30
30
|
|
|
@@ -81,8 +81,9 @@ Then:
|
|
|
81
81
|
./scripts-run src/scripts/generate_knowledge_index
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
The team-sharing gate
|
|
85
|
-
pages should carry
|
|
84
|
+
The [team-sharing gate](../../../scripts/check_knowledge_sharing.ts)
|
|
85
|
+
still applies at commit time — none of these pages should carry
|
|
86
|
+
`visibility: private`.
|
|
86
87
|
|
|
87
88
|
### 4. Discard the rest
|
|
88
89
|
|
|
@@ -100,6 +101,6 @@ gitignored and regenerates on the next bootstrap run).
|
|
|
100
101
|
|
|
101
102
|
## See also
|
|
102
103
|
|
|
103
|
-
- [`/team-knowledge consolidate`](consolidate.md) — the ongoing capture loop this one-shot seed feeds into.
|
|
104
|
-
- [`standards-from-config`](
|
|
105
|
-
- [`project-analysis-core`](
|
|
104
|
+
- [`/team-knowledge consolidate`](../consolidate/command.md) — the ongoing capture loop this one-shot seed feeds into.
|
|
105
|
+
- [`standards-from-config`](../../../skills/standards-from-config/SKILL.md) — the full pointer+digest derivation for coding standards.
|
|
106
|
+
- [`project-analysis-core`](../../../skills/project-analysis-core/SKILL.md) / [`module-detect-on-the-fly`](../../../skills/module-detect-on-the-fly/SKILL.md) — the deeper analyzers for `modules.md`.
|
|
@@ -24,7 +24,7 @@ Turns the gitignored, in-flight typed-observation events
|
|
|
24
24
|
`context_stale` — see `src/scripts/_lib/knowledge_events.ts`) into
|
|
25
25
|
committed `agents/knowledge/` pages. This is the ONLY path from intake
|
|
26
26
|
to a tracked page — no skill or rule writes a tracked knowledge page
|
|
27
|
-
mid-task (see [`knowledge-pages`](
|
|
27
|
+
mid-task (see [`knowledge-pages`](../../../agent-src/templates/contexts/knowledge-pages.md)
|
|
28
28
|
§ Storage location).
|
|
29
29
|
|
|
30
30
|
## Steps
|
|
@@ -44,7 +44,7 @@ No pending topics → tell the user and stop. Nothing to do.
|
|
|
44
44
|
### 2. Triage each topic
|
|
45
45
|
|
|
46
46
|
For each aggregate in the report, apply the same taxonomy
|
|
47
|
-
[`memory-consolidation`](
|
|
47
|
+
[`memory-consolidation`](../../../skills/memory-consolidation/SKILL.md)
|
|
48
48
|
uses for engineering-memory facts:
|
|
49
49
|
|
|
50
50
|
| Triage | Condition | Action |
|
|
@@ -61,7 +61,7 @@ events before deciding.
|
|
|
61
61
|
### 3. Draft and present the batch
|
|
62
62
|
|
|
63
63
|
For every `NEW` / `EXTEND` / `CONFLICT` aggregate, draft the page
|
|
64
|
-
content (following [`knowledge-pages`](
|
|
64
|
+
content (following [`knowledge-pages`](../../../agent-src/templates/contexts/knowledge-pages.md) —
|
|
65
65
|
`date + what + why` for session entries, ≤ 200 lines per page) and
|
|
66
66
|
present the full batch to the user:
|
|
67
67
|
|
|
@@ -81,7 +81,7 @@ present the full batch to the user:
|
|
|
81
81
|
|
|
82
82
|
On approval:
|
|
83
83
|
|
|
84
|
-
1. Write each approved page (respecting the team-sharing gate —
|
|
84
|
+
1. Write each approved page (respecting the [team-sharing gate](../../../scripts/check_knowledge_sharing.ts) —
|
|
85
85
|
never set `visibility: private` on a page landing here).
|
|
86
86
|
2. Regenerate the index: `./scripts-run src/scripts/generate_knowledge_index`.
|
|
87
87
|
3. Clear the consumed intake: `./scripts-run src/scripts/consolidate_knowledge_events --commit`
|
|
@@ -96,9 +96,10 @@ On approval:
|
|
|
96
96
|
land in the page, human resolves later.
|
|
97
97
|
- Never writes a page with `visibility: private` (belongs in the
|
|
98
98
|
ADR-100 global store instead).
|
|
99
|
-
- Do NOT commit the written pages — that is the user's call
|
|
99
|
+
- Do NOT commit the written pages — that is the user's call, per
|
|
100
|
+
[`commit-policy`](../../../rules/commit-policy.md).
|
|
100
101
|
|
|
101
102
|
## See also
|
|
102
103
|
|
|
103
|
-
- [`memory-consolidation`](
|
|
104
|
-
- [`learning-to-rule-or-skill`](
|
|
104
|
+
- [`memory-consolidation`](../../../skills/memory-consolidation/SKILL.md) — the sibling loop for the 5 fixed engineering-memory types; this command is its knowledge-page counterpart.
|
|
105
|
+
- [`learning-to-rule-or-skill`](../../../skills/learning-to-rule-or-skill/SKILL.md) — where a page's recurring topic graduates into a skill/rule once it crosses the skill-candidate threshold.
|
|
@@ -77,7 +77,10 @@ a wrapper is invoked directly.
|
|
|
77
77
|
|
|
78
78
|
## Sub-commands
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
On Claude Code each sub-command **delegates** to the paired `/codex:*` command
|
|
81
|
+
rather than routing to an in-suite skill — the second column names that target.
|
|
82
|
+
|
|
83
|
+
| Sub-command | Routes to | Purpose |
|
|
81
84
|
|---|---|---|
|
|
82
85
|
| `/team review [--background]` | `/codex:review` | Cross-model review of the current working-tree / staged diff |
|
|
83
86
|
| `/team adversarial <focus>` | `/codex:adversarial-review` | Adversarial cross-model review on a named focus — the escalation rung above the single-model `adversarial-review` skill |
|
|
@@ -131,7 +131,6 @@ Frontmatter must have `source: package`.
|
|
|
131
131
|
./scripts-run src/scripts/check_condensation # No 🔴 errors for this file
|
|
132
132
|
./scripts-run src/scripts/condense --generate-tools # Regenerate symlinks
|
|
133
133
|
bash scripts/condense.sh --check # dist/agent-src/ in sync with source
|
|
134
|
-
bash scripts/condense.sh --check-hashes # All hashes match
|
|
135
134
|
```
|
|
136
135
|
|
|
137
136
|
Fix any issues before continuing.
|
|
@@ -99,3 +99,10 @@ any roadmap-producing flow), do **not** include commit steps unless
|
|
|
99
99
|
the user explicitly requested them — commits are a delivery decision;
|
|
100
100
|
roadmaps plan **work**. If the user explicitly wants commit steps,
|
|
101
101
|
write them clearly (e.g. "Commit phase X: chore: …").
|
|
102
|
+
|
|
103
|
+
## Migrated from `commit-policy` (kernel-budget relief, 2026-07-30)
|
|
104
|
+
|
|
105
|
+
### See also
|
|
106
|
+
|
|
107
|
+
- [`scope-control`](../../../rules/scope-control.md) — git-ops permission gate (push, merge, branch, PR, tag).
|
|
108
|
+
- [`no-cheap-questions`](../../../rules/no-cheap-questions.md) — canonical Iron Law. · [`autonomous-execution`](../../../rules/autonomous-execution.md) · [`/commit`](../../commands/commit.md) · [`/commit:in-chunks`](../../commands/commit/in-chunks.md).
|
|
@@ -88,3 +88,19 @@ safe to remove or replace.
|
|
|
88
88
|
- Reading a roadmap step listing files to delete as authorization to
|
|
89
89
|
*commit* the deletion. The step authorizes the *edit*; the commit
|
|
90
90
|
is row 6 of the Hard Floor and needs its own confirmation.
|
|
91
|
+
|
|
92
|
+
## Migrated from `non-destructive-by-default` (kernel-budget relief, 2026-07-30)
|
|
93
|
+
|
|
94
|
+
### Enforcement — stated honestly (`enforced_by: none`)
|
|
95
|
+
|
|
96
|
+
This floor has **no mechanical backstop**, and pretending otherwise would be the
|
|
97
|
+
failure it exists to prevent. No script can enforce "ask before you deploy" — the
|
|
98
|
+
obligation is to pause and surface, and the only thing that observes it is the
|
|
99
|
+
human in the loop. Adjacent hooks (`block-no-verify`) guard hook-bypass, not
|
|
100
|
+
destructive intent; claiming them here would inflate coverage, so they are not
|
|
101
|
+
claimed.
|
|
102
|
+
|
|
103
|
+
So this rule is load-bearing **and** unenforced. It is carried by the model
|
|
104
|
+
honouring it — which is why it is a kernel rule, why it is short, and why it is
|
|
105
|
+
counted as uncovered in the enforcement-coverage report rather than excluded
|
|
106
|
+
from it.
|
|
@@ -195,3 +195,64 @@ carry over. Concretely: *"arbeite eigenständig"* given for
|
|
|
195
195
|
"Roadmap A" is consumed when Roadmap A's deliverable lands. A new
|
|
196
196
|
named task (Roadmap B, ticket Y, "next slice") needs fresh
|
|
197
197
|
authorization. See [`autonomous-execution § task-scope`](../../rules/autonomous-execution.md#task-scope--autonomy-is-bound-to-the-named-task).
|
|
198
|
+
|
|
199
|
+
## Post-artifact hard stop — no auto-offer of execution
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
ARTIFACT LANDED (ROADMAP / ADR / PLAN / PITCH / TICKET / DESIGN DOC)
|
|
203
|
+
→ STOP. NEVER ASK "READY TO START?" / "BEGIN PHASE 1?" / "SOFORT
|
|
204
|
+
AUSFÜHREN?" / "SOLL ICH MIT E1.1 ANFANGEN?". EXECUTION STARTS ON A
|
|
205
|
+
LATER TURN WITH AN EXPLICIT EXECUTION VERB FROM THE USER.
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Authoring verbs (`create`, `draft`, `write`, `erstelle`, …) authorize
|
|
209
|
+
the artifact only. The moment the file is saved, the turn ends —
|
|
210
|
+
silence on execution. The artifact is the deliverable; the work it
|
|
211
|
+
plans is a **separate decision** the user pins on a later turn.
|
|
212
|
+
|
|
213
|
+
This anchor binds three command surfaces:
|
|
214
|
+
|
|
215
|
+
- [`/roadmap:create` Step 9](../../commands/roadmap/create.md) —
|
|
216
|
+
hand-back is a hard stop; never propose `/roadmap:process-*` after
|
|
217
|
+
save.
|
|
218
|
+
- [`/challenge-me vision` Step 6 (`!roadmap` branch)](../../commands/challenge-me/vision.md) —
|
|
219
|
+
routing into `/roadmap:create` ends at file save; the chain does
|
|
220
|
+
**not** chain into execution.
|
|
221
|
+
- `/adr:create`, `/feature-roadmap`, `/feature-plan`, any future
|
|
222
|
+
authoring command — same rule, no per-command opt-out.
|
|
223
|
+
|
|
224
|
+
**Anti-pattern catalogue** (each of these IS the violation, not a
|
|
225
|
+
near-miss):
|
|
226
|
+
|
|
227
|
+
- *"Roadmap fertig. Soll ich mit Phase A anfangen?"* — execution
|
|
228
|
+
offer disguised as a status line.
|
|
229
|
+
- Numbered options `1. Start now / 2. Review first / 3. Cancel`
|
|
230
|
+
after the save line — the user did not ask for an execution menu.
|
|
231
|
+
- *"Recommended next step: `/roadmap:process-phase`"* in the
|
|
232
|
+
hand-back — back-channels the same ask.
|
|
233
|
+
- Treating *"sieht gut aus"* / *"passt"* / *"alright"* / thumbs-up
|
|
234
|
+
as authorization to start. None of those are execution verbs.
|
|
235
|
+
- Soft-routing prose: *"the roadmap is ready, kicking off E1.1…"* —
|
|
236
|
+
hand-off to execution disguised as continuation.
|
|
237
|
+
- Council-review hop counted as an execution authorization: review
|
|
238
|
+
ends, agent jumps straight to Phase 1.
|
|
239
|
+
|
|
240
|
+
**Allowed**
|
|
241
|
+
|
|
242
|
+
- A single hand-back line citing the saved path and any regenerated
|
|
243
|
+
dashboard count.
|
|
244
|
+
- A "Recommended next step" line in the artifact body itself (e.g.
|
|
245
|
+
in a pitch) that **names a command** the user can copy — that is
|
|
246
|
+
reference material in the artifact, not a routing offer in the
|
|
247
|
+
reply.
|
|
248
|
+
- Continuing on the **same turn** if and only if the user already
|
|
249
|
+
used an explicit execution verb alongside the authoring verb
|
|
250
|
+
(*"create the roadmap and start Phase A"*). Mixed-verb handling:
|
|
251
|
+
default to authoring-only and ask; see [`Authoring vs.
|
|
252
|
+
implementation`](#authoring-vs-implementation--verb-discipline).
|
|
253
|
+
|
|
254
|
+
**Bypass** — the user resumes with an explicit execution verb on a
|
|
255
|
+
later turn: `implement`, `build`, `start Phase A`, `arbeite die
|
|
256
|
+
Roadmap ab`, `mach weiter mit Phase 1`. That verb — not the prior
|
|
257
|
+
authoring turn, not a council pass, not a thumbs-up — lifts the
|
|
258
|
+
post-artifact stop.
|
|
@@ -1,43 +1,45 @@
|
|
|
1
1
|
# Reply close — work summary + PR link
|
|
2
2
|
|
|
3
3
|
Lookup material for the reply-close carve-out in the
|
|
4
|
-
[`direct-answers`](../../../rules/direct-answers.md) Brevity Iron Law.
|
|
5
|
-
states the obligation in one line; this file is the detail.
|
|
4
|
+
[`direct-answers`](../../../rules/direct-answers.md) Brevity Iron Law. The rule
|
|
5
|
+
body states the obligation in one line; this file is the detail.
|
|
6
6
|
|
|
7
7
|
## The carve-out
|
|
8
8
|
|
|
9
9
|
Brevity governs the reply **body**; the **close** is the exception.
|
|
10
10
|
|
|
11
|
-
-
|
|
11
|
+
- A reply that landed **substantial work** — a multi-step change, roadmap/branch
|
|
12
12
|
progress, or a created/updated PR — ends with **ONE** compact status summary at
|
|
13
13
|
the very end, never mid-reply: what's done, what remains.
|
|
14
|
-
- **Simple one-answer replies still skip the summary** (Brevity Iron Law
|
|
15
|
-
for them).
|
|
14
|
+
- **Simple one-answer replies still skip the summary** (the Brevity Iron Law is
|
|
15
|
+
unchanged for them). The summary is for work replies, not every turn.
|
|
16
16
|
|
|
17
17
|
## PR link is the literal last line
|
|
18
18
|
|
|
19
|
-
PR **created or updated this turn
|
|
20
|
-
line
|
|
21
|
-
PR → one URL line.
|
|
19
|
+
If a PR was **created or updated this turn**, its raw GitHub URL is the **literal
|
|
20
|
+
last line** of the reply — after the summary, nothing below it — so the user never
|
|
21
|
+
hunts for it. One PR → one URL line.
|
|
22
22
|
|
|
23
23
|
- Only when a PR was actually created/updated **this turn**. No PR → no link line.
|
|
24
|
-
-
|
|
24
|
+
- The raw URL (not a masked markdown link) so it is unmistakable and clickable.
|
|
25
25
|
|
|
26
26
|
## Why it does not collide with sibling rules
|
|
27
27
|
|
|
28
|
-
- **`language-and-tone`** last-line rule: a raw URL is language-neutral
|
|
29
|
-
the "every user-visible token mirrors the user's language" gate.
|
|
28
|
+
- **`language-and-tone`** last-line rule: a raw URL is language-neutral, so it
|
|
29
|
+
satisfies the "every user-visible token mirrors the user's language" gate.
|
|
30
30
|
- **`no-pr-progress-comments`** / **`no-attribution-footers`**: those govern
|
|
31
|
-
comments posted *on the PR*.
|
|
32
|
-
a PR comment — neither applies.
|
|
33
|
-
- **`user-interaction`**: a numbered-options block, when present, still comes
|
|
34
|
-
among interactive elements; the PR URL sits below it as the final line and
|
|
35
|
-
an "open question"
|
|
31
|
+
comments posted *on the PR*. The summary and URL here are the **chat reply
|
|
32
|
+
body**, not a PR comment — so neither rule applies.
|
|
33
|
+
- **`user-interaction`**: a numbered-options block, when present, still comes
|
|
34
|
+
last among interactive elements; the PR URL sits below it as the final line and
|
|
35
|
+
is not an "open question," so it does not trip the no-trailing-open-question
|
|
36
|
+
rule.
|
|
36
37
|
|
|
37
38
|
## Failure modes
|
|
38
39
|
|
|
39
40
|
- Burying the summary mid-reply, then continuing with more detail below it.
|
|
40
|
-
- Emitting the summary for a trivial one-answer reply (brevity says skip).
|
|
41
|
-
- Creating a PR but leaving its URL
|
|
41
|
+
- Emitting the summary for a trivial one-answer reply (brevity says skip it).
|
|
42
|
+
- Creating a PR but leaving its URL somewhere in the middle, forcing the user to
|
|
43
|
+
scroll/search.
|
|
42
44
|
- Masking the URL behind link text so it is not obviously the PR.
|
|
43
45
|
- Adding a PR-link line when no PR was created this turn.
|
|
@@ -25,7 +25,7 @@ Make descriptions "pushy" — explicit about when to fire:
|
|
|
25
25
|
adjectives, drop the second example phrasing, or collapse a list — do
|
|
26
26
|
**not** drop the trigger vocabulary or the `even if ...` tail.
|
|
27
27
|
|
|
28
|
-
Source:
|
|
28
|
+
Source: adapted from an external reference.
|
|
29
29
|
|
|
30
30
|
**Litmus test:** Read the description cold, without the skill's body. If you
|
|
31
31
|
cannot name at least two phrasings a user would realistically type that should
|
package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md
CHANGED
|
@@ -4,7 +4,7 @@ Lookup table for the `slash-command-routing-policy` rule. Lists the
|
|
|
4
4
|
locked clusters and their sub-commands so the rule itself can stay at
|
|
5
5
|
its current LOC while still reflecting the full surface. Source of
|
|
6
6
|
truth for the cluster names is
|
|
7
|
-
[`docs/contracts/command-clusters.md`](
|
|
7
|
+
[`docs/contracts/command-clusters.md`](../../../../../docs/contracts/command-clusters.md);
|
|
8
8
|
this file mirrors that contract for runtime lookup. Linter:
|
|
9
9
|
`scripts/check_cluster_patterns.ts` (verifies dispatcher shape).
|
|
10
10
|
|
|
@@ -12,17 +12,17 @@ when authoring or pre-review verification fires.
|
|
|
12
12
|
1. **Create or edit** the file in `src/{path}` (e.g. `src/rules/`, `src/skills/`,
|
|
13
13
|
`src/agent-src/`, `src/domains/<pack>/`)
|
|
14
14
|
2. **Do NOT auto-condense.** Continue working.
|
|
15
|
-
3. **Before commit/push:** Check
|
|
16
|
-
(`bash src/scripts/condense.sh --changed`). If files
|
|
17
|
-
ask the user:
|
|
15
|
+
3. **Before commit/push:** Check whether any projection is out of date
|
|
16
|
+
(`bash src/scripts/condense.sh --changed` — `dist != rewrite(src)`). If files
|
|
17
|
+
are listed, ask the user:
|
|
18
18
|
```
|
|
19
|
-
> 📦 {N} dist/agent-src files
|
|
19
|
+
> 📦 {N} dist/agent-src files are out of date before commit.
|
|
20
20
|
>
|
|
21
|
-
> 1.
|
|
22
|
-
> 2. Later — commit without
|
|
21
|
+
> 1. Sync now — run /condense
|
|
22
|
+
> 2. Later — commit without syncing
|
|
23
23
|
```
|
|
24
|
-
4. If
|
|
25
|
-
|
|
24
|
+
4. If syncing: run the `/condense` command — `--sync` writes the projection,
|
|
25
|
+
nothing has to be marked afterwards.
|
|
26
26
|
|
|
27
27
|
For new non-.md files (`.php`, configs):
|
|
28
28
|
`bash src/scripts/condense.sh --sync` copies them automatically.
|
|
@@ -94,6 +94,5 @@ Commands have `disable-model-invocation: true` in their frontmatter.
|
|
|
94
94
|
| Create new non-`.md` | Create in `src/`, run `bash src/scripts/condense.sh --sync` |
|
|
95
95
|
| Create new command | Create in `src/agent-src/commands/`, sync, `./scripts-run src/scripts/condense --generate-tools` |
|
|
96
96
|
| Delete a file | Delete from `src/` and `dist/agent-src/` |
|
|
97
|
-
| Check
|
|
98
|
-
| Mark file as condensed | `bash src/scripts/condense.sh --mark-done {path}` |
|
|
97
|
+
| Check which projections are out of date | `bash src/scripts/condense.sh --changed` |
|
|
99
98
|
| Verify everything is in sync | `bash src/scripts/condense.sh --check` |
|
|
@@ -43,7 +43,7 @@ behavior. Cannot → read more.
|
|
|
43
43
|
## Consult memory before editing
|
|
44
44
|
|
|
45
45
|
Invariants live in the memory layer; architectural rationale lives in ADRs.
|
|
46
|
-
Via [`memory-access`](
|
|
46
|
+
Via [`memory-access`](../../../../../docs/guidelines/agent-infra/memory-access.md),
|
|
47
47
|
call `retrieve(types=["domain-invariants"], keys=<touched paths>, limit=3)` —
|
|
48
48
|
a matching `domain-invariant` is a hard constraint. For *why* the current
|
|
49
49
|
shape exists, check the ADR index `docs/decisions/INDEX.md`. Cite the `id` /
|
|
@@ -180,6 +180,17 @@ When processing multiple items (e.g., review comments, test failures), show prog
|
|
|
180
180
|
**Comment 3/7** — `filename.php:42`
|
|
181
181
|
```
|
|
182
182
|
|
|
183
|
+
## Bullet floor
|
|
184
|
+
|
|
185
|
+
Multi-step content earns bullets; each bullet is a complete 1–2-sentence
|
|
186
|
+
statement, never a fragment masquerading as a list item ("Faster." /
|
|
187
|
+
"Better UX." with no subject or verb). A decline or refusal is **never**
|
|
188
|
+
rendered as a bulleted list of reasons — declines are short prose (one or
|
|
189
|
+
two sentences), because a bulleted refusal reads as a checklist to argue
|
|
190
|
+
against rather than a direct answer.
|
|
191
|
+
|
|
192
|
+
Full example set: [`asking-and-brevity-examples § Bullet floor`](../../../../../../docs/guidelines/agent-infra/asking-and-brevity-examples.md#bullet-floor).
|
|
193
|
+
|
|
183
194
|
## Summaries
|
|
184
195
|
|
|
185
196
|
After completing a batch of actions, provide a summary table:
|
|
@@ -211,26 +211,37 @@ $ grep agent-engagement .gitignore
|
|
|
211
211
|
The fastest path is the project's own validator — it enforces every
|
|
212
212
|
rule listed above:
|
|
213
213
|
|
|
214
|
+
```bash
|
|
215
|
+
# Validate every line against the schema + redaction floor
|
|
214
216
|
```bash
|
|
215
217
|
# Validate every line against the schema + redaction floor
|
|
216
218
|
node -e '
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
parse_event(line + "\n")
|
|
227
|
-
ok += 1
|
|
228
|
-
except EngagementSchemaError as e:
|
|
229
|
-
bad += 1
|
|
230
|
-
print(f"line {i}: {e}", file=sys.stderr)
|
|
231
|
-
print(f"{ok} valid, {bad} rejected")
|
|
219
|
+
const fs = require("fs");
|
|
220
|
+
const lines = fs.readFileSync(".agent-engagement.jsonl", "utf8").split("
|
|
221
|
+
").filter(Boolean);
|
|
222
|
+
let ok = 0, bad = 0;
|
|
223
|
+
for (const [i, line] of lines.entries()) {
|
|
224
|
+
try { JSON.parse(line); ok++; }
|
|
225
|
+
catch (e) { bad++; console.error(`line ${i+1}: ${e.message}`); }
|
|
226
|
+
}
|
|
227
|
+
console.log(`${ok} valid, ${bad} rejected`);
|
|
232
228
|
'
|
|
233
229
|
|
|
230
|
+
# A bad-line spot-check that does not depend on the validator
|
|
231
|
+
node -e '
|
|
232
|
+
const fs = require("fs");
|
|
233
|
+
const forbidden = /[/\]|\.[a-z0-9]{1,10}$/i;
|
|
234
|
+
for (const line of fs.readFileSync(".agent-engagement.jsonl", "utf8").split("
|
|
235
|
+
").filter(Boolean)) {
|
|
236
|
+
const obj = JSON.parse(line);
|
|
237
|
+
for (const kind of ["consulted", "applied"])
|
|
238
|
+
for (const ids of Object.values(obj[kind] ?? {}))
|
|
239
|
+
for (const v of ids)
|
|
240
|
+
if (forbidden.test(v) || v.length > 200) console.log("LEAK:", v);
|
|
241
|
+
}
|
|
242
|
+
'
|
|
243
|
+
```
|
|
244
|
+
|
|
234
245
|
# A bad-line spot-check that does not depend on the validator
|
|
235
246
|
node -e '
|
|
236
247
|
import json, pathlib, re
|
|
@@ -100,6 +100,9 @@ journey that self-suggests; the sub-command is reached by routing from the head
|
|
|
100
100
|
always works. This keeps the proactive surface to a few journeys, not one
|
|
101
101
|
entry point per mode (9.4.0 review; `road-to-surface-consolidation`, council
|
|
102
102
|
2026-07-20). Standalone commands (no `sub:`) and cluster heads may be eligible.
|
|
103
|
+
Rationale: 160 eligible commands all competing to self-suggest IS the "190
|
|
104
|
+
gleichwertig sichtbare Einstiegspunkte" the review flags; the sub-command flip
|
|
105
|
+
collapses it without removing any command.
|
|
103
106
|
|
|
104
107
|
## Subordination — when to stay silent
|
|
105
108
|
|
|
@@ -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
|
|