@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,198 @@
1
+ # asking-and-brevity-examples
2
+
3
+ Companion examples for three always-rules:
4
+ [`ask-when-uncertain`](../../rules/ask-when-uncertain.md),
5
+ [`no-cheap-questions`](../../rules/no-cheap-questions.md),
6
+ [`direct-answers`](../../rules/direct-answers.md).
7
+
8
+ The rules carry the Iron Laws and the obligation surface. This file
9
+ carries the illustrative material (example questions, rationale
10
+ tables, failure-mode catalogs) that does not need to live in the
11
+ always-loaded rule body — extracted to fit the always-rule budget.
12
+
13
+ ## Vague-request triggers — example questions
14
+
15
+ Companion to `ask-when-uncertain` § Vague-request triggers. This
16
+ section is the canonical home for the nine trigger patterns, the
17
+ missing-info each one hides, and the example clarifying question —
18
+ the rule cites it instead of restating the catalog.
19
+
20
+ | Pattern | Missing info | Example clarifying question |
21
+ |---|---|---|
22
+ | "improve / optimize this" | metric — speed, readability, memory? | "Optimize for what — execution speed or readability?" |
23
+ | "add caching" | store, scope, invalidation | "Which cache driver, and what invalidates it?" |
24
+ | "make it better / cleaner" | by what standard? | "What specifically feels wrong in the current code?" |
25
+ | "clean up this file" | dead code, format, refactor? | "Remove unused code, reformat, or restructure?" |
26
+ | "fix this" (no symptom) | what output is wrong? | "What output/behavior is wrong right now?" |
27
+ | "refactor X" | target pattern, boundaries | "Refactor toward what — smaller methods, extract class, or something else?" |
28
+ | "use best practices" | whose, for what? | "Best practices for what specifically — testing, naming, structure?" |
29
+ | "handle errors properly" | which errors — log/retry/propagate? | "For which failure modes, and what should happen on error?" |
30
+ | "add a UI / component / tile / page" in mixed-framework repo | which stack? | "This repo uses {A} and {B} for UI — which one for this?" |
31
+
32
+ ## One-question-per-turn — why serial always wins
33
+
34
+ Companion to `ask-when-uncertain` § How to ask. The rule states the
35
+ Iron Law and the self-check; this file expands the rationale.
36
+
37
+ | Situation | Why serial always wins |
38
+ |---|---|
39
+ | Design / architecture decisions | Answer to Q1 reframes Q2 |
40
+ | Naming / command-syntax / API shape | Later choices depend on it |
41
+ | Scope / PR boundaries | Changes what the other questions even mean |
42
+ | Tool / library selection | Downstream choices branch from it |
43
+ | "Which approach: A vs B vs C" | Each answer opens a different follow-up |
44
+ | Even "independent" yes/no pairs | User still has to parse two contexts |
45
+ | Any question the user has to **think** about, not just pick | Thinking load compounds when stacked |
46
+
47
+ The shorthand: if the user has to *think* about an answer, that
48
+ answer almost always reframes whatever question would have come
49
+ next. Serial preserves the framing; parallel destroys it.
50
+
51
+ ## Cheap-question class catalog — extended examples
52
+
53
+ Companion to `no-cheap-questions` § What counts as cheap. This
54
+ section is the canonical home for the nine cheap-question classes
55
+ and their per-class patterns — the rule cites it instead of
56
+ restating the catalog.
57
+
58
+ | Class | Pattern · why cheap | Concrete example |
59
+ |---|---|---|
60
+ | **Sequencing** | "Step 2 or 3 next?" when roadmap orders them — answer is in the roadmap | Roadmap says "2.1 then 2.2" → don't ask "should I do 2.2 next?" |
61
+ | **Format-only** | "Table or paragraph?" — no semantic trade-off | User asked for a summary; format is a non-decision |
62
+ | **Commit asks** | "Commit now?" — `commit-policy`: never ask | The commit-policy Iron Law forbids the question |
63
+ | **CI / test asks** | "Run tests now?" — `verify-before-complete` decides | Verification is mandatory before completion claims; not a choice |
64
+ | **Fenced-step re-asks** | "Start Phase 1?" after "plan only" — `scope-control § fenced step` | The fence stands until the user explicitly lifts it |
65
+ | **Iron-Law option** | Option breaches `commit-policy`, `scope-control § git-ops`, or `non-destructive-by-default` — does not exist | Don't surface "force-push to main?" as Option 2 |
66
+ | **Context-derived** | Answer follows from prior turn / standing instruction / roadmap — act, state assumption inline | "Use the same branch?" after user said "stay on this branch" |
67
+ | **Dominant option** | One choice obviously correct; alternatives carry no upside — pick it | "Run the linter or skip it?" when the linter is part of CI |
68
+ | **Re-ask after decline** | Same path after user said no — `scope-control § decline = silence` | User declined a separate branch → don't propose it again on the same task |
69
+
70
+ ## Direct-answers — severity-tiered claim examples
71
+
72
+ Companion to `direct-answers` § Iron Law 2 (no invented facts). This
73
+ section is the canonical home for the severity tiers, per-tier
74
+ verification actions, and the override carve-out — the rule cites it
75
+ instead of restating the table.
76
+
77
+ | Severity | Examples | Verification action |
78
+ |---|---|---|
79
+ | **High — load-bearing** | "Method `X::y()` exists at `path/to/file.php:142`", "version 12.4.1 added the API", "this test passes" | MUST verify with `view`, `grep`, `codebase-retrieval`, or fresh command output **before** claiming. Too expensive → ask. |
80
+ | **Medium — project-shape** | "This project uses Pest for testing", "controllers live under `app/Http/Controllers`" | Verify if one tool call reaches it; otherwise hedge: *"I'd guess X — not checked"*. |
81
+ | **Low — well-known idioms** | "PHP `array_map` returns a new array", "git tags are immutable", "JS arrays are zero-indexed" | Inference acceptable. Mark as inference if not 100% sure. |
82
+
83
+ **Override:** "just guess" / "rough estimate" / "skip verify" in the
84
+ user's turn drops every claim to **Low** for that turn only. Reverts
85
+ on the next turn unless the user repeats the override.
86
+
87
+ Hedge-language patterns:
88
+
89
+ - ✅ "haven't verified X — likely from {known-similar-codebase}"
90
+ - ✅ "guess, not checked — `path/to/file.php:142` is my best read"
91
+ - ❌ "probably" alone — name what's unverified
92
+ - ❌ "vermutlich" without hedge target <!-- md-language-check: ignore -->
93
+
94
+ ### Volatile-fact freshness — which claims need a live source
95
+
96
+ Generalizes `direct-answers` Iron Law 2's git/PR live-state clause to any
97
+ research or knowledge claim, not just repo state.
98
+
99
+ | Class | Examples | Rule |
100
+ |---|---|---|
101
+ | **Fresh-lookup** | current role/status of a person or org, prices/versions/quotas, laws & regulatory policy, an unrecognized entity (tool, package, product), a binary event (release, deprecation, incident) | Never answer from model memory — search or cite a live source, every time. These change silently and staleness is invisible until wrong. |
102
+ | **Stable** | math/CS fundamentals, settled historical facts, language/framework basics pinned by the project's own lockfiles | Model knowledge is acceptable; no live lookup required. |
103
+
104
+ The line is whether the fact **could have changed since training** in a way
105
+ that matters for the claim. When in doubt, treat it as fresh-lookup — the
106
+ cost of one extra search is far lower than a stale claim stated with
107
+ confidence.
108
+
109
+ ### No duration estimates (Iron Law 2 family)
110
+
111
+ An LLM has no wall-clock and no latency training signal, so a duration estimate
112
+ is a fabricated fact wearing a number:
113
+
114
+ - Never predict how long **the agent's own work** will take ("this refactor is
115
+ ~2 hours", "I'll have it in a few minutes").
116
+ - Never predict how long **the user's work** will take ("this is a 2–3 week
117
+ project", "should take you an afternoon").
118
+ - Instead: break the work into **actionable steps** and let the user judge
119
+ timing against their own context — they have the clock, the agent does not.
120
+
121
+ A step list is honest ("A → B → C, C depends on B"); a schedule is invention.
122
+
123
+ **Carve-out — world-knowledge ranges.** An industry-typical duration sourced
124
+ from public benchmarks in strategy-advisory output ("integrations of this
125
+ class typically run 4–8 weeks") is a statement about the world, not a
126
+ prediction of the agent's or the user's own latency — allowed, but it MUST
127
+ carry an "industry-typical, not a prediction" qualifier. Unqualified, it
128
+ reads as the banned schedule.
129
+
130
+ ### Never cite the rule as the reason
131
+
132
+ When declining or constraining an action, give the **actual, substantive
133
+ reason** — never "my rules / guidelines / instructions require X":
134
+
135
+ - ❌ "I can't do that, my guidelines don't allow it." / "A rule requires me to ask first."
136
+ - ✅ "Sending this would post publicly and can't be undone, so confirm the recipient first." / "This edits a production branch — I need your go-ahead."
137
+
138
+ Appealing to a hidden rule (a) replaces real reasoning the user can evaluate,
139
+ and (b) widens the prompt-extraction surface (it advertises that hidden
140
+ instructions exist and invites probing them). State the real-world consequence,
141
+ not the rule's existence.
142
+
143
+ ## Direct-answers — failure modes the user will call out
144
+
145
+ Companion to `direct-answers` § Failure modes. The rule lists the
146
+ modes; this file adds the trigger phrases and the in-language
147
+ correction pattern.
148
+
149
+ | Failure | User's typical callout | Correct response |
150
+ |---|---|---|
151
+ | Iron Law 1 violation | "skip the flattery", "ohne smalltalk" | drop the opener; deliver substance |
152
+ | Iron Law 2 violation | "have you actually checked?", "wo steht das?" | re-verify with a tool call; correct or retract the claim |
153
+ | Iron Law 3 violation | "kürzer", "less prose", "tldr" | trim to one sentence + the answer | <!-- md-language-check: ignore -->
154
+ | Emoji blacklist hit | "ohne emojis", "no decoration" | re-render plain |
155
+
156
+ Acknowledge once, in the user's language, switch behavior, no
157
+ excuses (mirrors `language-and-tone` § slip handling).
158
+
159
+ ### Bullet floor
160
+
161
+ Companion to `direct-answers` § Iron Law 3. Multi-step content earns
162
+ bullets; each bullet is a complete 1–2-sentence statement, never a
163
+ fragment masquerading as a list item ("Faster." / "Better UX." with no
164
+ subject or verb). A decline or refusal is never rendered as a bulleted
165
+ list of reasons — declines are short prose, one or two sentences, because
166
+ a bulleted refusal reads as a checklist to argue against rather than a
167
+ direct answer.
168
+
169
+ ## No Cheap Questions — Iron Law 3 detail (paternalistic state options)
170
+
171
+ Companion to `no-cheap-questions` § Iron Law 3. The rule states the
172
+ prohibition; this file lists the patterns and the carve-outs.
173
+
174
+ **Forbidden patterns** (non-exhaustive):
175
+
176
+ - "Stop hier — du hast genug für heute" <!-- md-language-check: ignore -->
177
+ - "Take a break and come back fresh"
178
+ - "Weitermachen wenn frisch" <!-- md-language-check: ignore -->
179
+ - "Du wirkst genervt, sollen wir pausieren?" <!-- md-language-check: ignore -->
180
+ - "Sleep on it"
181
+ - "That's a good stopping point" as a numbered option
182
+ - Any option whose recommendation rests on inferred fatigue,
183
+ frustration, or end-of-day mood.
184
+
185
+ **Carve-outs** — allowed because they cite **observable, in-message**
186
+ evidence, not inferred state:
187
+
188
+ - User said "ich bin müde / done for today / let's stop" **this turn** <!-- md-language-check: ignore -->
189
+ → ack and stop (instruction, not option).
190
+ - Hard Floor confirmation per `non-destructive-by-default` → "confirm
191
+ or abort" is the option, not "rest".
192
+ - Context-window / freshness threshold tripped per `context-hygiene` →
193
+ cite the threshold ("fresh chat at 75%"), do not infer mood.
194
+
195
+ **The rule of thumb**: every numbered option must be a technical /
196
+ scope / sequencing choice with a real trade-off, not a mood-management
197
+ nudge. If the only remaining differentiator is "you might be tired" →
198
+ drop the option, recommend a concrete next step instead.
@@ -0,0 +1,113 @@
1
+ # Break-Glass Usage
2
+
3
+ Guideline for operating the agent under a controlled emergency state —
4
+ when a production incident requires faster stabilization than normal
5
+ verification allows.
6
+
7
+ Break-glass is **a narrowing, not a bypass**. The rules still apply; the
8
+ gate is just smaller. Never decide to "break glass" unilaterally.
9
+
10
+ ## When break-glass is justified
11
+
12
+ All of the following must hold:
13
+
14
+ - **Active customer-impacting incident** — data loss, outage, security
15
+ exposure, billing regression. Not "we have a deadline".
16
+ - **Explicit user invocation** — the user says "break-glass" or
17
+ "hotfix, skip the full suite". Ambiguous wording is not enough; ask.
18
+ - **No viable rollback path** that would be faster than the forward fix.
19
+
20
+ Not a break-glass situation:
21
+
22
+ - Friday afternoon and you want to ship a feature.
23
+ - CI is slow and you want to skip tests.
24
+ - You can't reproduce a flaky test locally.
25
+ - A reviewer is asleep and you want to self-approve.
26
+
27
+ ## How to invoke
28
+
29
+ The user sets one of:
30
+
31
+ 1. **Conversation flag** — says "break-glass: true" or "this is a hotfix".
32
+ 2. **PR label** — `break-glass` on the PR (optional; the agent still
33
+ requires explicit invocation in the current turn).
34
+ 3. **Commit trailer** — `Break-Glass: <incident-id>` in the commit
35
+ message of the hotfix.
36
+
37
+ The agent confirms: "Entering break-glass — narrowing verification to
38
+ targeted test + smoke check. Follow-up PR required within 24h. Confirm?"
39
+ If the user agrees, proceed. If not, stay in the normal gate.
40
+
41
+ ## What narrows
42
+
43
+ | Layer | Normal gate | Break-glass |
44
+ |---|---|---|
45
+ | Tests | Targeted + full suite | Targeted only — covering the regression |
46
+ | Quality tools | PHPStan + Rector + ECS | Deferred to follow-up PR |
47
+ | Migrations review | Full dry-run + rollback check | Dry-run only, rollback note mandatory |
48
+ | Code review | ≥ 1 reviewer from required roles | 1 reviewer, can be post-merge |
49
+ | Changelog | Required | Deferred to follow-up PR |
50
+
51
+ Zero tests is **never** acceptable. If the incident fix genuinely cannot
52
+ be tested in the available time, document that explicitly and attach a
53
+ reproducer to the follow-up ticket.
54
+
55
+ ## What does NOT narrow
56
+
57
+ These rules stay fully in force, break-glass or not:
58
+
59
+ - [`minimal-safe-diff`](../../rules/minimal-safe-diff.md) — the hotfix is
60
+ still the **smallest** change that stops the bleeding. No drive-by
61
+ cleanups.
62
+ - [`security-sensitive-stop`](../../rules/security-sensitive-stop.md) — a
63
+ security-relevant change still needs the threat-model pass.
64
+ - [`scope-control`](../../rules/scope-control.md) — never mix the
65
+ hotfix with unrelated refactors from another branch.
66
+ - [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) — more
67
+ asking, not less, when the blast radius is live.
68
+
69
+ ## Required artifacts
70
+
71
+ The hotfix PR must include, in the description:
72
+
73
+ 1. **Incident link** — ticket, Sentry issue, or Statuspage entry.
74
+ 2. **Skipped validations** — bullet list of what was deferred (e.g.
75
+ "full PHPUnit suite", "PHPStan", "Rector").
76
+ 3. **Evidence attached in-PR** — targeted test output, smoke-check log or
77
+ curl response, migration dry-run if applicable.
78
+ 4. **Follow-up commitment** — link to the follow-up ticket or PR that
79
+ will run the full gate. Due within 24h.
80
+
81
+ ## After the incident
82
+
83
+ Within 24 hours:
84
+
85
+ 1. Open the **follow-up PR** — runs the full verification gate against
86
+ the same branch or a rebase onto main.
87
+ 2. Write a short **incident note** (2–5 lines) — what failed, what the
88
+ hotfix did, what was deferred. Store in the project's postmortem
89
+ location.
90
+ 3. If the incident exposed a recurring failure mode, add an entry to
91
+ `historical-bug-patterns.yml` (see
92
+ [`review-routing-data-format`](review-routing-data-format.md)).
93
+
94
+ ## Anti-patterns — reject them
95
+
96
+ - "Break-glass" used as a label for every urgent task — the word stops
97
+ meaning anything.
98
+ - Shipping the hotfix **and** a refactor in the same commit "since the
99
+ file was open".
100
+ - Skipping the follow-up PR because "the hotfix was fine". The gate
101
+ runs once, not zero times.
102
+ - Logging the incident as "false alarm" when the hotfix actually
103
+ changed behavior. If behavior changed, write the note.
104
+
105
+ ## See also
106
+
107
+ - [`minimal-safe-diff`](../../rules/minimal-safe-diff.md) — break-glass
108
+ exception section.
109
+ - [`verify-before-complete`](../../rules/verify-before-complete.md) —
110
+ break-glass reduction section.
111
+ - [`security-sensitive-stop`](../../rules/security-sensitive-stop.md).
112
+ - [`review-routing-data-format`](review-routing-data-format.md) —
113
+ where to register newly-discovered failure modes.
@@ -0,0 +1,17 @@
1
+ # Decidable Carve-Out Predicates
2
+
3
+ Companion to [`frugality-charter`](../../contexts/contracts/frugality-charter.md). Each carve-out below carries a one-sentence test. If the test cannot be answered yes/no from the artifact alone, the carve-out does not fire and default-terse rules apply.
4
+
5
+ ## Predicates
6
+
7
+ - **Iron-Law literal** — the prose is an ALL-CAPS fenced block inside a rule whose title appears in [`docs/contracts/kernel-membership.md`](../../contracts/kernel-membership.md).
8
+
9
+ - **Numbered-options with genuine trade-off** — the options differ in consequence (a chosen path produces a measurably different artifact or state), not in sequencing or output format. Per [`no-cheap-questions § What counts as cheap`](../../rules/no-cheap-questions.md#what-counts-as-cheap).
10
+
11
+ - **Security-sensitive prompt** — the prompt requires credential input OR modifies auth / tenant / secret state, matching a trigger in [`security-sensitive-stop`](../../rules/security-sensitive-stop.md).
12
+
13
+ - **Structured CLI contract** — the script's stdout is consumed by another script (a downstream parser exists under `scripts/` or `.augment/scripts/`), so the format is part of an interface contract, not narration.
14
+
15
+ ## How to use
16
+
17
+ Writer skills (`skill-writing`, `rule-writing`, `command-writing`, `guideline-writing`, `context-authoring`, `agent-docs-writing`, `conventional-commits-writing`, `readme-writing`, `readme-writing-package`, `adr-create`, `persona-writing`, `roadmap-writing`) cite this file when an artifact's pre-save check needs a decidable test for a carve-out exception. The default is **terse** — predicates here only fire when the artifact provides the yes/no evidence.
@@ -0,0 +1,179 @@
1
+ # Multi-Source Comparison Matrix
2
+
3
+ Reference guideline for Wing-1 deep-thinking work — the cross-source
4
+ synthesis lens. Use when analyzing multiple articles, papers, or
5
+ perspectives on the same topic: systematically compare claims, evidence
6
+ quality, and viewpoints to synthesize an integrated understanding rather
7
+ than a stack of independent summaries. Adopted under the
8
+ **Reference-Guideline Sunset Policy** and cross-referenced from:
9
+
10
+ - [`deep-reading-analyst`](../../skills/deep-reading-analyst/SKILL.md)
11
+ — L4 Research analysis depth (web-search 2–3 related sources, compare,
12
+ synthesize).
13
+ - [`critical-thinking`](critical-thinking.md) — per-source argument
14
+ quality feeds the evidence-strength column here.
15
+ - [`systems-thinking`](systems-thinking.md) — interdisciplinary matrix
16
+ pairs with cross-domain pattern recognition.
17
+
18
+ > **Core principle:** Compare to synthesize, not to tally. Weight sources
19
+ > by credibility, separate what is settled from what is debated, and name
20
+ > your own interpretive bias.
21
+
22
+ ## When to use
23
+
24
+ - Reading 3+ sources on the same topic.
25
+ - Encountering conflicting information across sources.
26
+ - Trying to synthesize best practices from competing approaches.
27
+ - Building comprehensive understanding before a decision.
28
+
29
+ ## Standard Comparison Matrix
30
+
31
+ ```markdown
32
+ # Comparative Analysis: [Topic]
33
+
34
+ ## Sources Overview
35
+
36
+ | Source | Type | Author Expertise | Date | Bias/Lens |
37
+ |--------|------|-----------------|------|-----------|
38
+ | [Source 1] | [Article/Paper/Book] | [Credentials] | [Date] | [Perspective] |
39
+ | [Source 2] | [...] | [...] | [...] | [...] |
40
+ | [Source 3] | [...] | [...] | [...] | [...] |
41
+
42
+ ## Key Claims Matrix
43
+
44
+ | Claim/Question | Source 1 | Source 2 | Source 3 | Consensus? |
45
+ |----------------|----------|----------|----------|------------|
46
+ | [Question 1] | [Position] | [Position] | [Position] | ✅/❌ |
47
+ | [Question 2] | [Position] | [Position] | [Position] | ✅/❌ |
48
+
49
+ ## Evidence Quality
50
+
51
+ | Source | Evidence Type | Strength (1-5) | Notes |
52
+ |--------|---------------|----------------|-------|
53
+ | Source 1 | [Data/Anecdote/Study] | ⭐⭐⭐⭐ | [Assessment] |
54
+ | Source 2 | [...] | ⭐⭐⭐ | [...] |
55
+ ```
56
+
57
+ ## Agreement vs. Disagreement
58
+
59
+ - **Universal agreement** — points all sources converge on.
60
+ - **Partial consensus** — where two align and one diverges.
61
+ - **Complete divergence** — where views split, listed per source.
62
+
63
+ ## Synthesized Insights
64
+
65
+ - **What we know with confidence** — convergent evidence across sources.
66
+ - **Open questions** — where sources disagree or lack data.
67
+ - **Integrated framework** — synthesis combining the best of each source.
68
+ - **Source-specific contributions** — what only each source provides.
69
+ - **Recommended reading order** — sequence for someone new to the topic,
70
+ with the reason per step.
71
+
72
+ ## Matrix variants
73
+
74
+ Pick the shape that fits what the sources actually differ on:
75
+
76
+ ### Method comparison
77
+
78
+ When sources describe different methods/approaches:
79
+
80
+ ```markdown
81
+ | Method | Source | Best For | Limitations | Difficulty | Results |
82
+ |--------|--------|----------|-------------|------------|---------|
83
+ | [Method A] | [Source 1] | [Use case] | [Weakness] | Easy | [Outcome] |
84
+ | [Method B] | [Source 2] | [Use case] | [Weakness] | Hard | [Outcome] |
85
+
86
+ Recommendation: use [X] when [condition]; combine [X + Y] for [scenario].
87
+ ```
88
+
89
+ ### Viewpoint spectrum
90
+
91
+ When sources sit at different positions on a spectrum:
92
+
93
+ ```markdown
94
+ [Extreme Position A] ←―――――――――――→ [Extreme Position B]
95
+ ↑ ↑ ↑
96
+ [Source 1] [Source 2] [Source 3]
97
+
98
+ Per position: core belief · reasoning · strongest point · weakest point.
99
+ My position: where you land after reviewing all perspectives, and why.
100
+ ```
101
+
102
+ ### Evolution over time
103
+
104
+ When tracking how understanding of a topic evolved:
105
+
106
+ ```markdown
107
+ | Period | Representative Source | Key Insight | What Changed Next |
108
+ |--------|----------------------|-------------|-------------------|
109
+ | [Era 1] | [Source/Author] | [Prevailing view] | [Paradigm shift] |
110
+
111
+ Pattern analysis: what stayed constant · what repeatedly changed ·
112
+ current frontier.
113
+ ```
114
+
115
+ ### Interdisciplinary
116
+
117
+ When the same topic is analyzed from different fields:
118
+
119
+ ```markdown
120
+ | Discipline | Source | Core Question | Key Findings | Limitations |
121
+ |------------|--------|---------------|--------------|-------------|
122
+ | Economics | [Source] | [Question] | [Insight] | [Blind spot] |
123
+ | Psychology | [Source] | [Question] | [Insight] | [Blind spot] |
124
+
125
+ Synthesis: complementary insights · contradictions + resolution ·
126
+ blind spots one field fills for another.
127
+ ```
128
+
129
+ ### Practical / how-to
130
+
131
+ For how-to content from multiple sources: common steps all sources agree
132
+ on, a variations table per aspect, reported results/credibility per
133
+ source, then a personalized recommendation for the reader's context.
134
+
135
+ ## Conflict resolution
136
+
137
+ When sources directly contradict, investigate before picking a winner.
138
+ Five common reasons a contradiction is only apparent:
139
+
140
+ 1. **Different definitions** — they define the key term differently;
141
+ not actually contradicting if talking about different things.
142
+ 2. **Different contexts** — different time/place/population; both can be
143
+ right in their own context.
144
+ 3. **Different evidence** — quality difference explains the disagreement.
145
+ 4. **Different values/goals** — different optimization targets lead to
146
+ different conclusions.
147
+ 5. **One is wrong** — one source has flawed reasoning.
148
+
149
+ Resolution lands on one of: which source is more reliable for *this*
150
+ claim and why · how both can be true depending on context · this remains
151
+ unresolved and needs more evidence.
152
+
153
+ ## Pitfalls
154
+
155
+ - ❌ Forcing false equivalence — not all views are equally valid.
156
+ - ❌ Cherry-picking to support a predetermined view.
157
+ - ❌ Ignoring publication quality / expertise differences.
158
+ - ❌ Over-detailed comparison that misses the forest for the trees.
159
+
160
+ ## Best practices
161
+
162
+ - ✅ Weight sources by credibility.
163
+ - ✅ Look for convergent evidence.
164
+ - ✅ Note what is settled vs. debated.
165
+ - ✅ Name your own biases in interpretation.
166
+
167
+ ## How to populate
168
+
169
+ 1. Read each source independently first.
170
+ 2. Identify common themes / questions across sources.
171
+ 3. Choose the matrix shape based on what you are comparing.
172
+ 4. Fill in each source's position.
173
+ 5. Analyze patterns and synthesize — do not stop at the table.
174
+
175
+ ---
176
+
177
+ ## ADOPT citation
178
+
179
+ Adapted from an external reference.
@@ -0,0 +1,165 @@
1
+ # Context Hygiene — Mechanics
2
+
3
+ > Suggestion templates, state-dump format, read-loop self-checks, and host fallbacks for the `context-hygiene` rule
4
+
5
+ _Origin: migrated from `src/rules/context-hygiene.md` per the P4 pattern of `road-to-kernel-and-router.md`. The freshness thresholds, the 3-failure rule (with failure-identity and hard-blocker classes), the tool-loop cap, and the read-loop 15/25 Iron Law stay in the rule; this file carries the templates and per-host procedures._
6
+
7
+ ## Conversation-freshness suggestion — how to phrase it
8
+
9
+ Estimate token cost: responses × ~1,500 tokens.
10
+
11
+ ```
12
+ > ⚡ This conversation has ~{N} messages (~{N×1500} tokens history cost — charged on EVERY request).
13
+ > A fresh chat saves ~{N×1500} input tokens per request.
14
+ >
15
+ > 1. Start fresh — I'll initiate a session handoff
16
+ > 2. Continue here
17
+ ```
18
+
19
+ **If the user picks 1:** Initiate a session handoff or start fresh.
20
+
21
+ ## Read-loop self-check (fires at the 15-min warning)
22
+
23
+ 1. Source expectation known? If no → read **once**, then act.
24
+ 2. Can a single failing test name the error? If yes → run it now.
25
+ 3. Regression in working code? → `git log` + `git show <sha> -- <file>`.
26
+ 4. Guessing at mock / payload shape? → read the producer **once**.
27
+
28
+ ## Read-loop abort block (the 25-min stop)
29
+
30
+ ```
31
+ > ⛔ Loop: N read-only turns, ~M min. Read: <files>. Hypothesis: <X>.
32
+ > 1. Different approach (suggestion: <Y>)
33
+ > 2. Point me at the right spot
34
+ > 3. Fresh chat with state dump
35
+ ```
36
+
37
+ Non-bypassable. An autonomous mandate (`/work`, `/roadmap:process-*`,
38
+ "entscheide selbst") does **not** lift the abort — it is the safety
39
+ net that protects autonomy from becoming a token sink.
40
+
41
+ Debug procedure for "I'm in a read loop fixing tests" →
42
+ `systematic-debugging` § Debug micro-loop (one test, one fix, one re-run).
43
+
44
+ ## State dump format
45
+
46
+ ```
47
+ ## State Dump: [Task]
48
+ ### Tried: 1. [Approach] → [Why failed] 2. ... 3. ...
49
+ ### Known: [Key facts]
50
+ ### Hypothesis: [Best guess for root cause]
51
+ ### Recommendation: [Next approach for fresh session]
52
+ ```
53
+
54
+ Use `/agent-handoff` to generate a context summary for a fresh conversation.
55
+
56
+ ## Augment-specific: ignored-skills recovery
57
+
58
+ Skills excluded via `.augmentignore` don't appear in `<available_skills>`.
59
+ If you need an ignored skill: read its SKILL.md directly, apply guidance, then ask:
60
+
61
+ ```
62
+ > 💡 I loaded `{name}` manually — currently ignored in `.augmentignore`.
63
+ > 1. Remove from ignore — relevant for this project
64
+ > 2. Keep ignored — one-off
65
+ ```
66
+
67
+ ## Copilot fallback
68
+
69
+ GitHub Copilot has no `PostToolUse` hook surface, so
70
+ `scripts/context_hygiene_hook.ts` cannot run structurally and
71
+ `agents/state/context-hygiene.json` is not maintained automatically
72
+ (tool-call count, loop signal, freshness milestones at 20/40/60).
73
+
74
+ The cooperative path: track turns and tool-loop signals from memory
75
+ during the conversation and apply the suggest-a-new-chat / 3-failure
76
+ stop / loop-detection rules. To refresh the state file manually so the
77
+ dashboard or another tool can read the latest counters, run:
78
+
79
+ ```bash
80
+ ./scripts-run src/scripts/context_hygiene_hook < /dev/null
81
+ ```
82
+
83
+ The script reads from stdin if a JSON envelope is provided and
84
+ otherwise writes a no-op snapshot under the shared dispatcher lock.
85
+ Exit code is always 0 — hooks must never block the agent loop.
86
+
87
+ ## See also
88
+
89
+ - `context-hygiene` (rule) — thresholds, 3-failure rule, tool-loop cap, read-loop Iron Law.
90
+ - `systematic-debugging` § Debug micro-loop — the one-test-one-fix-one-rerun procedure.
91
+
92
+ ## The CI waiter — use the helper, never the hand-written loop
93
+
94
+ `./scripts-run src/scripts/ci_settle <pr> [--timeout-min N] [--interval-sec N]`
95
+
96
+ Exit codes: **0** settled green · **1** settled red, with the failing checks
97
+ named · **2** did not settle, or the API could not be read — never a verdict.
98
+
99
+ Four states classify as *not settled*, and each one is a way the hand-written
100
+ form goes wrong: an API error, a non-zero `gh` exit, unparseable output, and
101
+ **zero registered checks** (a run that has not registered its checks yet looks
102
+ exactly like a finished one with nothing to report).
103
+
104
+ **Why it exists.** Measured 2026-08-20:
105
+
106
+ ```bash
107
+ until ! gh pr checks 1459 | grep -q "pending"; do sleep 60; done
108
+ ```
109
+
110
+ The API then failed. Its error text — `error connecting to api.github.com` —
111
+ contains no `pending`, so the loop exited, the session reported a settle that
112
+ had not happened, and the claim had to be retracted to the user in the next
113
+ reply. The bug is not the sleep or the grep: **absence of the word `pending`
114
+ was treated as evidence of completion**, and an error is neither settled nor
115
+ pending. The exit condition is the part that is easy to get wrong, so it lives
116
+ in one place rather than in every agent's head.
117
+
118
+ ## Waiting is one waiter — why the loop test misses it
119
+
120
+ Migrated from [`context-hygiene`](../../rules/context-hygiene.md)
121
+ § *Waiting is one waiter, never a fleet* under the P4 pattern
122
+ (`road-to-standing-payload-diet` step 1.3). The rule keeps the Iron Law, the
123
+ one-waiter instruction and the enforcement verdict; the argument for them is
124
+ here.
125
+
126
+ The loop test in that rule fails on waiting in **both** of its clauses:
127
+
128
+ - **"Same parameters" fails.** A `sleep 240` followed by `sleep 420` followed by
129
+ `sleep 595` are three different calls by any parameter comparison, so nothing
130
+ reads them as repetition.
131
+ - **"Repetition without new information" fails too**, and this is the subtler
132
+ half: the poll genuinely returns a different value each round — 31 green, then
133
+ 34, then 36 — which *feels* like progress. It is not information unless a
134
+ different digit would make you act differently. It would not: the only actions
135
+ available were wait, or stop and report, and 34 licensed neither more than 31
136
+ did. **The discriminator is the decision, not the digits.**
137
+
138
+ So state it separately: pick **one** waiter for the condition and let it finish.
139
+ Where the harness re-invokes on completion, waiting costs nothing and polling
140
+ costs a turn per expiry — and every stacked waiter is a turn that arrives *after*
141
+ the answer already did. Where it does not, one `until <condition>` loop is still
142
+ one call rather than N.
143
+
144
+ **Measured once, at n=1, and worth naming for its shape rather than its
145
+ frequency** (2026-08-12): a CI wait started roughly 35 background commands —
146
+ a fresh timer *and* a fresh condition-watcher per round, none cancelled when the
147
+ next pair started. CI settled with about fifteen still live; each then expired
148
+ and produced an empty turn. Nothing was corrupted, which is exactly why it ran
149
+ so long: every individual step looked reasonable.
150
+
151
+ **Enforcement: none, and the reason is structural.** The `context-hygiene` hook
152
+ counts tool calls; a waiter is indistinguishable from any other call at that
153
+ layer, and nothing in the envelope says two live waiters are watching one
154
+ condition. This is model-carried on every host.
155
+
156
+ ## The declared-protocol cap — why 8, and when it changes
157
+
158
+ Migrated from [`context-hygiene`](../../rules/context-hygiene.md)
159
+ § *Declared read protocol* under the same pattern. The rule keeps the cap and the
160
+ three-field declaration contract; the honesty note about the number is here.
161
+
162
+ > **The 8 is a guess, and specifically a LOWER BOUND.** One observed run — the coherence audit that motivated this clause — needed 8+ read turns and was legibly the protocol working, not a loop. So 8 is "the number that was enough once", not a measured optimum: n=1 says almost nothing about where the tail of the distribution sits, and nobody knows how many sessions silently hit the old 5 and should have continued. Calling this a derivation would be false advertising, which is the same failure class as the "17 rules carry absolutes" figure this rule's own roadmap refuted.
163
+ > **Revisit-if — whichever comes first:** (a) **≥ 10 declared-protocol sessions** have been observed, at which point set the cap from their p95 and delete this note; or (b) **90 days** elapse with fewer than 10, which is itself the answer — declared protocols are rare, the cap is not load-bearing, and it drops back to the undeclared 5. A condition like "once a distribution exists" was rejected as unfalsifiable: it is gradual, never feels urgent, and absence of complaints is indistinguishable from absence of measurement. <!-- enforcement-count-ok: not an enforcement denominator — the 10 is a revisit threshold for observed declared-protocol read sessions and the 90 a calendar deadline; neither is a count of rules, obligations, or covered platforms, so there is no resolver output to cite instead -->
164
+
165
+