@event4u/agent-config 14.23.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 +198 -0
- package/README.md +1 -1
- package/dist/agent-src/commands/agent-handoff.md +8 -7
- package/dist/agent-src/commands/agents/init.md +1 -1
- package/dist/agent-src/commands/agents/user/accept.md +4 -4
- package/dist/agent-src/commands/agents/user/delete.md +2 -2
- package/dist/agent-src/commands/agents/user/init.md +3 -3
- package/dist/agent-src/commands/agents/user/review.md +3 -3
- package/dist/agent-src/commands/agents/user/show.md +3 -3
- package/dist/agent-src/commands/agents/user/update.md +2 -2
- package/dist/agent-src/commands/agents/user.md +6 -6
- package/dist/agent-src/commands/analytics/prune.md +1 -1
- package/dist/agent-src/commands/analytics/show.md +2 -2
- package/dist/agent-src/commands/analyze/decision.md +2 -2
- package/dist/agent-src/commands/analyze/inbox.md +5 -5
- package/dist/agent-src/commands/analyze/incident.md +3 -3
- package/dist/agent-src/commands/analyze/near-miss.md +3 -3
- package/dist/agent-src/commands/analyze/postmortem.md +4 -4
- package/dist/agent-src/commands/analyze/premortem.md +2 -2
- package/dist/agent-src/commands/analyze.md +2 -2
- package/dist/agent-src/commands/bug/fix.md +1 -1
- package/dist/agent-src/commands/bug/investigate.md +2 -2
- package/dist/agent-src/commands/cost/profile.md +3 -3
- package/dist/agent-src/commands/design.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +2 -2
- package/dist/agent-src/commands/feature/roadmap.md +2 -2
- package/dist/agent-src/commands/ghostwriter/fetch.md +4 -4
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/show.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +9 -9
- package/dist/agent-src/commands/humanize.md +6 -6
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/judge/solo.md +1 -1
- package/dist/agent-src/commands/judge.md +1 -1
- package/dist/agent-src/commands/knowledge/cross-repo.md +1 -1
- package/dist/agent-src/commands/knowledge/forget.md +1 -1
- package/dist/agent-src/commands/knowledge/ingest.md +2 -2
- package/dist/agent-src/commands/knowledge/list.md +1 -1
- package/dist/agent-src/commands/memory/add.md +3 -3
- package/dist/agent-src/commands/memory/load.md +4 -4
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +4 -4
- package/dist/agent-src/commands/memory/propose.md +2 -2
- package/dist/agent-src/commands/mode.md +5 -5
- package/dist/agent-src/commands/post-as/ghostwriter.md +3 -3
- package/dist/agent-src/commands/post-as/me.md +7 -7
- package/dist/agent-src/commands/pr/create.md +1 -1
- package/dist/agent-src/commands/pr/merge.md +1 -1
- package/dist/agent-src/commands/profile/activate.md +1 -1
- package/dist/agent-src/commands/profile/show.md +1 -1
- package/dist/agent-src/commands/research/deep.md +2 -2
- package/dist/agent-src/commands/research/report.md +2 -2
- package/dist/agent-src/commands/review/changes.md +1 -1
- package/dist/agent-src/commands/review/routing.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +1 -1
- package/dist/agent-src/commands/roadmap/materialize.md +2 -2
- package/dist/agent-src/commands/roadmap/next.md +1 -1
- package/dist/agent-src/commands/roadmap/process-full.md +2 -2
- package/dist/agent-src/commands/security-audit-config.md +3 -3
- package/dist/agent-src/commands/skill/preview.md +1 -1
- package/dist/agent-src/commands/skills/discover.md +1 -1
- package/dist/agent-src/commands/sync/agent-settings.md +2 -2
- package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
- package/dist/agent-src/commands/tests/create.md +1 -1
- package/dist/agent-src/commands/tests/e2e-heal.md +1 -1
- package/dist/agent-src/commands/tests/e2e-plan.md +1 -1
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +6 -6
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -2
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +88 -1
- package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +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 +1 -1
- package/dist/agent-src/contexts/execution/cheap-question-mechanics.md +1 -1
- package/dist/agent-src/contexts/execution/contract-decision-sheet.md +3 -3
- package/dist/agent-src/contexts/execution/mandated-lines.md +1 -1
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +1 -1
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +1 -1
- package/dist/agent-src/contexts/execution/plan-confidence-gate.md +5 -5
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -1
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +1 -1
- package/dist/agent-src/contexts/execution/subagent-routing.md +2 -2
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +1 -1
- package/dist/agent-src/contexts/execution/user-memory-channels.md +3 -3
- package/dist/agent-src/contexts/execution/verification-mechanics.md +1 -1
- package/dist/agent-src/contexts/judges/persona-voice-rubric.md +2 -2
- package/dist/agent-src/guidelines/abstraction-thresholds.md +88 -0
- package/dist/agent-src/guidelines/agent-infra/5w2h-analysis.md +260 -0
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +99 -0
- package/dist/agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +325 -0
- package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +177 -0
- package/dist/agent-src/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +222 -0
- package/dist/agent-src/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
- package/dist/agent-src/guidelines/agent-infra/asking-and-brevity-examples.md +198 -0
- package/dist/agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
- package/dist/agent-src/guidelines/agent-infra/carve-out-predicates.md +17 -0
- package/dist/agent-src/guidelines/agent-infra/comparison-matrix.md +179 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +165 -0
- package/dist/agent-src/guidelines/agent-infra/corpus-grounding-authoring.md +91 -0
- package/dist/agent-src/guidelines/agent-infra/critical-thinking.md +156 -0
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
- package/dist/agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
- package/dist/agent-src/guidelines/agent-infra/direct-answers-demos.md +142 -0
- package/dist/agent-src/guidelines/agent-infra/domain-adoption-gates.md +112 -0
- package/dist/agent-src/guidelines/agent-infra/domain-eval-anti-pattern.md +53 -0
- package/dist/agent-src/guidelines/agent-infra/domain-pack-architecture.md +56 -0
- package/dist/agent-src/guidelines/agent-infra/downstream-changes-mechanics.md +91 -0
- package/dist/agent-src/guidelines/agent-infra/emphasis-budget.md +45 -0
- package/dist/agent-src/guidelines/agent-infra/engineering-memory-data-format.md +210 -0
- package/dist/agent-src/guidelines/agent-infra/evaluator-independence-mechanics.md +92 -0
- package/dist/agent-src/guidelines/agent-infra/existence-question-verdicts.md +80 -0
- package/dist/agent-src/guidelines/agent-infra/failure-signatures.md +70 -0
- package/dist/agent-src/guidelines/agent-infra/false-green.md +233 -0
- package/dist/agent-src/guidelines/agent-infra/first-principles.md +192 -0
- package/dist/agent-src/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +169 -0
- package/dist/agent-src/guidelines/agent-infra/gate-authoring.md +177 -0
- package/dist/agent-src/guidelines/agent-infra/guarded-baseline.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/installed-tools-manifest.md +142 -0
- package/dist/agent-src/guidelines/agent-infra/inversion-thinking.md +388 -0
- package/dist/agent-src/guidelines/agent-infra/ios-simulator-guide.md +378 -0
- package/dist/agent-src/guidelines/agent-infra/language-and-tone-examples.md +141 -0
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +317 -0
- package/dist/agent-src/guidelines/agent-infra/linked-projects-onboarding-gate.md +80 -0
- package/dist/agent-src/guidelines/agent-infra/mcp-request-signing.md +197 -0
- package/dist/agent-src/guidelines/agent-infra/memory-access.md +149 -0
- package/dist/agent-src/guidelines/agent-infra/mental-models.md +314 -0
- package/dist/agent-src/guidelines/agent-infra/minimal-safe-diff-mechanics.md +241 -0
- package/dist/agent-src/guidelines/agent-infra/missing-tool-handling.md +66 -0
- package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +101 -0
- package/dist/agent-src/guidelines/agent-infra/naming.md +69 -0
- package/dist/agent-src/guidelines/agent-infra/notes-horizon-mechanics.md +90 -0
- package/dist/agent-src/guidelines/agent-infra/output-patterns.md +117 -0
- package/dist/agent-src/guidelines/agent-infra/recurring-criticism-mechanics.md +96 -0
- package/dist/agent-src/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
- package/dist/agent-src/guidelines/agent-infra/review-routing-data-format.md +143 -0
- package/dist/agent-src/guidelines/agent-infra/roadmap-deferred-resolution-provenance.md +54 -0
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +274 -0
- package/dist/agent-src/guidelines/agent-infra/role-contracts.md +209 -0
- package/dist/agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
- package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +241 -0
- package/dist/agent-src/guidelines/agent-infra/rule-type-governance.md +73 -0
- package/dist/agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
- package/dist/agent-src/guidelines/agent-infra/scqa-framework.md +526 -0
- package/dist/agent-src/guidelines/agent-infra/security-lint-containment.md +121 -0
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +134 -0
- package/dist/agent-src/guidelines/agent-infra/simplicity-and-goal-demos.md +211 -0
- package/dist/agent-src/guidelines/agent-infra/six-hats.md +353 -0
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +229 -0
- package/dist/agent-src/guidelines/agent-infra/skill-quality-checklist.md +157 -0
- package/dist/agent-src/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
- package/dist/agent-src/guidelines/agent-infra/symptom-driven-harvest-loop.md +104 -0
- package/dist/agent-src/guidelines/agent-infra/systems-thinking.md +220 -0
- package/dist/agent-src/guidelines/agent-infra/tool-description-as-policy.md +35 -0
- package/dist/agent-src/guidelines/agent-infra/tool-integration.md +73 -0
- package/dist/agent-src/guidelines/agent-infra/traceability-field-mechanics.md +50 -0
- package/dist/agent-src/guidelines/agent-infra/untrusted-input-spotlighting.md +166 -0
- package/dist/agent-src/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
- package/dist/agent-src/guidelines/augment-portability-patterns.md +70 -0
- package/dist/agent-src/guidelines/code-clarity.md +350 -0
- package/dist/agent-src/guidelines/component-oriented-and-oop-development.md +189 -0
- package/dist/agent-src/guidelines/cross-role-handoff.md +127 -0
- package/dist/agent-src/guidelines/design-antipatterns-triggers.json +18 -0
- package/dist/agent-src/guidelines/design-antipatterns.md +327 -0
- package/dist/agent-src/guidelines/design-asset-discipline.md +38 -0
- package/dist/agent-src/guidelines/design-canon.md +63 -0
- package/dist/agent-src/guidelines/design-fidelity-mechanics.md +293 -0
- package/dist/agent-src/guidelines/design-fidelity-routing.md +78 -0
- package/dist/agent-src/guidelines/design-handover-extraction.md +117 -0
- package/dist/agent-src/guidelines/design-modes.md +143 -0
- package/dist/agent-src/guidelines/design-reconciliation.md +172 -0
- package/dist/agent-src/guidelines/docs/readme-size-and-splitting.md +209 -0
- package/dist/agent-src/guidelines/e2e/playwright.md +363 -0
- package/dist/agent-src/guidelines/gtm-handoff.md +114 -0
- package/dist/agent-src/guidelines/monorepo-antipatterns.md +141 -0
- package/dist/agent-src/guidelines/php/api-design.md +115 -0
- package/dist/agent-src/guidelines/php/artisan-commands.md +81 -0
- package/dist/agent-src/guidelines/php/blade-ui.md +78 -0
- package/dist/agent-src/guidelines/php/controllers.md +90 -0
- package/dist/agent-src/guidelines/php/database.md +194 -0
- package/dist/agent-src/guidelines/php/eloquent.md +208 -0
- package/dist/agent-src/guidelines/php/flux.md +80 -0
- package/dist/agent-src/guidelines/php/general.md +207 -0
- package/dist/agent-src/guidelines/php/git.md +164 -0
- package/dist/agent-src/guidelines/php/jobs.md +111 -0
- package/dist/agent-src/guidelines/php/livewire.md +71 -0
- package/dist/agent-src/guidelines/php/logging.md +79 -0
- package/dist/agent-src/guidelines/php/naming.md +89 -0
- package/dist/agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
- package/dist/agent-src/guidelines/php/patterns/dtos.md +199 -0
- package/dist/agent-src/guidelines/php/patterns/events.md +67 -0
- package/dist/agent-src/guidelines/php/patterns/factory.md +53 -0
- package/dist/agent-src/guidelines/php/patterns/pipelines.md +66 -0
- package/dist/agent-src/guidelines/php/patterns/policies.md +66 -0
- package/dist/agent-src/guidelines/php/patterns/repositories.md +122 -0
- package/dist/agent-src/guidelines/php/patterns/service-layer.md +64 -0
- package/dist/agent-src/guidelines/php/patterns/strategy.md +247 -0
- package/dist/agent-src/guidelines/php/patterns.md +28 -0
- package/dist/agent-src/guidelines/php/performance.md +92 -0
- package/dist/agent-src/guidelines/php/php-coding-patterns.md +80 -0
- package/dist/agent-src/guidelines/php/resources.md +100 -0
- package/dist/agent-src/guidelines/php/security.md +110 -0
- package/dist/agent-src/guidelines/php/sql.md +97 -0
- package/dist/agent-src/guidelines/php/validations.md +119 -0
- package/dist/agent-src/guidelines/php/websocket.md +100 -0
- package/dist/agent-src/guidelines/prompt-templates.md +189 -0
- package/dist/agent-src/guidelines/redundancy-taxonomy.md +208 -0
- package/dist/agent-src/guidelines/wing4-handoff.md +127 -0
- package/dist/agent-src/personas/README.md +1 -1
- package/dist/agent-src/personas/_template-specialist/persona.md +1 -1
- package/dist/agent-src/personas/product-owner.md +1 -1
- package/dist/agent-src/rules/active-remediation.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
- package/dist/agent-src/rules/ask-when-uncertain.md +2 -2
- package/dist/agent-src/rules/brand-source-of-truth.md +9 -7
- package/dist/agent-src/rules/code-comment-discipline.md +2 -2
- package/dist/agent-src/rules/code-provenance.md +1 -1
- package/dist/agent-src/rules/content-quoting-floor.md +1 -1
- package/dist/agent-src/rules/context-hygiene.md +5 -5
- package/dist/agent-src/rules/cross-source-consistency.md +1 -1
- package/dist/agent-src/rules/design-fidelity.md +36 -46
- package/dist/agent-src/rules/direct-answers.md +2 -2
- package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
- package/dist/agent-src/rules/evaluator-independence.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/icon-consistency.md +5 -1
- package/dist/agent-src/rules/improve-before-implement.md +1 -1
- package/dist/agent-src/rules/language-and-tone.md +3 -3
- package/dist/agent-src/rules/minimal-safe-diff.md +1 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +2 -2
- package/dist/agent-src/rules/recurring-criticism.md +1 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +1 -1
- package/dist/agent-src/rules/role-mode-adherence.md +2 -2
- package/dist/agent-src/rules/security-sensitive-stop.md +1 -1
- package/dist/agent-src/rules/size-enforcement.md +1 -1
- package/dist/agent-src/rules/source-confidentiality.md +2 -2
- package/dist/agent-src/rules/think-before-action.md +1 -1
- package/dist/agent-src/rules/token-efficiency.md +7 -5
- package/dist/agent-src/rules/ui-audit-gate.md +3 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +3 -3
- package/dist/agent-src/skills/activation-design/SKILL.md +2 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +5 -5
- package/dist/agent-src/skills/ai-council/SKILL.md +1 -1
- package/dist/agent-src/skills/ai-council/references/advanced-modes.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/brand-to-tokens/SKILL.md +24 -3
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
- package/dist/agent-src/skills/churn-prevention/SKILL.md +2 -2
- package/dist/agent-src/skills/code-refactoring/SKILL.md +3 -3
- package/dist/agent-src/skills/code-review/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/comp-banding/SKILL.md +1 -1
- package/dist/agent-src/skills/competitive-moat-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
- package/dist/agent-src/skills/complexity-first-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -2
- package/dist/agent-src/skills/contracts-cognition/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +2 -2
- package/dist/agent-src/skills/customer-research/SKILL.md +2 -2
- package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
- package/dist/agent-src/skills/data-handling-judgment/SKILL.md +1 -1
- package/dist/agent-src/skills/deal-qualification-meddic/SKILL.md +2 -2
- package/dist/agent-src/skills/decision-record/SKILL.md +3 -3
- package/dist/agent-src/skills/decision-review/SKILL.md +8 -8
- package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +22 -22
- package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
- package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +2 -2
- package/dist/agent-src/skills/design-review/SKILL.md +4 -4
- package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -1
- package/dist/agent-src/skills/design-tokens/SKILL.md +17 -2
- package/dist/agent-src/skills/design-variations/SKILL.md +2 -2
- package/dist/agent-src/skills/developer-like-execution/SKILL.md +2 -2
- package/dist/agent-src/skills/discovery-interview/SKILL.md +2 -2
- package/dist/agent-src/skills/doc-coauthoring/SKILL.md +3 -3
- package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -2
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +44 -1
- package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +2 -2
- package/dist/agent-src/skills/expansion-playbook/SKILL.md +2 -2
- package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
- package/dist/agent-src/skills/experiment-loop/references/protocol.md +1 -1
- package/dist/agent-src/skills/fe-design/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +1 -1
- package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +3 -3
- package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/flux/SKILL.md +1 -1
- package/dist/agent-src/skills/forecast-accuracy/SKILL.md +2 -2
- package/dist/agent-src/skills/forecasting/SKILL.md +2 -2
- package/dist/agent-src/skills/fundraising-narrative/SKILL.md +2 -2
- package/dist/agent-src/skills/funnel-analysis/SKILL.md +2 -2
- package/dist/agent-src/skills/gtm-launch/SKILL.md +2 -2
- package/dist/agent-src/skills/hiring-loop-design/SKILL.md +1 -1
- package/dist/agent-src/skills/html-deck/SKILL.md +5 -5
- package/dist/agent-src/skills/humanizer/SKILL.md +1 -1
- package/dist/agent-src/skills/humanizer/data/patterns.md +1 -1
- package/dist/agent-src/skills/iconography/SKILL.md +3 -3
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
- package/dist/agent-src/skills/laravel-api-endpoint/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +3 -3
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +6 -6
- package/dist/agent-src/skills/livewire/SKILL.md +1 -1
- package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +3 -3
- package/dist/agent-src/skills/messaging-architecture/SKILL.md +2 -2
- package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
- package/dist/agent-src/skills/onboarding-design/SKILL.md +2 -2
- package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
- package/dist/agent-src/skills/one-on-one-cadence/SKILL.md +1 -1
- package/dist/agent-src/skills/org-design/SKILL.md +1 -1
- package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +3 -3
- package/dist/agent-src/skills/override-management/SKILL.md +1 -1
- package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
- package/dist/agent-src/skills/persona-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/php-coder/SKILL.md +1 -1
- package/dist/agent-src/skills/pipeline-strategy/SKILL.md +2 -2
- package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -3
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/positioning-strategy/SKILL.md +2 -2
- package/dist/agent-src/skills/privacy-review/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-optimizer/SKILL.md +3 -3
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +2 -2
- package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
- package/dist/agent-src/skills/release-comms/SKILL.md +2 -2
- package/dist/agent-src/skills/retention-loops/SKILL.md +2 -2
- package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-management/SKILL.md +1 -1
- package/dist/agent-src/skills/roadmap-management/references/archival.md +1 -1
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/rule-writing/SKILL.md +6 -6
- package/dist/agent-src/skills/runway-cognition/SKILL.md +2 -2
- package/dist/agent-src/skills/scenario-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-writing/references/procedure.md +1 -1
- package/dist/agent-src/skills/skill-writing/references/section-patterns.md +3 -3
- package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -3
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/supply-chain-intake/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +11 -5
- package/dist/agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +1 -1
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +28 -8
- package/dist/agent-src/skills/unit-economics-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/upstream-contribute/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +2 -2
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/skills/vision-articulation/SKILL.md +1 -1
- package/dist/agent-src/skills/voc-extract/SKILL.md +2 -2
- package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +2 -2
- package/dist/agent-src/skills/wireframe/SKILL.md +1 -1
- package/dist/agent-src/skills/workspace-link/SKILL.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +6 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/contexts/knowledge-pages.md +2 -3
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/roadmaps.md +1 -1
- package/dist/agent-src/templates/scripts/README.md +2 -2
- package/dist/agent-src/user-types/_template/user-type.md +1 -1
- package/dist/cli-delegate/check_update_banner.js +12 -1
- package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
- package/dist/cli-delegate/{chunk-IAI3XL43.js → chunk-3FKR64R5.js} +22 -6
- package/dist/cli-delegate/{chunk-J3RFNKG4.js → chunk-55ACLDUE.js} +2 -2
- package/dist/cli-delegate/{chunk-PKOBQADP.js → chunk-57PN4GYJ.js} +1 -1
- package/dist/cli-delegate/{chunk-KCNTUSPI.js → chunk-AK6HODNQ.js} +4 -4
- package/dist/cli-delegate/{chunk-2FTMENJL.js → chunk-GYC3VRYN.js} +1 -1
- package/dist/cli-delegate/{chunk-LWTYTX6F.js → chunk-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 +4 -4
- 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 +1 -1
- 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 +22 -75
- 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 +8607 -8930
- package/dist/install/install.mjs +35 -8
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1433 -1342
- 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/condense.js +2 -5
- package/dist/server/io/yamlIO.js +125 -17
- package/dist/server/schemas/settings.js +18 -4
- package/dist/shared/settingsSurface.js +6 -1
- package/docs/contracts/settings-classes.md +18 -9
- package/docs/guidelines/abstraction-thresholds.md +35 -0
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +3 -3
- package/docs/guidelines/agent-infra/false-green.md +2 -2
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +1 -1
- package/docs/guidelines/design-fidelity-mechanics.md +4 -0
- package/docs/guidelines/design-fidelity-routing.md +78 -0
- package/docs/guidelines/design-reconciliation.md +172 -0
- package/docs/guidelines/gtm-handoff.md +2 -2
- package/docs/guidelines/wing4-handoff.md +2 -2
- package/package.json +7 -3
- package/src/config/agent-settings.template.yml +55 -8
- package/src/config/ci-local-parity.yml +34 -0
- package/src/config/continuity-surface.json +4 -32
- package/src/config/gate-coverage.yml +31 -8
- package/src/config/gate-reachability-exemptions.json +1 -0
- package/src/config/gate-violation-baselines.json +3 -3
- package/src/config/hook-token-budget.json +1 -1
- package/src/config/host-injection-effect.json +2 -2
- package/src/config/pack-size-budget.json +55 -4
- package/src/config/platform-anchor.json +47 -0
- package/src/config/preamble-payload-budget.json +2 -3
- package/src/config/publish-surface.json +4 -2
- package/src/config/ratification-policy.json +7 -0
- package/src/config/rule-stub-ceilings.json +16 -9
- package/src/scripts/_cli/cmd_settings_get.ts +22 -7
- package/src/scripts/_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_writer.ts +72 -13
- package/src/scripts/_lib/design_system_import.ts +20 -0
- package/src/scripts/_lib/design_tolerance.ts +281 -0
- package/src/scripts/_lib/guidelines_lane.ts +164 -0
- package/src/scripts/_lib/obligation_frequency.ts +2 -3
- package/src/scripts/_lib/platform_anchor.ts +1053 -0
- package/src/scripts/_lib/ratification_artifact.ts +278 -0
- package/src/scripts/_lib/security_lint.ts +23 -2
- package/src/scripts/_lib/self_repair.ts +21 -0
- package/src/scripts/_lib/session_index_trust.ts +42 -1
- package/src/scripts/_lib/standing_bound_ratchet.ts +103 -37
- package/src/scripts/_lib/tolerance_shadow.ts +177 -0
- package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
- package/src/scripts/autonomy_friction_traffic.ts +379 -0
- package/src/scripts/check_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 +292 -4
- package/src/scripts/check_projected_rule_routes.ts +395 -0
- package/src/scripts/code_graph/cli.ts +6 -0
- package/src/scripts/condense.ts +2 -6
- package/src/scripts/generate_host_cost_table.ts +354 -0
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +35 -27
- package/src/scripts/hooks/category_a.ts +1 -1
- package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
- package/src/scripts/hooks/session_eol_hook.ts +68 -154
- package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
- package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
- package/src/scripts/hot_context_hook.ts +41 -401
- package/src/scripts/lint_evidence_artifacts.ts +1 -0
- package/src/scripts/lint_knowledge_scale.ts +0 -26
- package/src/scripts/memory_lookup.ts +9 -9
- package/src/scripts/report_standing_payload_by_host.ts +7 -7
- package/src/scripts/session_memory_index.ts +5 -0
- package/src/scripts/sync_agent_settings.ts +270 -10
- package/src/server/io/yamlIO.ts +127 -17
- package/src/server/schemas/settings.ts +25 -5
- package/src/shared/settingsSurface.ts +13 -2
- package/src/templates/compact-instructions.md +8 -3
- package/dist/agent-src/commands/chat-history/import.md +0 -170
- package/dist/agent-src/commands/chat-history.md +0 -63
|
@@ -175,6 +175,6 @@ counter and is the first thing to look at before adding a sixth line.
|
|
|
175
175
|
|
|
176
176
|
## See also
|
|
177
177
|
|
|
178
|
-
- [`docs/contracts/settings-classes.md`](
|
|
178
|
+
- [`docs/contracts/settings-classes.md`](../../docs/contracts/settings-classes.md) — a sibling contract in the same shape: prose that a gate reads.
|
|
179
179
|
- [`verify-before-complete`](../../rules/verify-before-complete.md) — the evidence gate the pre-send sweep runs beside.
|
|
180
180
|
- `src/scripts/lint_mandated_lines.ts` — the deterministic half.
|
|
@@ -127,6 +127,6 @@ A misbehaving heuristic is disabled by config, not by reverting 6.1.0.
|
|
|
127
127
|
|
|
128
128
|
## See also
|
|
129
129
|
|
|
130
|
-
- [`command-clusters`](
|
|
130
|
+
- [`command-clusters`](../../docs/contracts/command-clusters.md) — the locked cluster/sub-command set.
|
|
131
131
|
- [`user-interaction`](../../rules/user-interaction.md) — numbered-options + recommendation rules the interactive path obeys.
|
|
132
132
|
- [`non-destructive-by-default`](../../rules/non-destructive-by-default.md) — the Hard Floor destructive sub-commands still answer to.
|
|
@@ -243,7 +243,7 @@ removes or tightens THE TRIGGER, and the removal PR cites the numbers.
|
|
|
243
243
|
|
|
244
244
|
## Related
|
|
245
245
|
|
|
246
|
-
- [`audit-log-v1`](
|
|
246
|
+
- [`audit-log-v1`](../../docs/contracts/audit-log-v1.md) — the frozen
|
|
247
247
|
JSONL contract this object rides on; the `orchestration` field is optional
|
|
248
248
|
and additive, schema_version unchanged.
|
|
249
249
|
- [`host-capability-manifest`](host-capability-manifest.md) — the manifest that
|
|
@@ -7,7 +7,7 @@ the [`roadmap-writing`](../../skills/roadmap-writing/SKILL.md) skill,
|
|
|
7
7
|
[`/feature:roadmap`](../../commands/feature/roadmap.md) — each of which links
|
|
8
8
|
here instead of restating the gate. Machine-checked grammars (the C→R1 state
|
|
9
9
|
schema, marker lines) are owned by
|
|
10
|
-
[`docs/contracts/plan-review-gates.md`](
|
|
10
|
+
[`docs/contracts/plan-review-gates.md`](../../docs/contracts/plan-review-gates.md);
|
|
11
11
|
this context carries the agent-side procedure.
|
|
12
12
|
|
|
13
13
|
## Activation
|
|
@@ -22,7 +22,7 @@ equivalents drop the gate immediately
|
|
|
22
22
|
(`DE: "einfach schreiben", "Interview überspringen" · EN: "just write it", "skip the interview"`).
|
|
23
23
|
A bypass is **counted**, never punished: append a `gate_c_bypass` event to
|
|
24
24
|
`agents/evidence/metrics/gate-metrics.jsonl` (see
|
|
25
|
-
[`plan-review-gates § metrics`](
|
|
25
|
+
[`plan-review-gates § metrics`](../../docs/contracts/plan-review-gates.md))
|
|
26
26
|
so gate erosion stays visible.
|
|
27
27
|
|
|
28
28
|
## When it fires — and when NOT
|
|
@@ -127,7 +127,7 @@ On completing the gate (either path that ran an interview), write
|
|
|
127
127
|
`agents/runtime/state/gate-c-<plan-slug>.json` so the R1 risk pass never
|
|
128
128
|
re-asks resolved branches — the user is never interviewed twice for one
|
|
129
129
|
plan. Schema (canonical:
|
|
130
|
-
[`plan-review-gates § C→R1 handoff`](
|
|
130
|
+
[`plan-review-gates § C→R1 handoff`](../../docs/contracts/plan-review-gates.md)):
|
|
131
131
|
resolved branches, plan hash, timestamp, and a mandatory `transcript_ref`
|
|
132
132
|
(path + content hash of the interview transcript artifact).
|
|
133
133
|
|
|
@@ -136,7 +136,7 @@ resolved branches, plan hash, timestamp, and a mandatory `transcript_ref`
|
|
|
136
136
|
lint and no hook entry behind it, and the state file is gitignored so CI never
|
|
137
137
|
sees it — a human reading the diff is what catches a violation (stated
|
|
138
138
|
`enforced_by: none` in
|
|
139
|
-
[`plan-review-gates § 4.1`](
|
|
139
|
+
[`plan-review-gates § 4.1`](../../docs/contracts/plan-review-gates.md)).
|
|
140
140
|
The rule defends against silent agent shortcuts, not against the local human
|
|
141
141
|
(who holds the settings escape hatch anyway).
|
|
142
142
|
Confident-path runs (no interview) write no state file; R1 then runs its
|
|
@@ -155,7 +155,7 @@ risk pass fresh.
|
|
|
155
155
|
|
|
156
156
|
- [`/challenge-me vision`](../../commands/challenge-me/vision.md) — the four
|
|
157
157
|
95%-conditions and the interview this gate routes into.
|
|
158
|
-
- [`plan-review-gates`](
|
|
158
|
+
- [`plan-review-gates`](../../docs/contracts/plan-review-gates.md) — machine
|
|
159
159
|
grammars: C→R1 state schema, Risk Register, completion review.
|
|
160
160
|
- [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) — the
|
|
161
161
|
one-question-per-turn floor the degrade protocol runs under.
|
|
@@ -191,7 +191,7 @@ bodies.
|
|
|
191
191
|
Identity semantics, revision semantics, the three senses of "gate" and the
|
|
192
192
|
`[AC:<id>]` convention — including the verified fact that nothing parses
|
|
193
193
|
`verify:` lines structurally today — are in
|
|
194
|
-
[`guideline:agent-infra/traceability-field-mechanics`](
|
|
194
|
+
[`guideline:agent-infra/traceability-field-mechanics`](../../guidelines/agent-infra/traceability-field-mechanics.md).
|
|
195
195
|
They are not optional reading: a slug grammar does not imply a namespace, and
|
|
196
196
|
`evidence_refs` are syntactically safe tokens rather than verified evidence.
|
|
197
197
|
|
|
@@ -114,7 +114,7 @@ Cross-wing or cross-skill chain executed across isolated git
|
|
|
114
114
|
worktrees — each handoff in the chain runs in its own worktree, so
|
|
115
115
|
the workspace state of one step never leaks into the next. Operationalizes
|
|
116
116
|
the worktree boundary clause in
|
|
117
|
-
[`docs/contracts/cross-wing-handoff.md`](
|
|
117
|
+
[`docs/contracts/cross-wing-handoff.md`](../../docs/contracts/cross-wing-handoff.md)
|
|
118
118
|
§ 3. State-machine layer only — worktree creation/destruction lives
|
|
119
119
|
in [`using-git-worktrees`](../../skills/using-git-worktrees/SKILL.md) and
|
|
120
120
|
[`finishing-a-development-branch`](../../skills/finishing-a-development-branch/SKILL.md).
|
|
@@ -49,7 +49,7 @@ THE SAME MINUS THE QUOTA WIN.
|
|
|
49
49
|
for a removed category — and because `session_tier` sits non-null in 0 of 327
|
|
50
50
|
records, leaving the saving unmeasurable in principle. Migration record and
|
|
51
51
|
the union revisit-if:
|
|
52
|
-
[`budget-routing` contract](
|
|
52
|
+
[`budget-routing` contract](../../docs/contracts/budget-routing.md).
|
|
53
53
|
**Tier resolution therefore ends at step 3.** What survives of the module is
|
|
54
54
|
`TIER_ORDER` and `readCooldowns`, read by `routing:doctor` as a diagnostic —
|
|
55
55
|
monitoring, not routing, and note that nothing writes the cool-down file any
|
|
@@ -177,7 +177,7 @@ This resolves the direction; it does not license downshifting as a target. The
|
|
|
177
177
|
cold start is paid per leg regardless of tier, which is precisely what the
|
|
178
178
|
non-escalation floor above bounds. Analogous downgrade/cache coupling on the
|
|
179
179
|
council side: see
|
|
180
|
-
[`docs/contracts/ai-council-config.md`](
|
|
180
|
+
[`docs/contracts/ai-council-config.md`](../../docs/contracts/ai-council-config.md)
|
|
181
181
|
§ `model_downgrade` for the analogous downgrade/cache coupling this suite
|
|
182
182
|
already ships on the council side.
|
|
183
183
|
|
|
@@ -22,7 +22,7 @@ task without re-inventing any taxonomy.
|
|
|
22
22
|
|
|
23
23
|
| Element | Source |
|
|
24
24
|
|---|---|
|
|
25
|
-
| `role_mode` | The six contracts in [`role-contracts`](
|
|
25
|
+
| `role_mode` | The six contracts in [`role-contracts`](../../guidelines/agent-infra/role-contracts.md). A review sub-task → `reviewer`; a planning sub-task → `planner`; default → null (no contract). |
|
|
26
26
|
| `profile` | The active profile (`profile.id` in `.agent-settings.yml`); inherited from the session unless the sub-task is a different domain. |
|
|
27
27
|
| `personas` | The persona ids already cited in the task's skill frontmatter (review lenses). Capped at 2 (`MAX_PERSONAS`). |
|
|
28
28
|
| `knowledge_refs` | A SMALL set of knowledge references (ingest ids / file paths) relevant to the sub-task. Capped at 5 (`MAX_KNOWLEDGE_REFS`). |
|
|
@@ -18,7 +18,7 @@ behaviour was to detect it and throw it away. It now has a second
|
|
|
18
18
|
destination: `~/.event4u/agent-config/user/observations.jsonl`, the global
|
|
19
19
|
observation buffer from ADR-138's sibling phase — mirroring, one level up,
|
|
20
20
|
the project-local `.agent-user.observations.jsonl` contract in
|
|
21
|
-
[`agent-user-schema.md § Observation buffer`](
|
|
21
|
+
[`agent-user-schema.md § Observation buffer`](../../docs/contracts/agent-user-schema.md#observation-buffer).
|
|
22
22
|
|
|
23
23
|
**The project-scoped rule in Phase 3 (CONSOLIDATE) is unchanged.** No user
|
|
24
24
|
fact enters `agents/memory/` curated YAML through this or any other path —
|
|
@@ -73,7 +73,7 @@ than at review, and from reusing the existing redaction gate verbatim:
|
|
|
73
73
|
birthdays · financial figures · health / legal / therapy status ·
|
|
74
74
|
demographics · external-source identifiers — refused when the
|
|
75
75
|
observation is captured, per
|
|
76
|
-
[`agent-user-schema.md § Explicit exclusions`](
|
|
76
|
+
[`agent-user-schema.md § Explicit exclusions`](../../docs/contracts/agent-user-schema.md#explicit-exclusions).
|
|
77
77
|
- **Hidden unicode.** Every write routes through
|
|
78
78
|
`knowledge_global_redaction.redaction_scan`, including its
|
|
79
79
|
`hidden_unicode` class (the ADR-103 zero-width-smuggling detector) — the
|
|
@@ -120,7 +120,7 @@ against the project root once, during ORIENT:
|
|
|
120
120
|
`seen_in[]` recurrence tally to the fact and appends it to the SAME
|
|
121
121
|
global buffer Phase 2 uses — never a second store, never a
|
|
122
122
|
project-indexed directory (the council's round-2 namespace refusal; see
|
|
123
|
-
[`agent-user-schema.md § Project attribution`](
|
|
123
|
+
[`agent-user-schema.md § Project attribution`](../../docs/contracts/agent-user-schema.md#project-attribution-road-to-global-user-memory-phase-3)).
|
|
124
124
|
|
|
125
125
|
**This is the only generalisation path.** A fact recurring in a
|
|
126
126
|
*different* unmanaged project (Jaccard similarity ≥ `MERGE_THRESHOLD`,
|
|
@@ -96,6 +96,6 @@ on the follow-up PR.
|
|
|
96
96
|
### Examples
|
|
97
97
|
|
|
98
98
|
Wrong/right/why demos (hedged claims, trusting earlier runs,
|
|
99
|
-
partial-verification creep): [`verify-before-complete-demos`](
|
|
99
|
+
partial-verification creep): [`verify-before-complete-demos`](../../guidelines/agent-infra/verify-before-complete-demos.md).
|
|
100
100
|
Outcome baseline:
|
|
101
101
|
[`tests/golden/outcomes/verify_before_complete.json`](../../../../tests/golden/outcomes/verify_before_complete.json).
|
|
@@ -133,8 +133,8 @@ files `contexts/judges/no-consolidate-rationale.md`.
|
|
|
133
133
|
|
|
134
134
|
## References
|
|
135
135
|
|
|
136
|
-
- [`docs/contracts/context-paths.md`](
|
|
136
|
+
- [`docs/contracts/context-paths.md`](../../docs/contracts/context-paths.md)
|
|
137
137
|
— locked path tree (this file lives at `contexts/judges/`).
|
|
138
|
-
- [`docs/contracts/load-context-schema.md`](
|
|
138
|
+
- [`docs/contracts/load-context-schema.md`](../../docs/contracts/load-context-schema.md)
|
|
139
139
|
— frontmatter contract for citing this rubric from a slimmed `judge-*`
|
|
140
140
|
skill in Phase 3a.2.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Abstraction Thresholds — the per-class canon
|
|
2
|
+
|
|
3
|
+
> The single source of truth for "how many repetitions before you extract". Every
|
|
4
|
+
> other artifact that states a numeric extraction threshold cites this table and
|
|
5
|
+
> names its artifact class — a bare number outside this file is drift
|
|
6
|
+
> (enforced by `src/scripts/lint_abstraction_thresholds.ts`).
|
|
7
|
+
|
|
8
|
+
_Origin: council convergence 2026-08-03 (claude-sonnet-4-5 + gpt-4o, unanimous), recorded in ADR-213. Before this file, four artifacts stated four bare numbers (2 / 3+ / ≥4 / ≥3) with no scope tags — an agent loading them together received contradictory instructions._
|
|
9
|
+
|
|
10
|
+
## Why the bars differ — cost scales with the artifact class
|
|
11
|
+
|
|
12
|
+
Extracting a pure helper function is a near-zero-cost act; extracting a stateful
|
|
13
|
+
UI component creates a file, a props contract, and a test surface. The threshold
|
|
14
|
+
is a price signal: the heavier the extraction, the more proven repetition it
|
|
15
|
+
must buy. These are **deliberately different bars for different acts**, not
|
|
16
|
+
editorial drift.
|
|
17
|
+
|
|
18
|
+
## The canon
|
|
19
|
+
|
|
20
|
+
| Artifact class | Concrete tag (what to check) | Threshold |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| **Code-level abstraction** — helper, method, class, Strategy, generic, config layer | any non-UI code shape | **2 real repetitions** (or a genuine second axis of change) |
|
|
23
|
+
| **Pure-markup UI shell** — props-only fragment, no state (button shell, card frame, header) | renders props, holds no state | **3+ uses** |
|
|
24
|
+
| **Stateful UI component** — carries real props/state (form, table, filter) | repeats **AND** has varying props / local state | **~4+ repeats AND real state** (both conditions) |
|
|
25
|
+
| **Utility-class string** (Tailwind et al.) — repeated class list | identical class string | **≥ 3 duplications** (mechanism table: [`tailwind-engineer`](../skills/tailwind-engineer/SKILL.md)) |
|
|
26
|
+
|
|
27
|
+
The code-level bar of **two** is this suite's settled base decision (the
|
|
28
|
+
borrowed "Rule of Three" for code was evaluated and not adopted — see
|
|
29
|
+
[`minimal-safe-diff-mechanics`](agent-infra/minimal-safe-diff-mechanics.md)).
|
|
30
|
+
The UI rows are scoped carve-outs **above** that base bar, never a license to
|
|
31
|
+
lower it.
|
|
32
|
+
|
|
33
|
+
## The qualitative floor — applies to every row
|
|
34
|
+
|
|
35
|
+
A number alone never justifies an extraction. In every class, a reviewer must
|
|
36
|
+
be able to name the **concrete duplication or the concrete second axis of
|
|
37
|
+
change** the abstraction removes. One occurrence is not a component; one branch
|
|
38
|
+
is not a Strategy; a repeat with no varying props is inlined, not extracted.
|
|
39
|
+
|
|
40
|
+
## Precedence
|
|
41
|
+
|
|
42
|
+
[`minimal-safe-diff`](../rules/minimal-safe-diff.md) / YAGNI win on every
|
|
43
|
+
conflict: these thresholds authorize extraction when repetition is **already
|
|
44
|
+
present in the diff** — never speculative abstraction for "this could grow
|
|
45
|
+
later". See [`component-oriented-and-oop-development`](component-oriented-and-oop-development.md)
|
|
46
|
+
§ The load-bearing caveat.
|
|
47
|
+
|
|
48
|
+
## The provided-artifact clause — repetition observable before the code exists
|
|
49
|
+
|
|
50
|
+
ADR-213 authorises extraction on repetition **already present in the diff**. A
|
|
51
|
+
handed-over **runnable** artifact makes repetition observable before any code
|
|
52
|
+
exists at all: four `<Card>` instances are visible in the handover, so a port
|
|
53
|
+
that writes them one at a time and extracts on the second is doing the
|
|
54
|
+
threshold's own arithmetic in the wrong order.
|
|
55
|
+
|
|
56
|
+
This is a **different mechanism** than the one the threshold tested, not a
|
|
57
|
+
loophole in it. `adr_cite_check ADR-213` reports the record LIVE with an
|
|
58
|
+
**indeterminate** review trigger and `reopen_policy: unclassified`, so
|
|
59
|
+
investigation is permitted; the numbers themselves — 2 · 3+ · ~4+ — are
|
|
60
|
+
**unchanged**, and this clause moves only *when* the count may be taken.
|
|
61
|
+
|
|
62
|
+
**Two guards, both required. The first alone is insufficient.**
|
|
63
|
+
|
|
64
|
+
1. **A runnable artifact, not a design comp.** A comp shows a picture of four
|
|
65
|
+
cards; a runnable artifact carries four instances of a thing. Counting
|
|
66
|
+
rectangles in an image is not counting repetition, and a comp therefore does
|
|
67
|
+
not qualify.
|
|
68
|
+
2. **Repetition of the ELEMENT, not of its compositional context.** Four
|
|
69
|
+
`<Card>` instances show that Card is used four times. They do **not** show
|
|
70
|
+
that a `CardGrid` is needed — that needs multiple distinct contexts each
|
|
71
|
+
arranging several cards. Without this guard the clause would license
|
|
72
|
+
extracting a wrapper for every layout the artifact happens to contain once,
|
|
73
|
+
which is speculative abstraction with an artifact as its excuse.
|
|
74
|
+
|
|
75
|
+
**Enforcement, stated honestly: guard (2) is model-carried and audit-enforced.**
|
|
76
|
+
Nothing mechanical separates *"I saw four Cards"* from *"I saw a CardGrid
|
|
77
|
+
pattern"* — the distinction is about what the repetition MEANS, and
|
|
78
|
+
`lint_abstraction_thresholds.ts` checks numeric threshold drift, which is a
|
|
79
|
+
different property. Guard (1) is checkable (is the handover runnable), guard (2)
|
|
80
|
+
is not, and claiming otherwise would be the coverage inflation this tree forbids
|
|
81
|
+
elsewhere. The discipline is the control.
|
|
82
|
+
|
|
83
|
+
## See also
|
|
84
|
+
|
|
85
|
+
- [`architecture`](../rules/architecture.md) — the rule that carries the code-level bar.
|
|
86
|
+
- [`fe-design`](../skills/fe-design/SKILL.md) § Component granularity — the UI-shell bar in context.
|
|
87
|
+
- [`ui-component-architect`](../skills/ui-component-architect/SKILL.md) § Componentization threshold — the stateful-component bar in context.
|
|
88
|
+
- ADR-213 — the decision record scoping the bars.
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
# 5W2H Analysis
|
|
2
|
+
|
|
3
|
+
Reference guideline for Wing-1 deep-thinking work — the 5W2H systematic
|
|
4
|
+
questioning method (What · Why · Who · When · Where · How · How-much) for
|
|
5
|
+
comprehensive understanding of any topic, problem, or plan. Adopted under
|
|
6
|
+
the **Reference-Guideline Sunset Policy** (see frontmatter `upstream` /
|
|
7
|
+
`refresh_trigger` keys) and cross-referenced from:
|
|
8
|
+
|
|
9
|
+
- [`deep-reading-analyst`](../../skills/deep-reading-analyst/SKILL.md)
|
|
10
|
+
— L1 Quick analysis depth.
|
|
11
|
+
- [`refine-ticket`](../../skills/refine-ticket/SKILL.md)
|
|
12
|
+
— completeness check on a Jira / Linear ticket before estimation.
|
|
13
|
+
- [`bug-investigate`](../../../src/domains/engineering-base/bug/investigate/command.md)
|
|
14
|
+
— gap analysis on an incident report before forming a hypothesis.
|
|
15
|
+
|
|
16
|
+
> **Core principle:** "Quality of decisions equals quality of questions
|
|
17
|
+
> asked." — 5W2H captures essence in seven dimensions.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
Ideal for:
|
|
22
|
+
|
|
23
|
+
- 📋 Quickly understanding complete article information
|
|
24
|
+
- 🔍 Discovering information gaps and omissions
|
|
25
|
+
- 📊 Evaluating plan feasibility
|
|
26
|
+
- 💼 Analyzing business cases and proposals
|
|
27
|
+
- 📝 Organizing complex information
|
|
28
|
+
- ✅ Verifying information completeness
|
|
29
|
+
|
|
30
|
+
Do **not** use when the user wants depth on a single dimension (use
|
|
31
|
+
[`mental-models`](mental-models.md)) or pre-mortem on failure paths
|
|
32
|
+
(use [`inversion-thinking`](inversion-thinking.md)).
|
|
33
|
+
|
|
34
|
+
## The 7 Questions in Detail
|
|
35
|
+
|
|
36
|
+
### W1: What (Content)
|
|
37
|
+
|
|
38
|
+
**Core questions:**
|
|
39
|
+
|
|
40
|
+
1. What is the main topic?
|
|
41
|
+
2. What are the key claims / conclusions?
|
|
42
|
+
3. What solutions are proposed?
|
|
43
|
+
4. What core concepts are involved?
|
|
44
|
+
5. What are the expected outcomes?
|
|
45
|
+
|
|
46
|
+
**Deep inquiry:** What is the real problem? What is missing? What
|
|
47
|
+
could go wrong? What are the alternatives?
|
|
48
|
+
|
|
49
|
+
### W2: Why (Reasons)
|
|
50
|
+
|
|
51
|
+
**Core questions:**
|
|
52
|
+
|
|
53
|
+
1. Why discuss this topic now?
|
|
54
|
+
2. Why is this solution effective?
|
|
55
|
+
3. Why not choose other approaches?
|
|
56
|
+
4. Why should the audience care?
|
|
57
|
+
5. Why this timing?
|
|
58
|
+
|
|
59
|
+
**Five Whys technique** — ask "why" five times to reach root cause:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Problem: [Surface issue]
|
|
63
|
+
→ Why 1: [First layer]
|
|
64
|
+
→ Why 2: [Second layer]
|
|
65
|
+
→ Why 3: [Third layer]
|
|
66
|
+
→ Why 4: [Fourth layer]
|
|
67
|
+
→ Why 5: [Root cause] ← Real issue
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### W3: Who (People)
|
|
71
|
+
|
|
72
|
+
**Core questions:**
|
|
73
|
+
|
|
74
|
+
1. Who is the target audience?
|
|
75
|
+
2. Who are the stakeholders?
|
|
76
|
+
3. Who is responsible for execution?
|
|
77
|
+
4. Who benefits? Who loses?
|
|
78
|
+
5. Whose expertise / cases are cited?
|
|
79
|
+
6. Who is the author? (potential biases?)
|
|
80
|
+
|
|
81
|
+
**Deep analysis:** stakeholder mapping · decision-makers vs. executors
|
|
82
|
+
· who has veto power.
|
|
83
|
+
|
|
84
|
+
### W4: When (Timing)
|
|
85
|
+
|
|
86
|
+
**Core questions:**
|
|
87
|
+
|
|
88
|
+
1. When to start?
|
|
89
|
+
2. What is the timeline / schedule?
|
|
90
|
+
3. When will results appear?
|
|
91
|
+
4. How time-sensitive is this?
|
|
92
|
+
5. When are key decisions needed?
|
|
93
|
+
6. What is the historical context?
|
|
94
|
+
|
|
95
|
+
**Time-trap identification:** unrealistic time expectations · missing
|
|
96
|
+
key milestones · buffer time considered.
|
|
97
|
+
|
|
98
|
+
### W5: Where (Context)
|
|
99
|
+
|
|
100
|
+
**Core questions:**
|
|
101
|
+
|
|
102
|
+
1. Where does this apply? (geography, industry, organization)
|
|
103
|
+
2. Where is execution happening?
|
|
104
|
+
3. Where to get resources?
|
|
105
|
+
4. What are the limitations / constraints?
|
|
106
|
+
5. What is the scope of impact?
|
|
107
|
+
|
|
108
|
+
**Context dependency:** does it work in different environments? ·
|
|
109
|
+
cultural differences · scale considerations.
|
|
110
|
+
|
|
111
|
+
### H1: How (Methods)
|
|
112
|
+
|
|
113
|
+
**Core questions:**
|
|
114
|
+
|
|
115
|
+
1. What are the specific steps?
|
|
116
|
+
2. What tools / methods are used?
|
|
117
|
+
3. How to measure progress?
|
|
118
|
+
4. How to handle obstacles?
|
|
119
|
+
5. How to ensure quality?
|
|
120
|
+
6. How to get started?
|
|
121
|
+
|
|
122
|
+
**Process mapping:**
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
[Start] → [Step 1] → [Decision Point]
|
|
126
|
+
↓ Yes / ↓ No
|
|
127
|
+
[Step 2A] [Step 2B]
|
|
128
|
+
↓ ↓
|
|
129
|
+
[Step 3] ← [Converge]
|
|
130
|
+
↓
|
|
131
|
+
[End]
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### H2: How Much (Metrics)
|
|
135
|
+
|
|
136
|
+
**Core questions:**
|
|
137
|
+
|
|
138
|
+
1. What is the cost? (money, time, opportunity, learning)
|
|
139
|
+
2. How many resources needed?
|
|
140
|
+
3. What is the expected ROI?
|
|
141
|
+
4. What is the scale / magnitude?
|
|
142
|
+
5. How big are the risks?
|
|
143
|
+
6. What are the target metrics?
|
|
144
|
+
|
|
145
|
+
**ROI analysis:**
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
Investment:
|
|
149
|
+
- Direct costs: [$]
|
|
150
|
+
- Indirect costs: [$]
|
|
151
|
+
- Total: [$]
|
|
152
|
+
|
|
153
|
+
Returns:
|
|
154
|
+
- Expected benefit: [$]
|
|
155
|
+
- Timeframe: [X months]
|
|
156
|
+
- ROI = (Benefit - Cost) / Cost × 100%
|
|
157
|
+
|
|
158
|
+
Worth it?: [Yes / No]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Complete Analysis Template
|
|
162
|
+
|
|
163
|
+
### Quick version (15 min)
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
# 5W2H Quick Analysis: [Article Title]
|
|
167
|
+
|
|
168
|
+
**What**: [One-line topic and solution]
|
|
169
|
+
**Why**: [Core motivation and value]
|
|
170
|
+
**Who**: [Target audience and executors]
|
|
171
|
+
**When**: [Timeline and urgency]
|
|
172
|
+
**Where**: [Applicability and context]
|
|
173
|
+
**How**: [Key steps (3–5)]
|
|
174
|
+
**How much**: [Main costs and expected returns]
|
|
175
|
+
|
|
176
|
+
## Gap Analysis
|
|
177
|
+
|
|
178
|
+
Missing information: [List unanswered questions from 5W2H]
|
|
179
|
+
Key risks: [Risks based on missing info]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Deep version (60 min)
|
|
183
|
+
|
|
184
|
+
```markdown
|
|
185
|
+
# 5W2H Deep Analysis: [Article Title]
|
|
186
|
+
|
|
187
|
+
## 📋 What — Content Analysis
|
|
188
|
+
[Detailed breakdown…]
|
|
189
|
+
|
|
190
|
+
## 🎯 Why — Reason Analysis
|
|
191
|
+
[Detailed breakdown…]
|
|
192
|
+
[Five Whys analysis]
|
|
193
|
+
|
|
194
|
+
## 👥 Who — People Analysis
|
|
195
|
+
[Detailed breakdown…]
|
|
196
|
+
[Stakeholder map]
|
|
197
|
+
|
|
198
|
+
## ⏰ When — Time Analysis
|
|
199
|
+
[Detailed breakdown…]
|
|
200
|
+
[Timeline visualization]
|
|
201
|
+
|
|
202
|
+
## 🌍 Where — Context Analysis
|
|
203
|
+
[Detailed breakdown…]
|
|
204
|
+
[Applicability matrix]
|
|
205
|
+
|
|
206
|
+
## 🔧 How — Method Analysis
|
|
207
|
+
[Detailed breakdown…]
|
|
208
|
+
[Process flowchart]
|
|
209
|
+
|
|
210
|
+
## 💰 How Much — Cost-Benefit Analysis
|
|
211
|
+
[Detailed breakdown…]
|
|
212
|
+
[ROI calculation]
|
|
213
|
+
|
|
214
|
+
## 📊 Overall Assessment
|
|
215
|
+
|
|
216
|
+
### Information completeness
|
|
217
|
+
- ✅ Clearly answered: [X / 7]
|
|
218
|
+
- ⚠️ Partially answered: [List]
|
|
219
|
+
- ❌ Completely missing: [List]
|
|
220
|
+
|
|
221
|
+
### Feasibility score
|
|
222
|
+
Based on 5W2H completeness: [X / 10]
|
|
223
|
+
|
|
224
|
+
### Risk level
|
|
225
|
+
Based on missing info: [High / Medium / Low]
|
|
226
|
+
|
|
227
|
+
### Action recommendations
|
|
228
|
+
1. [Specific recommendation based on analysis]
|
|
229
|
+
2. [Information needed to supplement]
|
|
230
|
+
3. [Priority actions to take]
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Integration with Other Frameworks
|
|
234
|
+
|
|
235
|
+
### + Critical Thinking
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
5W2H → Identify missing information
|
|
239
|
+
Critical Thinking → Evaluate quality of existing information
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### + SCQA
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
SCQA → Understand problem framework
|
|
246
|
+
5W2H → Analyze solution completeness
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### + Inversion
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
5W2H → Forward analysis of plan
|
|
253
|
+
Inversion → For each W / H, ask "what if it's missing?"
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## ADOPT citation
|
|
259
|
+
|
|
260
|
+
Adapted from an external reference.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Active Remediation — Mechanics
|
|
2
|
+
|
|
3
|
+
> Ladder detail, version-gated modernization, and anti-nagging guardrails for the `active-remediation` rule
|
|
4
|
+
|
|
5
|
+
_Origin: migrated from `src/rules/active-remediation.md` per the P4 pattern of `road-to-kernel-and-router.md`. The Iron Law, the ladder tier names, and the live-security carve-out stay in the rule; this file carries the per-tier criteria and the modernization gates._
|
|
6
|
+
|
|
7
|
+
## The ladder — classify, then act
|
|
8
|
+
|
|
9
|
+
### Fix now (autonomous, inline) — a bounded amendment to `minimal-safe-diff`
|
|
10
|
+
|
|
11
|
+
Allowed **only** when ALL hold — this is the testable "small + task-aligned" definition:
|
|
12
|
+
|
|
13
|
+
- **Same request path / module** as the current task (not an unrelated feature).
|
|
14
|
+
- **≤ ~10 changed lines** in one production file plus its test file — no wider cross-file ripple.
|
|
15
|
+
- **No public-API / response-shape change**, no new parameter.
|
|
16
|
+
- **No dependency bump, no migration, no data change.**
|
|
17
|
+
- **Its verification ships in the same commit** — e.g. the security fix's negative test, or the correctness fix's case.
|
|
18
|
+
|
|
19
|
+
Under those constraints the fix is auditable in the same diff and is *not* scope creep — it corrects a boundary the agent touched. Anything outside them → the fix is **note + ask**, never auto. (`minimal-safe-diff` still governs everything else: no reformatting, no opportunistic refactor, no drive-by rename.)
|
|
20
|
+
|
|
21
|
+
### Note + ask (batched)
|
|
22
|
+
|
|
23
|
+
Bigger, or diverges from the task → do **not** refactor inline, do **not** interrupt the flow. Note the site (file:line + the issue). Surface the batch as **one** numbered-options prompt (per `user-interaction`, one recommendation line) **after the task is delivered** — or mid-work only when the flow makes it natural. Each option must carry a real trade-off (`no-cheap-questions`). Refactor only on an explicit yes, as a separate scoped change (`scope-control`, `downstream-changes`).
|
|
24
|
+
|
|
25
|
+
#### Option anatomy — a pickable fix, not a yes/no
|
|
26
|
+
|
|
27
|
+
The user should be able to answer with one number and get a change they can predict. Each numbered option therefore names four things, in a line or two:
|
|
28
|
+
|
|
29
|
+
1. **What changes** — the concrete edit, in the vocabulary of the code ("replace the three `array()` literals with `[]`", not "clean up the file").
|
|
30
|
+
2. **Where** — file, or the group of files if the option covers a batch.
|
|
31
|
+
3. **How large** — line count or an honest size class, so the user can weigh it without opening the diff.
|
|
32
|
+
4. **What it costs** — the risk, the review burden, or the reason it was not simply done inline.
|
|
33
|
+
|
|
34
|
+
Group findings by **fix shape**, never one option per finding: seven lint errors that are three `no-unused-vars`, three `prefer-const` and one genuine type hole are three options, not seven. The final option is always an explicit **leave it as is** — its absence is what turns a menu into pressure. One recommendation line under the block names your pick (`user-interaction` Iron Law 1).
|
|
35
|
+
|
|
36
|
+
#### Carry-over — undecided is not finished
|
|
37
|
+
|
|
38
|
+
An item the user has not answered stays live: raise it once more at the next natural task boundary, in the same batched form. Two bounds keep that from becoming nagging:
|
|
39
|
+
|
|
40
|
+
- **A decline is terminal.** An explicit "leave it" / "ignore" closes the item for the task; re-raising it is the re-ask `scope-control` § Decline = silence forbids.
|
|
41
|
+
- **Once per boundary, not once per reply.** The batch is a task-close artifact. Repeating it between steps is the continuation prompt `no-cheap-questions` Iron Law 4 forbids.
|
|
42
|
+
|
|
43
|
+
### Propose a follow-up PR (many spots)
|
|
44
|
+
|
|
45
|
+
When the issues are too many to fold in without blowing the current diff's scope, propose **one or more separate follow-up PRs** (or a roadmap under `agents/roadmaps/`, using the shared-prefix convention) so the user reviews the changes before merge. Creating the PR/roadmap is **permission-gated** — propose, get a yes, then create (`scope-control`, `commit-policy`).
|
|
46
|
+
|
|
47
|
+
## Observed failing checks — classifying the red you already have
|
|
48
|
+
|
|
49
|
+
The rule puts a check result you have already seen into the same ladder as a defect you read in a file. Running a command, reading seven errors, and walking past them is not scoping the work — it is looking away.
|
|
50
|
+
|
|
51
|
+
The rule's two bounds, in full:
|
|
52
|
+
|
|
53
|
+
- **Only output you already have.** The clause never obliges a check run; it fires on a result already in front of you. What runs locally stays the user's call — this package records "no proactive quality tools, remote CI gates only" as a standing preference — and the remote CI remains the authoritative gate. An obligation to *hunt* for red would contradict that outright; an obligation not to walk past red you already read does not.
|
|
54
|
+
- **Ownership picks the tier, never the silence.** Caused by your diff → it is the task. Pre-existing and inside the fix-now bar → fix it. Pre-existing and wider, or many, or unrelated → note + ask, or a follow-up PR. There is no seventh option called "mention it in the closing summary" — that line reads as a status report and closes nothing.
|
|
55
|
+
|
|
56
|
+
Classification is the whole of the work, and it runs on two axes:
|
|
57
|
+
|
|
58
|
+
| | Inside the fix-now bar | Outside it |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| **Caused by this diff** | Fix it — it is the task, not remediation. | Fix it; a diff you cannot make green is not deliverable. Blocked → surface it as a blocker, never as a caveat. |
|
|
61
|
+
| **Pre-existing** | Fix it with the work, and say in the commit body that it was pre-existing. | Note + ask with candidate fixes, or a follow-up PR when the batch is large. |
|
|
62
|
+
|
|
63
|
+
Two failure shapes this table exists to name:
|
|
64
|
+
|
|
65
|
+
- **"Not mine, so not mentioned."** Pre-existing red is the most common thing an agent walks past, because `minimal-safe-diff` reads like permission to ignore it. It is not: that rule bounds the *diff*, this one bounds the *silence*. The two are satisfied together by noting the finding and asking, which changes no line of code.
|
|
66
|
+
- **"Mine, so quietly worked around."** A gate that goes green because the check was narrowed, an assertion loosened, or a file excluded is a defect with a green light on top. Route it through the ladder as an issue, and say what was narrowed.
|
|
67
|
+
|
|
68
|
+
### Worked example — a red gate seen mid-task
|
|
69
|
+
|
|
70
|
+
> the `check` task fails; the lint step reports 7 errors, all pre-existing on `main`, in files this branch does not touch.
|
|
71
|
+
|
|
72
|
+
Wrong, and the canonical shape of it: finish the task, and close with *"the only thing still open is the lint finding — 7 errors on main, which makes the `check` task unusable as a chain"*. The sentence is accurate, the issue is named, and nothing about it is decided — the next session inherits it verbatim.
|
|
73
|
+
|
|
74
|
+
Right: the errors are pre-existing, outside the fix-now bar (unrelated files, more than ~10 lines), so they are **note + ask** — after the task is delivered, one block:
|
|
75
|
+
|
|
76
|
+
1. Fix the 3 `no-unused-vars` in `src/a.ts`, `src/b.ts` — ~6 lines, mechanical, ships in this PR.
|
|
77
|
+
2. Fix all 7 in a separate follow-up PR — keeps this diff single-purpose; needs a branch (permission-gated).
|
|
78
|
+
3. Suppress the two in generated output with a scoped ignore, fix the rest — smallest green path, adds a suppression to review.
|
|
79
|
+
4. Leave as is — the `check` task stays unusable as a chain until someone else picks it up.
|
|
80
|
+
|
|
81
|
+
One recommendation line names the pick. Whatever the user answers, the item is closed. If they answer nothing, it is raised once at the next task boundary — not carried silently into a third session.
|
|
82
|
+
|
|
83
|
+
## Version-gated modernization
|
|
84
|
+
|
|
85
|
+
Update stale idioms to the version the project **actually runs** — but only when that version is **verified**:
|
|
86
|
+
|
|
87
|
+
- **Establish the version first** from the manifest constraint (`composer.json` `require`, `package.json` `engines`, `.tool-versions`, lockfile) — use the **lowest** bound; on an ambiguous/monorepo range, ask once. **Unknown version → do not touch** (must fit the project structure — this is the `source-discovery` gate).
|
|
88
|
+
- **Syntax-only, behavior-preserving idioms** (e.g. `array()` → `[]`, `isset($x)?$x:$d` → `$x ?? $d`, string concat → template) that are provably equivalent → treat as a small fix (auto per the ladder).
|
|
89
|
+
- **Behavioral changes** (`readonly`/typed properties, new language semantics) and **any dependency/version bump** → **ask only**, never auto (a version bump stays under `minimal-safe-diff`'s no-dependency-bump prohibition; a pure syntax idiom is categorically different).
|
|
90
|
+
|
|
91
|
+
## Guardrails — don't become a nagging machine
|
|
92
|
+
|
|
93
|
+
- Subordinate to `no-cheap-questions` (self-check items 3 & 14 — real trade-off, not a disguised continuation/commit ask), `autonomous-execution` (the end-of-session batch must not read as "shall I continue?"), `user-interaction`, `ask-when-uncertain` (one batched prompt = one question).
|
|
94
|
+
- Threshold to surface at all: a **real, nameable** improvement with a concrete benefit. Cosmetic nitpicks with no trade-off → drop silently. The live-security carve-out is the only case that interrupts or overrides autonomy.
|
|
95
|
+
|
|
96
|
+
## See also
|
|
97
|
+
|
|
98
|
+
- [`active-remediation`](../../rules/active-remediation.md) — the rule this file details (Iron Law + ladder + live-security carve-out).
|
|
99
|
+
- [`minimal-safe-diff`](minimal-safe-diff-mechanics.md) — the diff-shape mechanics the fix-now tier amends.
|