@event4u/agent-config 14.23.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +144 -152
  5. package/README.md +1 -1
  6. package/dist/agent-src/commands/agent-handoff.md +8 -7
  7. package/dist/agent-src/commands/agents/init.md +1 -1
  8. package/dist/agent-src/commands/agents/user/accept.md +4 -4
  9. package/dist/agent-src/commands/agents/user/delete.md +2 -2
  10. package/dist/agent-src/commands/agents/user/init.md +3 -3
  11. package/dist/agent-src/commands/agents/user/review.md +3 -3
  12. package/dist/agent-src/commands/agents/user/show.md +3 -3
  13. package/dist/agent-src/commands/agents/user/update.md +2 -2
  14. package/dist/agent-src/commands/agents/user.md +6 -6
  15. package/dist/agent-src/commands/analytics/prune.md +1 -1
  16. package/dist/agent-src/commands/analytics/show.md +2 -2
  17. package/dist/agent-src/commands/analyze/decision.md +2 -2
  18. package/dist/agent-src/commands/analyze/inbox.md +5 -5
  19. package/dist/agent-src/commands/analyze/incident.md +3 -3
  20. package/dist/agent-src/commands/analyze/near-miss.md +3 -3
  21. package/dist/agent-src/commands/analyze/postmortem.md +4 -4
  22. package/dist/agent-src/commands/analyze/premortem.md +2 -2
  23. package/dist/agent-src/commands/analyze.md +2 -2
  24. package/dist/agent-src/commands/bug/fix.md +1 -1
  25. package/dist/agent-src/commands/bug/investigate.md +2 -2
  26. package/dist/agent-src/commands/cost/profile.md +3 -3
  27. package/dist/agent-src/commands/design.md +1 -1
  28. package/dist/agent-src/commands/feature/explore.md +1 -1
  29. package/dist/agent-src/commands/feature/plan.md +2 -2
  30. package/dist/agent-src/commands/feature/roadmap.md +2 -2
  31. package/dist/agent-src/commands/ghostwriter/fetch.md +4 -4
  32. package/dist/agent-src/commands/ghostwriter/list.md +1 -1
  33. package/dist/agent-src/commands/ghostwriter/show.md +1 -1
  34. package/dist/agent-src/commands/ghostwriter/write.md +9 -9
  35. package/dist/agent-src/commands/humanize.md +6 -6
  36. package/dist/agent-src/commands/jira-ticket.md +1 -1
  37. package/dist/agent-src/commands/judge/solo.md +1 -1
  38. package/dist/agent-src/commands/judge.md +1 -1
  39. package/dist/agent-src/commands/knowledge/cross-repo.md +1 -1
  40. package/dist/agent-src/commands/knowledge/forget.md +1 -1
  41. package/dist/agent-src/commands/knowledge/ingest.md +2 -2
  42. package/dist/agent-src/commands/knowledge/list.md +1 -1
  43. package/dist/agent-src/commands/memory/add.md +3 -3
  44. package/dist/agent-src/commands/memory/load.md +4 -4
  45. package/dist/agent-src/commands/memory/mine-session.md +1 -1
  46. package/dist/agent-src/commands/memory/promote.md +4 -4
  47. package/dist/agent-src/commands/memory/propose.md +2 -2
  48. package/dist/agent-src/commands/mode.md +5 -5
  49. package/dist/agent-src/commands/post-as/ghostwriter.md +3 -3
  50. package/dist/agent-src/commands/post-as/me.md +7 -7
  51. package/dist/agent-src/commands/pr/create.md +1 -1
  52. package/dist/agent-src/commands/pr/merge.md +1 -1
  53. package/dist/agent-src/commands/profile/activate.md +1 -1
  54. package/dist/agent-src/commands/profile/show.md +1 -1
  55. package/dist/agent-src/commands/research/deep.md +2 -2
  56. package/dist/agent-src/commands/research/report.md +2 -2
  57. package/dist/agent-src/commands/review/changes.md +1 -1
  58. package/dist/agent-src/commands/review/routing.md +1 -1
  59. package/dist/agent-src/commands/roadmap/create.md +4 -3
  60. package/dist/agent-src/commands/roadmap/materialize.md +2 -2
  61. package/dist/agent-src/commands/roadmap/next.md +1 -1
  62. package/dist/agent-src/commands/roadmap/process-full.md +2 -2
  63. package/dist/agent-src/commands/security-audit-config.md +3 -3
  64. package/dist/agent-src/commands/skill/preview.md +1 -1
  65. package/dist/agent-src/commands/skills/discover.md +1 -1
  66. package/dist/agent-src/commands/sync/agent-settings.md +2 -2
  67. package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
  68. package/dist/agent-src/commands/tests/create.md +1 -1
  69. package/dist/agent-src/commands/tests/e2e-heal.md +1 -1
  70. package/dist/agent-src/commands/tests/e2e-plan.md +1 -1
  71. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +6 -6
  72. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -2
  73. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
  74. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +88 -1
  75. package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +51 -1
  76. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -1
  77. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
  78. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
  79. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +1 -1
  80. package/dist/agent-src/contexts/execution/cheap-question-mechanics.md +1 -1
  81. package/dist/agent-src/contexts/execution/contract-decision-sheet.md +3 -3
  82. package/dist/agent-src/contexts/execution/mandated-lines.md +1 -1
  83. package/dist/agent-src/contexts/execution/non-interactive-contract.md +1 -1
  84. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +1 -1
  85. package/dist/agent-src/contexts/execution/plan-confidence-gate.md +5 -5
  86. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -1
  87. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +1 -1
  88. package/dist/agent-src/contexts/execution/subagent-routing.md +2 -2
  89. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +1 -1
  90. package/dist/agent-src/contexts/execution/user-memory-channels.md +3 -3
  91. package/dist/agent-src/contexts/execution/verification-mechanics.md +1 -1
  92. package/dist/agent-src/contexts/judges/persona-voice-rubric.md +2 -2
  93. package/dist/agent-src/guidelines/abstraction-thresholds.md +88 -0
  94. package/dist/agent-src/guidelines/agent-infra/5w2h-analysis.md +260 -0
  95. package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +99 -0
  96. package/dist/agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +325 -0
  97. package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +177 -0
  98. package/dist/agent-src/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +222 -0
  99. package/dist/agent-src/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
  100. package/dist/agent-src/guidelines/agent-infra/asking-and-brevity-examples.md +198 -0
  101. package/dist/agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
  102. package/dist/agent-src/guidelines/agent-infra/carve-out-predicates.md +17 -0
  103. package/dist/agent-src/guidelines/agent-infra/comparison-matrix.md +179 -0
  104. package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +165 -0
  105. package/dist/agent-src/guidelines/agent-infra/corpus-grounding-authoring.md +91 -0
  106. package/dist/agent-src/guidelines/agent-infra/critical-thinking.md +156 -0
  107. package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
  108. package/dist/agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
  109. package/dist/agent-src/guidelines/agent-infra/direct-answers-demos.md +142 -0
  110. package/dist/agent-src/guidelines/agent-infra/domain-adoption-gates.md +112 -0
  111. package/dist/agent-src/guidelines/agent-infra/domain-eval-anti-pattern.md +53 -0
  112. package/dist/agent-src/guidelines/agent-infra/domain-pack-architecture.md +56 -0
  113. package/dist/agent-src/guidelines/agent-infra/downstream-changes-mechanics.md +91 -0
  114. package/dist/agent-src/guidelines/agent-infra/emphasis-budget.md +45 -0
  115. package/dist/agent-src/guidelines/agent-infra/engineering-memory-data-format.md +210 -0
  116. package/dist/agent-src/guidelines/agent-infra/evaluator-independence-mechanics.md +92 -0
  117. package/dist/agent-src/guidelines/agent-infra/existence-question-verdicts.md +80 -0
  118. package/dist/agent-src/guidelines/agent-infra/failure-signatures.md +70 -0
  119. package/dist/agent-src/guidelines/agent-infra/false-green.md +233 -0
  120. package/dist/agent-src/guidelines/agent-infra/first-principles.md +192 -0
  121. package/dist/agent-src/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
  122. package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +169 -0
  123. package/dist/agent-src/guidelines/agent-infra/gate-authoring.md +177 -0
  124. package/dist/agent-src/guidelines/agent-infra/guarded-baseline.md +39 -0
  125. package/dist/agent-src/guidelines/agent-infra/installed-tools-manifest.md +142 -0
  126. package/dist/agent-src/guidelines/agent-infra/inversion-thinking.md +388 -0
  127. package/dist/agent-src/guidelines/agent-infra/ios-simulator-guide.md +378 -0
  128. package/dist/agent-src/guidelines/agent-infra/language-and-tone-examples.md +141 -0
  129. package/dist/agent-src/guidelines/agent-infra/layered-settings.md +317 -0
  130. package/dist/agent-src/guidelines/agent-infra/linked-projects-onboarding-gate.md +80 -0
  131. package/dist/agent-src/guidelines/agent-infra/mcp-request-signing.md +197 -0
  132. package/dist/agent-src/guidelines/agent-infra/memory-access.md +149 -0
  133. package/dist/agent-src/guidelines/agent-infra/mental-models.md +314 -0
  134. package/dist/agent-src/guidelines/agent-infra/minimal-safe-diff-mechanics.md +241 -0
  135. package/dist/agent-src/guidelines/agent-infra/missing-tool-handling.md +66 -0
  136. package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +101 -0
  137. package/dist/agent-src/guidelines/agent-infra/naming.md +69 -0
  138. package/dist/agent-src/guidelines/agent-infra/notes-horizon-mechanics.md +90 -0
  139. package/dist/agent-src/guidelines/agent-infra/output-patterns.md +117 -0
  140. package/dist/agent-src/guidelines/agent-infra/recurring-criticism-mechanics.md +96 -0
  141. package/dist/agent-src/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
  142. package/dist/agent-src/guidelines/agent-infra/review-routing-data-format.md +143 -0
  143. package/dist/agent-src/guidelines/agent-infra/roadmap-deferred-resolution-provenance.md +54 -0
  144. package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +274 -0
  145. package/dist/agent-src/guidelines/agent-infra/role-contracts.md +209 -0
  146. package/dist/agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
  147. package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +241 -0
  148. package/dist/agent-src/guidelines/agent-infra/rule-type-governance.md +73 -0
  149. package/dist/agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
  150. package/dist/agent-src/guidelines/agent-infra/scqa-framework.md +526 -0
  151. package/dist/agent-src/guidelines/agent-infra/security-lint-containment.md +121 -0
  152. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +134 -0
  153. package/dist/agent-src/guidelines/agent-infra/simplicity-and-goal-demos.md +211 -0
  154. package/dist/agent-src/guidelines/agent-infra/six-hats.md +353 -0
  155. package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +229 -0
  156. package/dist/agent-src/guidelines/agent-infra/skill-quality-checklist.md +157 -0
  157. package/dist/agent-src/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
  158. package/dist/agent-src/guidelines/agent-infra/symptom-driven-harvest-loop.md +104 -0
  159. package/dist/agent-src/guidelines/agent-infra/systems-thinking.md +220 -0
  160. package/dist/agent-src/guidelines/agent-infra/tool-description-as-policy.md +35 -0
  161. package/dist/agent-src/guidelines/agent-infra/tool-integration.md +73 -0
  162. package/dist/agent-src/guidelines/agent-infra/traceability-field-mechanics.md +50 -0
  163. package/dist/agent-src/guidelines/agent-infra/untrusted-input-spotlighting.md +166 -0
  164. package/dist/agent-src/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
  165. package/dist/agent-src/guidelines/augment-portability-patterns.md +70 -0
  166. package/dist/agent-src/guidelines/code-clarity.md +350 -0
  167. package/dist/agent-src/guidelines/component-oriented-and-oop-development.md +189 -0
  168. package/dist/agent-src/guidelines/cross-role-handoff.md +127 -0
  169. package/dist/agent-src/guidelines/design-antipatterns-triggers.json +18 -0
  170. package/dist/agent-src/guidelines/design-antipatterns.md +327 -0
  171. package/dist/agent-src/guidelines/design-asset-discipline.md +38 -0
  172. package/dist/agent-src/guidelines/design-canon.md +63 -0
  173. package/dist/agent-src/guidelines/design-fidelity-mechanics.md +293 -0
  174. package/dist/agent-src/guidelines/design-fidelity-routing.md +78 -0
  175. package/dist/agent-src/guidelines/design-handover-extraction.md +117 -0
  176. package/dist/agent-src/guidelines/design-modes.md +143 -0
  177. package/dist/agent-src/guidelines/design-reconciliation.md +172 -0
  178. package/dist/agent-src/guidelines/docs/readme-size-and-splitting.md +209 -0
  179. package/dist/agent-src/guidelines/e2e/playwright.md +363 -0
  180. package/dist/agent-src/guidelines/gtm-handoff.md +114 -0
  181. package/dist/agent-src/guidelines/monorepo-antipatterns.md +141 -0
  182. package/dist/agent-src/guidelines/php/api-design.md +115 -0
  183. package/dist/agent-src/guidelines/php/artisan-commands.md +81 -0
  184. package/dist/agent-src/guidelines/php/blade-ui.md +78 -0
  185. package/dist/agent-src/guidelines/php/controllers.md +90 -0
  186. package/dist/agent-src/guidelines/php/database.md +194 -0
  187. package/dist/agent-src/guidelines/php/eloquent.md +208 -0
  188. package/dist/agent-src/guidelines/php/flux.md +80 -0
  189. package/dist/agent-src/guidelines/php/general.md +207 -0
  190. package/dist/agent-src/guidelines/php/git.md +164 -0
  191. package/dist/agent-src/guidelines/php/jobs.md +111 -0
  192. package/dist/agent-src/guidelines/php/livewire.md +71 -0
  193. package/dist/agent-src/guidelines/php/logging.md +79 -0
  194. package/dist/agent-src/guidelines/php/naming.md +89 -0
  195. package/dist/agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
  196. package/dist/agent-src/guidelines/php/patterns/dtos.md +199 -0
  197. package/dist/agent-src/guidelines/php/patterns/events.md +67 -0
  198. package/dist/agent-src/guidelines/php/patterns/factory.md +53 -0
  199. package/dist/agent-src/guidelines/php/patterns/pipelines.md +66 -0
  200. package/dist/agent-src/guidelines/php/patterns/policies.md +66 -0
  201. package/dist/agent-src/guidelines/php/patterns/repositories.md +122 -0
  202. package/dist/agent-src/guidelines/php/patterns/service-layer.md +64 -0
  203. package/dist/agent-src/guidelines/php/patterns/strategy.md +247 -0
  204. package/dist/agent-src/guidelines/php/patterns.md +28 -0
  205. package/dist/agent-src/guidelines/php/performance.md +92 -0
  206. package/dist/agent-src/guidelines/php/php-coding-patterns.md +80 -0
  207. package/dist/agent-src/guidelines/php/resources.md +100 -0
  208. package/dist/agent-src/guidelines/php/security.md +110 -0
  209. package/dist/agent-src/guidelines/php/sql.md +97 -0
  210. package/dist/agent-src/guidelines/php/validations.md +119 -0
  211. package/dist/agent-src/guidelines/php/websocket.md +100 -0
  212. package/dist/agent-src/guidelines/prompt-templates.md +189 -0
  213. package/dist/agent-src/guidelines/redundancy-taxonomy.md +208 -0
  214. package/dist/agent-src/guidelines/wing4-handoff.md +127 -0
  215. package/dist/agent-src/personas/README.md +1 -1
  216. package/dist/agent-src/personas/_template-specialist/persona.md +1 -1
  217. package/dist/agent-src/personas/product-owner.md +1 -1
  218. package/dist/agent-src/rules/active-remediation.md +1 -1
  219. package/dist/agent-src/rules/architecture.md +2 -2
  220. package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
  221. package/dist/agent-src/rules/ask-when-uncertain.md +2 -2
  222. package/dist/agent-src/rules/brand-source-of-truth.md +9 -7
  223. package/dist/agent-src/rules/code-comment-discipline.md +2 -2
  224. package/dist/agent-src/rules/code-provenance.md +1 -1
  225. package/dist/agent-src/rules/content-quoting-floor.md +1 -1
  226. package/dist/agent-src/rules/context-hygiene.md +5 -5
  227. package/dist/agent-src/rules/cross-source-consistency.md +1 -1
  228. package/dist/agent-src/rules/design-fidelity.md +36 -46
  229. package/dist/agent-src/rules/direct-answers.md +2 -2
  230. package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
  231. package/dist/agent-src/rules/evaluator-independence.md +1 -1
  232. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  233. package/dist/agent-src/rules/icon-consistency.md +5 -1
  234. package/dist/agent-src/rules/improve-before-implement.md +1 -1
  235. package/dist/agent-src/rules/language-and-tone.md +3 -3
  236. package/dist/agent-src/rules/minimal-safe-diff.md +1 -1
  237. package/dist/agent-src/rules/notes-first-reasoning.md +2 -2
  238. package/dist/agent-src/rules/recurring-criticism.md +1 -1
  239. package/dist/agent-src/rules/roadmap-progress-sync.md +1 -1
  240. package/dist/agent-src/rules/role-mode-adherence.md +2 -2
  241. package/dist/agent-src/rules/security-sensitive-stop.md +1 -1
  242. package/dist/agent-src/rules/size-enforcement.md +1 -1
  243. package/dist/agent-src/rules/source-confidentiality.md +2 -2
  244. package/dist/agent-src/rules/think-before-action.md +1 -1
  245. package/dist/agent-src/rules/token-efficiency.md +7 -5
  246. package/dist/agent-src/rules/ui-audit-gate.md +3 -2
  247. package/dist/agent-src/rules/untrusted-input-defense.md +3 -3
  248. package/dist/agent-src/rules/user-interaction.md +31 -30
  249. package/dist/agent-src/skills/activation-design/SKILL.md +2 -2
  250. package/dist/agent-src/skills/adr-create/SKILL.md +5 -5
  251. package/dist/agent-src/skills/ai-council/SKILL.md +1 -1
  252. package/dist/agent-src/skills/ai-council/references/advanced-modes.md +1 -1
  253. package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
  254. package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
  255. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +24 -3
  256. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  257. package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
  258. package/dist/agent-src/skills/churn-prevention/SKILL.md +2 -2
  259. package/dist/agent-src/skills/code-refactoring/SKILL.md +3 -3
  260. package/dist/agent-src/skills/code-review/SKILL.md +3 -3
  261. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  262. package/dist/agent-src/skills/comp-banding/SKILL.md +1 -1
  263. package/dist/agent-src/skills/competitive-moat-analysis/SKILL.md +1 -1
  264. package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
  265. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +1 -1
  266. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  267. package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -2
  268. package/dist/agent-src/skills/contracts-cognition/SKILL.md +1 -1
  269. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
  270. package/dist/agent-src/skills/corpus-grounding/SKILL.md +2 -2
  271. package/dist/agent-src/skills/customer-research/SKILL.md +2 -2
  272. package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
  273. package/dist/agent-src/skills/data-handling-judgment/SKILL.md +1 -1
  274. package/dist/agent-src/skills/deal-qualification-meddic/SKILL.md +2 -2
  275. package/dist/agent-src/skills/decision-record/SKILL.md +3 -3
  276. package/dist/agent-src/skills/decision-review/SKILL.md +8 -8
  277. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +22 -22
  278. package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
  279. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +2 -2
  280. package/dist/agent-src/skills/design-review/SKILL.md +4 -4
  281. package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -1
  282. package/dist/agent-src/skills/design-tokens/SKILL.md +17 -2
  283. package/dist/agent-src/skills/design-variations/SKILL.md +2 -2
  284. package/dist/agent-src/skills/developer-like-execution/SKILL.md +2 -2
  285. package/dist/agent-src/skills/discovery-interview/SKILL.md +2 -2
  286. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +3 -3
  287. package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -2
  288. package/dist/agent-src/skills/error-handling-patterns/SKILL.md +9 -0
  289. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +44 -1
  290. package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +2 -2
  291. package/dist/agent-src/skills/expansion-playbook/SKILL.md +2 -2
  292. package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
  293. package/dist/agent-src/skills/experiment-loop/references/protocol.md +1 -1
  294. package/dist/agent-src/skills/fe-design/SKILL.md +3 -3
  295. package/dist/agent-src/skills/fe-design/references/design-patterns.md +1 -1
  296. package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +3 -3
  297. package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
  298. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  299. package/dist/agent-src/skills/flux/SKILL.md +1 -1
  300. package/dist/agent-src/skills/forecast-accuracy/SKILL.md +2 -2
  301. package/dist/agent-src/skills/forecasting/SKILL.md +2 -2
  302. package/dist/agent-src/skills/fundraising-narrative/SKILL.md +2 -2
  303. package/dist/agent-src/skills/funnel-analysis/SKILL.md +2 -2
  304. package/dist/agent-src/skills/gtm-launch/SKILL.md +2 -2
  305. package/dist/agent-src/skills/hiring-loop-design/SKILL.md +1 -1
  306. package/dist/agent-src/skills/html-deck/SKILL.md +5 -5
  307. package/dist/agent-src/skills/humanizer/SKILL.md +1 -1
  308. package/dist/agent-src/skills/humanizer/data/patterns.md +1 -1
  309. package/dist/agent-src/skills/iconography/SKILL.md +3 -3
  310. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  311. package/dist/agent-src/skills/laravel-api-endpoint/SKILL.md +2 -2
  312. package/dist/agent-src/skills/launch-readiness/SKILL.md +3 -3
  313. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +6 -6
  314. package/dist/agent-src/skills/livewire/SKILL.md +1 -1
  315. package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
  316. package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
  317. package/dist/agent-src/skills/memory-consolidation/SKILL.md +3 -3
  318. package/dist/agent-src/skills/messaging-architecture/SKILL.md +2 -2
  319. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
  320. package/dist/agent-src/skills/onboarding-design/SKILL.md +2 -2
  321. package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
  322. package/dist/agent-src/skills/one-on-one-cadence/SKILL.md +1 -1
  323. package/dist/agent-src/skills/org-design/SKILL.md +1 -1
  324. package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +3 -3
  325. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  326. package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
  327. package/dist/agent-src/skills/persona-writing/SKILL.md +1 -1
  328. package/dist/agent-src/skills/php-coder/SKILL.md +1 -1
  329. package/dist/agent-src/skills/pipeline-strategy/SKILL.md +2 -2
  330. package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -3
  331. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  332. package/dist/agent-src/skills/positioning-strategy/SKILL.md +2 -2
  333. package/dist/agent-src/skills/privacy-review/SKILL.md +1 -1
  334. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +3 -3
  335. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
  336. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +2 -2
  337. package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
  338. package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
  339. package/dist/agent-src/skills/release-comms/SKILL.md +2 -2
  340. package/dist/agent-src/skills/retention-loops/SKILL.md +2 -2
  341. package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
  342. package/dist/agent-src/skills/roadmap-management/SKILL.md +1 -1
  343. package/dist/agent-src/skills/roadmap-management/references/archival.md +1 -1
  344. package/dist/agent-src/skills/roadmap-writing/SKILL.md +5 -5
  345. package/dist/agent-src/skills/rule-writing/SKILL.md +6 -6
  346. package/dist/agent-src/skills/runway-cognition/SKILL.md +2 -2
  347. package/dist/agent-src/skills/scenario-modeling/SKILL.md +2 -2
  348. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  349. package/dist/agent-src/skills/skill-writing/references/procedure.md +1 -1
  350. package/dist/agent-src/skills/skill-writing/references/section-patterns.md +3 -3
  351. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +1 -1
  352. package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -3
  353. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  354. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +1 -1
  355. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  356. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +11 -5
  357. package/dist/agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +1 -1
  358. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  359. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  360. package/dist/agent-src/skills/ui-component-architect/SKILL.md +28 -8
  361. package/dist/agent-src/skills/unit-economics-modeling/SKILL.md +2 -2
  362. package/dist/agent-src/skills/upstream-contribute/SKILL.md +1 -1
  363. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +2 -2
  364. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  365. package/dist/agent-src/skills/vision-articulation/SKILL.md +1 -1
  366. package/dist/agent-src/skills/voc-extract/SKILL.md +2 -2
  367. package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +2 -2
  368. package/dist/agent-src/skills/wireframe/SKILL.md +1 -1
  369. package/dist/agent-src/skills/workspace-link/SKILL.md +1 -1
  370. package/dist/agent-src/templates/agent-settings.md +6 -6
  371. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  372. package/dist/agent-src/templates/contexts/knowledge-pages.md +2 -3
  373. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  374. package/dist/agent-src/templates/roadmaps.md +1 -1
  375. package/dist/agent-src/templates/scripts/README.md +2 -2
  376. package/dist/agent-src/user-types/_template/user-type.md +1 -1
  377. package/dist/cli-delegate/check_update_banner.js +12 -1
  378. package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
  379. package/dist/cli-delegate/{chunk-IAI3XL43.js → chunk-3FKR64R5.js} +22 -6
  380. package/dist/cli-delegate/{chunk-J3RFNKG4.js → chunk-55ACLDUE.js} +2 -2
  381. package/dist/cli-delegate/{chunk-PKOBQADP.js → chunk-57PN4GYJ.js} +1 -1
  382. package/dist/cli-delegate/{chunk-KCNTUSPI.js → chunk-AK6HODNQ.js} +4 -4
  383. package/dist/cli-delegate/{chunk-2FTMENJL.js → chunk-GYC3VRYN.js} +1 -1
  384. package/dist/cli-delegate/{chunk-LWTYTX6F.js → chunk-H32DGUJH.js} +15 -84
  385. package/dist/cli-delegate/{chunk-6RJA2F5A.js → chunk-IVBPRCQO.js} +1 -1
  386. package/dist/cli-delegate/chunk-NUHLI2RX.js +80 -0
  387. package/dist/cli-delegate/{chunk-TYSY33MD.js → chunk-QJWAUMJW.js} +12 -2
  388. package/dist/cli-delegate/{chunk-2KKXJW25.js → chunk-S3VFXMTM.js} +1 -1
  389. package/dist/cli-delegate/{chunk-I6RHFQEG.js → chunk-YUM5KURG.js} +17 -1
  390. package/dist/cli-delegate/cmd_analyze_session.js +1 -1
  391. package/dist/cli-delegate/cmd_brand_status.js +1 -1
  392. package/dist/cli-delegate/cmd_conformance.js +834 -275
  393. package/dist/cli-delegate/cmd_doctor.js +3 -3
  394. package/dist/cli-delegate/cmd_explain.js +5 -3
  395. package/dist/cli-delegate/cmd_export.js +4 -4
  396. package/dist/cli-delegate/cmd_handoff.js +6 -6
  397. package/dist/cli-delegate/cmd_mcp_available.js +1 -1
  398. package/dist/cli-delegate/cmd_memory_get.js +1 -1
  399. package/dist/cli-delegate/cmd_migrate.js +2 -2
  400. package/dist/cli-delegate/cmd_packs_active.js +3 -2
  401. package/dist/cli-delegate/cmd_prune.js +4 -4
  402. package/dist/cli-delegate/cmd_route_audit.js +3 -3
  403. package/dist/cli-delegate/cmd_route_explain.js +1 -1
  404. package/dist/cli-delegate/cmd_session_recycle.js +3 -3
  405. package/dist/cli-delegate/cmd_settings_get.js +15 -9
  406. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  407. package/dist/cli-delegate/cmd_settings_set.js +54 -11
  408. package/dist/cli-delegate/cmd_sync.js +4 -4
  409. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  410. package/dist/cli-delegate/cmd_update.js +1 -1
  411. package/dist/cli-delegate/cmd_upgrade.js +1 -1
  412. package/dist/cli-delegate/cmd_validate.js +4 -4
  413. package/dist/cli-delegate/cmd_versions.js +1 -1
  414. package/dist/discovery/deprecation-report.md +1 -1
  415. package/dist/discovery/discovery-manifest.json +25 -78
  416. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  417. package/dist/discovery/discovery-manifest.summary.md +3 -3
  418. package/dist/discovery/dormancy-report.md +1 -1
  419. package/dist/discovery/orphan-report.md +1 -1
  420. package/dist/discovery/packs.json +5 -7
  421. package/dist/discovery/trust-report.md +2 -2
  422. package/dist/discovery/workspaces.json +4 -6
  423. package/dist/hooks/dispatch.js +9684 -9304
  424. package/dist/install/install.mjs +36 -8
  425. package/dist/mcp/registry-manifest.json +3 -3
  426. package/dist/mcp/server.json +2 -2
  427. package/dist/mcp/server.mjs +2147 -1470
  428. package/dist/router.json +1 -1
  429. package/dist/scripts/_lib/agent_settings.js +73 -0
  430. package/dist/scripts/_lib/agent_src.js +20 -0
  431. package/dist/scripts/_lib/guidelines_lane.js +158 -0
  432. package/dist/scripts/_lib/installed_lock.js +1 -1
  433. package/dist/scripts/condense.js +2 -5
  434. package/dist/server/io/yamlIO.js +175 -17
  435. package/dist/server/schemas/settings.js +18 -4
  436. package/dist/shared/settingsSurface.js +6 -1
  437. package/docs/contracts/settings-classes.md +18 -9
  438. package/docs/guidelines/abstraction-thresholds.md +35 -0
  439. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +3 -3
  440. package/docs/guidelines/agent-infra/false-green.md +2 -2
  441. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  442. package/docs/guidelines/agent-infra/skill-quality-checklist.md +1 -1
  443. package/docs/guidelines/design-fidelity-mechanics.md +4 -0
  444. package/docs/guidelines/design-fidelity-routing.md +78 -0
  445. package/docs/guidelines/design-reconciliation.md +172 -0
  446. package/docs/guidelines/gtm-handoff.md +2 -2
  447. package/docs/guidelines/wing4-handoff.md +2 -2
  448. package/package.json +7 -3
  449. package/src/config/agent-settings.template.yml +55 -8
  450. package/src/config/ci-local-parity.yml +34 -0
  451. package/src/config/continuity-surface.json +11 -32
  452. package/src/config/gate-coverage.yml +31 -8
  453. package/src/config/gate-reachability-exemptions.json +1 -0
  454. package/src/config/gate-violation-baselines.json +3 -3
  455. package/src/config/hook-token-budget.json +1 -1
  456. package/src/config/host-injection-effect.json +2 -2
  457. package/src/config/pack-size-budget.json +55 -4
  458. package/src/config/platform-anchor.json +47 -0
  459. package/src/config/preamble-payload-budget.json +12 -8
  460. package/src/config/preamble-payload-exceptions.json +28 -0
  461. package/src/config/publish-surface.json +4 -2
  462. package/src/config/ratification-policy.json +7 -0
  463. package/src/config/rule-stub-ceilings.json +16 -9
  464. package/src/scripts/_cli/cmd_settings_get.ts +22 -7
  465. package/src/scripts/_dispatch.bash +3 -1
  466. package/src/scripts/_lib/agent_settings.ts +85 -0
  467. package/src/scripts/_lib/agent_src.ts +21 -0
  468. package/src/scripts/_lib/artifact_maturity.ts +242 -0
  469. package/src/scripts/_lib/base_ref_payload.ts +315 -0
  470. package/src/scripts/_lib/conformance_report.ts +403 -0
  471. package/src/scripts/_lib/continuity_writer.ts +72 -13
  472. package/src/scripts/_lib/design_system_import.ts +20 -0
  473. package/src/scripts/_lib/design_tolerance.ts +281 -0
  474. package/src/scripts/_lib/dropped_decision.ts +142 -0
  475. package/src/scripts/_lib/guidelines_lane.ts +164 -0
  476. package/src/scripts/_lib/installed_lock.ts +1 -1
  477. package/src/scripts/_lib/measured_payload_ceiling.ts +424 -0
  478. package/src/scripts/_lib/obligation_frequency.ts +2 -3
  479. package/src/scripts/_lib/payload_catalogue_completeness.ts +211 -0
  480. package/src/scripts/_lib/platform_anchor.ts +1053 -0
  481. package/src/scripts/_lib/ratification_artifact.ts +278 -0
  482. package/src/scripts/_lib/release_findings_ingest.ts +324 -0
  483. package/src/scripts/_lib/release_tag_dispatch.ts +63 -0
  484. package/src/scripts/_lib/review_baseline.ts +254 -0
  485. package/src/scripts/_lib/review_skipped_record.ts +61 -1
  486. package/src/scripts/_lib/security_lint.ts +23 -2
  487. package/src/scripts/_lib/self_repair.ts +21 -0
  488. package/src/scripts/_lib/session_index_trust.ts +42 -1
  489. package/src/scripts/_lib/standing_bound_ratchet.ts +267 -88
  490. package/src/scripts/_lib/tolerance_shadow.ts +177 -0
  491. package/src/scripts/_lib/turn_end_refusals.ts +51 -4
  492. package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
  493. package/src/scripts/autonomy_friction_traffic.ts +379 -0
  494. package/src/scripts/check_beta_review_markers.ts +35 -4
  495. package/src/scripts/check_finding_dispositions.ts +167 -16
  496. package/src/scripts/check_held_object_arrivals.ts +381 -0
  497. package/src/scripts/check_kernel_edit_ratified.ts +462 -0
  498. package/src/scripts/check_loss_class_declared.ts +793 -46
  499. package/src/scripts/check_platform_anchor.ts +390 -0
  500. package/src/scripts/check_preamble_payload_budget.ts +672 -107
  501. package/src/scripts/check_projected_rule_routes.ts +395 -0
  502. package/src/scripts/check_release_published.ts +1 -1
  503. package/src/scripts/check_reply_consistency.ts +86 -17
  504. package/src/scripts/code_graph/cli.ts +6 -0
  505. package/src/scripts/condense.ts +2 -6
  506. package/src/scripts/generate_host_cost_table.ts +354 -0
  507. package/src/scripts/hook_manifest.json +1 -1
  508. package/src/scripts/hook_manifest.yaml +74 -30
  509. package/src/scripts/hooks/block_kernel_rule_writes.ts +12 -2
  510. package/src/scripts/hooks/category_a.ts +1 -1
  511. package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
  512. package/src/scripts/hooks/concern_registry.ts +2 -0
  513. package/src/scripts/hooks/end_review_nudge_hook.ts +101 -21
  514. package/src/scripts/hooks/review_baseline_hook.ts +130 -0
  515. package/src/scripts/hooks/session_eol_hook.ts +68 -154
  516. package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
  517. package/src/scripts/hooks/turn_end_gate_hook.ts +232 -14
  518. package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
  519. package/src/scripts/hooks_doctor.ts +4 -1
  520. package/src/scripts/hot_context_hook.ts +41 -401
  521. package/src/scripts/install.ts +1 -1
  522. package/src/scripts/interruption_report.ts +8 -2
  523. package/src/scripts/janitor.ts +8 -1
  524. package/src/scripts/lint_evidence_artifacts.ts +1 -0
  525. package/src/scripts/lint_knowledge_scale.ts +0 -26
  526. package/src/scripts/measure_turn_end_gate.ts +302 -5
  527. package/src/scripts/memory_lookup.ts +9 -9
  528. package/src/scripts/release.ts +52 -64
  529. package/src/scripts/release_drill.ts +193 -14
  530. package/src/scripts/release_env.ts +1 -1
  531. package/src/scripts/release_publication.ts +1 -1
  532. package/src/scripts/report_held_object_arrivals.ts +456 -0
  533. package/src/scripts/report_standing_payload_by_host.ts +7 -7
  534. package/src/scripts/session_memory_index.ts +5 -0
  535. package/src/scripts/sync_agent_settings.ts +394 -12
  536. package/src/server/io/yamlIO.ts +175 -17
  537. package/src/server/schemas/settings.ts +25 -5
  538. package/src/shared/settingsSurface.ts +13 -2
  539. package/src/templates/compact-instructions.md +8 -3
  540. package/dist/agent-src/commands/chat-history/import.md +0 -170
  541. package/dist/agent-src/commands/chat-history.md +0 -63
