@event4u/agent-config 14.22.0 → 15.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 +333 -356
- 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 +48 -39
- 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 +1 -1
- package/dist/agent-src/commands/roadmap/materialize.md +2 -2
- package/dist/agent-src/commands/roadmap/next.md +9 -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 +1 -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 +13 -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 +36 -25
- 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/scripts/archive_completed_roadmaps.ts +106 -4
- 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-intelligence/SKILL.md +57 -1
- 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/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/git-workflow/references/push-closes-its-loop.md +9 -0
- 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 +60 -4
- 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/registry.js +1 -1
- package/dist/cli-delegate/archive_completed_roadmaps.js +52 -4
- package/dist/cli-delegate/check_update_banner.js +12 -1
- package/dist/cli-delegate/{chunk-TGIPZBCW.js → chunk-2KKXJW25.js} +22 -8
- package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
- package/dist/cli-delegate/{chunk-4FS4WRXP.js → chunk-3FKR64R5.js} +34 -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-BIXEDQPZ.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-HZ52BRGG.js} +24 -18
- package/dist/cli-delegate/{chunk-6RJA2F5A.js → chunk-IVBPRCQO.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 +3 -3
- package/dist/cli-delegate/cmd_doctor.js +3 -3
- package/dist/cli-delegate/cmd_explain.js +2 -2
- package/dist/cli-delegate/cmd_export.js +4 -4
- package/dist/cli-delegate/cmd_handoff.js +24 -16
- 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 +2 -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 +4 -14
- 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 +41 -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 +27 -80
- 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 +9249 -8981
- package/dist/install/install.mjs +47 -8
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +5496 -2400
- 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/lean_projection_mode.js +108 -0
- package/dist/scripts/_lib/router_match.js +243 -0
- package/dist/scripts/_lib/rule_injection.js +216 -0
- package/dist/scripts/condense.js +22 -25
- package/dist/scripts/project_thin_rules.js +139 -19
- package/dist/server/io/yamlIO.js +125 -17
- package/dist/server/schemas/settings.js +32 -5
- package/dist/shared/settingsSurface.js +6 -1
- package/docs/MIGRATION.md +56 -0
- package/docs/contracts/settings-classes.md +48 -7
- 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/notes-horizon-mechanics.md +90 -0
- 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/llms.txt +1 -1
- package/package.json +7 -3
- package/src/agent-src/scripts/archive_completed_roadmaps.ts +106 -4
- package/src/config/agent-settings.template.yml +94 -1
- package/src/config/ci-local-parity.yml +34 -0
- package/src/config/continuity-surface.json +8 -29
- package/src/config/evaluator-budgets.json +4 -4
- 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 +8 -7
- package/src/config/host-injection-effect.json +2 -2
- package/src/config/pack-size-budget.json +55 -4
- package/src/config/packed-binary-manifest.json +1 -1
- package/src/config/platform-anchor.json +47 -0
- package/src/config/preamble-payload-budget.json +2 -3
- package/src/config/publish-surface.json +4 -2
- package/src/config/ratification-policy.json +7 -0
- package/src/config/routing-coverage-seed.json +9 -2
- package/src/config/rule-stub-ceilings.json +16 -9
- package/src/scripts/_cli/cmd_session_recycle.ts +2 -25
- package/src/scripts/_cli/cmd_settings_get.ts +22 -7
- package/src/scripts/_cli/handoff_sessions.ts +14 -44
- 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/conformance_report.ts +403 -0
- package/src/scripts/_lib/continuity_slot.ts +295 -0
- package/src/scripts/_lib/continuity_writer.ts +312 -0
- package/src/scripts/_lib/design_system_import.ts +20 -0
- package/src/scripts/_lib/design_tolerance.ts +281 -0
- package/src/scripts/_lib/guidelines_lane.ts +164 -0
- package/src/scripts/_lib/hook_settings.ts +85 -0
- package/src/scripts/_lib/lean_projection_mode.ts +127 -0
- package/src/scripts/_lib/obligation_frequency.ts +2 -3
- package/src/scripts/_lib/packed_binary_predicate.ts +37 -0
- package/src/scripts/_lib/platform_anchor.ts +1053 -0
- package/src/scripts/_lib/ratification_artifact.ts +278 -0
- package/src/scripts/_lib/recycle_envelope_paths.ts +109 -21
- package/src/scripts/_lib/regression_neighbourhood.ts +159 -22
- package/src/scripts/_lib/security_lint.ts +23 -2
- package/src/scripts/_lib/self_repair.ts +21 -0
- package/src/scripts/_lib/session_eol.ts +44 -0
- package/src/scripts/_lib/session_index_trust.ts +387 -0
- package/src/scripts/_lib/standing_bound_ratchet.ts +220 -0
- package/src/scripts/_lib/tolerance_shadow.ts +177 -0
- package/src/scripts/_lib/vendored_grammar_upstream.ts +280 -0
- package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
- package/src/scripts/audit_mcp_tools.ts +69 -25
- package/src/scripts/autonomy_friction_traffic.ts +379 -0
- package/src/scripts/build_mcp_catalog.ts +24 -1
- package/src/scripts/check_host_tree_parity.ts +291 -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 +424 -7
- package/src/scripts/check_projected_rule_routes.ts +395 -0
- package/src/scripts/check_rule_projection_integrity.ts +102 -2
- package/src/scripts/ci_settle.ts +205 -5
- package/src/scripts/code_graph/build.ts +79 -0
- package/src/scripts/code_graph/cli.ts +264 -7
- package/src/scripts/code_graph/detect.ts +38 -0
- package/src/scripts/code_graph/query.ts +25 -2
- package/src/scripts/code_graph/sqlite_store.ts +16 -1
- package/src/scripts/code_graph/types.ts +52 -3
- package/src/scripts/code_graph/validate.ts +3 -1
- package/src/scripts/code_graph/verbs.ts +590 -0
- package/src/scripts/condense.ts +22 -26
- package/src/scripts/generate_host_cost_table.ts +354 -0
- package/src/scripts/handoff_context_hook.ts +39 -1
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +59 -28
- package/src/scripts/hooks/block_speaking_inbox_dir.ts +182 -16
- package/src/scripts/hooks/category_a.ts +1 -1
- package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
- package/src/scripts/hooks/code_graph_context_hook.ts +7 -18
- package/src/scripts/hooks/push_settle_hook.ts +3 -2
- package/src/scripts/hooks/rule_inject_hook.ts +107 -20
- package/src/scripts/hooks/session_eol_hook.ts +177 -145
- package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
- package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
- package/src/scripts/hot_context_hook.ts +103 -408
- package/src/scripts/lint_evidence_artifacts.ts +1 -0
- package/src/scripts/lint_knowledge_scale.ts +0 -26
- package/src/scripts/lint_roadmap_blockers.ts +164 -1
- package/src/scripts/mcp_server/consumer_tool_catalog.json +152 -2
- package/src/scripts/mcp_server/graph_tools.ts +294 -0
- package/src/scripts/mcp_server/path_util.ts +31 -0
- package/src/scripts/mcp_server/tool_catalog_source.ts +7 -1
- package/src/scripts/mcp_server/tools.ts +3 -13
- package/src/scripts/memory_lookup.ts +9 -9
- package/src/scripts/model_rule_injection.ts +61 -4
- package/src/scripts/project_thin_rules.ts +149 -16
- package/src/scripts/report_standing_payload_by_host.ts +650 -0
- package/src/scripts/schemas/agent-settings.schema.json +7 -1
- package/src/scripts/session_memory_index.ts +86 -8
- package/src/scripts/sync_agent_settings.ts +270 -10
- package/src/server/io/yamlIO.ts +127 -17
- package/src/server/schemas/settings.ts +45 -6
- package/src/shared/settingsSurface.ts +13 -2
- package/src/templates/compact-instructions.md +8 -3
- package/src/vendor/grammars/README.md +27 -2
- package/dist/agent-src/commands/chat-history/import.md +0 -170
- package/dist/agent-src/commands/chat-history.md +0 -63
|
@@ -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).
|