@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
|
@@ -58,7 +58,11 @@ import * as path from 'node:path';
|
|
|
58
58
|
import process from 'node:process';
|
|
59
59
|
import { fileURLToPath } from 'node:url';
|
|
60
60
|
|
|
61
|
-
import {
|
|
61
|
+
import {
|
|
62
|
+
blocker_is_resolved,
|
|
63
|
+
collect,
|
|
64
|
+
parse_blockers,
|
|
65
|
+
} from './update_roadmap_progress.js';
|
|
62
66
|
import { guardedBaselineProblems, parseGuardedBaselines } from './guarded_baseline.js';
|
|
63
67
|
|
|
64
68
|
import { isCliEntry } from './_cli_entry.js';
|
|
@@ -265,6 +269,80 @@ function _git_mv(root: string, src_rel: string, dst_rel: string, dry_run: boolea
|
|
|
265
269
|
}
|
|
266
270
|
}
|
|
267
271
|
|
|
272
|
+
// ---------------------------------------------------------------------
|
|
273
|
+
// The index/working-tree blocker divergence check (1b) + staging (1a)
|
|
274
|
+
// ---------------------------------------------------------------------
|
|
275
|
+
//
|
|
276
|
+
// The open-blocker refusal below reads the file with `fs.readFileSync`, i.e.
|
|
277
|
+
// the WORKING TREE. `git mv` then moves the INDEX ENTRY, which still carries
|
|
278
|
+
// whatever was staged. When the two disagree the commit ships the index
|
|
279
|
+
// content — content this gate never read.
|
|
280
|
+
//
|
|
281
|
+
// Measured, once, at full cost (2026-09-08): an edit removing a roadmap's
|
|
282
|
+
// blocker was made and never staged; `git mv` moved the stale index entry; the
|
|
283
|
+
// archived file shipped a blocker declared `Status: open` that had already been
|
|
284
|
+
// relocated to an active roadmap. The same blocker was open in two files at
|
|
285
|
+
// once, one of them archived, and it was caught by a human reading
|
|
286
|
+
// `git status` rather than by any gate.
|
|
287
|
+
//
|
|
288
|
+
// The check is scoped to blocker id → status and deliberately NOT to whole-file
|
|
289
|
+
// equality. An unstaged typo fix in a roadmap title has nothing to do with the
|
|
290
|
+
// defect, and refusing archival for it trains `git add -A`, which destroys the
|
|
291
|
+
// staging discipline this check depends on. AI council 2026-09-08, 2/2 present
|
|
292
|
+
// (anthropic/claude-sonnet-4-5 + openai/gpt-4o), on that scoping specifically:
|
|
293
|
+
// broad scoping is "user-hostile, trains developers to `git add -A`
|
|
294
|
+
// reflexively, defeating staging discipline".
|
|
295
|
+
|
|
296
|
+
/** Blocker id → status, as the archive-transition check compares them. */
|
|
297
|
+
function _blockerStatuses(text: string): Map<string, string> {
|
|
298
|
+
const out = new Map<string, string>();
|
|
299
|
+
for (const b of parse_blockers(text)) {
|
|
300
|
+
out.set(b.id, blocker_is_resolved(b) ? 'resolved' : 'open');
|
|
301
|
+
}
|
|
302
|
+
return out;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* `git show :<rel>` — the STAGED content of a path, or null when the path has
|
|
307
|
+
* no index entry.
|
|
308
|
+
*
|
|
309
|
+
* Null is the untracked / pre-first-commit case, which `_git_mv` already
|
|
310
|
+
* handles by falling back to a plain rename. There is no index entry to
|
|
311
|
+
* disagree with, so the divergence check has nothing to assert and says so by
|
|
312
|
+
* returning null rather than by guessing at an empty string — an empty staged
|
|
313
|
+
* file and an absent one differ, and only the second is legitimate here.
|
|
314
|
+
*/
|
|
315
|
+
function _indexContent(root: string, rel: string): string | null {
|
|
316
|
+
const cp = _run(['git', 'show', `:${rel}`], root);
|
|
317
|
+
return cp.returncode === 0 ? cp.stdout : null;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Human-readable disagreements between the staged and working-tree blocker
|
|
322
|
+
* maps of one path. Empty array = the two agree, or there is no index entry.
|
|
323
|
+
*/
|
|
324
|
+
function _blockerDivergence(root: string, rel: string, workTreeText: string): string[] {
|
|
325
|
+
const staged = _indexContent(root, rel);
|
|
326
|
+
if (staged === null) {
|
|
327
|
+
return [];
|
|
328
|
+
}
|
|
329
|
+
const wt = _blockerStatuses(workTreeText);
|
|
330
|
+
const idx = _blockerStatuses(staged);
|
|
331
|
+
const ids = [...new Set([...wt.keys(), ...idx.keys()])].sort();
|
|
332
|
+
const out: string[] = [];
|
|
333
|
+
for (const id of ids) {
|
|
334
|
+
const a = idx.get(id);
|
|
335
|
+
const b = wt.get(id);
|
|
336
|
+
if (a === b) {
|
|
337
|
+
continue;
|
|
338
|
+
}
|
|
339
|
+
out.push(
|
|
340
|
+
`blocker '${id}': staged=${a ?? 'absent'} vs working tree=${b ?? 'absent'}`,
|
|
341
|
+
);
|
|
342
|
+
}
|
|
343
|
+
return out;
|
|
344
|
+
}
|
|
345
|
+
|
|
268
346
|
/**
|
|
269
347
|
* Repo-relative paths of files containing `needle`, by walking the filesystem.
|
|
270
348
|
*
|
|
@@ -547,9 +625,8 @@ function archive_completed(
|
|
|
547
625
|
// and invisible in a sweep that only reports what it moved; a MALFORMED
|
|
548
626
|
// one on `[x]` would otherwise archive with an annotation claiming the
|
|
549
627
|
// opposite. Both are named here instead.
|
|
550
|
-
const
|
|
551
|
-
|
|
552
|
-
);
|
|
628
|
+
const roadmapText = fs.readFileSync(path.join(roadmap_root, stats.rel), 'utf-8');
|
|
629
|
+
const guarded = parseGuardedBaselines(roadmapText);
|
|
553
630
|
if (guarded.length > 0) {
|
|
554
631
|
process.stderr.write(
|
|
555
632
|
` ⚠️ ${stats.rel}: ${guarded.length} guarded-baseline step(s) — ` +
|
|
@@ -603,12 +680,37 @@ function archive_completed(
|
|
|
603
680
|
if (changed_only && !(touched as Set<string>).has(old_rel)) {
|
|
604
681
|
continue; // complete, but not this branch's work
|
|
605
682
|
}
|
|
683
|
+
// The gate above validated the WORKING TREE; `git mv` ships the INDEX.
|
|
684
|
+
// When they disagree about a blocker, the validated content is not the
|
|
685
|
+
// content that gets committed — see § the index/working-tree blocker
|
|
686
|
+
// divergence check above for the measured failure.
|
|
687
|
+
const divergence = _blockerDivergence(root, old_rel, roadmapText);
|
|
688
|
+
if (divergence.length > 0) {
|
|
689
|
+
process.stderr.write(
|
|
690
|
+
` ⚠️ ${stats.rel}: staged and working-tree blockers disagree ` +
|
|
691
|
+
`(${divergence.length}) — not archived. \`git mv\` would commit ` +
|
|
692
|
+
'the staged content, which this sweep never validated. Stage or ' +
|
|
693
|
+
'discard the change, then re-run.\n',
|
|
694
|
+
);
|
|
695
|
+
for (const d of divergence) {
|
|
696
|
+
process.stderr.write(` · ${d}\n`);
|
|
697
|
+
}
|
|
698
|
+
continue;
|
|
699
|
+
}
|
|
606
700
|
const new_rel = `agents/roadmaps/archive/${stats.rel}`;
|
|
607
701
|
const mv = _git_mv(root, old_rel, new_rel, dry_run);
|
|
608
702
|
if (!mv.ok) {
|
|
609
703
|
process.stderr.write(` ⚠️ could not archive ${old_rel} (mv failed)\n`);
|
|
610
704
|
continue;
|
|
611
705
|
}
|
|
706
|
+
// `git mv` moved the index ENTRY, not the working-tree content. Staging
|
|
707
|
+
// the destination makes what gets committed identical to what the checks
|
|
708
|
+
// above read — the divergence check refuses a disagreement that exists
|
|
709
|
+
// BEFORE the move, and this closes one created by an edit between the
|
|
710
|
+
// move and the commit.
|
|
711
|
+
if (!dry_run && mv.tracked) {
|
|
712
|
+
_run(['git', 'add', '--', new_rel], root);
|
|
713
|
+
}
|
|
612
714
|
const refs = _inbound_ref_rewrite(root, old_rel, new_rel, dry_run, mv.tracked);
|
|
613
715
|
// Stage rewritten refs only in a tracked repo; an untracked consumer's
|
|
614
716
|
// files are not in the index, so the filesystem rewrite is the whole job.
|
|
@@ -37,7 +37,7 @@ diagnosis (route to `funnel-analysis`).
|
|
|
37
37
|
vs \<base\>"* is a falsifiable claim with evidence. *"E feels
|
|
38
38
|
important"* is not. Pick the event that survives the
|
|
39
39
|
hypothesis test. See
|
|
40
|
-
[`docs/contracts/mental-models.md`](
|
|
40
|
+
[`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 9.
|
|
41
41
|
- **Mental model 16 — Leading vs. lagging indicators.** Paid is
|
|
42
42
|
lagging; the activation event must be leading — observable
|
|
43
43
|
*before* the user has paid, and correlated with the lagging
|
|
@@ -54,7 +54,7 @@ diagnosis (route to `funnel-analysis`).
|
|
|
54
54
|
segment's switch-event (the aha moment is the segment's job
|
|
55
55
|
done once), and the **funnel-stage** slot for activation's
|
|
56
56
|
position relative to signup and paid. See
|
|
57
|
-
[`context-spine`](
|
|
57
|
+
[`context-spine`](../../docs/contracts/context-spine.md).
|
|
58
58
|
|
|
59
59
|
## Procedure
|
|
60
60
|
|
|
@@ -90,7 +90,7 @@ needing an architecture supersession.
|
|
|
90
90
|
## Preconditions
|
|
91
91
|
|
|
92
92
|
- An ADR directory exists. Two layouts coexist (see
|
|
93
|
-
[`docs/contracts/adr-layout.md`](
|
|
93
|
+
[`docs/contracts/adr-layout.md`](../../docs/contracts/adr-layout.md)):
|
|
94
94
|
- **Flat** — `docs/decisions/` (or `docs/adr/` alias): cross-cutting
|
|
95
95
|
governance ADRs, 3-digit numbering (`ADR-NNN-<slug>.md`).
|
|
96
96
|
- **Per-area** — `docs/adrs/<area>/`: sub-area ADRs, 4-digit
|
|
@@ -181,7 +181,7 @@ gets a logged correction block, never a silent edit.
|
|
|
181
181
|
|
|
182
182
|
**Three descriptive axes ship on a new record** — `provenance`, `evidence`,
|
|
183
183
|
`authority_basis`. Vocabulary, defaults and the mutation policy are owned by
|
|
184
|
-
[`adr-layout § Provenance and evidence`](
|
|
184
|
+
[`adr-layout § Provenance and evidence`](../../docs/contracts/adr-layout.md);
|
|
185
185
|
`check_adr_frontmatter.ts` validates the shape. What the author has to get
|
|
186
186
|
right while drafting:
|
|
187
187
|
|
|
@@ -207,7 +207,7 @@ right while drafting:
|
|
|
207
207
|
comes from owning the purpose.
|
|
208
208
|
- **A grade prices review burden, never authority.** Nothing about writing
|
|
209
209
|
`E0` makes the record cheaper to overturn *by whom* — see
|
|
210
|
-
[`adr-layout § The reopen record`](
|
|
210
|
+
[`adr-layout § The reopen record`](../../docs/contracts/adr-layout.md).
|
|
211
211
|
|
|
212
212
|
**Flat-surface template** (`docs/decisions/ADR-NNN-<slug>.md`):
|
|
213
213
|
|
|
@@ -287,7 +287,7 @@ authority_basis: evidence | owner_intent # optional; absent → evidence
|
|
|
287
287
|
```
|
|
288
288
|
|
|
289
289
|
The frontmatter block is the same shape as the flat surface — the contract
|
|
290
|
-
says so ([`adr-layout § Frontmatter`](
|
|
290
|
+
says so ([`adr-layout § Frontmatter`](../../docs/contracts/adr-layout.md):
|
|
291
291
|
"identical across both surfaces"), and `audit_adr_coverage.ts`'s parser reads
|
|
292
292
|
it when present. The quote-style header stays as the human-readable banner,
|
|
293
293
|
and every existing per-area record now carries frontmatter beside it, so their
|
|
@@ -359,7 +359,7 @@ completeness check — not on every ADR by default.
|
|
|
359
359
|
alone does not stop someone quoting the reversed sentence.
|
|
360
360
|
- **Who may reopen it is recorded, not assumed** — `reopen_policy` /
|
|
361
361
|
`protected_dimensions`, both optional, absent meaning `unclassified`
|
|
362
|
-
([`adr-layout § Reopen authority`](
|
|
362
|
+
([`adr-layout § Reopen authority`](../../docs/contracts/adr-layout.md)).
|
|
363
363
|
Reach for `owner` only when EVERY future transition is genuinely reserved;
|
|
364
364
|
`directional` is the normal answer, and no answer is a fine answer.
|
|
365
365
|
|
|
@@ -136,7 +136,7 @@ explicit absolute path for tests / power users — still not a project search.
|
|
|
136
136
|
## When NOT to invoke — necessity self-check
|
|
137
137
|
|
|
138
138
|
The Phase 6 necessity classifier (see
|
|
139
|
-
[`ai-council-config § Necessity classifier`](
|
|
139
|
+
[`ai-council-config § Necessity classifier`](../../docs/contracts/ai-council-config.md))
|
|
140
140
|
runs as a pre-flight gate inside the CLI and skips the council when
|
|
141
141
|
the prompt looks like routine work. Route around it BEFORE the gate
|
|
142
142
|
fires so the user never pays the classifier-pause cost on a request
|
|
@@ -289,7 +289,7 @@ fast-path only activates when:
|
|
|
289
289
|
Default route for `low_impact` is **`agent`** — nothing reaches the
|
|
290
290
|
council without an explicit two-knob opt-in (flip the class to
|
|
291
291
|
`council` *and* mark at least one member `participate_low_impact: true`).
|
|
292
|
-
See [`ai-council-config § Low-impact council opt-in`](
|
|
292
|
+
See [`ai-council-config § Low-impact council opt-in`](../../../docs/contracts/ai-council-config.md#low-impact-council-opt-in)
|
|
293
293
|
for the worked YAML example, validation behaviour, and unavailable-marker
|
|
294
294
|
contract.
|
|
295
295
|
|
|
@@ -141,7 +141,7 @@ When `DESIGN.md` declares `## Taste Dials`, honour them: Variance → layout-fam
|
|
|
141
141
|
## Anti-slop
|
|
142
142
|
|
|
143
143
|
Before shipping a Blade view, pull
|
|
144
|
-
[`docs/guidelines/design-antipatterns.md`](
|
|
144
|
+
[`docs/guidelines/design-antipatterns.md`](../../guidelines/design-antipatterns.md)
|
|
145
145
|
and scan Visual / Typography / Layout — the Blade markup is where side-stripe
|
|
146
146
|
accents (V1), icon-tile feature cards (T3), and the centered-hero + 3-column
|
|
147
147
|
template (L1/L2) concretely land. Stack-specific Tailwind class/hex bans live in
|
|
@@ -88,7 +88,7 @@ For every dependency, mark:
|
|
|
88
88
|
|
|
89
89
|
### 5. Consult engineering memory
|
|
90
90
|
|
|
91
|
-
Via [`memory-access`](
|
|
91
|
+
Via [`memory-access`](../../guidelines/agent-infra/memory-access.md) call
|
|
92
92
|
`retrieve(types=["ownership"],
|
|
93
93
|
keys=<changed paths + changed symbol>, limit=5)`. Surface:
|
|
94
94
|
|
|
@@ -27,7 +27,28 @@ execution:
|
|
|
27
27
|
> hands it to the [`design-tokens`](../design-tokens/SKILL.md) toolchain to emit
|
|
28
28
|
> CSS vars + Tailwind. The same `.tokens.json` is the export that pack-ai-image
|
|
29
29
|
> brand-asset generation and the greenfield scaffold seed consume (B → A;
|
|
30
|
-
> contract: [`brand-token-consumption`](
|
|
30
|
+
> contract: [`brand-token-consumption`](../../docs/contracts/brand-token-consumption.md)).
|
|
31
|
+
|
|
32
|
+
## Known contradiction — the filename this skill authors is not the one the resolver reads
|
|
33
|
+
|
|
34
|
+
**Recorded, not resolved.** This skill's prose says to author `.tokens.json`,
|
|
35
|
+
and the only resolver in the tree reads `tokens.json` — `BRAND_TOKEN_PATHS`
|
|
36
|
+
searches `tokens.json`, `assets/tokens.json`, `resources/tokens.json` and
|
|
37
|
+
`agents/settings/brand/tokens.json` <!-- ref-ignore -->, none of them
|
|
38
|
+
dot-prefixed. A consumer
|
|
39
|
+
following this skill literally therefore produces a file nothing loads.
|
|
40
|
+
|
|
41
|
+
The authoring name is a consumer-visible decision and is deliberately not
|
|
42
|
+
changed here. What closes the gap in the meantime is
|
|
43
|
+
`agent-config brand:status`, which reports which of the four paths holds a file
|
|
44
|
+
— and separately flags a dot-prefixed `.tokens.json`, which is exactly the file
|
|
45
|
+
a reader of this skill would plausibly have created.
|
|
46
|
+
|
|
47
|
+
Moved here from [`brand-source-of-truth`](../../rules/brand-source-of-truth.md)
|
|
48
|
+
on 2026-09-09: it is a note about this skill, and its 6 lines in a standing rule
|
|
49
|
+
were paid for on every subagent spawn. The substitution funded that rule's
|
|
50
|
+
artifact-versus-brand pointer, per the council verdict on
|
|
51
|
+
`blocker: standing-payload-headroom`.
|
|
31
52
|
|
|
32
53
|
## When to use
|
|
33
54
|
|
|
@@ -98,9 +119,9 @@ execution:
|
|
|
98
119
|
|
|
99
120
|
## See also
|
|
100
121
|
|
|
101
|
-
- [`design-canon.md`](
|
|
122
|
+
- [`design-canon.md`](../../guidelines/design-canon.md) § Colour references — culturally-situated palettes + a11y-contrast grounding when deriving brand colour tokens.
|
|
102
123
|
- [`brand-identity`](../brand-identity/SKILL.md) — supplies the constraint set this skill derives tokens from.
|
|
103
124
|
- [`design-tokens`](../design-tokens/SKILL.md) — the DTCG toolchain that emits CSS/Tailwind from `.tokens.json`.
|
|
104
125
|
- [`typography-system`](../typography-system/SKILL.md) — brand-aware stage-2 supplies the type tokens.
|
|
105
|
-
- [`brand-token-consumption`](
|
|
126
|
+
- [`brand-token-consumption`](../../docs/contracts/brand-token-consumption.md) — the read contract pack-ai-image and greenfield scaffold consume.
|
|
106
127
|
- [`brand-consistency`](../../rules/brand-consistency.md) — validates emitted artifacts against this token source of truth.
|
|
@@ -96,7 +96,7 @@ Gather all available evidence before forming any hypothesis:
|
|
|
96
96
|
- Read each file in the call chain to understand the data flow.
|
|
97
97
|
- Check existing context docs (`agents/settings/contexts/`) for the affected area.
|
|
98
98
|
- **Consult engineering memory.** Via
|
|
99
|
-
[`memory-access`](
|
|
99
|
+
[`memory-access`](../../guidelines/agent-infra/memory-access.md) call
|
|
100
100
|
`retrieve(types=["historical-patterns", "incident-learnings"],
|
|
101
101
|
keys=[<error class>, <affected file paths>], limit=3)`. A prior
|
|
102
102
|
matching pattern or incident is the single most reliable accelerator
|
|
@@ -27,7 +27,7 @@ Do NOT use for vendor selection within a "buy" decision (different skill), marke
|
|
|
27
27
|
|
|
28
28
|
## Cognition cluster
|
|
29
29
|
|
|
30
|
-
- **Mental model 28 — Inversion.** *"What would force us to undo this choice in 18 months?"* Inversion surfaces the dependency-risk and integration-cost that the forward case understates. See [`mental-models.md`](
|
|
30
|
+
- **Mental model 28 — Inversion.** *"What would force us to undo this choice in 18 months?"* Inversion surfaces the dependency-risk and integration-cost that the forward case understates. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 28.
|
|
31
31
|
- **Mental model 21 — Second-order thinking.** Each option chains: build → ongoing maintenance + opportunity cost; buy → integration + lock-in; partner → dependency + boundary management. Single-order *"build is cheaper"* fails on the second-order. See `mental-models.md` § 21.
|
|
32
32
|
- **Mental model 26 — Optionality.** Read each option by which choices it preserves (switch costs, re-build optionality, re-negotiation power) vs forecloses. The option with bounded foreclosure usually wins. See `mental-models.md` § 26.
|
|
33
33
|
- **Context-spine — org-stage + product + customer-segment.** Read **org-stage** for capacity (pre-seed should buy almost everything non-core; growth-stage can build deeper). Read **product** for whether the capability is core-differentiation (build) or commodity (buy). Read **customer-segment** for whether enterprise-segment buyers require a build-it-yourself story.
|
|
@@ -34,7 +34,7 @@ to `retention-loops`).
|
|
|
34
34
|
- **Mental model 30 — Inversion.** Do not ask *"how do we keep this
|
|
35
35
|
account?"* — ask *"name the reason this account will leave."* The
|
|
36
36
|
inversion forces a cause; the cause picks the move. See
|
|
37
|
-
[`docs/contracts/mental-models.md`](
|
|
37
|
+
[`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 30.
|
|
38
38
|
- **Mental model 16 — Leading vs. lagging indicators.** Cancellation
|
|
39
39
|
is lagging; usage-decay, relationship-decay, and fit-mismatch
|
|
40
40
|
signals are leading. A health score built on lagging signals can
|
|
@@ -50,7 +50,7 @@ to `retention-loops`).
|
|
|
50
50
|
the **customer-segment** slot for the segment's switch-event
|
|
51
51
|
patterns — fit-churn shows up early in segments whose switch
|
|
52
52
|
event differs from the ICP. See
|
|
53
|
-
[`context-spine`](
|
|
53
|
+
[`context-spine`](../../docs/contracts/context-spine.md).
|
|
54
54
|
|
|
55
55
|
## Procedure
|
|
56
56
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: inherit
|
|
3
3
|
name: code-intelligence
|
|
4
|
-
description: "Route codebase-structure questions (who calls X, where
|
|
4
|
+
description: "Route codebase-structure questions (who calls X, where used, change-impact) to an existing code-graph first: impact, tests-for, dead cheaper, never more precise; grep routine. Also 'call graph'."
|
|
5
5
|
domain: engineering
|
|
6
6
|
workspaces:
|
|
7
7
|
- engineering
|
|
@@ -204,6 +204,62 @@ refresh` first, or use grep and say so. This is a freshness obligation, not an
|
|
|
204
204
|
ordering claim; the rule's query-first ordering still governs which source to
|
|
205
205
|
reach for.
|
|
206
206
|
|
|
207
|
+
## The four gate verbs — a diff, not a symbol (2026-09-08)
|
|
208
|
+
|
|
209
|
+
`query` / `affected` / `path` / `explain` answer a question about a SYMBOL.
|
|
210
|
+
Four more answer a question about a DIFF, and they are documented here rather
|
|
211
|
+
than in § Procedure for a mechanical reason worth stating: step 4.3 of
|
|
212
|
+
`road-to-a-graph-that-is-shipped` verifies that this file's line 164 — the
|
|
213
|
+
**No class is graph-first** sentence — is unchanged, and inserting anything
|
|
214
|
+
above it moves that line. So the ordering claim K5 protects stays byte-fixed
|
|
215
|
+
and the new material sits below it.
|
|
216
|
+
|
|
217
|
+
Each of the four walks only edges whose resolution mechanism is a stated fact
|
|
218
|
+
(never a repo-wide same-name guess, never an untyped receiver), and each prints
|
|
219
|
+
the mechanisms it accepted, the mechanisms it refused, and the graph's
|
|
220
|
+
staleness — so a narrow answer is distinguishable from a decoupled one:
|
|
221
|
+
|
|
222
|
+
- `agent-config code-graph impact --diff <rev>` — callers, dependents and test
|
|
223
|
+
files reachable from the changed symbols, plus the producing edges and a
|
|
224
|
+
minimal read set.
|
|
225
|
+
- `agent-config code-graph tests-for <symbol>` — the test files that import it.
|
|
226
|
+
An empty list is a finding, not an error.
|
|
227
|
+
- `agent-config code-graph untested --diff <rev>` — changed symbols that no test
|
|
228
|
+
file imports.
|
|
229
|
+
- `agent-config code-graph dead [--entry-points F | --accept-missing-exports]` —
|
|
230
|
+
symbols with no accepted reference that no declared entry point names. It
|
|
231
|
+
**refuses** rather than answering while an entry-point source cannot be read:
|
|
232
|
+
this engine records no exportedness, so without a supplied list an
|
|
233
|
+
exported-but-unimported symbol is indistinguishable from a dead one, and a
|
|
234
|
+
confident false "dead" invites a deletion the graph cannot justify. Nothing it
|
|
235
|
+
lists is a deletion recommendation.
|
|
236
|
+
|
|
237
|
+
These answers reach an agent over MCP without shelling out, and the mapping is
|
|
238
|
+
**not** one tool per verb — corrected after an independent review found this
|
|
239
|
+
paragraph claiming "the same five answers" directly after a list of four:
|
|
240
|
+
|
|
241
|
+
| MCP tool | answers |
|
|
242
|
+
|---|---|
|
|
243
|
+
| `graph_impact` | `impact --diff`, **and** `untested --diff` via `untested_only: true` |
|
|
244
|
+
| `graph_tests_for` | `tests-for` |
|
|
245
|
+
| `graph_dead` | `dead` |
|
|
246
|
+
| `graph_query` | `query` |
|
|
247
|
+
| `graph_path` | `path` |
|
|
248
|
+
|
|
249
|
+
`untested` has no tool of its own; it is a flag on `graph_impact`, because the
|
|
250
|
+
two answer the same question over the same diff and a sixth tool would have cost
|
|
251
|
+
standing context for a boolean. `graph_impact` is the only one that is not
|
|
252
|
+
read-only — it runs `git diff --name-only` to resolve its rev — and
|
|
253
|
+
`graph_dead`'s refusal arrives as `status: "refused"`, never as `status: "ok"`
|
|
254
|
+
with an empty list.
|
|
255
|
+
|
|
256
|
+
**No ordering claim is added here, and no measurement claim either.** These
|
|
257
|
+
verbs are cheaper than reconstructing the same relationship by hand — that is a
|
|
258
|
+
claim about the ALTERNATIVE being a manual reconstruction, not about grep.
|
|
259
|
+
Nothing on this page says they beat grep, none of the four appears in the v2
|
|
260
|
+
benchmark corpus (which measures `callers`, `transitive-impact`, `path-between`
|
|
261
|
+
and `references`), and § Measured twice still governs that question.
|
|
262
|
+
|
|
207
263
|
## Do NOT
|
|
208
264
|
|
|
209
265
|
- Do NOT rebuild a **fresh** consumer-shipped index — query it (interop
|
|
@@ -34,7 +34,7 @@ Do NOT use when:
|
|
|
34
34
|
well (`switch` / `match` / if-chains over it, lookup tables keyed by it,
|
|
35
35
|
validators, serializers, schemas, fixtures, translation keys) and classify each
|
|
36
36
|
as exhaustive, deliberate fallback, or missing case. Procedure:
|
|
37
|
-
[`downstream-changes-mechanics`](
|
|
37
|
+
[`downstream-changes-mechanics`](../../guidelines/agent-infra/downstream-changes-mechanics.md).
|
|
38
38
|
4. **Map the impact** — create a list of all files that will need changes.
|
|
39
39
|
5. **Decide the verdict, if the refactor is a de-duplication** — see the
|
|
40
40
|
safe-abstraction gate below. An extraction with no recorded verdict is a
|
|
@@ -66,13 +66,13 @@ read identically can encode different assumptions, and merging them changes
|
|
|
66
66
|
behaviour silently.
|
|
67
67
|
|
|
68
68
|
The class names and the full verdict list are in
|
|
69
|
-
[`redundancy-taxonomy`](
|
|
69
|
+
[`redundancy-taxonomy`](../../guidelines/redundancy-taxonomy.md).
|
|
70
70
|
|
|
71
71
|
When the refactor goes the other way and **creates** a new unit, the reuse
|
|
72
72
|
question comes first: does an existing class or component already cover this, and
|
|
73
73
|
what does composing or extending it cost against a new one? Thresholds per
|
|
74
74
|
artifact class:
|
|
75
|
-
[`component-oriented-and-oop-development`](
|
|
75
|
+
[`component-oriented-and-oop-development`](../../guidelines/component-oriented-and-oop-development.md).
|
|
76
76
|
|
|
77
77
|
## Procedure: Refactor code
|
|
78
78
|
|
|
@@ -52,7 +52,7 @@ principle, not a decision, and it has no answer for the case where two copies
|
|
|
52
52
|
should stay. Replace it with a verdict.
|
|
53
53
|
|
|
54
54
|
Classify the finding against
|
|
55
|
-
[`redundancy-taxonomy`](
|
|
55
|
+
[`redundancy-taxonomy`](../../guidelines/redundancy-taxonomy.md) —
|
|
56
56
|
implementation, knowledge, or representation — and record one verdict from that
|
|
57
57
|
document's list. `keep-duplicated` and `de-abstract` are successful outcomes; a
|
|
58
58
|
finding with no recorded verdict stays open. Knowledge, policy, contract and
|
|
@@ -85,7 +85,7 @@ consumers and their status — every `switch` / `match` / if-chain over the type
|
|
|
85
85
|
every lookup table keyed by it, every validator, serializer, schema, fixture and
|
|
86
86
|
translation key. A `default` branch that silently absorbs the new member is a
|
|
87
87
|
missing case, not a handled one. Procedure:
|
|
88
|
-
[`downstream-changes-mechanics`](
|
|
88
|
+
[`downstream-changes-mechanics`](../../guidelines/agent-infra/downstream-changes-mechanics.md).
|
|
89
89
|
|
|
90
90
|
**A shared behaviour moved and its siblings did not.** A defect fixed in one
|
|
91
91
|
place is presumed to recur until searched: name the exact wrong construct, grep
|
|
@@ -100,7 +100,7 @@ changing one, the question is whether it needed to exist: what was searched,
|
|
|
100
100
|
what was found, and why composing or extending the incumbent was rejected. An
|
|
101
101
|
answer, not a ceremony — and the thresholds for when repetition actually earns
|
|
102
102
|
an abstraction are in
|
|
103
|
-
[`component-oriented-and-oop-development`](
|
|
103
|
+
[`component-oriented-and-oop-development`](../../guidelines/component-oriented-and-oop-development.md).
|
|
104
104
|
|
|
105
105
|
## Change-type routing — load only the checklist the diff needs
|
|
106
106
|
|
|
@@ -39,7 +39,7 @@ author as a skill and add a thin command that delegates to it.
|
|
|
39
39
|
|
|
40
40
|
**A command must EARN a top-level slot.** Only three justifications qualify:
|
|
41
41
|
**flow-entry**, **state-query**, or **product-surface** — everything else is a
|
|
42
|
-
skill. Check before authoring: [`command-clusters` § Command justification](
|
|
42
|
+
skill. Check before authoring: [`command-clusters` § Command justification](../../docs/contracts/command-clusters.md#command-justification--a-command-must-earn-a-top-level-slot)
|
|
43
43
|
([ADR-048](../../../docs/decisions/ADR-048-command-justification-rule.md)).
|
|
44
44
|
|
|
45
45
|
**Categorize at creation (checklist).** When you author a NEW top-level command,
|
|
@@ -56,7 +56,7 @@ is `flow-entry | state-query | product-surface`:
|
|
|
56
56
|
|
|
57
57
|
Sub-commands (`council:debate`) inherit the parent cluster's category — leave
|
|
58
58
|
`category:` off them. Why optional + not yet a blocking lint, and what triggers
|
|
59
|
-
the upgrade: [`command-category-governance`](
|
|
59
|
+
the upgrade: [`command-category-governance`](../../docs/contracts/command-category-governance.md).
|
|
60
60
|
|
|
61
61
|
## Commands ARE Claude skills (projection reality)
|
|
62
62
|
|
|
@@ -346,4 +346,4 @@ Workflow sequencing, preconditions, ID/output provenance ("copy ids verbatim,
|
|
|
346
346
|
never from memory"), a mandatory "why" intent field, and turn-end contracts
|
|
347
347
|
belong INSIDE this artifact's description/frontmatter — where they fire at the
|
|
348
348
|
decision point — not in always-on prose. See
|
|
349
|
-
[`tool-description-as-policy`](
|
|
349
|
+
[`tool-description-as-policy`](../../guidelines/agent-infra/tool-description-as-policy.md).
|
|
@@ -28,7 +28,7 @@ Do NOT use as a payroll / equity-administration substitute (this skill produces
|
|
|
28
28
|
|
|
29
29
|
## Cognition cluster
|
|
30
30
|
|
|
31
|
-
- **Mental model 1 — First principles.** Strip every comp question to: *what behavior are we paying for, over what horizon, with what risk-bearing?* Cash pays for present effort; equity pays for future co-built value with risk; bonus pays for outcome-linked behavior. Mixing the levers without first-principles intent produces confusion. See [`mental-models.md`](
|
|
31
|
+
- **Mental model 1 — First principles.** Strip every comp question to: *what behavior are we paying for, over what horizon, with what risk-bearing?* Cash pays for present effort; equity pays for future co-built value with risk; bonus pays for outcome-linked behavior. Mixing the levers without first-principles intent produces confusion. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 1.
|
|
32
32
|
- **Mental model 28 — Inversion.** *"What comp shape would force our best people to leave?"* Inversion surfaces the load-bearing risks (condensation at senior levels, equity refresh gaps, geo arbitrage that punishes loyalty).
|
|
33
33
|
- **Mental model 26 — Optionality.** Each comp lever preserves or forecloses future options. Above-band offers preserve hire optionality but foreclose internal-equity optionality. Equity-heavy mix preserves cash runway but forecloses people who need liquidity. Read every move as an optionality trade.
|
|
34
34
|
- **Mental model 21 — Second-order thinking.** A raise to one person ripples (perceived parity, retention pressure on peers, expectation-setting for next cycle). A band shift ripples (new-hire offers anchor higher, internal expectations re-anchor). Comp moves rarely stay isolated.
|
|
@@ -27,7 +27,7 @@ Do NOT use for narrative / messaging surface (route to Wing-3 `positioning-strat
|
|
|
27
27
|
|
|
28
28
|
## Cognition cluster
|
|
29
29
|
|
|
30
|
-
- **Mental model 18 — Where to play, where not to play.** A moat is read as much from *what we refuse to do* as from what we do. Trying to win everywhere = winning nowhere. See [`mental-models.md`](
|
|
30
|
+
- **Mental model 18 — Where to play, where not to play.** A moat is read as much from *what we refuse to do* as from what we do. Trying to win everywhere = winning nowhere. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 18.
|
|
31
31
|
- **Mental model 28 — Inversion.** *"What would force a customer to leave us for an incumbent?"* The inversion answer surfaces the load-bearing moat assumption. If the answer is *"nothing"*, the moat is wishful; if the answer is concrete, that's the real fragility. See `mental-models.md` § 28.
|
|
32
32
|
- **Mental model 21 — Second-order thinking.** Moats compound or decay; *"feature parity today"* says nothing about *"feature parity in 18 months"*. Read each moat by its compounding rate, not its current state. See `mental-models.md` § 21.
|
|
33
33
|
- **Context-spine — customer-segment + product + org-stage.** Read **customer-segment** for which incumbent matters in which segment (the enterprise incumbent is rarely the SMB incumbent). Read **product** for which moats are real vs roadmap. Read **org-stage** for moat realism (pre-revenue moats are claims; growth-stage moats are evidence).
|
|
@@ -35,7 +35,7 @@ DCF-style valuation work (route to `dcf-modeling`).
|
|
|
35
35
|
outcome each package promises its user, not the feature lists. Two
|
|
36
36
|
packages with overlapping features can promise different outcomes
|
|
37
37
|
and therefore are not direct competitors. See
|
|
38
|
-
[`docs/contracts/mental-models.md`](
|
|
38
|
+
[`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 1.
|
|
39
39
|
- **Mental model 24 — Optionality.** A pattern that costs little to
|
|
40
40
|
adopt and preserves exit value beats a "better" pattern that locks
|
|
41
41
|
the package in. Score adoption cost AND exit cost on every row. See
|
|
@@ -46,7 +46,7 @@ DCF-style valuation work (route to `dcf-modeling`).
|
|
|
46
46
|
- **Product context-spine slot.** Read the **product** slot for
|
|
47
47
|
segment / focal job / non-goals before picking axes; the comparison
|
|
48
48
|
is only legitimate inside our own scope. See
|
|
49
|
-
[`context-spine`](
|
|
49
|
+
[`context-spine`](../../docs/contracts/context-spine.md).
|
|
50
50
|
|
|
51
51
|
## Procedure
|
|
52
52
|
|
|
@@ -44,7 +44,7 @@ unknown to resolve), or when the user has already fixed the sequence.
|
|
|
44
44
|
|
|
45
45
|
1. **Inspect and name the unknowns.** Read the affected components first
|
|
46
46
|
(start from the **repo** slot of the
|
|
47
|
-
[context-spine](
|
|
47
|
+
[context-spine](../../docs/contracts/context-spine.md) when present),
|
|
48
48
|
then list which carry real uncertainty (technical feasibility, an
|
|
49
49
|
unverified integration, an ambiguous requirement) — analyze the existing
|
|
50
50
|
system before planning any change.
|
|
@@ -125,5 +125,5 @@ A future `telegraph-v2.md` will tabulate the realised input-token saving against
|
|
|
125
125
|
- [`src/scripts/validate_safe_paths.ts`](../../../src/scripts/validate_safe_paths.ts) — Phase 0 gate; ported from upstream Telegraph `63a91ec`.
|
|
126
126
|
- [`src/scripts/condense_memory.ts`](../../../src/scripts/condense_memory.ts) — implementation.
|
|
127
127
|
- [`tests/scripts/condense_memory.test.ts`](../../../tests/scripts/condense_memory.test.ts) — regression locks for each carve-out + idempotency + denylist.
|
|
128
|
-
- [`docs/contracts/condensation-default-kill-criterion.md`](
|
|
128
|
+
- [`docs/contracts/condensation-default-kill-criterion.md`](../../docs/contracts/condensation-default-kill-criterion.md) — v1 verdict (output-side; informs but does not gate this skill).
|
|
129
129
|
- [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) — caps the consumer-shipped `templates/AGENTS.md`; this skill is one tool to land under the cap.
|
|
@@ -37,7 +37,7 @@ draft the asset itself (downstream of this skill).
|
|
|
37
37
|
funnel design is the discipline of placing the heaviest content
|
|
38
38
|
investment at the structural leverage point, not the parameter
|
|
39
39
|
one. See
|
|
40
|
-
[`docs/contracts/mental-models.md`](
|
|
40
|
+
[`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 14.
|
|
41
41
|
- **Mental model 6 — Theory of constraints.** The slow funnel stage
|
|
42
42
|
caps the whole pipeline. Adding content elsewhere does not loosen
|
|
43
43
|
the constraint. See `mental-models.md` § 6.
|
|
@@ -52,7 +52,7 @@ draft the asset itself (downstream of this skill).
|
|
|
52
52
|
the asset, **customer-segment** for whose questions the asset
|
|
53
53
|
answers, and **product** for the proofs the asset can actually
|
|
54
54
|
back. See
|
|
55
|
-
[`context-spine`](
|
|
55
|
+
[`context-spine`](../../docs/contracts/context-spine.md).
|
|
56
56
|
|
|
57
57
|
## Procedure
|
|
58
58
|
|
|
@@ -29,7 +29,7 @@ Do NOT use as a substitute for actual legal counsel (this skill produces the *no
|
|
|
29
29
|
|
|
30
30
|
## Cognition cluster
|
|
31
31
|
|
|
32
|
-
- **Mental model 28 — Inversion.** *"What would force us to invoke this clause? What would force the counterparty to invoke it?"* Inversion surfaces which clauses are dormant boilerplate vs which are loaded triggers. See [`mental-models.md`](
|
|
32
|
+
- **Mental model 28 — Inversion.** *"What would force us to invoke this clause? What would force the counterparty to invoke it?"* Inversion surfaces which clauses are dormant boilerplate vs which are loaded triggers. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 28.
|
|
33
33
|
- **Mental model 21 — Second-order thinking.** Each clause has a second-order shape: indemnity caps interact with insurance coverage; SLAs interact with operating-cost; auto-renewal interacts with switching cost. Reading clauses in isolation misses the load-bearing combinations. See `mental-models.md` § 21.
|
|
34
34
|
- **Mental model 26 — Optionality.** Each clause either preserves or forecloses future choices (terminate-for-convenience preserves; auto-renewal forecloses; exclusivity forecloses; MFN forecloses). The cost of a clause is the optionality it removes. See `mental-models.md` § 26.
|
|
35
35
|
- **Context-spine — regulatory-regime + customer-segment + org-stage.** Read **regulatory-regime** (J1) for floor-bound clauses (GDPR DPA terms, HIPAA BAA, SOC 2 audit). Read **customer-segment** for risk sizing (enterprise SLA terms ≠ SMB SLA terms). Read **org-stage** for what's affordable (early-stage = avoid uncapped indemnities; growth = can absorb tighter SLAs).
|
|
@@ -130,7 +130,7 @@ both. Instead, reference with a table:
|
|
|
130
130
|
| What | Where |
|
|
131
131
|
|---|---|
|
|
132
132
|
| PHP coding rules | `.augment/rules/php-coding.md` |
|
|
133
|
-
| Controller guidelines |
|
|
133
|
+
| Controller guidelines | `../../guidelines/php/controllers.md` |
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
## Line Budget Enforcement
|
|
@@ -192,7 +192,7 @@ broken. When optimizing, **keep that section intact** — never delete
|
|
|
192
192
|
it as "redundant" and never trim its bullets. The patterns it covers:
|
|
193
193
|
|
|
194
194
|
- Relative cross-references inside `.augment/` rules / skills
|
|
195
|
-
(
|
|
195
|
+
(`../../guidelines/foo.md`, `../contexts/bar.md`) — paths resolve
|
|
196
196
|
from the file's delivered location, not from the symlink in
|
|
197
197
|
`.claude/rules/` etc. (per `road-to-path-fixes.md` Strategy A).
|
|
198
198
|
- `path_prefix:` triggers containing `src/` —
|
|
@@ -63,7 +63,7 @@ frontend-hardcoded axis moved into the manifest. Full license obligations:
|
|
|
63
63
|
### Invocation (consumer runtime)
|
|
64
64
|
|
|
65
65
|
Scripts resolve all paths **skill-relative** (per
|
|
66
|
-
[`docs/contracts/skill-bundled-assets.md`](
|
|
66
|
+
[`docs/contracts/skill-bundled-assets.md`](../../docs/contracts/skill-bundled-assets.md))
|
|
67
67
|
— they work from any cwd:
|
|
68
68
|
|
|
69
69
|
```bash
|
|
@@ -226,5 +226,5 @@ the skill shipping the manifest, and its containment is `resolve_data_path`.
|
|
|
226
226
|
(frontend corpus + manifest).
|
|
227
227
|
- [ADR-061](../../../docs/decisions/ADR-061-corpus-grounding-layer.md) —
|
|
228
228
|
architecture, qualification rubric, fork resolutions.
|
|
229
|
-
- [`docs/contracts/skill-bundled-assets.md`](
|
|
229
|
+
- [`docs/contracts/skill-bundled-assets.md`](../../docs/contracts/skill-bundled-assets.md)
|
|
230
230
|
— how bundled `scripts/` + `data/` reach consumer runtime.
|
|
@@ -33,7 +33,7 @@ this skill is about depth-5-to-10 interviews, not statistics.
|
|
|
33
33
|
|
|
34
34
|
- **Mental model 2 — Jobs-to-be-Done.** Frames every question against
|
|
35
35
|
the **switch event**: what caused the user to fire the previous
|
|
36
|
-
solution? See [`docs/contracts/mental-models.md`](
|
|
36
|
+
solution? See [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 2.
|
|
37
37
|
- **Mental model 3 — Pareto principle.** A research week that
|
|
38
38
|
produces 12 distinct insights is usually re-discovering the same
|
|
39
39
|
three. See `mental-models.md` § 3.
|
|
@@ -43,7 +43,7 @@ this skill is about depth-5-to-10 interviews, not statistics.
|
|
|
43
43
|
### Step 0: Frame the job
|
|
44
44
|
|
|
45
45
|
1. Write one sentence: *"Users hire \<thing\> to make progress in \<situation\>, when motivated by \<pressure\>, expecting \<outcome\>."* If you cannot finish the sentence, the discovery slice is not yet shaped — stop and route to `po-discovery`.
|
|
46
|
-
2. Read the **product** slot of the [context-spine](
|
|
46
|
+
2. Read the **product** slot of the [context-spine](../../docs/contracts/context-spine.md) (if the consumer project has filled it) for bounded scope, and the **team** slot for the senior PO / researcher handoff target. Skip if absent — note in the brief.
|
|
47
47
|
3. Identify **one** competing solution the user might fire. Multiple competitors per session blurs the switch event.
|
|
48
48
|
|
|
49
49
|
### Step 1: Recruit the right 5–8
|