@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,177 @@
1
+ # API Cost Levers
2
+
3
+ Reference material for a downstream AI-coding agent that wants to cut its own
4
+ Claude API dollar bill. Four platform-level billing levers, the exact economics
5
+ of each, and how they interact. Read on demand — not always-loaded.
6
+
7
+ Facts sourced from the in-repo `claude-api` plugin skill plus platform research
8
+ (2026-07-14). Do not invent an API shape beyond what is stated here.
9
+
10
+ ## The four levers at a glance
11
+
12
+ | Lever | Cuts | Best for | Watch out for |
13
+ |---|---|---|---|
14
+ | Prompt caching | Repeated input tokens | Stable prefix reused across calls (system prompt, tools, repo map) | Any byte change in the prefix invalidates the rest |
15
+ | Batch API | 50% input + output | Non-interactive bulk work (classification, summarization, evals) | Async, up to 24h, results unordered |
16
+ | Model tiering | Per-token price | Routine work on a cheaper model | Switching model is a cache miss |
17
+ | Effort / output sizing | Thinking + output tokens | Routine turns that don't need deep reasoning | Oversized `max_tokens` risks runaway output |
18
+
19
+ ## 1. Prompt caching
20
+
21
+ Put the large, byte-**stable** context first — system prompt, tool definitions,
22
+ a corpus or repo map, few-shot examples — behind a
23
+ `cache_control: {type: 'ephemeral'}` breakpoint. Keep volatile content (the
24
+ varying question, timestamps, per-request IDs) **after** the last breakpoint.
25
+ The cache is a **prefix match**: any byte change in the cached prefix
26
+ invalidates everything after it. Render order is tools then system then
27
+ messages.
28
+
29
+ Caching is GA — **no beta header needed**.
30
+
31
+ Economics:
32
+
33
+ - Cache reads cost approximately 0.1x the base input price.
34
+ - Cache writes cost 1.25x (5-minute TTL) or 2x (1-hour TTL).
35
+ - Break-even is after **one** read on the 5-minute TTL.
36
+
37
+ Constraints:
38
+
39
+ - The minimum cacheable prefix is model-dependent (approximately 1024–4096
40
+ tokens). Shorter prefixes silently do not cache.
41
+ - The cache is workspace-isolated (since February 2026).
42
+
43
+ Verify a hit with `usage.cache_read_input_tokens > 0`.
44
+
45
+ ```json
46
+ {
47
+ "system": [
48
+ { "type": "text", "text": "<large stable system prompt>",
49
+ "cache_control": { "type": "ephemeral" } }
50
+ ],
51
+ "messages": [
52
+ { "role": "user", "content": "<the varying question>" }
53
+ ]
54
+ }
55
+ ```
56
+
57
+ ## 2. Batch API
58
+
59
+ For **non-interactive, non-latency-sensitive bulk work** — bulk classification,
60
+ mass file summarization, eval runs. Not chatbots or interactive assistants.
61
+
62
+ - **50% off both input and output tokens.**
63
+ - Async: results within 24h (usually much less), keyed by `custom_id`, arriving
64
+ **unordered** — key results by `custom_id`, never by position.
65
+ - **Stacks with prompt caching**: a cached-batch input token can reach
66
+ approximately 0.05x the standard input price.
67
+
68
+ ## 3. Model tiering
69
+
70
+ Treat models like a team — a cheap model for mechanical or routine work, the
71
+ expensive model only for hard judgment. Approximate input / output price per 1M
72
+ tokens:
73
+
74
+ | Model | Input | Output |
75
+ |---|---|---|
76
+ | Haiku | $1 | $5 |
77
+ | Sonnet | $3 | $15 |
78
+ | Opus | $5 | $25 |
79
+ | Fable | $10 | $50 |
80
+
81
+ Opus input is approximately 5x Haiku. Tier by task **difficulty**, not blindly:
82
+ a cheaper model that gives wrong answers on judgment tasks costs correction
83
+ cycles, which erases the saving.
84
+
85
+ **Interaction with caching.** The prompt cache is keyed by `(model, prefix)`, so
86
+ switching a call to a cheaper model is a cache **miss**. Weigh the downgrade
87
+ saving against the lost cache-read saving before routing a cached call to a
88
+ different model.
89
+
90
+ ## 4. Effort and output right-sizing
91
+
92
+ - `output_config.effort` (low through max) controls thinking and output depth,
93
+ and therefore spend. Dial effort **down** on routine turns; reserve high / max
94
+ for hard reasoning.
95
+ - Right-size `max_tokens` — do not leave a huge ceiling. An unrealistically
96
+ large `max_tokens` does not cost tokens by itself, but it risks runaway output
97
+ and defeats pre-flight budgeting.
98
+
99
+ ## When to reach for which
100
+
101
+ | Situation | Lever |
102
+ |---|---|
103
+ | Same large context reused across many calls | Prompt caching |
104
+ | Thousands of independent, non-urgent jobs | Batch API (+ caching) |
105
+ | Turn is mechanical / narrow / well-specified | Cheaper model tier |
106
+ | Turn is routine and does not need deep thinking | Lower `effort` |
107
+ | Output could balloon unnecessarily | Cap `max_tokens` |
108
+ | Interactive latency matters | Caching + tiering; not Batch |
109
+
110
+ ## Claude Code note
111
+
112
+ In Claude Code, prompt caching is automatic for the **main loop** — resending
113
+ the same context prefix is cheap, so keeping a stable prefix pays off without
114
+ any explicit `cache_control`. The session-level hygiene levers are `/clear`
115
+ and `/compact` to shed accumulated context, plus subagent delegation for
116
+ verbose output so it never lands in the main context window.
117
+
118
+ **Subagents and forks pay a different cache economy — verified against host
119
+ version 2.1.220 (2026-07-30), re-check on drift:**
120
+
121
+ - A **named subagent** starts its own conversation with its own system
122
+ prompt and tool set. It builds its own cache from scratch, so its **first
123
+ call has no cache hit** — the entire per-spawn preamble (rules, tools,
124
+ dispatch prompt) is a cold write. Subagents use the **five-minute TTL**
125
+ even on a subscription; there is no per-agent setting to change that (see
126
+ `## Known upstream costs` below).
127
+ - A **fork** inherits the parent's system prompt, tools, and conversation
128
+ history exactly, so its first request **reads the parent's cache** instead
129
+ of writing a fresh one — the only documented mechanism that shares a cache
130
+ across a dispatch boundary. Forking forces background mode, which changes
131
+ the tool set and therefore invalidates the very prefix that motivated the
132
+ fork; weigh that cost before reaching for it — see the fork-vs-subagent
133
+ ordering rule in See also.
134
+ - Either way, the **cold-start preamble is re-written on every spawn** — the
135
+ always-loaded rule set, the tool definitions, and the dispatch prompt are
136
+ not shared across separate subagent instances. Fan-out (many subagents
137
+ from one parent) multiplies this cost by cohort size; see
138
+ `## Known upstream costs` below for the fan-out re-prefill issue this
139
+ package cannot fix.
140
+
141
+ ## Known upstream costs
142
+
143
+ Host-controlled behaviour this package has confirmed but cannot change at
144
+ any layer. Each entry carries the host version observed and the command to
145
+ re-verify it — a stale entry degrades into a dated observation, never a
146
+ false promise, when Anthropic changes the behaviour underneath it.
147
+
148
+ | Cost | Observed on | Re-verify |
149
+ |---|---|---|
150
+ | Fan-out (`do-in-parallel`-shaped dispatch) re-prefills the parent-accumulated context **per child** — the waste scales linearly with fan-out width, worst exactly where fan-out is most valuable (anthropics/claude-code#81389, open). No fix at any layer. | Claude Code 2.1.220, 2026-07-30 | `claude --version`; re-check the linked issue for a status change |
151
+ | Host-dispatched subagents are pinned to the **five-minute** cache TTL regardless of subscription tier or any environment variable; `ENABLE_PROMPT_CACHING_1H` does not apply to them. | Claude Code 2.1.220, 2026-07-30 | `claude --version`; re-check the official caching docs for a subagent-TTL setting |
152
+
153
+ Neither entry implies a package-side fix exists or is planned — both are
154
+ request-construction facts inside the host binary, outside this package's
155
+ reach. This package's own scope is measurement and payload size (what it
156
+ authors), never subagent request construction (what the host authors).
157
+
158
+ ## See also
159
+
160
+ - [`cache-economy-refusals`](../../../agents/settings/contexts/cache-economy-refusals.md) —
161
+ the measured cache figures behind the Claude Code note above, plus the
162
+ refusals (no interception proxy, no blanket 1h TTL, no cache-hit auto-tuning)
163
+ recorded so they are not rebuilt.
164
+
165
+ - [`model-recommendation.md`](model-recommendation.md) — tier routing (the
166
+ capability band behind lever 3).
167
+ - [`size-and-scope.md`](size-and-scope.md) — token discipline for the artifacts
168
+ that become the cached prefix.
169
+ - [`subagent-orchestration/prompts/README.md`](../../skills/subagent-orchestration/prompts/README.md)
170
+ § Prompt-cache discipline — sibling-uniformity rules and the
171
+ fork-vs-subagent dispatch ordering that follow from this cache economy.
172
+ - [`docs/contracts/ai-council-config.md`](../../contracts/ai-council-config.md)
173
+ § `prompt_cache.ttl` — the one surface where this package DOES control a
174
+ cache-control TTL (the council's own Anthropic calls, never host subagents).
175
+ - The Claude Code `claude-api` plugin skill (external, not vendored here) — the
176
+ authoritative, versioned API reference these figures derive from; re-check it
177
+ when Anthropic pricing or the caching/batch surface changes.
@@ -0,0 +1,222 @@
1
+ # Artifact Drafting Protocol — Mechanics
2
+
3
+ > Phase A/B/C detail and the roadmap batch-mode carve-out for the `artifact-drafting-protocol` rule
4
+
5
+ _Origin: migrated from `src/rules/artifact-drafting-protocol.md` per the P4 pattern of `road-to-kernel-and-router.md`. The Iron Law, the trigger surface, and the golden rules stay in the rule; this file carries the per-phase procedure._
6
+
7
+ ## Phase A — Understand
8
+
9
+ **Question zero, asked first: should this artifact exist at all?**
10
+
11
+ Before the five below, put the extend-versus-create question to the user —
12
+ *is there an existing artifact this belongs in?* It used to live in Phase B,
13
+ after the research, and it was measured moving: one source found that the same
14
+ stop placed after work had begun was passed straight through, because mid-build
15
+ momentum beats restraint. A stop that only fires once you are invested is a stop
16
+ that does not fire.
17
+
18
+ Asking it first costs one question and is answerable without the research: the
19
+ user usually knows whether they are extending something. Phase B still runs the
20
+ overlap scan — that is what turns a guess into a verdict — but it now *confirms
21
+ or overturns* an answer already on the record rather than raising the question
22
+ for the first time at the point where a draft is half-formed.
23
+
24
+ Ask up to **5** further clarifying questions (numbered options, each with a
25
+ *"skip / I don't know yet"* escape):
26
+
27
+ 1. **Problem** — what does this solve that no existing artifact solves?
28
+ 2. **Trigger surface** — which user phrasings should fire this?
29
+ 3. **Should-trigger examples** — 2-3 in the user's words.
30
+ 4. **Near-miss cases** — 2-3 phrasings that must **not** fire.
31
+ 5. **Artifact type** — skill, rule, command, or guideline? Offer a
32
+ 3-line primer if unsure.
33
+
34
+ If the user skips Q1 or Q5, stop and surface the ambiguity — don't guess.
35
+
36
+ ## Phase B — Research
37
+
38
+ Run the **search protocol** from
39
+ [`learning-to-rule-or-skill` § 4](../../skills/learning-to-rule-or-skill/SKILL.md)
40
+ — `ls` all four surfaces (`skills/`, `rules/`, `guidelines/`, `commands/`),
41
+ grep with **solution-words AND problem-words**, scan sub-directory
42
+ taxonomies, then **open and skim** the 3 nearest matches. A negative grep
43
+ alone is not proof of no overlap. Report the top 3-5 most-similar
44
+ artifacts and ask (numbered options) — this **confirms or overturns** the
45
+ question-zero answer from Phase A with evidence, rather than raising it for the
46
+ first time:
47
+
48
+ - Extend an existing one?
49
+ - Create a new one — gap is real?
50
+ - Show overlap first?
51
+ - Promote via `learning-to-rule-or-skill` instead?
52
+
53
+ A Phase-B verdict that contradicts the Phase-A answer is the useful outcome, not
54
+ an embarrassment: it is the research doing its job. Surface the contradiction
55
+ and let the user re-decide.
56
+
57
+ Carry the summary into the commit message (*"Reviewed before drafting:
58
+ X, Y"*).
59
+
60
+ ### Where the answer is written — `composition_review:`
61
+
62
+ A commit message is not a tree artifact. Measured 2026-08-27 over the twenty most
63
+ recently added skills and rules
64
+ (`agents/evidence/analysis/authoring-search-record-sample-2026-08-27.md`), **1 of
65
+ 20** carried a machine-readable record of the Phase-B verdict; 9 carried a strict
66
+ prose one, and the rest carried a `See also` gloss or a routing row. So an
67
+ artifact authored after a thorough scan and one authored after none were
68
+ indiscernible in the tree — which is why the overlap tools
69
+ (`audit_overlap`, `audit_skill_overlap`, `report_layer_overlap`) run over a
70
+ corpus rather than over a decision.
71
+
72
+ The record is a frontmatter block, defined in `skill.schema.json` and
73
+ `rule.schema.json`, and **optional on existing artifacts by design — nothing is
74
+ backfilled**:
75
+
76
+ ```yaml
77
+ composition_review:
78
+ - candidate: skill:existing-ui-audit # skill: / rule: / command: / guideline: / none
79
+ disposition: create_separate # what happened to this candidate
80
+ rationale: audits what exists before a write; this governs the write itself
81
+ ```
82
+
83
+ Four dispositions, and the discriminator for each:
84
+
85
+ | Value | Means |
86
+ |---|---|
87
+ | `extend_incumbent` | the incumbent absorbed the change; no new artifact was created |
88
+ | `compose_with_incumbent` | the new artifact routes to the incumbent rather than restating it |
89
+ | `create_separate` | the incumbent exists, was evaluated, and a separate artifact was authored anyway |
90
+ | `none_found` | the search ran and found no credible incumbent — pairs only with `candidate: none` |
91
+
92
+ `none_found` exists so an author is never pushed to **invent** an incumbent to
93
+ satisfy the schema. That failure would manufacture the pro-forma record the
94
+ mechanism is supposed to measure, using the mechanism.
95
+
96
+ `create_separate` is the value no other disposition vocabulary in this tree can
97
+ express, and it is why this is a fifth enum rather than a reuse. The nearest
98
+ incumbent is the harvest ledger's `adopt | adapt`
99
+ (`lint_harvest_provenance.ts:76`), which deliberately **excludes** rejection
100
+ (`:222`) because a rejected harvest has no artifact to cite. This record is the
101
+ mirror image — it is written *on* the artifact being created — so rejection is
102
+ the value it most needs. The finding, review and archive vocabularies are about
103
+ defects, review rows and roadmap files respectively; none of them has a slot for
104
+ "an incumbent existed and I built anyway".
105
+
106
+ **What the lint does and does not do.** `lint_composition_review` fails a record
107
+ whose `candidate` resolves to no artifact, or whose `none` / `none_found` pair
108
+ disagrees — a record naming an incumbent that is not in the tree reads as
109
+ evidence of a search that cannot have happened. It *reports without failing* an
110
+ addition carrying no record at all. It cannot check that the search happened,
111
+ that the rationale is true, or that the named incumbent is the nearest one;
112
+ flipping the advisory half to a block needs a false-positive rate from at least
113
+ one release of advisory operation, which does not exist yet.
114
+
115
+ ## Phase C — Draft
116
+
117
+ Propose **2-3 description variants** — Conservative / Pushy
118
+ (per `skill-quality`) / Concrete (embedded trigger example). User picks
119
+ or merges. Only then draft the body. Surface every structural choice
120
+ (size class, section order) as numbered options if in doubt.
121
+
122
+ Enforce size live: *"Body is at 420/500 lines. Split?"* (budgets per
123
+ `size-enforcement`). New skills also get an `evals/triggers.json` stub
124
+ (5 should-trigger + 5 should-not-trigger). See `skill-writing` § 1c.
125
+
126
+ ## Roadmap-run batch mode — the ONE structured bypass
127
+
128
+ When a `/roadmap:process-*` run starts under an **accepted execution
129
+ contract** (`roadmap-execution-contract`) whose pre-scan detected
130
+ artifact-authoring steps, the protocol runs in batch mode for exactly
131
+ those artifacts:
132
+
133
+ - **Phase B (Research) runs ONCE at contract time, against the CURRENT
134
+ artifact state** — one overlap scan covering every artifact the
135
+ roadmap plans; results (nearest matches, extend-vs-create verdicts)
136
+ are surfaced inside the contract summary the user accepts. This is
137
+ why authoring-time-only checking is not enough: a sibling roadmap may
138
+ have landed overlapping artifacts between authoring and execution.
139
+ - **Phases A (Understand) and C (Draft) run non-interactively during
140
+ the run** — the roadmap step text is the Understand input; the
141
+ contract acceptance is the approval that the per-phase prompts exist
142
+ to obtain.
143
+ - **Scope is the batch, nothing more.** An artifact NOT declared in the
144
+ roadmap (discovered mid-run) triggers the full interactive protocol —
145
+ or, under the contract, the scope-out-of-roadmap halt. That halt is the
146
+ **default** and stays the default; see § Late artifacts below for the one
147
+ declared value that changes it.
148
+ - Batch mode never skips the Research pass itself — it relocates and
149
+ batches it. `artifact_protocol: skip` does not exist.
150
+
151
+ ### Late artifacts — `halt` by default, `auto-research` only when declared
152
+
153
+ The bullet above is the whole rule when the contract says nothing. A contract
154
+ may instead declare `late_artifacts: auto-research`
155
+ ([`roadmap-execution-contract § 2a`](../../contexts/execution/roadmap-execution-contract.md)),
156
+ and then a mid-run discovery runs **this** procedure rather than halting:
157
+
158
+ 1. **Re-run Phase B against current state** — the same overlap scan the batch
159
+ ran at contract time, now over the artifact the run just found. Nothing new
160
+ is invented: this is the accepted-as-non-interactive procedure, later.
161
+ 2. **Extend verdict → extend silently.** The nearest match is edited. This is
162
+ the outcome the overlap scan exists to produce and it needs no approval it
163
+ did not already have.
164
+ 3. **Create verdict → derive Phase A from what is already on the record.** The
165
+ understand-answers come from the roadmap step text plus the decision-sheet
166
+ answers the user accepted. No new question is opened.
167
+ 4. **Genuine overlap conflict → halt.** Two plausible extend targets, or a
168
+ match whose scope contradicts the step, is a real decision and stops the
169
+ run.
170
+ 5. **Cap: three per run, then halt regardless of verdict.**
171
+
172
+ `halt` remains the shipped default (`decision 2026-08-20`, AI council 2/2 on
173
+ the `autonomy-defaults-sheet` fork; record
174
+ `agents/evidence/council/drain-blocker-dispositions-a.md`). The reasoning is
175
+ short: the cap bounds how far an unplanned artifact can drift the run, but it
176
+ does not decide whether the drift is wanted, and the conservative side of that
177
+ fork is the behaviour the tree already had. Making `auto-research` a declared
178
+ value rather than an inherited one is also what makes its own kill criterion —
179
+ the late-artifact revisit rate — attributable to the runs that chose it.
180
+ Reverting is one word in each of the two tables; no mechanism depends on the
181
+ default's direction.
182
+
183
+ **Kill criterion for `auto-research`, at the site rather than in a roadmap:**
184
+ a late-artifact revisit rate above 20 % — an auto-authored or auto-extended
185
+ artifact later reworked or reverted — removes the value and returns every
186
+ late discovery to `halt`. **No instrument today:** nothing counts late
187
+ artifacts or their revisits, so the rate is unmeasured rather than low, and
188
+ the cap of three is the only live bound. Recorded here because a criterion
189
+ that lives only in the roadmap that flipped the default becomes unreachable
190
+ the moment that roadmap is archived.
191
+
192
+
193
+ ## Complexity budget — the six questions before a new artifact
194
+
195
+ Folded here from the 9.4.0 review (Prio 5), which named the failure mode:
196
+ "das Paket kann fast jede Kritik mit einem weiteren Mechanismus beantworten"
197
+ (Problem → Regel → Lint → Hook → Report → Roadmap → Claim → Test = governance
198
+ inflation). This REPLACES the ad-hoc "should this exist" prose — it is a
199
+ checklist, not a new gate/rule (adding a gate to enforce "add less" would be
200
+ the very inflation it guards against). Before drafting any new skill / rule /
201
+ command / hook / gate, answer all six; a "no" on **replaces** or **removable**
202
+ is a strong signal to fold into an existing artifact instead:
203
+
204
+ 1. **Replaces?** — what existing mechanism does this retire or subsume? (If
205
+ nothing, justify why the surface must grow.)
206
+ 2. **Overlaps?** — does it duplicate a trigger / responsibility another
207
+ artifact already owns?
208
+ 3. **Discoverable?** — will a user actually find it, or does it just raise the
209
+ catalog count?
210
+ 4. **Measurable?** — is there a signal that would show it earning its place
211
+ (or a null that would retire it)?
212
+ 5. **Removable?** — can it be demoted / de-eligibled / deleted later without a
213
+ migration?
214
+ 6. **Who debugs it?** — is the maintenance owner real, given bus-factor?
215
+
216
+ The load-bearing question the review elevates: not "how do we prevent this
217
+ error in future?" but **"which existing mechanism gets removed or replaced?"**
218
+
219
+ ## See also
220
+
221
+ - `artifact-drafting-protocol` (rule) — Iron Law, triggers, golden rules.
222
+ - `ask-when-uncertain` · `improve-before-implement` · `user-interaction` · `skill-quality` — the protocol extends these; cross-link, don't restate.
@@ -0,0 +1,134 @@
1
+ ---
2
+ demo_for: ask-when-uncertain
3
+ layer: pattern-memory
4
+ prose_delta:
5
+ rule_chars_before: 3893
6
+ rule_chars_after: 4267
7
+ measured_at: phase-3.3-cross-link-landing
8
+ note: "+374 chars from the Examples cross-link block; future prose-pruning rounds (out of scope for Phase 3) will pull pattern prose from the rule into this demo and drive the after-count below the before-count."
9
+ ---
10
+
11
+ # ask-when-uncertain — Pattern Memory
12
+
13
+ > Wrong / right / why demos for the `ask-when-uncertain` Iron Law
14
+ > (one question per turn, vague-request must ask). Linked from
15
+ > [`ask-when-uncertain`](../../rules/ask-when-uncertain.md)
16
+ > § Examples. Outcome baseline at
17
+ > [`tests/golden/outcomes/ask_when_uncertain.json`](../../../tests/golden/outcomes/ask_when_uncertain.json).
18
+
19
+ ## Demo 1 — Vague request, multi-question stack
20
+
21
+ ### Wrong shape
22
+
23
+ ```
24
+ User: improve this
25
+
26
+ Agent:
27
+ 1. Should I optimize for readability or speed?
28
+ 2. Refactor the function signature?
29
+ 3. Add tests too?
30
+ 4. Run PHPStan after?
31
+
32
+ Reply with a, b, c, d so I can pick.
33
+ ```
34
+
35
+ **Failure mode:** four `?` aimed at the user, structured-answer
36
+ demand (`a, b, c, d`), no triage. Iron Law breach: a turn with a
37
+ question has *exactly one*. Compound thinking load — answer to Q1
38
+ reframes Q2.
39
+
40
+ ### Right shape
41
+
42
+ ```
43
+ User: improve this
44
+
45
+ Agent: Welche Achse soll "improve" treffen?
46
+
47
+ 1. Lesbarkeit (Naming, Funktions-Splits)
48
+ 2. Performance (Allokationen, N+1)
49
+ 3. Robustheit (Error-Handling, Edge Cases)
50
+
51
+ Dann lege ich los.
52
+ ```
53
+
54
+ ### Why it works
55
+
56
+ Single `?`, numbered options without compound asks, picks the
57
+ question whose answer reframes everything downstream. The follow-up
58
+ ("tests? PHPStan?") rides on the next turn — its framing depends on
59
+ the answer here.
60
+
61
+ ## Demo 2 — Drive-by execution on a vague trigger
62
+
63
+ ### Wrong shape
64
+
65
+ ```
66
+ User: clean up this file
67
+
68
+ Agent: [edits 12 files, removes 200 lines, reformats imports,
69
+ extracts 3 helpers, renames 5 variables]
70
+ Done.
71
+ ```
72
+
73
+ **Failure mode:** "clean up" is a vague-request trigger
74
+ (`ask-when-uncertain` § Vague-request triggers). MUST-ask before
75
+ touching code. Without scope, the diff is a guess at the user's
76
+ intent.
77
+
78
+ ### Right shape
79
+
80
+ ```
81
+ User: clean up this file
82
+
83
+ Agent: Was bedeutet "clean up" hier?
84
+
85
+ 1. Toten Code raus
86
+ 2. Format / Imports sortieren
87
+ 3. Refactor (Funktionen splitten)
88
+
89
+ Pick one — sonst ist der Diff Raten.
90
+ ```
91
+
92
+ ### Why it works
93
+
94
+ Names the trigger explicitly ("vague-request"), surfaces the three
95
+ canonical interpretations from the rule's trigger table, and
96
+ declines to act without scope. The cost of asking once << cost of
97
+ ripping through 12 files in the wrong direction.
98
+
99
+ ## Demo 3 — Stacked questions inside a handoff
100
+
101
+ ### Wrong shape
102
+
103
+ ```
104
+ Agent: Bevor ich die Roadmap übergebe:
105
+
106
+ - Welcher Branch?
107
+ - Soll ich PRs erwähnen?
108
+ - Welches Modell für die Fortsetzung?
109
+ - Soll ich agents/runtime/.agent-chat-history zitieren?
110
+
111
+ Antworte als 1, 2, 3, 4.
112
+ ```
113
+
114
+ **Failure mode:** four-question handoff block. Per § Ordering &
115
+ handoff: handoff questions ride LAST, after domain clarifications,
116
+ folded into the handoff prompt itself — not as a parallel quiz.
117
+
118
+ ### Right shape
119
+
120
+ ```
121
+ Agent: [delivers the handoff prompt with sensible defaults filled
122
+ in: current branch, PR link present if open, model
123
+ recommendation per `model-recommendation`, history reference
124
+ auto-included]
125
+
126
+ Welche der vier Defaults soll ich vor dem Übergeben anpassen?
127
+ ```
128
+
129
+ ### Why it works
130
+
131
+ Defaults absorb three of the four "questions"; the remaining
132
+ question is the only one that genuinely needs user input — and it's
133
+ phrased so a one-word answer ("PR link" / "model" / "passt") closes
134
+ the loop.