@@ -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.
@@ -0,0 +1,325 @@
1
+ # agent-interaction-and-decision-quality
2
+
3
+ Improves how the agent asks questions, handles uncertainty, learns from feedback,
4
+ and integrates quality rules into CI.
5
+
6
+ ## Core principles
7
+
8
+ - Do not guess when clarification is cheap
9
+ - Do not overwhelm the user with too many complex questions at once
10
+ - Prefer structured decision-making over assumptions
11
+ - Learn from negative feedback and turn it into system improvements
12
+ - Integrate recurring improvements into rules, skills, or CI
13
+
14
+ ## 1. Question strategy
15
+
16
+ ### Simple decisions
17
+
18
+ If questions are simple binary or small choices — ask multiple at once, numbered clearly:
19
+
20
+ ```
21
+ 1. Use Tailwind or existing styles?
22
+ 2. Add tests? (yes/no)
23
+ 3. Extend existing component or create new one?
24
+ ```
25
+
26
+ ### Complex questions
27
+
28
+ If questions require thinking, context-create, or explanation:
29
+
30
+ - Ask ONE question at a time
31
+ - Wait for answer before continuing
32
+ - Do not bundle multiple complex topics together
33
+
34
+ ### Handoff / model-switch questions
35
+
36
+ If a handoff (e.g. model change, deeper analysis) is required:
37
+
38
+ 1. First ask all necessary domain questions (step-by-step if complex)
39
+ 2. Then ask the handoff question LAST
40
+
41
+ Reason: answers must be available before switching context — avoids incomplete downstream instructions.
42
+
43
+ ## 2. No blind implementation
44
+
45
+ Before implementing, analyze what already exists:
46
+
47
+ - Identify used frameworks, libraries, patterns
48
+ - If multiple UI systems exist (e.g. Tailwind, shadcn, custom): ask which one to use
49
+ - Do NOT pick one arbitrarily or start implementation without alignment
50
+
51
+ ## 3. Handling unclear requirements
52
+
53
+ If instructions are incomplete:
54
+
55
+ - Do NOT assume missing behavior
56
+ - Do NOT silently decide critical aspects
57
+ - Ask precise clarification questions or output a structured clarification request
58
+
59
+ ## 4. Learning from negative feedback
60
+
61
+ If the user complains, says something is wrong, or shows frustration:
62
+
63
+ 1. Do NOT ignore or defend blindly
64
+ 2. Extract the underlying failure pattern
65
+ 3. Convert it into one of:
66
+ - Rule (constraint to prevent recurrence)
67
+ - Skill improvement (better workflow step)
68
+ - Guideline addition (reference convention)
69
+ - Linter check (if recurring and automatable)
70
+
71
+ > Every mistake should improve the system.
72
+
73
+ ## 5. CI integration mindset
74
+
75
+ When introducing new quality patterns, consider whether they should be enforced automatically.
76
+
77
+ If unsure, ask:
78
+ - "Should this be enforced via CI?"
79
+ - "Should this be part of the linter?"
80
+
81
+ Prefer consistent enforcement over manual discipline.
82
+
83
+ ## 6. Decision transparency
84
+
85
+ When making decisions:
86
+
87
+ - State what you assumed
88
+ - State what alternatives exist
89
+ - State why a decision was made
90
+ - If the decision is important: confirm with the user before proceeding
91
+
92
+ ## 7. Efficiency in interaction
93
+
94
+ - Avoid long back-and-forth caused by poor initial questions
95
+ - Avoid rework caused by wrong assumptions
96
+ - Prefer: short clarification early → correct implementation once
97
+
98
+ ## 8. Improve before implement — pre-implementation validation
99
+
100
+ _Origin: migrated from `src/rules/improve-before-implement.md` per the P4 pattern of `road-to-kernel-and-router.md`. The rule keeps the activation lists and the golden rule ("Challenge to improve, never to refuse"); the check detail lives here._
101
+
102
+ Before coding a new feature, refactor, module, or behavior-altering change, quickly verify:
103
+
104
+ ### 8-pre. Demand gate — should this exist at all? (build / defer)
105
+
106
+ One altitude ABOVE engineering-fit. Fires on a "build me an app / add this
107
+ feature" ask, before checks 8a–8c. It is a three-question advisor, NOT a
108
+ product-management framework — surface it in one short block, then proceed on
109
+ the user's answer (never block; `improve-before-implement`'s golden rule holds).
110
+
111
+ **Read the addressee before the questions.** The ladder below measures **market
112
+ demand**, and market demand is a meaningful quantity only where a market is
113
+ intended. Who the project is built for is `project.audience` — resolve it with
114
+ `agent-config settings:get project.audience`, which reports the value and the
115
+ file it came from, rather than opening one file. An absent value resolves to
116
+ `public`, and mechanically so: the template-defaults layer supplies the shipped
117
+ value beneath every file layer (`src/scripts/_lib/agent_settings.ts:873`) and
118
+ `project.audience` is not in the `settingsCarveOut` set, so absent and an
119
+ explicit `public` are the same behaviour. (It used to explain the
120
+ same conclusion with "this package has no defaults layer" — true of the retired
121
+ `_DEFAULTS`, false since that layer shipped. The conclusion never moved; the
122
+ reason did, and the reason decides how far a change to the shipped
123
+ default would reach.)
124
+
125
+ | `project.audience` | What 8-pre does |
126
+ |---|---|
127
+ | `self` | **Inert.** One line — "demand gate skipped (audience: self)" — then straight to 8a. No deferral, no demand question. |
128
+ | `internal` | Question 2 only ("what breaks without it?"). Questions 1 and 3 are already answered — the requester is the team. |
129
+ | `client` | The requester is the client, not a segment. Question 2 survives; 1 and 3 are answered by the engagement. |
130
+ | `public` | **Today's behaviour, unchanged** — all three questions and the full ladder. |
131
+
132
+ Three questions:
133
+
134
+ 1. **Who requested this?** (a real user / segment, or an internal hunch?)
135
+ 2. **What happens if you DON'T build it?** (churn / blocked deal, or nothing measurable?)
136
+ 3. **What's the demand evidence?** (requests, usage data, lost revenue — or a feeling?)
137
+
138
+ Map the answers to a compressed feature-demand hierarchy and recommend:
139
+
140
+ | Level | Signal | Recommendation |
141
+ |---|---|---|
142
+ | L-self | The maintainer needs it for their own work — no user population is intended | **Build** |
143
+ | L0 | Founder/agent anxiety — "it feels missing" | **Defer** — validate demand first |
144
+ | L1 | One anecdotal request, no pattern | **Defer** — watch for repetition |
145
+ | L2 | Repeated requests, no measured impact | **Validate** — instrument before building |
146
+ | L3 | Blocks activation/retention for a real segment | **Build** |
147
+ | L4 | Users are churning / deals lost without it | **Build now** |
148
+
149
+ Build at **L-self**, **L3**, or **L4**; L0–L2 get a defer/validate
150
+ recommendation with the one missing evidence named.
151
+
152
+ `L-self` is not a weaker L3. L3 and L4 are defined exclusively over third-party
153
+ users — "a real segment", "users are churning" — so a project with no intended
154
+ user population cannot reach either, not because it is bad but because the scale
155
+ has no value for it. Its ceiling on the L0–L4 ladder is L0, whose recommendation
156
+ is *defer*, which would defer a single-user tool forever. `L-self` is the level
157
+ that ladder is missing, not a discount on the ones it has.
158
+
159
+ **The artefact consequence.** At `L-self`, or at `audience: self` / `internal`,
160
+ never write a roadmap gate, exit criterion, or opening condition that names an
161
+ external user population, a market, or an external measurement. A gate whose
162
+ condition depends on a quantity the project cannot produce is not a gate — it is
163
+ a permanent no in the shape of an answer. This is where the advisory reading
164
+ actually breaks: in conversation "never block" holds, but when a roadmap needs a
165
+ falsifiable opening condition the agent reaches for the only vocabulary it has
166
+ for *should this exist*, and an advisory ladder becomes a number, then a gate.
167
+
168
+ This is advisory — the user decides; a "just build it" answer proceeds
169
+ immediately to 8a. No network, no case-memory API (the source's remote lookup is
170
+ dropped — a lethal-trifecta egress concern).
171
+
172
+ **Enforcement, honestly.** Nothing reads `project.audience` to change what this
173
+ section does. § 8-pre is prose and the branch table above is model-carried —
174
+ the same honesty boundary `security-sensitive-stop` and `untrusted-input-defense`
175
+ state for their own obligations. The one deterministic backstop sits downstream,
176
+ where the damage actually lands: `lint_roadmap_complexity` warns when a roadmap
177
+ gate rests on an external population.
178
+
179
+ ### 8a. Is the request clear?
180
+
181
+ - Are acceptance criteria defined or derivable?
182
+ - Is the scope bounded? (not "make it better" but "add X to Y")
183
+ - Are edge cases considered?
184
+
185
+ **If unclear** → ask ONE focused question per turn (`ask-when-uncertain` Iron Law — serial, never batched), never an interrogation.
186
+
187
+ ### 8b. Does it fit the existing architecture?
188
+
189
+ - Does similar functionality already exist?
190
+ - Does it follow established patterns in the codebase?
191
+ - Does it contradict existing conventions?
192
+ - Do **multiple valid patterns/frameworks** already exist (e.g. Tailwind + Flux, multiple form libraries, competing state stores)? If yes, do NOT pick one arbitrarily — ask which to use.
193
+ - Is the change a **second branch on the same discriminator** — second `match`/`switch` arm, second `if/elseif`, or second class hardcoded to one enum value (e.g. `Provider::FOO`, `'stripe'`)? If yes, run the Strategy sniff test before adding the branch — see [`strategy.md`](../php/patterns/strategy.md#sniff-test--when-an-enumstring-discriminator-wants-to-become-a-strategy).
194
+
195
+ **If misfit** → show evidence (file references), propose alternative.
196
+ **If multiple valid options** → list them, ask which to use. See [§ 2 — No blind implementation](#2-no-blind-implementation).
197
+
198
+ #### 8b-ladder. The solution-size ladder — stop at the first rung that works
199
+
200
+ "Does similar functionality already exist?" is one question with an **ordered**
201
+ answer set. Walk it top-down and stop at the first rung that carries the
202
+ requirement; each rung down costs more code to write, own, and eventually
203
+ delete. Ordered **after** comprehension, never instead of it — the ladder
204
+ shortens the solution, never the reading.
205
+
206
+ | # | Rung | The question |
207
+ |---|---|---|
208
+ | 1 | **Need to exist** | Does this have to be built at all? (§ 8-pre decides) |
209
+ | 2 | **Reuse in repo** | Does a unit already in this codebase do it? |
210
+ | 3 | **Stdlib / framework** | Does the language stdlib or the framework already do it? |
211
+ | 4 | **Native platform** | Does the OS, runtime, browser, or database already do it? |
212
+ | 5 | **Installed dependency** | Is it already in the dependency tree? |
213
+ | 6 | **Smallest working form** | Of what genuinely must be written, what is the least of it? |
214
+
215
+ Rungs 1, 2, 3, 5 and 6 are obligations this suite already states elsewhere
216
+ (§ 8-pre; § 8b above and [`component-oriented-and-oop-development`](../component-oriented-and-oop-development.md)
217
+ "Reuse before you build"; `architecture`'s "use the framework's primitive";
218
+ [`supply-chain-intake`](../../skills/supply-chain-intake/SKILL.md) step 0;
219
+ `minimal-safe-diff`'s smallest-change Iron Law) — the ladder **orders** them, it
220
+ does not add them.
221
+
222
+ **Rung 4 is the one that was missing.** Between "the framework does it" and "add
223
+ a dependency" sits the platform the code already runs on: `crypto.randomUUID`
224
+ before a uuid package, a database's own JSON / full-text / generated-column
225
+ support before an application-side index, `AbortSignal.timeout` before a timeout
226
+ helper, `Intl` before a formatting library, a filesystem watcher before a polling
227
+ loop. A dependency added for something the platform already ships is permanent
228
+ cost bought against a capability you already had.
229
+
230
+ #### 8b-shape. The shape axis — simple is not the same as short
231
+
232
+ The ladder above is the **scope** axis: must this exist, and can something
233
+ cheaper serve? The **shape** axis is the other half: of what must exist, which
234
+ form carries the **least cognitive load** — explicitly *not* the fewest
235
+ keystrokes.
236
+
237
+ A flat version one line longer beats a dense clever one. A one-liner qualifies
238
+ as the "smallest working form" only when it is also the *simplest* form, not
239
+ merely the shortest — nested ternaries, long optional-call chains, and clever
240
+ one-expression reductions all shrink the diff while raising the cost of every
241
+ future read. The failure mode is measured, not theoretical: generated code
242
+ trends shorter but denser, carrying more cognitive load per line. A size metric
243
+ on its own rewards exactly that.
244
+
245
+ Read with [`code-clarity`](../code-clarity.md), which owns the line-level form
246
+ decisions and states the same distinction from the other direction.
247
+
248
+ #### 8b-precedence. Resolution order when these pull against each other
249
+
250
+ Stated once, here, so the clauses above never issue contradictory simultaneous
251
+ instructions. Higher wins:
252
+
253
+ 1. **Safety floors** — `engineering-safety-floor`, `security-sensitive-stop`,
254
+ and `senior-engineering-discipline`'s invisible cross-cutting controls. A
255
+ rung that saves a line by dropping a guard has lost, not won.
256
+ 2. **Explicit user-fenced scope** — "just this one line" ends the ladder.
257
+ 3. **Shape** (simplicity) — a simpler form beats a smaller one.
258
+ 4. **Scope** (don't build it) — a cheaper rung beats a lower rung.
259
+ 5. **De-duplication** — last, and gated: extract only when the repetition
260
+ trigger in [`minimal-safe-diff-mechanics`](minimal-safe-diff-mechanics.md)
261
+ § Anti-over-engineering fires, never as a reflex.
262
+
263
+ Any pair is resolvable from this list alone. This is a **principle** ordering
264
+ and deliberately *not* an entry in `docs/contracts/rule-interactions.yml`, which
265
+ is a pairwise contract scoped to the always-on kernel rules — forking that
266
+ linted contract with a second prose ordering over a different kind of object is
267
+ the drift this ladder exists to avoid.
268
+
269
+
270
+ ### 8c. Is the approach sound?
271
+
272
+ - Is there a simpler way to achieve the same result?
273
+ - Are there known problems with the requested approach?
274
+ - Does the scope match the stated goal? (not over-engineered, not under-specified)
275
+
276
+ **If problematic** → explain the concern, propose a better approach.
277
+
278
+ ### How to challenge
279
+
280
+ - **Be concise** — one sentence per concern, not paragraphs
281
+ - **Show evidence** — reference existing code, patterns, or conventions
282
+ - **Offer alternatives** — don't just say "this is wrong"
283
+ - **Use numbered options** — let the user choose quickly
284
+ - **Respect "just do it"** — if the user insists after your challenge, execute immediately
285
+
286
+ Example:
287
+
288
+ ```
289
+ > ⚠️ `UserService` already has a `deactivate()` method that covers this case.
290
+ >
291
+ > 1. Use existing method — extend with new parameter
292
+ > 2. Create new method anyway — I'll explain the overlap in a comment
293
+ > 3. Skip validation — implement as requested
294
+ ```
295
+
296
+ After presenting concerns: user picks an option → execute immediately; user says "just do it" → execute immediately. Never argue twice about the same point. Never block work — delay is only justified if it prevents a clear mistake.
297
+
298
+ ### Scope limits
299
+
300
+ - **Max 1-2 challenges per task** — not every request needs validation
301
+ - **Max 1 minute of analysis** — if the check takes longer, skip it
302
+ - **Never validate simple tasks** — only features, architecture, significant changes
303
+ - **Never validate after the user already explained their reasoning**
304
+
305
+ ### Verify with concrete tools, not prose
306
+
307
+ If the challenge requires you to confirm current behavior before proposing an alternative, use a concrete probe — a `curl` against the endpoint, a Playwright spec, a debugger / `xdebug` step-through, or the project's test runner with a targeted filter. Asserting current behavior from memory is not validation.
308
+
309
+ ### Intent inference (RDP, standard host)
310
+
311
+ When the literal request and the underlying goal may differ, **state the inferred goal in one line and give ONE recommendation** — do not spread 2–3 framings (that is the overplanning [`direct-answers`](../../rules/direct-answers.md) suppresses). Standard host only; a strong-reasoning host self-infers, so skip it there. Engage per [`rdp-gate`](../../contexts/execution/rdp-gate.md).
312
+
313
+ ## Anti-patterns
314
+
315
+ - Asking 5 complex questions at once
316
+ - Mixing clarification and implementation in the same step
317
+ - Doing handoff before collecting required context
318
+ - Blindly choosing frameworks/tools without checking existing usage
319
+ - Ignoring user frustration instead of learning from it
320
+ - Introducing new quality rules without considering CI enforcement
321
+ - Making important decisions silently without stating reasoning
322
+
323
+ ## Final principle
324
+
325
+ > Ask better → decide better → build once → improve system continuously