@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
|
@@ -78,7 +78,7 @@ INTENT
|
|
|
78
78
|
│
|
|
79
79
|
└── API-bill lever (stable prefix reused across calls · non-interactive
|
|
80
80
|
bulk cohort · model/effort pick against the paid Anthropic bill)
|
|
81
|
-
→ cite [api-cost-levers](
|
|
81
|
+
→ cite [api-cost-levers](../../guidelines/agent-infra/api-cost-levers.md)
|
|
82
82
|
(prompt caching ~0.1x reads · Batch -50% · model tiering · effort)
|
|
83
83
|
```
|
|
84
84
|
|
|
@@ -101,7 +101,7 @@ brand already registers fonts, use them and skip the filter.
|
|
|
101
101
|
## Delivery — hosting mode (self-hosted by default)
|
|
102
102
|
|
|
103
103
|
The delivery policy is **owned** by
|
|
104
|
-
[`design-fidelity-mechanics`](
|
|
104
|
+
[`design-fidelity-mechanics`](../../guidelines/design-fidelity-mechanics.md)
|
|
105
105
|
§ Asset & imagery discipline ([`ADR-205`](../../../docs/decisions/ADR-205-webfont-delivery-ownership.md));
|
|
106
106
|
this skill is a consumer and emits the route, never a competing policy. A font
|
|
107
107
|
CDN link transmits the **visitor's IP** to that third party on every page view —
|
|
@@ -174,7 +174,7 @@ the shorter line.
|
|
|
174
174
|
|
|
175
175
|
## See also
|
|
176
176
|
|
|
177
|
-
- [`design-canon.md`](
|
|
177
|
+
- [`design-canon.md`](../../guidelines/design-canon.md) — named-systems + typography-craft (foundry/theory) grounding index; pull to escape the AI-default fonts.
|
|
178
178
|
- [`design-tokens`](../design-tokens/SKILL.md) — toolchain that generates CSS
|
|
179
179
|
vars and the Tailwind snippet from `tokens.json`.
|
|
180
180
|
- [`design-intelligence`](../design-intelligence/SKILL.md) — idiom corpus that
|
|
@@ -46,7 +46,7 @@ Do NOT use when:
|
|
|
46
46
|
|
|
47
47
|
Extract a **stateful component** only when an element **repeats ~4× or more AND
|
|
48
48
|
carries real props/state** (the stateful-component bar of the per-class canon,
|
|
49
|
-
[`abstraction-thresholds`](
|
|
49
|
+
[`abstraction-thresholds`](../../guidelines/abstraction-thresholds.md) —
|
|
50
50
|
it does not lower the code-level two-repetition bar). One or two repeats, or a
|
|
51
51
|
repeat with no varying props, is not a component — inline it (a props-only
|
|
52
52
|
shell earns extraction at 3+ uses). A long single-file body is **normal**, not a smell;
|
|
@@ -69,13 +69,33 @@ still exists in the tree. Absent or empty → fall through to
|
|
|
69
69
|
Then review existing components in the codebase for the same
|
|
70
70
|
responsibility — extend rather than rebuild when a match is found.
|
|
71
71
|
|
|
72
|
-
**A new component's workshop is part of its design
|
|
73
|
-
|
|
74
|
-
[`
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
**A new component's workshop is part of its design where the project has one —
|
|
73
|
+
size-conditional, never a generic mandate.** The boundary is
|
|
74
|
+
[`component-oriented-and-oop-development`](../../guidelines/component-oriented-and-oop-development.md)
|
|
75
|
+
§ Component workshop: a workshop pays for itself on a real, growing shared
|
|
76
|
+
component library and is not worth the setup for a handful of one-off
|
|
77
|
+
components. Where it applies, the story set comes from
|
|
78
|
+
[`storybook-workshop`](../storybook-workshop/SKILL.md) — one story per concept,
|
|
79
|
+
which is what makes the component agent-readable and its contrast floor
|
|
80
|
+
checkable before it reaches a page. That skill is stack-agnostic and ships in
|
|
81
|
+
`engineering-base`, so a plain-`react` project receives it exactly as a
|
|
82
|
+
`react-shadcn` one does. The state-coverage matrix the story set is derived
|
|
83
|
+
from is React-specific and lives in
|
|
84
|
+
[`react-shadcn-ui`](../react-shadcn-ui/SKILL.md) § Step 3, deliberately not
|
|
85
|
+
duplicated here; a Blade, Vue or Livewire lane derives its story set from that
|
|
86
|
+
lane's own state list instead.
|
|
87
|
+
|
|
88
|
+
**No order is prescribed among stories, component and page — and that is a
|
|
89
|
+
positive statement, not an omission.** The observed pattern, described rather
|
|
90
|
+
than required: when porting existing UI the first move is inventory, not
|
|
91
|
+
construction (this lifecycle excludes Plan by definition), and stories are
|
|
92
|
+
written concurrent with the component rather than as a phase gate before or
|
|
93
|
+
after it. No primary source states a required order, Storybook's own tutorial
|
|
94
|
+
writes the component before the story, Atomic Design's author calls it "not a
|
|
95
|
+
linear process", and measured evidence comparing build orders is **absent**,
|
|
96
|
+
not merely weak. A claimed order is therefore a preference someone holds, never
|
|
97
|
+
this skill's instruction.
|
|
98
|
+
|
|
79
99
|
If none exists, write the new component's purpose: *"Renders a
|
|
80
100
|
labelled input with inline error and hint."* If the sentence has an
|
|
81
101
|
"and" joining two unrelated jobs, the component is two components.
|
|
@@ -34,7 +34,7 @@ Do NOT use for full-business intrinsic-value modeling, OKR setting, funnel-stage
|
|
|
34
34
|
customer and one fully-loaded acquisition dollar. Aggregate ratios
|
|
35
35
|
ride on per-unit truth; if the unit is mis-defined (trial vs paid,
|
|
36
36
|
household vs seat), every ratio downstream is decoration. See
|
|
37
|
-
[`docs/contracts/mental-models.md`](
|
|
37
|
+
[`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 1.
|
|
38
38
|
- **Mental model 8 — Second-order thinking.** A CAC drop driven by
|
|
39
39
|
discounting lifts LTV/CAC on paper while shortening cohort
|
|
40
40
|
retention — the second-order effect lands two quarters later in
|
|
@@ -46,7 +46,7 @@ Do NOT use for full-business intrinsic-value modeling, OKR setting, funnel-stage
|
|
|
46
46
|
**fiscal-period** slot for the close-window the ratios must
|
|
47
47
|
reconcile against (monthly close vs quarterly board pack vs
|
|
48
48
|
annual plan). See
|
|
49
|
-
[`context-spine`](
|
|
49
|
+
[`context-spine`](../../docs/contracts/context-spine.md).
|
|
50
50
|
|
|
51
51
|
## Procedure
|
|
52
52
|
|
|
@@ -222,7 +222,7 @@ If not in the package repo, note that these checks will run in CI after the PR i
|
|
|
222
222
|
|
|
223
223
|
If the contribution originates from a proposal under `agents/proposals/`
|
|
224
224
|
(produced by `learning-to-rule-or-skill` via the pipeline in
|
|
225
|
-
[`self-improvement-pipeline`](
|
|
225
|
+
[`self-improvement-pipeline`](../../guidelines/agent-infra/self-improvement-pipeline.md)),
|
|
226
226
|
run the Stage-4 gate before opening the PR:
|
|
227
227
|
|
|
228
228
|
```bash
|
|
@@ -53,7 +53,7 @@ Verify the request doesn't conflict with:
|
|
|
53
53
|
- Data flow (does it bypass existing services or repositories?)
|
|
54
54
|
- **Product rules and domain invariants** — pull active rules via the
|
|
55
55
|
shared abstraction (see
|
|
56
|
-
[`memory-access`](
|
|
56
|
+
[`memory-access`](../../guidelines/agent-infra/memory-access.md)):
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
agent-config memory:lookup \
|
|
@@ -66,7 +66,7 @@ Verify the request doesn't conflict with:
|
|
|
66
66
|
(e.g., "free plan caps at 3 users"); the feature must either respect
|
|
67
67
|
it or explicitly propose to retire it. Cite the matching `id:` in
|
|
68
68
|
the findings. Schema:
|
|
69
|
-
[`engineering-memory-data-format`](
|
|
69
|
+
[`engineering-memory-data-format`](../../guidelines/agent-infra/engineering-memory-data-format.md).
|
|
70
70
|
|
|
71
71
|
**If contradiction found** → show the existing pattern, explain why it matters.
|
|
72
72
|
|
|
@@ -156,7 +156,7 @@ iterating against a stale contract.
|
|
|
156
156
|
|
|
157
157
|
State lives in the conversation, optionally mirrored to a re-read working file —
|
|
158
158
|
**never** a daemon or persistent cross-session store (honors
|
|
159
|
-
[`resident-process-governance`](
|
|
159
|
+
[`resident-process-governance`](../../docs/contracts/resident-process-governance.md)).
|
|
160
160
|
|
|
161
161
|
## Validation
|
|
162
162
|
|
|
@@ -261,7 +261,7 @@ iter2 fixes A, breaks B, 92% → "PASS" ✗ regression ignored
|
|
|
261
261
|
`tests/fixtures/tamper-corpus/` and its polarity proven both ways by
|
|
262
262
|
`--self-test`.
|
|
263
263
|
* [`autonomous-execution`](../../rules/autonomous-execution.md) — the N=3 cap.
|
|
264
|
-
* [`resident-process-governance`](
|
|
264
|
+
* [`resident-process-governance`](../../docs/contracts/resident-process-governance.md) — the
|
|
265
265
|
runtime-free constraint this loop honors.
|
|
266
266
|
* Optional impact pre-step (when a code-graph is present, ADR-124): run
|
|
267
267
|
`agent-config code-graph affected --since <ref>` to scope which symbols a
|
|
@@ -26,7 +26,7 @@ Do NOT use for outward-facing fundraise pitch (route to Wing-3 `fundraising-narr
|
|
|
26
26
|
|
|
27
27
|
## Cognition cluster
|
|
28
28
|
|
|
29
|
-
- **Mental model 27 — Why now.** Vision without a *why now* is a wishlist. The market shift, technology wave, regulatory change, or demographic inflection that makes the vision *achievable in this window* is the load-bearing claim. See [`mental-models.md`](
|
|
29
|
+
- **Mental model 27 — Why now.** Vision without a *why now* is a wishlist. The market shift, technology wave, regulatory change, or demographic inflection that makes the vision *achievable in this window* is the load-bearing claim. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 27.
|
|
30
30
|
- **Mental model 1 — First principles.** Strip the vision to outcomes for a named cohort, not feature lists or company milestones. *"Be the X for Y"* is shape; *"customer C does outcome O 10× faster"* is substance. See `mental-models.md` § 1.
|
|
31
31
|
- **Mental model 21 — Second-order thinking.** *"If this vision is realised, what does the world look like in 5 years?"* If the answer is just *"we got bigger"*, the vision isn't load-bearing; if the answer is structural change (workflow shift, market re-shape), it is. See `mental-models.md` § 21.
|
|
32
32
|
- **Context-spine — org-stage + product + customer-segment.** Read **org-stage** for vision-horizon (pre-seed = 3-year survival vision; growth = 5–7-year market-shape vision; mature = 10-year). Read **product** for the realistic shipping shape. Read **customer-segment** for the cohort whose outcome anchors the vision.
|
|
@@ -47,7 +47,7 @@ quantitative funnel diagnosis ([`funnel-analysis`](../funnel-analysis/SKILL.md))
|
|
|
47
47
|
- **Mental model 15 — Signal vs noise.** A loud single reporter
|
|
48
48
|
swamps quiet recurring patterns; rank by **distinct authors**, not
|
|
49
49
|
comment count. See
|
|
50
|
-
[`docs/contracts/mental-models.md`](
|
|
50
|
+
[`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 15.
|
|
51
51
|
- **Mental model 14 — Pareto.** Roughly 20% of themes carry 80% of
|
|
52
52
|
the contact volume; cut the long tail explicitly so the team acts
|
|
53
53
|
on the head. See `mental-models.md` § 14.
|
|
@@ -57,7 +57,7 @@ quantitative funnel diagnosis ([`funnel-analysis`](../funnel-analysis/SKILL.md))
|
|
|
57
57
|
- **Product context-spine slot.** Read **product** for segments,
|
|
58
58
|
non-goals, and focal jobs; do not surface themes that fall outside
|
|
59
59
|
the declared scope without a scope-violation flag. See
|
|
60
|
-
[`context-spine`](
|
|
60
|
+
[`context-spine`](../../docs/contracts/context-spine.md).
|
|
61
61
|
|
|
62
62
|
## Procedure
|
|
63
63
|
|
|
@@ -36,7 +36,7 @@ subject lines or ad creative formats (channel-agnostic skill).
|
|
|
36
36
|
segment can recognise across surfaces is the voice that survives
|
|
37
37
|
contact with three writers under deadline. A five-attribute voice
|
|
38
38
|
that no one remembers is brand-theatre. See
|
|
39
|
-
[`docs/contracts/mental-models.md`](
|
|
39
|
+
[`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 13.
|
|
40
40
|
- **Mental model 15 — Signal vs. noise.** Voice is the
|
|
41
41
|
identification signal embedded in copy — without distinctiveness
|
|
42
42
|
it is noise that competes with every peer's noise. Cut to the
|
|
@@ -46,7 +46,7 @@ subject lines or ad creative formats (channel-agnostic skill).
|
|
|
46
46
|
for the proofs the voice must carry (a voice that promises what
|
|
47
47
|
the product cannot back is fiction); read **customer-segment**
|
|
48
48
|
for the listening-register the audience already lives in. See
|
|
49
|
-
[`context-spine`](
|
|
49
|
+
[`context-spine`](../../docs/contracts/context-spine.md).
|
|
50
50
|
|
|
51
51
|
## Procedure
|
|
52
52
|
|
|
@@ -101,7 +101,7 @@ branded, recommendation-bearing). A single refined implementation →
|
|
|
101
101
|
- Do NOT skip decision capture — an exploration round without a recorded
|
|
102
102
|
decision has to be re-litigated in the hi-fi round.
|
|
103
103
|
- Do NOT embed system internals (paths, skill/tool names) in the artifact —
|
|
104
|
-
Q13 in [`design-antipatterns.md`](
|
|
104
|
+
Q13 in [`design-antipatterns.md`](../../guidelines/design-antipatterns.md).
|
|
105
105
|
|
|
106
106
|
## Gotcha
|
|
107
107
|
|
|
@@ -127,5 +127,5 @@ A workspace-link answer MUST contain, in order:
|
|
|
127
127
|
## See also
|
|
128
128
|
|
|
129
129
|
- [`monorepo-workspace`](../monorepo-workspace/SKILL.md) — which manager, which workspaces, which graph.
|
|
130
|
-
- [`monorepo-antipatterns`](
|
|
130
|
+
- [`monorepo-antipatterns`](../../guidelines/monorepo-antipatterns.md) — the task-graph mistakes a `paths` patch hides.
|
|
131
131
|
- [`blast-radius-analyzer`](../blast-radius-analyzer/SKILL.md) — § Monorepo, once the edge exists.
|
|
@@ -14,7 +14,7 @@ Keep the format regular — 2-space indent, no tabs, no lists, one nesting
|
|
|
14
14
|
level only. The installer's YAML handler is a restricted stdlib parser, not
|
|
15
15
|
a full YAML engine. Ask the agent to normalize after manual edits — it
|
|
16
16
|
follows the merge rules in
|
|
17
|
-
[`layered-settings`](../
|
|
17
|
+
[`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
|
|
18
18
|
|
|
19
19
|
### Migration from the legacy `.agent-settings` (key=value)
|
|
20
20
|
|
|
@@ -36,7 +36,7 @@ This block defines the personal and project-level settings that
|
|
|
36
36
|
`scripts/install.ts` (via `config/agent-settings.template.yml`)
|
|
37
37
|
writes to `.agent-settings.yml` on first install. Subsequent edits are
|
|
38
38
|
made by the user directly or by the agent on request, following the
|
|
39
|
-
[section-aware merge rules](../
|
|
39
|
+
[section-aware merge rules](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
|
|
40
40
|
|
|
41
41
|
```yaml
|
|
42
42
|
# Agent Settings
|
|
@@ -597,7 +597,7 @@ linked_projects_max_files: 20000
|
|
|
597
597
|
|
|
598
598
|
Personal and project-level settings (initial file written by
|
|
599
599
|
`scripts/install.ts`, edits follow the merge rules in
|
|
600
|
-
[`layered-settings`](../
|
|
600
|
+
[`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)).
|
|
601
601
|
**Key paths use dot-notation** to denote nesting: `personal.user_name`
|
|
602
602
|
lives under `personal:` in YAML.
|
|
603
603
|
|
|
@@ -636,9 +636,9 @@ the canonical narrative lives in
|
|
|
636
636
|
| `subagents.implementer_model` | model alias or empty | _(empty)_ | Model for implementer subagents. Empty = same tier as session model. See [subagent-configuration](../contexts/subagent-configuration.md). |
|
|
637
637
|
| `subagents.judge_model` | model alias or empty | _(empty)_ | Model for judge subagents. Empty = one tier above implementer (opus if sonnet, sonnet if haiku). |
|
|
638
638
|
| `subagents.max_parallel` | integer | `3` | Maximum parallel subagent invocations. `1` serializes. |
|
|
639
|
-
| `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. Lives in the PROJECT settings (`agent-project-settings.example.yml` § roles), not in the personal template. See [`role-contracts`](../
|
|
639
|
+
| `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. Lives in the PROJECT settings (`agent-project-settings.example.yml` § roles), not in the personal template. See [`role-contracts`](../guidelines/agent-infra/role-contracts.md). |
|
|
640
640
|
| `roles.active_role` | same as `default_role` | _(empty)_ | Role currently active; set by `/mode <name>`, cleared by `/mode none`. Enables the `role-mode-adherence` rule. |
|
|
641
|
-
| `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../
|
|
641
|
+
| `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../guidelines/agent-infra/layered-settings.md). |
|
|
642
642
|
| `personas.ignore` | list of persona ids | `[]` | Persona ids dropped from the default cast locally. Ignored personas stay invokable via `--personas=<id>`. |
|
|
643
643
|
| `onboarding.onboarded` | `true`, `false` | `false` | Whether `/onboard` has run on this project. The `onboarding-gate` rule prompts for `/onboard` when this is `false`. Missing entirely = legacy project, treated as onboarded. |
|
|
644
644
|
| `commands.suggestion.enabled` | `true`, `false` | `true` | Master switch for the command-suggestion layer. `false` = the layer is silent; explicit `/commands` still work. See `rules/command-suggestion-policy.md`. |
|
|
@@ -732,7 +732,7 @@ they ship with a live consumer in code and get documented here, not before.
|
|
|
732
732
|
## Sync rules
|
|
733
733
|
|
|
734
734
|
When new settings are added to this template, the
|
|
735
|
-
[section-aware merge rules](../
|
|
735
|
+
[section-aware merge rules](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
|
|
736
736
|
govern the update:
|
|
737
737
|
|
|
738
738
|
1. Missing keys are added with their **default value** from this template,
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.ts (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "
|
|
42
|
+
agent_config_version: "15.0.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -91,9 +91,8 @@ tiny pages do.
|
|
|
91
91
|
|
|
92
92
|
## What this substrate is — honest framing
|
|
93
93
|
|
|
94
|
-
A **governed second-brain substrate**:
|
|
95
|
-
|
|
96
|
-
platforms), deterministic where safe (dedup, recurrence, index regen,
|
|
94
|
+
A **governed second-brain substrate**: a memory session index restored at
|
|
95
|
+
`session_start` across all 7 platforms, deterministic where safe (dedup, recurrence, index regen,
|
|
97
96
|
fold rollups, scale tripwires), human-gated where meaning is at stake
|
|
98
97
|
(consolidate gate, promotion, contested flow). It is **not**
|
|
99
98
|
self-organizing intelligence — the substrate is governed files, and the
|
|
@@ -111,7 +111,7 @@ none. **Intentional, not a bug.** The installer projects
|
|
|
111
111
|
resolve at agent runtime. The patterns below are correct by design:
|
|
112
112
|
|
|
113
113
|
- **Relative cross-references inside markdown rules / skills /
|
|
114
|
-
commands** like `[x](../
|
|
114
|
+
commands** like `[x](../guidelines/foo.md)` or
|
|
115
115
|
`[y](../contexts/bar.md)`. The base resolves from the file's
|
|
116
116
|
delivered location (e.g. `.augment/rules/<rule>.md`) — these paths
|
|
117
117
|
are valid via the `.augment/` tree, even when the file is symlinked
|
|
@@ -524,7 +524,7 @@ that was never a judgement call.
|
|
|
524
524
|
No material risks → the **exact** honest-null grammar; a bare "no
|
|
525
525
|
risks" sentence fails. Schema, staleness rule, and the grandfather
|
|
526
526
|
clause for pre-gate roadmaps:
|
|
527
|
-
[`plan-review-gates § 1`](
|
|
527
|
+
[`plan-review-gates § 1`](../docs/contracts/plan-review-gates.md).
|
|
528
528
|
`status: draft` roadmaps are exempt until flipped to ready. Enforced
|
|
529
529
|
by `lint_plan_risk_register` at pre-push + CI.
|
|
530
530
|
|
|
@@ -111,7 +111,7 @@ _Data source: ownership-map.yml + historical-bug-patterns.yml. …_
|
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
Curate `ownership-map.yml` and `historical-bug-patterns.yml` over time —
|
|
114
|
-
see
|
|
114
|
+
see `../../guidelines/agent-infra/review-routing-data-format.md` for
|
|
115
115
|
the full schema.
|
|
116
116
|
|
|
117
117
|
## Uninstall
|
|
@@ -191,5 +191,5 @@ whatever is under `agents/memory/`. Trigger manually with
|
|
|
191
191
|
Exit `0` = clean, `1` = violations (missing required fields, duplicate
|
|
192
192
|
ids, or obvious secrets — staleness alone is informational).
|
|
193
193
|
|
|
194
|
-
Schema reference:
|
|
194
|
+
Schema reference: `../../guidelines/agent-infra/engineering-memory-data-format.md`.
|
|
195
195
|
Schema examples: `.augment/templates/agents/memory/*.example.yml`.
|
|
@@ -87,7 +87,7 @@ Non-negotiable. Guardrails are encoded here.
|
|
|
87
87
|
|
|
88
88
|
*Author note (delete before publishing): this template targets the
|
|
89
89
|
7-section spine locked in
|
|
90
|
-
[`docs/contracts/user-type-schema.md`](
|
|
90
|
+
[`docs/contracts/user-type-schema.md`](../../docs/contracts/user-type-schema.md).
|
|
91
91
|
Stay within the **≤ 120 line** budget (file total, including
|
|
92
92
|
frontmatter). Replace every `{placeholder}` with concrete content
|
|
93
93
|
that passes the Anti-Generic Quality Bar (≥ 5 concrete review
|
package/dist/cli/registry.js
CHANGED
|
@@ -73,7 +73,7 @@ export const REGISTRY = [
|
|
|
73
73
|
{ name: 'affected', disposition: 'delegate', synopsis: 'Artefacts related to <artefact> via the discovery relation-graph (BFS).' },
|
|
74
74
|
{ name: 'graph-explain', disposition: 'delegate', synopsis: 'Seed on a <concept>, expand 2 hops over the discovery relation-graph with a node budget.' },
|
|
75
75
|
{ name: 'benchmark', disposition: 'delegate', synopsis: 'Report context-token reduction vs the full always-loaded projection.' },
|
|
76
|
-
{ name: 'code-graph', disposition: 'delegate', synopsis: 'Deterministic code-graph engine: build|detect|query|affected|path|explain|
|
|
76
|
+
{ name: 'code-graph', disposition: 'delegate', synopsis: 'Deterministic code-graph engine: build|detect|refresh|validate|query|affected|path|explain, plus the gate verbs impact|tests-for|untested|dead.' },
|
|
77
77
|
{ name: 'hooks:install', disposition: 'delegate', synopsis: 'Install the combined pre-commit hook.' },
|
|
78
78
|
{ name: 'hooks:status', disposition: 'delegate', synopsis: 'Print the runtime hook matrix (per-platform install + bindings).' },
|
|
79
79
|
{ name: 'hooks:doctor', disposition: 'delegate', synopsis: 'Diagnose hook health: concerns, posture, missing trampolines (read-only).' },
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env tsx
|
|
2
2
|
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
|
-
|
|
4
|
+
blocker_is_resolved,
|
|
5
|
+
collect,
|
|
6
|
+
parse_blockers
|
|
5
7
|
} from "./chunk-QAJS5YWY.js";
|
|
6
8
|
import "./chunk-ULET4BYS.js";
|
|
7
9
|
import {
|
|
@@ -132,6 +134,38 @@ function _git_mv(root, src_rel, dst_rel, dry_run) {
|
|
|
132
134
|
return { ok: false, tracked: false };
|
|
133
135
|
}
|
|
134
136
|
}
|
|
137
|
+
function _blockerStatuses(text) {
|
|
138
|
+
const out = /* @__PURE__ */ new Map();
|
|
139
|
+
for (const b of parse_blockers(text)) {
|
|
140
|
+
out.set(b.id, blocker_is_resolved(b) ? "resolved" : "open");
|
|
141
|
+
}
|
|
142
|
+
return out;
|
|
143
|
+
}
|
|
144
|
+
function _indexContent(root, rel) {
|
|
145
|
+
const cp = _run(["git", "show", `:${rel}`], root);
|
|
146
|
+
return cp.returncode === 0 ? cp.stdout : null;
|
|
147
|
+
}
|
|
148
|
+
function _blockerDivergence(root, rel, workTreeText) {
|
|
149
|
+
const staged = _indexContent(root, rel);
|
|
150
|
+
if (staged === null) {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
const wt = _blockerStatuses(workTreeText);
|
|
154
|
+
const idx = _blockerStatuses(staged);
|
|
155
|
+
const ids = [.../* @__PURE__ */ new Set([...wt.keys(), ...idx.keys()])].sort();
|
|
156
|
+
const out = [];
|
|
157
|
+
for (const id of ids) {
|
|
158
|
+
const a = idx.get(id);
|
|
159
|
+
const b = wt.get(id);
|
|
160
|
+
if (a === b) {
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
out.push(
|
|
164
|
+
`blocker '${id}': staged=${a ?? "absent"} vs working tree=${b ?? "absent"}`
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
return out;
|
|
168
|
+
}
|
|
135
169
|
function _fs_grep_files(root, needle) {
|
|
136
170
|
const SKIP = /* @__PURE__ */ new Set([".git", "node_modules", ".augment", "dist"]);
|
|
137
171
|
const hits = [];
|
|
@@ -275,9 +309,8 @@ function archive_completed(root, opts) {
|
|
|
275
309
|
);
|
|
276
310
|
const archived = [];
|
|
277
311
|
for (const stats of collect(roadmap_root)) {
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
);
|
|
312
|
+
const roadmapText = fs.readFileSync(path.join(roadmap_root, stats.rel), "utf-8");
|
|
313
|
+
const guarded = parseGuardedBaselines(roadmapText);
|
|
281
314
|
if (guarded.length > 0) {
|
|
282
315
|
process.stderr.write(
|
|
283
316
|
` \u26A0\uFE0F ${stats.rel}: ${guarded.length} guarded-baseline step(s) \u2014 not archived. Verify against the real mechanism, then flip to \`[x]\`.
|
|
@@ -320,6 +353,18 @@ function archive_completed(root, opts) {
|
|
|
320
353
|
if (changed_only && !touched.has(old_rel)) {
|
|
321
354
|
continue;
|
|
322
355
|
}
|
|
356
|
+
const divergence = _blockerDivergence(root, old_rel, roadmapText);
|
|
357
|
+
if (divergence.length > 0) {
|
|
358
|
+
process.stderr.write(
|
|
359
|
+
` \u26A0\uFE0F ${stats.rel}: staged and working-tree blockers disagree (${divergence.length}) \u2014 not archived. \`git mv\` would commit the staged content, which this sweep never validated. Stage or discard the change, then re-run.
|
|
360
|
+
`
|
|
361
|
+
);
|
|
362
|
+
for (const d of divergence) {
|
|
363
|
+
process.stderr.write(` \xB7 ${d}
|
|
364
|
+
`);
|
|
365
|
+
}
|
|
366
|
+
continue;
|
|
367
|
+
}
|
|
323
368
|
const new_rel = `agents/roadmaps/archive/${stats.rel}`;
|
|
324
369
|
const mv = _git_mv(root, old_rel, new_rel, dry_run);
|
|
325
370
|
if (!mv.ok) {
|
|
@@ -327,6 +372,9 @@ function archive_completed(root, opts) {
|
|
|
327
372
|
`);
|
|
328
373
|
continue;
|
|
329
374
|
}
|
|
375
|
+
if (!dry_run && mv.tracked) {
|
|
376
|
+
_run(["git", "add", "--", new_rel], root);
|
|
377
|
+
}
|
|
330
378
|
const refs = _inbound_ref_rewrite(root, old_rel, new_rel, dry_run, mv.tracked);
|
|
331
379
|
if (!dry_run && refs.length && mv.tracked) {
|
|
332
380
|
_run(["git", "add", "--", ...refs], root);
|
|
@@ -218,7 +218,18 @@ var MERGEABLE_KEYS = [
|
|
|
218
218
|
"knowledge.global_sharing.redaction.halt_on_trigger",
|
|
219
219
|
"knowledge.global_sharing.auto_promote_threshold",
|
|
220
220
|
"knowledge.global_sharing.freshness.hypothesis_after_days",
|
|
221
|
-
"knowledge.global_sharing.freshness.stale_after_days"
|
|
221
|
+
"knowledge.global_sharing.freshness.stale_after_days",
|
|
222
|
+
// `design.fidelity_mode` is a per-DEVELOPER working preference, not a
|
|
223
|
+
// per-project one: whether an agent may deviate from a handed-over design
|
|
224
|
+
// is a property of how that person works, and a designer who sets it once
|
|
225
|
+
// expects it in every checkout. `design-fidelity.md` already tells the
|
|
226
|
+
// reader to resolve it through the cascade — "that file is the project
|
|
227
|
+
// layer of a cascade that starts user-global" — and the cascade then
|
|
228
|
+
// filtered it out here, silently, so the rule's own instruction could not
|
|
229
|
+
// be followed. Class C, so a user still sets it by hand or through the
|
|
230
|
+
// GUI; whitelisting decides only whether the value SURVIVES the merge
|
|
231
|
+
// (ADR-271, road-to-design-intent-conformance 2.3).
|
|
232
|
+
"design.fidelity_mode"
|
|
222
233
|
];
|
|
223
234
|
var TEMPLATE_RELATIVE = path2.join("src", "config", "agent-settings.template.yml");
|
|
224
235
|
var _PACKAGE_ROOT = path2.resolve(path2.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
|
|
@@ -341,22 +341,35 @@ function listContinuityRecords(workspace_root) {
|
|
|
341
341
|
}
|
|
342
342
|
function resolveContinuityRecord(workspace_root, session_id) {
|
|
343
343
|
const id = String(session_id ?? "").trim();
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
return fs3.existsSync(own) ? { file: own, reason: `continuity record for this session (${safe_stem(id)})` } : { file: null, reason: `no continuity record for this session (${safe_stem(id)})` };
|
|
347
|
-
}
|
|
348
|
-
const candidates = listContinuityRecords(workspace_root);
|
|
344
|
+
const own = id === "" ? null : path3.join(workspace_root, recycle_envelope_rel(id));
|
|
345
|
+
const candidates = listContinuityRecords(workspace_root).filter((f) => f !== own);
|
|
349
346
|
if (candidates.length === 0) {
|
|
350
|
-
return {
|
|
347
|
+
return {
|
|
348
|
+
file: null,
|
|
349
|
+
reason: id === "" ? "no continuity record present" : `no predecessor record in this workspace (own: ${safe_stem(id)})`
|
|
350
|
+
};
|
|
351
351
|
}
|
|
352
352
|
if (candidates.length === 1) {
|
|
353
|
-
return {
|
|
353
|
+
return {
|
|
354
|
+
file: candidates[0],
|
|
355
|
+
reason: id === "" ? "one continuity record, no session id to key on" : `predecessor record, one candidate (own: ${safe_stem(id)})`
|
|
356
|
+
};
|
|
354
357
|
}
|
|
355
358
|
return {
|
|
356
359
|
file: null,
|
|
357
|
-
reason: `starting clean: ${candidates.length} continuity records in this workspace and no
|
|
360
|
+
reason: `starting clean: ${candidates.length} continuity records in this workspace and no way to tell which is the predecessor \u2014 resuming from the newest would resume a peer session, not this one`
|
|
358
361
|
};
|
|
359
362
|
}
|
|
363
|
+
function resolvePredecessor(projectRoot, sessionId) {
|
|
364
|
+
try {
|
|
365
|
+
const consumed = path3.join(projectRoot, recycle_consumed_rel(sessionId));
|
|
366
|
+
const raw = JSON.parse(fs3.readFileSync(consumed, "utf-8"));
|
|
367
|
+
const prior = String(raw.session_id ?? "").trim();
|
|
368
|
+
return prior === "" ? "none" : prior;
|
|
369
|
+
} catch {
|
|
370
|
+
return "none";
|
|
371
|
+
}
|
|
372
|
+
}
|
|
360
373
|
function predecessorTracePresent(workspace_root, predecessor) {
|
|
361
374
|
const id = String(predecessor ?? "").trim();
|
|
362
375
|
if (id === "" || id === "none") {
|
|
@@ -1104,6 +1117,7 @@ export {
|
|
|
1104
1117
|
recycle_envelope_rel,
|
|
1105
1118
|
recycle_consumed_rel,
|
|
1106
1119
|
resolveContinuityRecord,
|
|
1120
|
+
resolvePredecessor,
|
|
1107
1121
|
predecessorTracePresent,
|
|
1108
1122
|
env_session_id
|
|
1109
1123
|
};
|
|
@@ -170,7 +170,18 @@ var MERGEABLE_KEYS = [
|
|
|
170
170
|
"knowledge.global_sharing.redaction.halt_on_trigger",
|
|
171
171
|
"knowledge.global_sharing.auto_promote_threshold",
|
|
172
172
|
"knowledge.global_sharing.freshness.hypothesis_after_days",
|
|
173
|
-
"knowledge.global_sharing.freshness.stale_after_days"
|
|
173
|
+
"knowledge.global_sharing.freshness.stale_after_days",
|
|
174
|
+
// `design.fidelity_mode` is a per-DEVELOPER working preference, not a
|
|
175
|
+
// per-project one: whether an agent may deviate from a handed-over design
|
|
176
|
+
// is a property of how that person works, and a designer who sets it once
|
|
177
|
+
// expects it in every checkout. `design-fidelity.md` already tells the
|
|
178
|
+
// reader to resolve it through the cascade — "that file is the project
|
|
179
|
+
// layer of a cascade that starts user-global" — and the cascade then
|
|
180
|
+
// filtered it out here, silently, so the rule's own instruction could not
|
|
181
|
+
// be followed. Class C, so a user still sets it by hand or through the
|
|
182
|
+
// GUI; whitelisting decides only whether the value SURVIVES the merge
|
|
183
|
+
// (ADR-271, road-to-design-intent-conformance 2.3).
|
|
184
|
+
"design.fidelity_mode"
|
|
174
185
|
];
|
|
175
186
|
var TEMPLATE_RELATIVE = path.join("src", "config", "agent-settings.template.yml");
|
|
176
187
|
var _PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
|
|
@@ -684,6 +695,7 @@ export {
|
|
|
684
695
|
LOCAL_PROJECT_SUBDIR,
|
|
685
696
|
project_settings_path,
|
|
686
697
|
USER_GLOBAL_FILENAME,
|
|
698
|
+
user_global_settings_paths,
|
|
687
699
|
MERGEABLE_KEYS,
|
|
688
700
|
find_project_root_with_anchor,
|
|
689
701
|
find_project_root,
|
|
@@ -4063,7 +4063,8 @@ var confidenceBand = external_exports.enum(["off", "low", "medium", "high"]);
|
|
|
4063
4063
|
var onBlock = external_exports.enum(["stop", "ask", "warn"]);
|
|
4064
4064
|
var onBlockFallback = external_exports.enum(["stop", "warn"]);
|
|
4065
4065
|
var modelAutoSwitch = external_exports.enum(["auto", "suggest", "off"]);
|
|
4066
|
-
var leanProjectionMode = external_exports.enum(["eager-all", "thin"]);
|
|
4066
|
+
var leanProjectionMode = external_exports.enum(["eager-all", "thin", "delivery"]);
|
|
4067
|
+
var leanProjectionHost = external_exports.enum(["claude-code", "cursor", "cline"]);
|
|
4067
4068
|
var projectionMode = external_exports.enum(["legacy-all", "scoped"]);
|
|
4068
4069
|
var memoryCadence = external_exports.enum(["auto", "always", "never"]);
|
|
4069
4070
|
var projectAudience = external_exports.enum(["self", "internal", "client", "public"]);
|
|
@@ -4095,9 +4096,12 @@ var settingsSchema = external_exports.object({
|
|
|
4095
4096
|
),
|
|
4096
4097
|
lean_projection: external_exports.object({
|
|
4097
4098
|
mode: leanProjectionMode.default("eager-all").describe(
|
|
4098
|
-
"How the per-tool projector emits the rule layer. eager-all = every rule body inlined into every projection (
|
|
4099
|
+
"How the per-tool projector emits the rule layer. eager-all = every rule body inlined into every projection (safe; what an ABSENT key still resolves to, per ADR-267 decision point 4). thin = kernel rules full-bodied + non-kernel rules as router-resolved pointers (~45k GPT-tok lighter per session), with no delivery mechanism. delivery = thin stubs PLUS the rule-inject hook concern, which delivers a body back on a trigger match; this is the value the SHIPPED TEMPLATE carries for Claude Code since ADR-267, and the activation charge for it is paid in src/config/hook-token-budget.json (user_prompt_submit slot sum 4,096 -> 16,384)."
|
|
4100
|
+
),
|
|
4101
|
+
hosts: external_exports.array(leanProjectionHost).default(["claude-code"]).describe(
|
|
4102
|
+
"Which hosts a thinning mode may thin (ADR-267). Absent resolves to [claude-code]. Only the three hosts with a per-rule rule tree are accepted, and this enum is the AUTHORING layer: an id outside it is a hard validation FAILURE here and under validate_agent_settings, never a warning. resolveLeanProjectionHosts is the READ-TIME backstop for a hand-edited .agent-settings.yml that passed neither, and THERE the id is dropped with a warning (R2 finding 6 \u2014 the two layers answer differently and neither said so). Every host outside this list receives exactly what eager-all writes, asserted byte-for-byte by check_host_tree_parity."
|
|
4099
4103
|
)
|
|
4100
|
-
}).default({ mode: "eager-all" }),
|
|
4104
|
+
}).default({ mode: "eager-all", hosts: ["claude-code"] }),
|
|
4101
4105
|
cost: external_exports.object({
|
|
4102
4106
|
budgets: external_exports.object({
|
|
4103
4107
|
daily: external_exports.number().min(0).default(0).describe(
|
|
@@ -4193,7 +4197,7 @@ var settingsSchema = external_exports.object({
|
|
|
4193
4197
|
}),
|
|
4194
4198
|
chat_history: external_exports.object({
|
|
4195
4199
|
enabled: external_exports.boolean().default(true).describe(
|
|
4196
|
-
"Persist a structured log of every chat turn to
|
|
4200
|
+
"Persist a structured log of every chat turn to agents/runtime/.agent-chat-history (JSONL). Recording only \u2014 no command in this package replays a session from the file; it is a record on disk that a human or a later tool can read. Turn off if you never want chat transcripts on disk."
|
|
4197
4201
|
),
|
|
4198
4202
|
frequency: chatFreq.default("per_turn").describe(
|
|
4199
4203
|
"How often the chat-history writer flushes to disk. per_turn = after every user / agent exchange (default, lowest data loss on crash). per_phase = at phase boundaries (cheaper I/O). per_tool = after every tool call (highest fidelity, noisiest log)."
|
|
@@ -4259,8 +4263,24 @@ var settingsSchema = external_exports.object({
|
|
|
4259
4263
|
design: external_exports.object({
|
|
4260
4264
|
fidelity_mode: fidelityMode.default("strict").describe(
|
|
4261
4265
|
"How strictly the agent must follow a user-provided prototype / mockup / design system (consumed by the design-fidelity rule). strict = build 1:1, every visible deviation needs confirmation; structural = structure locked, silent gaps fillable with a stated assumption; hard-floor = any deviation is never autonomous."
|
|
4262
|
-
)
|
|
4263
|
-
|
|
4266
|
+
),
|
|
4267
|
+
approximation: external_exports.object({
|
|
4268
|
+
enabled: external_exports.boolean().default(false).describe(
|
|
4269
|
+
"Whether a value INSIDE the configured tolerance may be replaced by the project's own token without a per-value confirmation. Ships false. The distance from the artifact's value to the nearest project token is computed and REPORTED on every value row regardless of this switch \u2014 what it decides is whether the agent may act on it without asking. Turning it on for a whole install is a consumer-facing default flip and is owner-reserved (agents/roadmaps/stubs/road-to-frontend-power-default-flip.md); design.fidelity_mode: hard-floor overrides it to off."
|
|
4270
|
+
),
|
|
4271
|
+
tolerance: external_exports.object({
|
|
4272
|
+
color: external_exports.number().nullable().default(null).describe(
|
|
4273
|
+
'Colour distance below which a value may be reconciled, in OKLab \u0394EOK. Ships null, and null means "preserve and report" rather than "reconcile freely". No number is set because none is supported: zero of seven design-to-code benchmarks in the evidence set score token conformance, and a number in a config file \u2014 even flagged unmeasured \u2014 shapes behavior and acquires the authority of a default. Not an RGB channel delta: RGB distance is not perceptually uniform.'
|
|
4274
|
+
),
|
|
4275
|
+
length: external_exports.number().nullable().default(null).describe(
|
|
4276
|
+
"Length distance below which a value may be reconciled, in absolute CSS pixels. Ships null, same reasoning as color. GitHub Primer's \xB11px spacing widening is recorded as an externally observed candidate in src/scripts/_lib/design_tolerance.ts and is deliberately not the shipped value; max(1px, 2%) was rejected for growing more permissive at large dimensions with no evidence that this is wanted."
|
|
4277
|
+
)
|
|
4278
|
+
}).default({ color: null, length: null })
|
|
4279
|
+
}).default({ enabled: false, tolerance: { color: null, length: null } })
|
|
4280
|
+
}).default({
|
|
4281
|
+
fidelity_mode: "strict",
|
|
4282
|
+
approximation: { enabled: false, tolerance: { color: null, length: null } }
|
|
4283
|
+
}),
|
|
4264
4284
|
consistency: external_exports.object({
|
|
4265
4285
|
cross_source: crossSourceMode.default("on").describe(
|
|
4266
4286
|
"Consumed by the cross-source-consistency rule. When the agent works from multiple sources (ticket text, an attached image/mockup, the spec, the codebase) it checks them against each other and asks before proceeding on a discrepancy \u2014 instead of silently guessing. on (default) = surface every real cross-source contradiction / silent-scope-expansion as one question; auto = surface only high-confidence contradictions, state low-confidence as an assumption; off = no cross-source checking."
|
|
@@ -4462,6 +4482,14 @@ var settingsSchema = external_exports.object({
|
|
|
4462
4482
|
)
|
|
4463
4483
|
})
|
|
4464
4484
|
}),
|
|
4485
|
+
continuity: external_exports.object({
|
|
4486
|
+
auto_record: external_exports.enum(["on", "off"]).default("on").describe(
|
|
4487
|
+
"Deterministic continuity-record writer at session end (road-to-continuity-writer-activation Phase 1). on (default since 2026-09-10) = the session-eol concern writes the continuity_record capsule variant on Stop for a substantive session that has claimed a roadmap; every field is computed from on-disk state, with no model spend and no subprocess. off = no automatic record, and only the explicit agent-config session:recycle writes one. The default flipped once the parity evidence landed, so the normal path carries an automatic writer rather than a remembered command; session:recycle is retained because the automatic writer skips a session that claimed no roadmap and omits the git-status anchors."
|
|
4488
|
+
),
|
|
4489
|
+
run_checkpoints: external_exports.enum(["on", "off"]).default("on").describe(
|
|
4490
|
+
"Deterministic run-checkpoint production at session end (road-to-continuity-writer-activation Phase 1.4). on (default) = a session above the recycle threshold and inside a running roadmap contract leaves agents/runtime/state/checkpoints/<run>.json, so a killed run resumes from a derived checkpoint rather than from bookkeeping. off = no checkpoint; continuity writing, the recycle advisory and the context-fill surface are unaffected. Default ON because it is the behavior the tree already had \u2014 the switch exists to make the three session-end handlers independently disableable, not to change what ships."
|
|
4491
|
+
)
|
|
4492
|
+
}),
|
|
4465
4493
|
memory: external_exports.object({
|
|
4466
4494
|
cadence: memoryCadence.default("always").describe(
|
|
4467
4495
|
"Cadence of the \u{1F9E0} memory-visibility line after a memory-consulting step. always (default) = show whenever a memory type was asked; auto = show only when 3+ types were consulted (less noise); never = suppress. Distinct from rule_loading_tier \u2014 owns its own key since the 2026-06-01 untangle."
|