@event4u/agent-config 14.23.0 → 16.0.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/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +144 -152
- package/README.md +1 -1
- package/dist/agent-src/commands/agent-handoff.md +8 -7
- package/dist/agent-src/commands/agents/init.md +1 -1
- package/dist/agent-src/commands/agents/user/accept.md +4 -4
- package/dist/agent-src/commands/agents/user/delete.md +2 -2
- package/dist/agent-src/commands/agents/user/init.md +3 -3
- package/dist/agent-src/commands/agents/user/review.md +3 -3
- package/dist/agent-src/commands/agents/user/show.md +3 -3
- package/dist/agent-src/commands/agents/user/update.md +2 -2
- package/dist/agent-src/commands/agents/user.md +6 -6
- package/dist/agent-src/commands/analytics/prune.md +1 -1
- package/dist/agent-src/commands/analytics/show.md +2 -2
- package/dist/agent-src/commands/analyze/decision.md +2 -2
- package/dist/agent-src/commands/analyze/inbox.md +5 -5
- package/dist/agent-src/commands/analyze/incident.md +3 -3
- package/dist/agent-src/commands/analyze/near-miss.md +3 -3
- package/dist/agent-src/commands/analyze/postmortem.md +4 -4
- package/dist/agent-src/commands/analyze/premortem.md +2 -2
- package/dist/agent-src/commands/analyze.md +2 -2
- package/dist/agent-src/commands/bug/fix.md +1 -1
- package/dist/agent-src/commands/bug/investigate.md +2 -2
- package/dist/agent-src/commands/cost/profile.md +3 -3
- package/dist/agent-src/commands/design.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +2 -2
- package/dist/agent-src/commands/feature/roadmap.md +2 -2
- package/dist/agent-src/commands/ghostwriter/fetch.md +4 -4
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/show.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +9 -9
- package/dist/agent-src/commands/humanize.md +6 -6
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/judge/solo.md +1 -1
- package/dist/agent-src/commands/judge.md +1 -1
- package/dist/agent-src/commands/knowledge/cross-repo.md +1 -1
- package/dist/agent-src/commands/knowledge/forget.md +1 -1
- package/dist/agent-src/commands/knowledge/ingest.md +2 -2
- package/dist/agent-src/commands/knowledge/list.md +1 -1
- package/dist/agent-src/commands/memory/add.md +3 -3
- package/dist/agent-src/commands/memory/load.md +4 -4
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +4 -4
- package/dist/agent-src/commands/memory/propose.md +2 -2
- package/dist/agent-src/commands/mode.md +5 -5
- package/dist/agent-src/commands/post-as/ghostwriter.md +3 -3
- package/dist/agent-src/commands/post-as/me.md +7 -7
- package/dist/agent-src/commands/pr/create.md +1 -1
- package/dist/agent-src/commands/pr/merge.md +1 -1
- package/dist/agent-src/commands/profile/activate.md +1 -1
- package/dist/agent-src/commands/profile/show.md +1 -1
- package/dist/agent-src/commands/research/deep.md +2 -2
- package/dist/agent-src/commands/research/report.md +2 -2
- package/dist/agent-src/commands/review/changes.md +1 -1
- package/dist/agent-src/commands/review/routing.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +4 -3
- package/dist/agent-src/commands/roadmap/materialize.md +2 -2
- package/dist/agent-src/commands/roadmap/next.md +1 -1
- package/dist/agent-src/commands/roadmap/process-full.md +2 -2
- package/dist/agent-src/commands/security-audit-config.md +3 -3
- package/dist/agent-src/commands/skill/preview.md +1 -1
- package/dist/agent-src/commands/skills/discover.md +1 -1
- package/dist/agent-src/commands/sync/agent-settings.md +2 -2
- package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
- package/dist/agent-src/commands/tests/create.md +1 -1
- package/dist/agent-src/commands/tests/e2e-heal.md +1 -1
- package/dist/agent-src/commands/tests/e2e-plan.md +1 -1
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +6 -6
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -2
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +88 -1
- package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +51 -1
- package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -1
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +1 -1
- package/dist/agent-src/contexts/execution/cheap-question-mechanics.md +1 -1
- package/dist/agent-src/contexts/execution/contract-decision-sheet.md +3 -3
- package/dist/agent-src/contexts/execution/mandated-lines.md +1 -1
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +1 -1
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +1 -1
- package/dist/agent-src/contexts/execution/plan-confidence-gate.md +5 -5
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -1
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +1 -1
- package/dist/agent-src/contexts/execution/subagent-routing.md +2 -2
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +1 -1
- package/dist/agent-src/contexts/execution/user-memory-channels.md +3 -3
- package/dist/agent-src/contexts/execution/verification-mechanics.md +1 -1
- package/dist/agent-src/contexts/judges/persona-voice-rubric.md +2 -2
- package/dist/agent-src/guidelines/abstraction-thresholds.md +88 -0
- package/dist/agent-src/guidelines/agent-infra/5w2h-analysis.md +260 -0
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +99 -0
- package/dist/agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +325 -0
- package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +177 -0
- package/dist/agent-src/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +222 -0
- package/dist/agent-src/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
- package/dist/agent-src/guidelines/agent-infra/asking-and-brevity-examples.md +198 -0
- package/dist/agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
- package/dist/agent-src/guidelines/agent-infra/carve-out-predicates.md +17 -0
- package/dist/agent-src/guidelines/agent-infra/comparison-matrix.md +179 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +165 -0
- package/dist/agent-src/guidelines/agent-infra/corpus-grounding-authoring.md +91 -0
- package/dist/agent-src/guidelines/agent-infra/critical-thinking.md +156 -0
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
- package/dist/agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
- package/dist/agent-src/guidelines/agent-infra/direct-answers-demos.md +142 -0
- package/dist/agent-src/guidelines/agent-infra/domain-adoption-gates.md +112 -0
- package/dist/agent-src/guidelines/agent-infra/domain-eval-anti-pattern.md +53 -0
- package/dist/agent-src/guidelines/agent-infra/domain-pack-architecture.md +56 -0
- package/dist/agent-src/guidelines/agent-infra/downstream-changes-mechanics.md +91 -0
- package/dist/agent-src/guidelines/agent-infra/emphasis-budget.md +45 -0
- package/dist/agent-src/guidelines/agent-infra/engineering-memory-data-format.md +210 -0
- package/dist/agent-src/guidelines/agent-infra/evaluator-independence-mechanics.md +92 -0
- package/dist/agent-src/guidelines/agent-infra/existence-question-verdicts.md +80 -0
- package/dist/agent-src/guidelines/agent-infra/failure-signatures.md +70 -0
- package/dist/agent-src/guidelines/agent-infra/false-green.md +233 -0
- package/dist/agent-src/guidelines/agent-infra/first-principles.md +192 -0
- package/dist/agent-src/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +169 -0
- package/dist/agent-src/guidelines/agent-infra/gate-authoring.md +177 -0
- package/dist/agent-src/guidelines/agent-infra/guarded-baseline.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/installed-tools-manifest.md +142 -0
- package/dist/agent-src/guidelines/agent-infra/inversion-thinking.md +388 -0
- package/dist/agent-src/guidelines/agent-infra/ios-simulator-guide.md +378 -0
- package/dist/agent-src/guidelines/agent-infra/language-and-tone-examples.md +141 -0
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +317 -0
- package/dist/agent-src/guidelines/agent-infra/linked-projects-onboarding-gate.md +80 -0
- package/dist/agent-src/guidelines/agent-infra/mcp-request-signing.md +197 -0
- package/dist/agent-src/guidelines/agent-infra/memory-access.md +149 -0
- package/dist/agent-src/guidelines/agent-infra/mental-models.md +314 -0
- package/dist/agent-src/guidelines/agent-infra/minimal-safe-diff-mechanics.md +241 -0
- package/dist/agent-src/guidelines/agent-infra/missing-tool-handling.md +66 -0
- package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +101 -0
- package/dist/agent-src/guidelines/agent-infra/naming.md +69 -0
- package/dist/agent-src/guidelines/agent-infra/notes-horizon-mechanics.md +90 -0
- package/dist/agent-src/guidelines/agent-infra/output-patterns.md +117 -0
- package/dist/agent-src/guidelines/agent-infra/recurring-criticism-mechanics.md +96 -0
- package/dist/agent-src/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
- package/dist/agent-src/guidelines/agent-infra/review-routing-data-format.md +143 -0
- package/dist/agent-src/guidelines/agent-infra/roadmap-deferred-resolution-provenance.md +54 -0
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +274 -0
- package/dist/agent-src/guidelines/agent-infra/role-contracts.md +209 -0
- package/dist/agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
- package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +241 -0
- package/dist/agent-src/guidelines/agent-infra/rule-type-governance.md +73 -0
- package/dist/agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
- package/dist/agent-src/guidelines/agent-infra/scqa-framework.md +526 -0
- package/dist/agent-src/guidelines/agent-infra/security-lint-containment.md +121 -0
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +134 -0
- package/dist/agent-src/guidelines/agent-infra/simplicity-and-goal-demos.md +211 -0
- package/dist/agent-src/guidelines/agent-infra/six-hats.md +353 -0
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +229 -0
- package/dist/agent-src/guidelines/agent-infra/skill-quality-checklist.md +157 -0
- package/dist/agent-src/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
- package/dist/agent-src/guidelines/agent-infra/symptom-driven-harvest-loop.md +104 -0
- package/dist/agent-src/guidelines/agent-infra/systems-thinking.md +220 -0
- package/dist/agent-src/guidelines/agent-infra/tool-description-as-policy.md +35 -0
- package/dist/agent-src/guidelines/agent-infra/tool-integration.md +73 -0
- package/dist/agent-src/guidelines/agent-infra/traceability-field-mechanics.md +50 -0
- package/dist/agent-src/guidelines/agent-infra/untrusted-input-spotlighting.md +166 -0
- package/dist/agent-src/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
- package/dist/agent-src/guidelines/augment-portability-patterns.md +70 -0
- package/dist/agent-src/guidelines/code-clarity.md +350 -0
- package/dist/agent-src/guidelines/component-oriented-and-oop-development.md +189 -0
- package/dist/agent-src/guidelines/cross-role-handoff.md +127 -0
- package/dist/agent-src/guidelines/design-antipatterns-triggers.json +18 -0
- package/dist/agent-src/guidelines/design-antipatterns.md +327 -0
- package/dist/agent-src/guidelines/design-asset-discipline.md +38 -0
- package/dist/agent-src/guidelines/design-canon.md +63 -0
- package/dist/agent-src/guidelines/design-fidelity-mechanics.md +293 -0
- package/dist/agent-src/guidelines/design-fidelity-routing.md +78 -0
- package/dist/agent-src/guidelines/design-handover-extraction.md +117 -0
- package/dist/agent-src/guidelines/design-modes.md +143 -0
- package/dist/agent-src/guidelines/design-reconciliation.md +172 -0
- package/dist/agent-src/guidelines/docs/readme-size-and-splitting.md +209 -0
- package/dist/agent-src/guidelines/e2e/playwright.md +363 -0
- package/dist/agent-src/guidelines/gtm-handoff.md +114 -0
- package/dist/agent-src/guidelines/monorepo-antipatterns.md +141 -0
- package/dist/agent-src/guidelines/php/api-design.md +115 -0
- package/dist/agent-src/guidelines/php/artisan-commands.md +81 -0
- package/dist/agent-src/guidelines/php/blade-ui.md +78 -0
- package/dist/agent-src/guidelines/php/controllers.md +90 -0
- package/dist/agent-src/guidelines/php/database.md +194 -0
- package/dist/agent-src/guidelines/php/eloquent.md +208 -0
- package/dist/agent-src/guidelines/php/flux.md +80 -0
- package/dist/agent-src/guidelines/php/general.md +207 -0
- package/dist/agent-src/guidelines/php/git.md +164 -0
- package/dist/agent-src/guidelines/php/jobs.md +111 -0
- package/dist/agent-src/guidelines/php/livewire.md +71 -0
- package/dist/agent-src/guidelines/php/logging.md +79 -0
- package/dist/agent-src/guidelines/php/naming.md +89 -0
- package/dist/agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
- package/dist/agent-src/guidelines/php/patterns/dtos.md +199 -0
- package/dist/agent-src/guidelines/php/patterns/events.md +67 -0
- package/dist/agent-src/guidelines/php/patterns/factory.md +53 -0
- package/dist/agent-src/guidelines/php/patterns/pipelines.md +66 -0
- package/dist/agent-src/guidelines/php/patterns/policies.md +66 -0
- package/dist/agent-src/guidelines/php/patterns/repositories.md +122 -0
- package/dist/agent-src/guidelines/php/patterns/service-layer.md +64 -0
- package/dist/agent-src/guidelines/php/patterns/strategy.md +247 -0
- package/dist/agent-src/guidelines/php/patterns.md +28 -0
- package/dist/agent-src/guidelines/php/performance.md +92 -0
- package/dist/agent-src/guidelines/php/php-coding-patterns.md +80 -0
- package/dist/agent-src/guidelines/php/resources.md +100 -0
- package/dist/agent-src/guidelines/php/security.md +110 -0
- package/dist/agent-src/guidelines/php/sql.md +97 -0
- package/dist/agent-src/guidelines/php/validations.md +119 -0
- package/dist/agent-src/guidelines/php/websocket.md +100 -0
- package/dist/agent-src/guidelines/prompt-templates.md +189 -0
- package/dist/agent-src/guidelines/redundancy-taxonomy.md +208 -0
- package/dist/agent-src/guidelines/wing4-handoff.md +127 -0
- package/dist/agent-src/personas/README.md +1 -1
- package/dist/agent-src/personas/_template-specialist/persona.md +1 -1
- package/dist/agent-src/personas/product-owner.md +1 -1
- package/dist/agent-src/rules/active-remediation.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
- package/dist/agent-src/rules/ask-when-uncertain.md +2 -2
- package/dist/agent-src/rules/brand-source-of-truth.md +9 -7
- package/dist/agent-src/rules/code-comment-discipline.md +2 -2
- package/dist/agent-src/rules/code-provenance.md +1 -1
- package/dist/agent-src/rules/content-quoting-floor.md +1 -1
- package/dist/agent-src/rules/context-hygiene.md +5 -5
- package/dist/agent-src/rules/cross-source-consistency.md +1 -1
- package/dist/agent-src/rules/design-fidelity.md +36 -46
- package/dist/agent-src/rules/direct-answers.md +2 -2
- package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
- package/dist/agent-src/rules/evaluator-independence.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/icon-consistency.md +5 -1
- package/dist/agent-src/rules/improve-before-implement.md +1 -1
- package/dist/agent-src/rules/language-and-tone.md +3 -3
- package/dist/agent-src/rules/minimal-safe-diff.md +1 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +2 -2
- package/dist/agent-src/rules/recurring-criticism.md +1 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +1 -1
- package/dist/agent-src/rules/role-mode-adherence.md +2 -2
- package/dist/agent-src/rules/security-sensitive-stop.md +1 -1
- package/dist/agent-src/rules/size-enforcement.md +1 -1
- package/dist/agent-src/rules/source-confidentiality.md +2 -2
- package/dist/agent-src/rules/think-before-action.md +1 -1
- package/dist/agent-src/rules/token-efficiency.md +7 -5
- package/dist/agent-src/rules/ui-audit-gate.md +3 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +3 -3
- package/dist/agent-src/rules/user-interaction.md +31 -30
- package/dist/agent-src/skills/activation-design/SKILL.md +2 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +5 -5
- package/dist/agent-src/skills/ai-council/SKILL.md +1 -1
- package/dist/agent-src/skills/ai-council/references/advanced-modes.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/brand-to-tokens/SKILL.md +24 -3
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
- package/dist/agent-src/skills/churn-prevention/SKILL.md +2 -2
- package/dist/agent-src/skills/code-refactoring/SKILL.md +3 -3
- package/dist/agent-src/skills/code-review/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/comp-banding/SKILL.md +1 -1
- package/dist/agent-src/skills/competitive-moat-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
- package/dist/agent-src/skills/complexity-first-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -2
- package/dist/agent-src/skills/contracts-cognition/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +2 -2
- package/dist/agent-src/skills/customer-research/SKILL.md +2 -2
- package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
- package/dist/agent-src/skills/data-handling-judgment/SKILL.md +1 -1
- package/dist/agent-src/skills/deal-qualification-meddic/SKILL.md +2 -2
- package/dist/agent-src/skills/decision-record/SKILL.md +3 -3
- package/dist/agent-src/skills/decision-review/SKILL.md +8 -8
- package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +22 -22
- package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
- package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +2 -2
- package/dist/agent-src/skills/design-review/SKILL.md +4 -4
- package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -1
- package/dist/agent-src/skills/design-tokens/SKILL.md +17 -2
- package/dist/agent-src/skills/design-variations/SKILL.md +2 -2
- package/dist/agent-src/skills/developer-like-execution/SKILL.md +2 -2
- package/dist/agent-src/skills/discovery-interview/SKILL.md +2 -2
- package/dist/agent-src/skills/doc-coauthoring/SKILL.md +3 -3
- package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -2
- package/dist/agent-src/skills/error-handling-patterns/SKILL.md +9 -0
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +44 -1
- package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +2 -2
- package/dist/agent-src/skills/expansion-playbook/SKILL.md +2 -2
- package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
- package/dist/agent-src/skills/experiment-loop/references/protocol.md +1 -1
- package/dist/agent-src/skills/fe-design/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +1 -1
- package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +3 -3
- package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/flux/SKILL.md +1 -1
- package/dist/agent-src/skills/forecast-accuracy/SKILL.md +2 -2
- package/dist/agent-src/skills/forecasting/SKILL.md +2 -2
- package/dist/agent-src/skills/fundraising-narrative/SKILL.md +2 -2
- package/dist/agent-src/skills/funnel-analysis/SKILL.md +2 -2
- package/dist/agent-src/skills/gtm-launch/SKILL.md +2 -2
- package/dist/agent-src/skills/hiring-loop-design/SKILL.md +1 -1
- package/dist/agent-src/skills/html-deck/SKILL.md +5 -5
- package/dist/agent-src/skills/humanizer/SKILL.md +1 -1
- package/dist/agent-src/skills/humanizer/data/patterns.md +1 -1
- package/dist/agent-src/skills/iconography/SKILL.md +3 -3
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
- package/dist/agent-src/skills/laravel-api-endpoint/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +3 -3
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +6 -6
- package/dist/agent-src/skills/livewire/SKILL.md +1 -1
- package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +3 -3
- package/dist/agent-src/skills/messaging-architecture/SKILL.md +2 -2
- package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
- package/dist/agent-src/skills/onboarding-design/SKILL.md +2 -2
- package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
- package/dist/agent-src/skills/one-on-one-cadence/SKILL.md +1 -1
- package/dist/agent-src/skills/org-design/SKILL.md +1 -1
- package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +3 -3
- package/dist/agent-src/skills/override-management/SKILL.md +1 -1
- package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
- package/dist/agent-src/skills/persona-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/php-coder/SKILL.md +1 -1
- package/dist/agent-src/skills/pipeline-strategy/SKILL.md +2 -2
- package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -3
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/positioning-strategy/SKILL.md +2 -2
- package/dist/agent-src/skills/privacy-review/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-optimizer/SKILL.md +3 -3
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +2 -2
- package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
- package/dist/agent-src/skills/release-comms/SKILL.md +2 -2
- package/dist/agent-src/skills/retention-loops/SKILL.md +2 -2
- package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-management/SKILL.md +1 -1
- package/dist/agent-src/skills/roadmap-management/references/archival.md +1 -1
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/rule-writing/SKILL.md +6 -6
- package/dist/agent-src/skills/runway-cognition/SKILL.md +2 -2
- package/dist/agent-src/skills/scenario-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-writing/references/procedure.md +1 -1
- package/dist/agent-src/skills/skill-writing/references/section-patterns.md +3 -3
- package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -3
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/supply-chain-intake/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +11 -5
- package/dist/agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +1 -1
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +28 -8
- package/dist/agent-src/skills/unit-economics-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/upstream-contribute/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +2 -2
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/skills/vision-articulation/SKILL.md +1 -1
- package/dist/agent-src/skills/voc-extract/SKILL.md +2 -2
- package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +2 -2
- package/dist/agent-src/skills/wireframe/SKILL.md +1 -1
- package/dist/agent-src/skills/workspace-link/SKILL.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +6 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/contexts/knowledge-pages.md +2 -3
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/roadmaps.md +1 -1
- package/dist/agent-src/templates/scripts/README.md +2 -2
- package/dist/agent-src/user-types/_template/user-type.md +1 -1
- package/dist/cli-delegate/check_update_banner.js +12 -1
- package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
- package/dist/cli-delegate/{chunk-IAI3XL43.js → chunk-3FKR64R5.js} +22 -6
- package/dist/cli-delegate/{chunk-J3RFNKG4.js → chunk-55ACLDUE.js} +2 -2
- package/dist/cli-delegate/{chunk-PKOBQADP.js → chunk-57PN4GYJ.js} +1 -1
- package/dist/cli-delegate/{chunk-KCNTUSPI.js → chunk-AK6HODNQ.js} +4 -4
- package/dist/cli-delegate/{chunk-2FTMENJL.js → chunk-GYC3VRYN.js} +1 -1
- package/dist/cli-delegate/{chunk-LWTYTX6F.js → chunk-H32DGUJH.js} +15 -84
- package/dist/cli-delegate/{chunk-6RJA2F5A.js → chunk-IVBPRCQO.js} +1 -1
- package/dist/cli-delegate/chunk-NUHLI2RX.js +80 -0
- package/dist/cli-delegate/{chunk-TYSY33MD.js → chunk-QJWAUMJW.js} +12 -2
- package/dist/cli-delegate/{chunk-2KKXJW25.js → chunk-S3VFXMTM.js} +1 -1
- package/dist/cli-delegate/{chunk-I6RHFQEG.js → chunk-YUM5KURG.js} +17 -1
- package/dist/cli-delegate/cmd_analyze_session.js +1 -1
- package/dist/cli-delegate/cmd_brand_status.js +1 -1
- package/dist/cli-delegate/cmd_conformance.js +834 -275
- package/dist/cli-delegate/cmd_doctor.js +3 -3
- package/dist/cli-delegate/cmd_explain.js +5 -3
- package/dist/cli-delegate/cmd_export.js +4 -4
- package/dist/cli-delegate/cmd_handoff.js +6 -6
- package/dist/cli-delegate/cmd_mcp_available.js +1 -1
- package/dist/cli-delegate/cmd_memory_get.js +1 -1
- package/dist/cli-delegate/cmd_migrate.js +2 -2
- package/dist/cli-delegate/cmd_packs_active.js +3 -2
- package/dist/cli-delegate/cmd_prune.js +4 -4
- package/dist/cli-delegate/cmd_route_audit.js +3 -3
- package/dist/cli-delegate/cmd_route_explain.js +1 -1
- package/dist/cli-delegate/cmd_session_recycle.js +3 -3
- package/dist/cli-delegate/cmd_settings_get.js +15 -9
- package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
- package/dist/cli-delegate/cmd_settings_set.js +54 -11
- package/dist/cli-delegate/cmd_sync.js +4 -4
- package/dist/cli-delegate/cmd_uninstall.js +4 -4
- package/dist/cli-delegate/cmd_update.js +1 -1
- package/dist/cli-delegate/cmd_upgrade.js +1 -1
- package/dist/cli-delegate/cmd_validate.js +4 -4
- package/dist/cli-delegate/cmd_versions.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +25 -78
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +5 -7
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +4 -6
- package/dist/hooks/dispatch.js +9684 -9304
- package/dist/install/install.mjs +36 -8
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +2147 -1470
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +73 -0
- package/dist/scripts/_lib/agent_src.js +20 -0
- package/dist/scripts/_lib/guidelines_lane.js +158 -0
- package/dist/scripts/_lib/installed_lock.js +1 -1
- package/dist/scripts/condense.js +2 -5
- package/dist/server/io/yamlIO.js +175 -17
- package/dist/server/schemas/settings.js +18 -4
- package/dist/shared/settingsSurface.js +6 -1
- package/docs/contracts/settings-classes.md +18 -9
- package/docs/guidelines/abstraction-thresholds.md +35 -0
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +3 -3
- package/docs/guidelines/agent-infra/false-green.md +2 -2
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +1 -1
- package/docs/guidelines/design-fidelity-mechanics.md +4 -0
- package/docs/guidelines/design-fidelity-routing.md +78 -0
- package/docs/guidelines/design-reconciliation.md +172 -0
- package/docs/guidelines/gtm-handoff.md +2 -2
- package/docs/guidelines/wing4-handoff.md +2 -2
- package/package.json +7 -3
- package/src/config/agent-settings.template.yml +55 -8
- package/src/config/ci-local-parity.yml +34 -0
- package/src/config/continuity-surface.json +11 -32
- package/src/config/gate-coverage.yml +31 -8
- package/src/config/gate-reachability-exemptions.json +1 -0
- package/src/config/gate-violation-baselines.json +3 -3
- package/src/config/hook-token-budget.json +1 -1
- package/src/config/host-injection-effect.json +2 -2
- package/src/config/pack-size-budget.json +55 -4
- package/src/config/platform-anchor.json +47 -0
- package/src/config/preamble-payload-budget.json +12 -8
- package/src/config/preamble-payload-exceptions.json +28 -0
- package/src/config/publish-surface.json +4 -2
- package/src/config/ratification-policy.json +7 -0
- package/src/config/rule-stub-ceilings.json +16 -9
- package/src/scripts/_cli/cmd_settings_get.ts +22 -7
- package/src/scripts/_dispatch.bash +3 -1
- package/src/scripts/_lib/agent_settings.ts +85 -0
- package/src/scripts/_lib/agent_src.ts +21 -0
- package/src/scripts/_lib/artifact_maturity.ts +242 -0
- package/src/scripts/_lib/base_ref_payload.ts +315 -0
- package/src/scripts/_lib/conformance_report.ts +403 -0
- package/src/scripts/_lib/continuity_writer.ts +72 -13
- package/src/scripts/_lib/design_system_import.ts +20 -0
- package/src/scripts/_lib/design_tolerance.ts +281 -0
- package/src/scripts/_lib/dropped_decision.ts +142 -0
- package/src/scripts/_lib/guidelines_lane.ts +164 -0
- package/src/scripts/_lib/installed_lock.ts +1 -1
- package/src/scripts/_lib/measured_payload_ceiling.ts +424 -0
- package/src/scripts/_lib/obligation_frequency.ts +2 -3
- package/src/scripts/_lib/payload_catalogue_completeness.ts +211 -0
- package/src/scripts/_lib/platform_anchor.ts +1053 -0
- package/src/scripts/_lib/ratification_artifact.ts +278 -0
- package/src/scripts/_lib/release_findings_ingest.ts +324 -0
- package/src/scripts/_lib/release_tag_dispatch.ts +63 -0
- package/src/scripts/_lib/review_baseline.ts +254 -0
- package/src/scripts/_lib/review_skipped_record.ts +61 -1
- package/src/scripts/_lib/security_lint.ts +23 -2
- package/src/scripts/_lib/self_repair.ts +21 -0
- package/src/scripts/_lib/session_index_trust.ts +42 -1
- package/src/scripts/_lib/standing_bound_ratchet.ts +267 -88
- package/src/scripts/_lib/tolerance_shadow.ts +177 -0
- package/src/scripts/_lib/turn_end_refusals.ts +51 -4
- package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
- package/src/scripts/autonomy_friction_traffic.ts +379 -0
- package/src/scripts/check_beta_review_markers.ts +35 -4
- package/src/scripts/check_finding_dispositions.ts +167 -16
- package/src/scripts/check_held_object_arrivals.ts +381 -0
- package/src/scripts/check_kernel_edit_ratified.ts +462 -0
- package/src/scripts/check_loss_class_declared.ts +793 -46
- package/src/scripts/check_platform_anchor.ts +390 -0
- package/src/scripts/check_preamble_payload_budget.ts +672 -107
- package/src/scripts/check_projected_rule_routes.ts +395 -0
- package/src/scripts/check_release_published.ts +1 -1
- package/src/scripts/check_reply_consistency.ts +86 -17
- package/src/scripts/code_graph/cli.ts +6 -0
- package/src/scripts/condense.ts +2 -6
- package/src/scripts/generate_host_cost_table.ts +354 -0
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +74 -30
- package/src/scripts/hooks/block_kernel_rule_writes.ts +12 -2
- package/src/scripts/hooks/category_a.ts +1 -1
- package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/end_review_nudge_hook.ts +101 -21
- package/src/scripts/hooks/review_baseline_hook.ts +130 -0
- package/src/scripts/hooks/session_eol_hook.ts +68 -154
- package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
- package/src/scripts/hooks/turn_end_gate_hook.ts +232 -14
- package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
- package/src/scripts/hooks_doctor.ts +4 -1
- package/src/scripts/hot_context_hook.ts +41 -401
- package/src/scripts/install.ts +1 -1
- package/src/scripts/interruption_report.ts +8 -2
- package/src/scripts/janitor.ts +8 -1
- package/src/scripts/lint_evidence_artifacts.ts +1 -0
- package/src/scripts/lint_knowledge_scale.ts +0 -26
- package/src/scripts/measure_turn_end_gate.ts +302 -5
- package/src/scripts/memory_lookup.ts +9 -9
- package/src/scripts/release.ts +52 -64
- package/src/scripts/release_drill.ts +193 -14
- package/src/scripts/release_env.ts +1 -1
- package/src/scripts/release_publication.ts +1 -1
- package/src/scripts/report_held_object_arrivals.ts +456 -0
- package/src/scripts/report_standing_payload_by_host.ts +7 -7
- package/src/scripts/session_memory_index.ts +5 -0
- package/src/scripts/sync_agent_settings.ts +394 -12
- package/src/server/io/yamlIO.ts +175 -17
- package/src/server/schemas/settings.ts +25 -5
- package/src/shared/settingsSurface.ts +13 -2
- package/src/templates/compact-instructions.md +8 -3
- package/dist/agent-src/commands/chat-history/import.md +0 -170
- package/dist/agent-src/commands/chat-history.md +0 -63
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Frontier-Grade Reasoning — Operating Profile
|
|
2
|
+
|
|
3
|
+
> Source dossier for the **Reasoning Discipline Protocol (RDP)** — the durable,
|
|
4
|
+
> sourced rationale behind the RDP gate context, rule, and skills. It documents what a
|
|
5
|
+
> frontier reasoning model (Anthropic's Fable 5 / Mythos 5, June 2026) does that
|
|
6
|
+
> weaker models skip — the **transferable operating discipline** — and the
|
|
7
|
+
> boundary of what is *not* transferable.
|
|
8
|
+
>
|
|
9
|
+
> **User entry point:** for the one-screen "what it does / when it fires / how to
|
|
10
|
+
> turn it off" contract, see
|
|
11
|
+
> [`docs/contracts/reasoning-discipline-protocol.md`](../../contracts/reasoning-discipline-protocol.md).
|
|
12
|
+
> This dossier holds the depth; that contract is where users start.
|
|
13
|
+
>
|
|
14
|
+
> Citation discipline: every catalog row names its source **and its dignity**
|
|
15
|
+
> (Anthropic primary doc · third-party review · customer testimonial · our own
|
|
16
|
+
> derivation). Two independent external model analyses (Claude + GPT) corroborate
|
|
17
|
+
> but are never the primary evidence for a transferable-behavior line. A
|
|
18
|
+
> line-by-line audit (2026-06-13) corrected five rows; the load-bearing claims
|
|
19
|
+
> (over-prescription degrades, reasoning-in-response → refusal) are verbatim in
|
|
20
|
+
> Anthropic's prompting doc and stand.
|
|
21
|
+
|
|
22
|
+
## The one boundary that frames everything
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
CAPABILITY DOES NOT TRANSFER. DISCIPLINE DOES.
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
A frontier model's edge lives in its **weights** — gains spread across the whole
|
|
29
|
+
training stack, with no single copyable prompt (the explicit framing is Nathan
|
|
30
|
+
Lambert / Interconnects [lam]; Anthropic's docs support only the weaker "needs
|
|
31
|
+
less scaffolding" [pf]). No skill, rule, or workflow makes Sonnet/Opus/GPT
|
|
32
|
+
*equal* Fable 5, and anyone promising that is selling the hallucinated analysis
|
|
33
|
+
this suite refuses to produce.
|
|
34
|
+
|
|
35
|
+
What *does* transfer is the **operating discipline**: the steps a frontier model
|
|
36
|
+
takes on its own that weaker models skip unless forced. On under-specified and
|
|
37
|
+
long-horizon tasks, that discipline gap is the largest part of the *visible*
|
|
38
|
+
quality difference. RDP transplants the discipline; it never claims the
|
|
39
|
+
capability.
|
|
40
|
+
|
|
41
|
+
> **Background (dates, precise):** Anthropic's own banner dates the **access
|
|
42
|
+
> suspension of Fable 5 / Mythos 5 to 2026-06-12** [an]; the related US
|
|
43
|
+
> export-control directive / Reuters report is **2026-06-13** [re]. Either way
|
|
44
|
+
> the model is currently inaccessible, so we cannot A/B against it — our own
|
|
45
|
+
> falsifiable eval is the only ground truth, which makes the discipline-transplant
|
|
46
|
+
> approach *more* relevant, not less.
|
|
47
|
+
|
|
48
|
+
## Sources (with dignity)
|
|
49
|
+
|
|
50
|
+
- **[an]** Anthropic — *Claude Fable 5 and Mythos 5* announcement. Primary, but
|
|
51
|
+
several quotes on the page are **customer testimonials** (labeled per-row), not
|
|
52
|
+
Anthropic capability statements.
|
|
53
|
+
- **[pf]** Anthropic docs — *Prompting Claude Fable 5*. Primary; the transferable
|
|
54
|
+
prompting playbook. Load-bearing claims live here.
|
|
55
|
+
- **[in]** Anthropic docs — *Introducing Fable 5 / Mythos 5*. Primary; adaptive
|
|
56
|
+
thinking + effort parameter + memory tool + refusals.
|
|
57
|
+
- **[ve]** Vellum — benchmark breakdown. **Third-party**; benchmark numbers are
|
|
58
|
+
not verifiable in Anthropic prose and must be labeled third-party or pulled to
|
|
59
|
+
the system card.
|
|
60
|
+
- **[cr]** CodeRabbit model review. **Third-party**; source of the
|
|
61
|
+
"explore-environment-first" observation (not Anthropic-documented).
|
|
62
|
+
- **[lam]** Nathan Lambert / Interconnects. **Third-party analysis**; "whole
|
|
63
|
+
training stack, no copyable prompt".
|
|
64
|
+
- **[re]** Reuters — export-control report (2026-06-13).
|
|
65
|
+
- Two external model analyses (Claude + GPT), provenance untracked in
|
|
66
|
+
`agents/.harvest-local/` — **corroboration only**, never primary.
|
|
67
|
+
|
|
68
|
+
## Transferable-behavior catalog
|
|
69
|
+
|
|
70
|
+
Each row: behavior → **source + dignity** → transplant mechanism → carrier.
|
|
71
|
+
|
|
72
|
+
| Behavior | Source (dignity) | Transplant | Carrier |
|
|
73
|
+
|---|---|---|---|
|
|
74
|
+
| Audit progress against real tool results | **[pf] ✓ primary** | every claim cites a tool result | shipped: `verify-before-complete` |
|
|
75
|
+
| Act when you have enough; no overplanning; outcome-first | **[pf] ✓ primary** | shipped | `direct-answers`, `autonomous-execution` |
|
|
76
|
+
| Pause only when genuinely needed | **[pf] ✓ primary** | shipped | `no-cheap-questions` |
|
|
77
|
+
| No over-refactor / minimal diff (at higher effort) | **[pf] ✓ primary** | shipped | `minimal-safe-diff` |
|
|
78
|
+
| Parallel async subagents, dispatched readily | **[pf] ✓ primary** | default async dispatch | extend `subagent-orchestration` |
|
|
79
|
+
| Fresh-context verifier beats self-critique (for **long-running** tasks) | **[pf] ✓ primary** | verifier subagent on a **structural-complexity** gate (not blanket) | extend `adversarial-review` |
|
|
80
|
+
| Persistent **cross-run** notes (file memory = 3× vs Opus 4.8 on Slay the Spire) | **[an] ✓ primary (direct)** | lessons across runs, one per file | extend memory / `memory-consolidation` |
|
|
81
|
+
| Infer the underlying goal (standard host only) | **[an] testimonial (Lovable); direction note** | infer goal, give **one** recommendation — NO "2–3 framings"; standard host only (a strong-reasoning host self-infers) | extend `improve-before-implement` |
|
|
82
|
+
| Multi-hypothesis / "killing incorrect beliefs" | **[an] testimonial (Sean Ward); "multi-hypothesis" is our framing** | hypotheses + killed-beliefs in the notes file | `notes-first-reasoning` |
|
|
83
|
+
| Adaptive effort (depth scales with hardness) | **[in],[pf] = API knob, not a scaffold** | strong-reasoning host: set `effort: high`; standard host w/o the knob: scaffold the effort/stop discipline | extend `autonomous-execution` (standard-host-only) |
|
|
84
|
+
| Explore the environment first, then build | **[cr] third-party (NOT Anthropic-documented)** | enumerate constraints/tools/info-gaps, close by query/test before designing | extend `think-before-action` |
|
|
85
|
+
| Risk-first decomposition (hardest/load-bearing unknown first) | **OUR DERIVATION — general engineering discipline, NOT Fable-documented** ([pf]'s "top of difficulty range" means **task selection**, not intra-task order) | resolve load-bearing uncertainties before dependent work | new skill `complexity-first-planning` |
|
|
86
|
+
|
|
87
|
+
Adopted from GPT review (frontier-implicit behaviors; our adoption, corroboration
|
|
88
|
+
only — all cost-gateable notes components):
|
|
89
|
+
|
|
90
|
+
| Behavior | Source | Transplant | Carrier |
|
|
91
|
+
|---|---|---|---|
|
|
92
|
+
| Prediction tracking (calibration) | GPT review | prediction + confidence + result + lesson in notes | `notes-first` component `prediction_tracking` |
|
|
93
|
+
| Uncertainty budget | GPT review | per-dimension uncertainty score → feeds adaptive effort | `notes-first` component `uncertainty_budget` |
|
|
94
|
+
| Decision ledger | GPT review | decision + alternatives + reason + revisit-if in notes; **escalates to `decision-record`/ADR** when cross-task or structural | `notes-first` component `decision_ledger` |
|
|
95
|
+
|
|
96
|
+
The ordered chain the orchestrator enforces:
|
|
97
|
+
`ground → intent → notes → gather → audit → verify`.
|
|
98
|
+
|
|
99
|
+
## Deferred to the Phase-8 audit (likely already covered)
|
|
100
|
+
|
|
101
|
+
Two transferable [pf] behaviors are **not** given new artifacts up front — the
|
|
102
|
+
Phase-8 de-prescriptivize audit checks existing coverage first and adds only
|
|
103
|
+
verified gaps (HIGH priority):
|
|
104
|
+
|
|
105
|
+
- **Re-ground the final summary** — write the closing summary for a reader who
|
|
106
|
+
saw none of the working thread; outcome first; drop working shorthand. Likely
|
|
107
|
+
covered by `language-and-tone` + `direct-answers`.
|
|
108
|
+
- **Report findings and stop** — when the user is thinking out loud, don't apply
|
|
109
|
+
a fix. Likely covered by `scope-control`.
|
|
110
|
+
|
|
111
|
+
## What does NOT transfer (and must not be faked)
|
|
112
|
+
|
|
113
|
+
- **Raw capability** — vision SOTA, document/chart reasoning, codebase-scale
|
|
114
|
+
migrations. Benchmark deltas (e.g. SWE-Bench Pro 80.3 vs 69.2) are **[ve]
|
|
115
|
+
third-party**, not verifiable in Anthropic prose — label third-party or pull to
|
|
116
|
+
the system card; note "SWE-Bench Pro" is not named in [an] (which cites
|
|
117
|
+
FrontierCode/Cognition + Hebbia-Finance). These are weights, not prompts.
|
|
118
|
+
- **"Show your work" in the response.** [pf] warns that reasoning-in-response can
|
|
119
|
+
trigger a `reasoning_extraction` refusal, and that over-prescriptive skills
|
|
120
|
+
*degrade* strong models. **Both verbatim in [pf] — the gating foundation.** RDP
|
|
121
|
+
keeps reasoning in notes + verifier subagents, never in the response, and
|
|
122
|
+
tier-gates prescription.
|
|
123
|
+
- **Pokémon FireRed vision-only harness** — **[an] only** ([pf] does not mention
|
|
124
|
+
it).
|
|
125
|
+
|
|
126
|
+
## Cost / benefit by host reasoning strength (the gating lens)
|
|
127
|
+
|
|
128
|
+
RDP is **not** free — scaffolding costs tokens and, on strong-reasoning hosts,
|
|
129
|
+
*degrades* output. So it engages only where it pays, via **table-free** signals.
|
|
130
|
+
Per **ADR-035** the suite maintains no runtime model→band table, and `model_tier`
|
|
131
|
+
is the *skill's* needed band (lite/medium/high), **not** the host's. Host strength
|
|
132
|
+
is therefore **agent self-assessed**, never looked up (roadmap L10/L17):
|
|
133
|
+
|
|
134
|
+
| Host / task | Self-coordination | RDP engagement | Why |
|
|
135
|
+
|---|---|---|---|
|
|
136
|
+
| standard host | low | **full** scaffolding | biggest discipline gap → biggest lift |
|
|
137
|
+
| strong-reasoning host | high | **light / off** (use native `effort: high`) | over-scaffolding degrades + wastes tokens |
|
|
138
|
+
| trivial / short task (any host) | n/a | **off** | no discipline gap to close; pure overhead |
|
|
139
|
+
| verifier subagent (any host) | — | **only** on the structural-complexity gate (≥2 of: branching, ≥3 constraints, stateful, irreversibility) + token floor ≥1k | a full extra inference pass — the most expensive primitive |
|
|
140
|
+
|
|
141
|
+
**One** constraint-light scaffold ships — no heavy/light content variants, since
|
|
142
|
+
two variants would be a hidden model→band table. A standard host **expands it on
|
|
143
|
+
request**. Two gates, both default-on: automatic (task signal + agent
|
|
144
|
+
self-assessment) + the user `reasoning:` settings toggle (global + per-component
|
|
145
|
+
+ hard off).
|
|
146
|
+
|
|
147
|
+
## Notes template grounding
|
|
148
|
+
|
|
149
|
+
The session-notes template is grounded in Anthropic's **documented cross-run
|
|
150
|
+
lessons memory** [pf] (one lesson per file; corrections + confirmed approaches;
|
|
151
|
+
why they mattered). The in-task sections (`## In-Task Hypothesis Log`,
|
|
152
|
+
`## Predictions`, `## Decisions`, `## Uncertainty`) are a clearly-marked **local
|
|
153
|
+
derivation** for within-task scope — useful, but not claimed as Anthropic-
|
|
154
|
+
documented, and kept on the notes side of the `reasoning_extraction` line.
|
|
155
|
+
|
|
156
|
+
## Naming
|
|
157
|
+
|
|
158
|
+
Neutral, no brand/capability claim. Umbrella: **Reasoning Discipline Protocol
|
|
159
|
+
(RDP)**. Artifacts: `reasoning-orchestrator`, `notes-first-reasoning`,
|
|
160
|
+
`complexity-first-planning`, `environment-grounding`. "Fable" / "Mythos" never
|
|
161
|
+
appear in an artifact identifier.
|
|
162
|
+
|
|
163
|
+
[an]: https://www.anthropic.com/news/claude-fable-5-mythos-5
|
|
164
|
+
[pf]: https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5
|
|
165
|
+
[in]: https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5
|
|
166
|
+
[ve]: https://www.vellum.ai/blog/claude-fable-5-and-mythos-5-benchmarks-explained
|
|
167
|
+
[re]: https://www.reuters.com/technology/us-blocks-foreign-access-anthropics-most-advanced-ai-models-axios-reports-2026-06-13/
|
|
168
|
+
[cr]: https://www.coderabbit.ai/blog/fable-5-model-review
|
|
169
|
+
[lam]: https://www.interconnects.ai/p/claude-fable-5-and-new-ai-safety
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Gate Authoring — the single path for a new gate
|
|
2
|
+
|
|
3
|
+
> Lifecycle, gaming-risk block, paired fixtures, ledger obligation, and finding format. Read this BEFORE writing a new `lint_*` / `check_*` / `audit_*` script.
|
|
4
|
+
|
|
5
|
+
_Origin: `road-to-skill-ecosystem-gate-integrity` Phase 3. It exists because the estate re-learned the same lesson four times at four instances and never wrote the general rule down: a gate that scanned nothing exited green, a budget report printed a share for a dimension it never measured, release gates verified an empty corpus, shape gates ran over frozen corpora. Each was fixed where it was found. This is the authoring surface that stops the fifth._
|
|
6
|
+
|
|
7
|
+
## The five obligations
|
|
8
|
+
|
|
9
|
+
A new gate is not done until all five hold. They are ordered by how expensive
|
|
10
|
+
they are to add later — the first two are nearly free at authoring time and
|
|
11
|
+
nearly impossible to retrofit honestly.
|
|
12
|
+
|
|
13
|
+
### 1. Account for the work — the ledger obligation
|
|
14
|
+
|
|
15
|
+
Use `src/scripts/_lib/gate_ledger.ts`. Plan every target, then give each one
|
|
16
|
+
exactly one terminal outcome: `complete`, `fail`, `skip(reason)`, or
|
|
17
|
+
`outOfScope(reason)`. `finalize()` throws when a planned target reached none.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
const ledger = new GateLedger('lint_example');
|
|
21
|
+
ledger.plan(files.map(rel));
|
|
22
|
+
for (const f of files) {
|
|
23
|
+
if (isGenerated(f)) { ledger.outOfScope(rel(f), 'generated_artifact'); continue; }
|
|
24
|
+
const finding = check(f);
|
|
25
|
+
if (finding) ledger.fail(rel(f), finding); else ledger.complete(rel(f));
|
|
26
|
+
}
|
|
27
|
+
ledger.report(); // prints `scanned=N planned=N skipped=N`, throws on unaccounted
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Skip reasons come from the closed union in that module. An unlisted reason does
|
|
31
|
+
not typecheck — deliberately, because "excluded dir" / "too big" / "binary?" in
|
|
32
|
+
free prose is not aggregatable, and adding a genuinely new code should be a
|
|
33
|
+
one-line diff a reviewer sees.
|
|
34
|
+
|
|
35
|
+
A gate that genuinely has no per-target structure (a single scalar probe, a
|
|
36
|
+
watch-list guard) carries `// ledger-exempt: <reason>` on its own line instead.
|
|
37
|
+
`check_gate_completeness` ratchets the un-adopted count; it may only shrink.
|
|
38
|
+
|
|
39
|
+
**This is not the scan-root guard.** Keep `assertScanned` /
|
|
40
|
+
`assertWatchlistResolves` from `_lib/scan_scope.ts` as well. One covers the root,
|
|
41
|
+
the other the items under it, and a gate wants both.
|
|
42
|
+
|
|
43
|
+
### 2. Print the denominator on the green path
|
|
44
|
+
|
|
45
|
+
Success output states what was inspected, not only that nothing was found.
|
|
46
|
+
`ledger.report()` does this; if the gate also carries a floor in
|
|
47
|
+
`src/config/gate-coverage.yml`, emit the machine-read `scanned: <N>` line via
|
|
48
|
+
`reportScanned` or directly.
|
|
49
|
+
|
|
50
|
+
Publish the number that was **judged**, not the number that was *enumerated*.
|
|
51
|
+
`lint_framework_leakage` published 438 against 368 actually judged until the
|
|
52
|
+
ledger made the honest number the cheap one to emit — a 19% over-report of its
|
|
53
|
+
own coverage, invisible to every consumer of that line.
|
|
54
|
+
|
|
55
|
+
### 3. Land advisory, promote on empty
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
A NEW GATE LANDS ADVISORY. ITS FINDINGS ARE CLASSIFIED ON THE REAL CORPUS.
|
|
59
|
+
THE BASELINE SHRINKS TO EMPTY. ONLY THEN IS IT PROMOTED TO ERROR.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The failure this prevents is recorded: a shape gate wired straight to error over
|
|
63
|
+
a frozen corpus produced 8 hits, all 8 unfixable, and could therefore only ever
|
|
64
|
+
block. Running a new gate against the real corpus and classifying every hit
|
|
65
|
+
BEFORE wiring it is the difference between a ratchet and a wall.
|
|
66
|
+
|
|
67
|
+
Record the promotion condition in the gate's own header comment, in the form
|
|
68
|
+
*"promote to error when `<baseline entry>` reaches 0"*, so the next reader knows
|
|
69
|
+
whether advisory is a stage or a permanent hedge.
|
|
70
|
+
|
|
71
|
+
Use `checkRatchet` from `_lib/gate_baseline.ts` with an entry in
|
|
72
|
+
`src/config/gate-violation-baselines.json`; it returns a verdict rather than
|
|
73
|
+
printing or exiting, so the gate stays in control of its own output.
|
|
74
|
+
|
|
75
|
+
### 4. Name one degenerate pass — the gaming-risk block
|
|
76
|
+
|
|
77
|
+
Every new gate or ratchet carries a `**Gaming risk**` paragraph in its header
|
|
78
|
+
comment naming **at least one** concrete way the metric passes without the
|
|
79
|
+
underlying property holding, plus the mitigation and — honestly — the residual.
|
|
80
|
+
|
|
81
|
+
If one degenerate pass is nameable at authoring time, it will be found in
|
|
82
|
+
practice. Worked examples from this very roadmap:
|
|
83
|
+
|
|
84
|
+
| Gate | Degenerate pass | Mitigation | Residual |
|
|
85
|
+
|---|---|---|---|
|
|
86
|
+
| `check_gate_completeness` | sprinkle `// ledger-exempt:` markers with plausible boilerplate | minimum reason length; the marker lands in the diff | cannot judge whether a reason is *true* |
|
|
87
|
+
| `check_suppression_hygiene` | a `falsifier` holding a command that always exits 0 | literal degenerate forms rejected; minimum length | cannot execute the command to prove it discriminates |
|
|
88
|
+
| `_lib/gate_ledger` | mark every target `outOfScope` to reach a clean tally | the report prints skip counts per code beside the scanned count | a reviewer must still read the ratio |
|
|
89
|
+
|
|
90
|
+
The residual column is the point. A gaming-risk block that claims full coverage
|
|
91
|
+
is itself a false green.
|
|
92
|
+
|
|
93
|
+
### 5. Ship a paired fixture
|
|
94
|
+
|
|
95
|
+
A gate with no negative fixture cannot be shown to discriminate. Minimum set:
|
|
96
|
+
|
|
97
|
+
- the **real repo tree** passes, and the denominator is asserted (not just the
|
|
98
|
+
exit code — a gate that scanned nothing also exits 0);
|
|
99
|
+
- a **planted violation** fails, and the message names the offender;
|
|
100
|
+
- the **boundary** case, where the gate declares one (exactly-at-cap, exactly-
|
|
101
|
+
at-minimum);
|
|
102
|
+
- a **dead scan root** fails rather than passing green;
|
|
103
|
+
- `--quiet` changes the output, not the verdict.
|
|
104
|
+
|
|
105
|
+
Where the gate has a self-test mode (§ Second-order guards below), the
|
|
106
|
+
assertion-count floor is itself asserted: a truncated fixture block must fail
|
|
107
|
+
rather than print success.
|
|
108
|
+
|
|
109
|
+
## Finding format — the suppression key is in the message
|
|
110
|
+
|
|
111
|
+
A finding message carries its own suppression key inline, copy-pasteable:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
❌ src/skills/example/SKILL.md:42 framework-leakage /artisan/ …
|
|
115
|
+
suppress: {"file":"src/skills/example/SKILL.md","anchor":"php artisan migrate","reason":"<why>","falsifier":"<command>"}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Friction in the suppression path is what drives a maintainer to disable the gate
|
|
119
|
+
instead of narrowing it. Make the honest narrow easier than the blunt off-switch.
|
|
120
|
+
|
|
121
|
+
Prefer a **content anchor** over a line number in any new suppression entry.
|
|
122
|
+
Position-keyed entries re-fire on an insertion nobody made, and this repository
|
|
123
|
+
has already paid for that: 18 of 18 framework-leakage entries are line-keyed,
|
|
124
|
+
and `check_suppression_hygiene` prints that count every run until they migrate.
|
|
125
|
+
|
|
126
|
+
## Derived pages — render only what was measured
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
A CATEGORY WITH NO MEASUREMENT RENDERS AS ABSENT OR EXPLICITLY "NOT MEASURED".
|
|
130
|
+
NEVER AS A ZERO. NEVER AS A COMPUTED SHARE.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Any generator that writes a derived page uses `_lib/measured_render.ts`:
|
|
134
|
+
`renderShare` returns `not measured` for an empty denominator instead of
|
|
135
|
+
`0.0%`, and `renderCoverage` prints the **gap list** beside the coverage number.
|
|
136
|
+
|
|
137
|
+
The recorded failure: the always-budget report printed a share for a dimension
|
|
138
|
+
it counted zero artefacts in. `0 / 0` became `0.0%`, which reads as a
|
|
139
|
+
measurement that came back low — the most confident possible way to say nothing.
|
|
140
|
+
|
|
141
|
+
Two rules follow from it:
|
|
142
|
+
|
|
143
|
+
- **A coverage number is published with its gaps.** Naming the un-covered
|
|
144
|
+
artefacts costs one line and removes the reader's assumption that the
|
|
145
|
+
remainder is small. When the list is capped for length, the true remainder is
|
|
146
|
+
still stated — a silently truncated gap list reads as "covered everything"
|
|
147
|
+
exactly like the bare number it was meant to qualify.
|
|
148
|
+
- **The paired test asserts the NEGATIVE.** Given an unmeasured dimension, the
|
|
149
|
+
rendered output must contain no `%` at all. Asserting only that it says "not
|
|
150
|
+
measured" still passes a renderer that helpfully appends `(0.0%)` beside it.
|
|
151
|
+
|
|
152
|
+
Adoption is a ratchet, not a sweep: `check_gate_completeness` is the worked
|
|
153
|
+
example, and a generator that neither imports the helper nor carries the
|
|
154
|
+
negative assertion is the gap this section exists to close as generators are
|
|
155
|
+
touched.
|
|
156
|
+
|
|
157
|
+
## Registering the gate
|
|
158
|
+
|
|
159
|
+
1. Task stanza in `taskfiles/ci-fast.yml`, `cmd: ./scripts-run src/scripts/<id> {{.QUIET_FLAG}}`.
|
|
160
|
+
2. `- task: <name>` in the `ci:` list in `Taskfile.yml`.
|
|
161
|
+
3. `src/config/gate-coverage.yml` entry **if** the gate emits `scanned: <N>` — a
|
|
162
|
+
test fails the build on an emitting-but-unregistered gate.
|
|
163
|
+
4. Verify under **both** argv forms — bare and the CI-injected `--quiet`. A
|
|
164
|
+
wrongly-consumed flag has silently become a scan root in this repo before.
|
|
165
|
+
|
|
166
|
+
Set the coverage floor **below** the live count. A floor pinned at today's exact
|
|
167
|
+
number reds on the very change that legitimately retires one unit, while a floor
|
|
168
|
+
well above zero still catches the collapse that matters.
|
|
169
|
+
|
|
170
|
+
## See also
|
|
171
|
+
|
|
172
|
+
- [`false-green.md`](false-green.md) — the catalogue of ways a green result can be false, each with its detection command.
|
|
173
|
+
- `src/scripts/_lib/gate_ledger.ts` — completeness accounting.
|
|
174
|
+
- `src/scripts/_lib/scan_scope.ts` — scan-root and watch-list assertions.
|
|
175
|
+
- `src/scripts/_lib/ratchet_base_ref.ts` — shrink-only against the base ref.
|
|
176
|
+
- `src/scripts/_lib/gate_baseline.ts` — the count ratchet and its staleness expiry.
|
|
177
|
+
- `docs/contracts/ci-green-floor.md` — what CI guarantees, and the local↔remote delta.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# `guarded-baseline` — a sub-state of `[ ]`, never a fifth glyph
|
|
2
|
+
|
|
3
|
+
> Migrated out of [`roadmap-progress-mechanics`](roadmap-progress-mechanics.md)
|
|
4
|
+
> on 2026-08-31, on arrival: that file measured 15,873 of the 16,000-char
|
|
5
|
+
> depth ceiling, leaving 127 characters, so the section could not live there.
|
|
6
|
+
> The ceiling is a growth ratchet, and hitting it is the signal to split rather
|
|
7
|
+
> than to raise it. The glyph-semantics table there points here.
|
|
8
|
+
|
|
9
|
+
A step whose `verify:` asserts a property of a mechanism that **does not yet exist** may not close `[x]`: an executable guard proven to go RED under a named sabotage is evidence about the *guard*, not about the *absent mechanism*, and `[x]` would claim the acceptance criterion was satisfied. Such a step keeps its `[ ]` box and carries an annotation plus a structured evidence record (AI council 2026-08-31, 2/2 convergent — `anthropic/claude-sonnet-4-5` + `openai/codex-default`, option C):
|
|
10
|
+
|
|
11
|
+
~~~md
|
|
12
|
+
- [ ] <!-- roadmap-status: guarded-baseline -->
|
|
13
|
+
**12.1** …step text…
|
|
14
|
+
```yaml
|
|
15
|
+
guarded_baseline:
|
|
16
|
+
category: future-mechanism # or absence-assertion — no other value
|
|
17
|
+
scope: <surfaces examined>
|
|
18
|
+
command: <reproducible green command>
|
|
19
|
+
red_proof: <commit, fixture, or recorded sabotage run>
|
|
20
|
+
sabotage_model: <exact violation introduced>
|
|
21
|
+
recheck_when: <mechanism / symbol / path trigger>
|
|
22
|
+
discharged_ac: <clauses actually completed>
|
|
23
|
+
pending_ac: <clauses still unexercisable>
|
|
24
|
+
```
|
|
25
|
+
~~~
|
|
26
|
+
|
|
27
|
+
The two categories are the discriminator, not decoration. An **`absence-assertion`** step asserts something directly observable today ("the schema has no field capable of holding prompt text") and MAY close `[x]` once sabotage-verified. A **`future-mechanism`** step asserts a property of something that does not exist ("a probe-resolvable fixture never enters the selector") and is what this sub-state exists for. No third value is accepted, and an absent `category` is a rejection rather than a default.
|
|
28
|
+
|
|
29
|
+
Tooling, all of it in `guarded_baseline.ts` and enforced by both consumers:
|
|
30
|
+
|
|
31
|
+
| Behavior | Where |
|
|
32
|
+
|---|---|
|
|
33
|
+
| Counted as **open**, never as done — the canonical box stays `[ ]` | `count_checkboxes` |
|
|
34
|
+
| Reported **separately**: a `## 🛡️ Guarded baselines` dashboard section plus a per-step stderr line | `update_roadmap_progress` |
|
|
35
|
+
| **Rejected** — exit 1, on both `--check` and a plain regen — when `red_proof` is absent, when `category` is absent or illegal, when there is no evidence block, or when the annotation sits on anything but `- [ ]` | `update_roadmap_progress` |
|
|
36
|
+
| Treated as **incomplete**: archival refused and the reason named | `archive_completed_roadmaps` |
|
|
37
|
+
| Marked **stale** once a path-shaped `recheck_when` trigger resolves in the tree. A trigger carrying **no** path token at all is reported as not machine-checkable rather than as not-stale; a trigger carrying at least one path token is decided by that path and is **not** reported, even when a companion symbol token sits beside it — a checked trigger that looks unchecked is the mirror of the failure the report exists to prevent (measured 2026-09-01: 3 of 4 reported lines were already decidable) | `guardedBaselineStaleness` |
|
|
38
|
+
|
|
39
|
+
Only verification against the real mechanism permits `[x]`. **A baseline that has not demonstrably gone RED is an ordinary open item** and must not carry the annotation at all — the sabotage-and-restore proof is the entry price, not a nice-to-have.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Installed-Tools Manifest
|
|
2
|
+
|
|
3
|
+
Project-committed bill of materials for AI tooling. Answers the
|
|
4
|
+
question "which AIs does this project use, where do their bridges live,
|
|
5
|
+
and is everyone on the team on the same set?". Canonical schema is
|
|
6
|
+
ADR-008 ([`docs/decisions/ADR-008-installed-tools-manifest.md`](../../decisions/ADR-008-installed-tools-manifest.md)).
|
|
7
|
+
Delivered under the global-first-install roadmap (Phase 3) — see
|
|
8
|
+
`agents/roadmaps/` for current status.
|
|
9
|
+
|
|
10
|
+
This file lives at **`agents/installed-tools.lock`** — committed,
|
|
11
|
+
machine-managed, and orthogonal to `.agent-project-settings.yml`
|
|
12
|
+
(which owns *behaviour*, not *bill of materials*).
|
|
13
|
+
|
|
14
|
+
## Schema (v1)
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
schema_version: 1
|
|
18
|
+
agent_config_version: "2.x.y" # last package version that wrote the file
|
|
19
|
+
tools:
|
|
20
|
+
- name: claude-code # must match _VALID_TOOLS in scripts/install.ts
|
|
21
|
+
scope: global # one of: global, project
|
|
22
|
+
bridge_marker: ~/.claude/ # validate checks this path exists
|
|
23
|
+
installed_at: "2026-05-12"
|
|
24
|
+
- name: roocode
|
|
25
|
+
scope: project # workspace-wins → must live in repo
|
|
26
|
+
bridge_marker: .roo/rules/agent-config.md
|
|
27
|
+
installed_at: "2026-05-12"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
| Field | Owner | Notes |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| `schema_version` | machine | bumps on breaking schema changes |
|
|
33
|
+
| `agent_config_version` | machine | last writer's package version; `validate` flags drift |
|
|
34
|
+
| `tools[]` | machine | append-on-init order preserved (not alphabetised) |
|
|
35
|
+
| `tools[].name` | machine | one of the 17 valid IDs in `scripts/install.ts` |
|
|
36
|
+
| `tools[].scope` | machine | `global` (user-home) or `project` (workspace bridge) |
|
|
37
|
+
| `tools[].bridge_marker` | machine | absolute / `~`-prefixed for global, repo-relative for project |
|
|
38
|
+
| `tools[].installed_at` | machine | ISO date; informational only |
|
|
39
|
+
|
|
40
|
+
The file is **machine-managed**. Hand-editing is discouraged — every
|
|
41
|
+
mutation goes through `init`, `sync`, or `init --force`.
|
|
42
|
+
|
|
43
|
+
## Workflow
|
|
44
|
+
|
|
45
|
+
### Team onboarding (clone → sync → done)
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone <repo>
|
|
49
|
+
cd <repo>
|
|
50
|
+
npx @event4u/agent-config sync
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
`sync` reads `agents/installed-tools.lock`, checks every listed tool's
|
|
54
|
+
bridge marker, and replays `install.ts --tools=<id>` for each missing
|
|
55
|
+
one. Tools whose marker is already present are skipped — `sync` is
|
|
56
|
+
idempotent and safe to re-run.
|
|
57
|
+
|
|
58
|
+
### Adding a tool
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npx @event4u/agent-config init --tools=<id>
|
|
62
|
+
# or --tools=<id1>,<id2>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`init` writes an entry per tool. Existing entry with the same
|
|
66
|
+
`(name, scope)` → no-op. Entry with **different scope** → loud warning
|
|
67
|
+
and refusal until you pass `--force` (see scope migration below).
|
|
68
|
+
|
|
69
|
+
### Drift detection (CI gate)
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx @event4u/agent-config validate
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Read-only. Exit code 1 if any drift is found. Surfaces three drift
|
|
76
|
+
kinds; no auto-fix.
|
|
77
|
+
|
|
78
|
+
| Kind | Trigger | Fix |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| `marker_missing` | recorded `bridge_marker` does not exist | `agent-config sync` |
|
|
81
|
+
| `scope_divergence` | marker only exists at the *other* scope | `agent-config init --tools=<id> --force` |
|
|
82
|
+
| `version_drift` | manifest's `agent_config_version` ≠ installed package | `agent-config update` then `agent-config init --force` |
|
|
83
|
+
|
|
84
|
+
`--skip-version-check` suppresses the third kind for repositories that
|
|
85
|
+
intentionally pin an older version of the manifest.
|
|
86
|
+
|
|
87
|
+
## Scope migration
|
|
88
|
+
|
|
89
|
+
Under [ADR-020](../../decisions/ADR-020-global-only-consumer-scope.md)
|
|
90
|
+
global is the only consumer scope. Consumers carrying a pre-2.5
|
|
91
|
+
project-scope payload move to global with the one-shot
|
|
92
|
+
`npx @event4u/agent-config migrate` subcommand — it removes the
|
|
93
|
+
legacy project artefacts in one opinionated pass (deletion-over-
|
|
94
|
+
migration policy); the wizard recreates fresh global config on the
|
|
95
|
+
next `agent-config setup`. See
|
|
96
|
+
[docs/contracts/migrate-command.md](../../contracts/migrate-command.md)
|
|
97
|
+
for the full action matrix.
|
|
98
|
+
|
|
99
|
+
For maintainers running `AGENT_CONFIG_DEV_MODE=1`, project-scope
|
|
100
|
+
re-installs remain available; the installer still detects scope
|
|
101
|
+
conflicts and refuses to rewrite without `--force`. `validate`
|
|
102
|
+
afterwards confirms the new state.
|
|
103
|
+
|
|
104
|
+
Reasoning: scope is a project-wide decision; flipping it silently
|
|
105
|
+
would surprise other team members who never asked for the change. The
|
|
106
|
+
loud refusal forces an explicit `--force` so the diff is reviewable in
|
|
107
|
+
the next commit.
|
|
108
|
+
|
|
109
|
+
## Relationship to other files
|
|
110
|
+
|
|
111
|
+
| File | What it answers | Layer |
|
|
112
|
+
|---|---|---|
|
|
113
|
+
| `agents/installed-tools.lock` | **which AIs?** (this guideline) | bill of materials |
|
|
114
|
+
| `.agent-project-settings.yml` | **how do agents behave?** | layered-settings (team file) |
|
|
115
|
+
| `~/.event4u/agent-config/installed.lock` | **which package version did I install globally?** | per-developer global lockfile (Phase 1; legacy `~/.config/agent-config/installed.lock` read as fallback) |
|
|
116
|
+
| `.agent-settings.yml` | **what are my personal preferences in this project?** | layered-settings (developer file) |
|
|
117
|
+
|
|
118
|
+
Each file has one job. They never overlap. The two `.lock` files look
|
|
119
|
+
similar by name but answer different questions: `installed.lock` is
|
|
120
|
+
per-developer / cross-project (the package itself), while
|
|
121
|
+
`installed-tools.lock` is per-project / team-shared (which tools are
|
|
122
|
+
expected in *this* repo).
|
|
123
|
+
|
|
124
|
+
## CI integration
|
|
125
|
+
|
|
126
|
+
Recommended gate (GitHub Actions / GitLab CI):
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
- name: Validate installed-tools manifest
|
|
130
|
+
run: npx @event4u/agent-config validate
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Pair it with `agent-config sync` in your dev-setup script so new
|
|
134
|
+
contributors get a working environment without reading the manifest by
|
|
135
|
+
hand.
|
|
136
|
+
|
|
137
|
+
## References
|
|
138
|
+
|
|
139
|
+
- [`ADR-008`](../../decisions/ADR-008-installed-tools-manifest.md) — manifest decision and schema.
|
|
140
|
+
- [`ADR-007`](../../decisions/ADR-007-agent-discovery-scopes.md) — global-first install (prerequisite).
|
|
141
|
+
- [`docs/installation.md`](../../installation.md) — team-onboarding flow.
|
|
142
|
+
- [`layered-settings.md`](layered-settings.md) — parallel settings hierarchy (orthogonal to this manifest).
|