@event4u/agent-config 14.22.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) 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 +333 -356
  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 +48 -39
  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 +1 -1
  60. package/dist/agent-src/commands/roadmap/materialize.md +2 -2
  61. package/dist/agent-src/commands/roadmap/next.md +9 -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 +1 -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 +13 -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 +36 -25
  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/scripts/archive_completed_roadmaps.ts +106 -4
  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-intelligence/SKILL.md +57 -1
  260. package/dist/agent-src/skills/code-refactoring/SKILL.md +3 -3
  261. package/dist/agent-src/skills/code-review/SKILL.md +3 -3
  262. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  263. package/dist/agent-src/skills/comp-banding/SKILL.md +1 -1
  264. package/dist/agent-src/skills/competitive-moat-analysis/SKILL.md +1 -1
  265. package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
  266. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +1 -1
  267. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  268. package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -2
  269. package/dist/agent-src/skills/contracts-cognition/SKILL.md +1 -1
  270. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
  271. package/dist/agent-src/skills/corpus-grounding/SKILL.md +2 -2
  272. package/dist/agent-src/skills/customer-research/SKILL.md +2 -2
  273. package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
  274. package/dist/agent-src/skills/data-handling-judgment/SKILL.md +1 -1
  275. package/dist/agent-src/skills/deal-qualification-meddic/SKILL.md +2 -2
  276. package/dist/agent-src/skills/decision-record/SKILL.md +3 -3
  277. package/dist/agent-src/skills/decision-review/SKILL.md +8 -8
  278. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +22 -22
  279. package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
  280. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +2 -2
  281. package/dist/agent-src/skills/design-review/SKILL.md +4 -4
  282. package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -1
  283. package/dist/agent-src/skills/design-tokens/SKILL.md +17 -2
  284. package/dist/agent-src/skills/design-variations/SKILL.md +2 -2
  285. package/dist/agent-src/skills/developer-like-execution/SKILL.md +2 -2
  286. package/dist/agent-src/skills/discovery-interview/SKILL.md +2 -2
  287. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +3 -3
  288. package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -2
  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/git-workflow/references/push-closes-its-loop.md +9 -0
  305. package/dist/agent-src/skills/gtm-launch/SKILL.md +2 -2
  306. package/dist/agent-src/skills/hiring-loop-design/SKILL.md +1 -1
  307. package/dist/agent-src/skills/html-deck/SKILL.md +5 -5
  308. package/dist/agent-src/skills/humanizer/SKILL.md +1 -1
  309. package/dist/agent-src/skills/humanizer/data/patterns.md +1 -1
  310. package/dist/agent-src/skills/iconography/SKILL.md +3 -3
  311. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  312. package/dist/agent-src/skills/laravel-api-endpoint/SKILL.md +2 -2
  313. package/dist/agent-src/skills/launch-readiness/SKILL.md +3 -3
  314. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +6 -6
  315. package/dist/agent-src/skills/livewire/SKILL.md +1 -1
  316. package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
  317. package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
  318. package/dist/agent-src/skills/memory-consolidation/SKILL.md +3 -3
  319. package/dist/agent-src/skills/messaging-architecture/SKILL.md +2 -2
  320. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
  321. package/dist/agent-src/skills/onboarding-design/SKILL.md +2 -2
  322. package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
  323. package/dist/agent-src/skills/one-on-one-cadence/SKILL.md +1 -1
  324. package/dist/agent-src/skills/org-design/SKILL.md +1 -1
  325. package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +3 -3
  326. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  327. package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
  328. package/dist/agent-src/skills/persona-writing/SKILL.md +1 -1
  329. package/dist/agent-src/skills/php-coder/SKILL.md +1 -1
  330. package/dist/agent-src/skills/pipeline-strategy/SKILL.md +2 -2
  331. package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -3
  332. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  333. package/dist/agent-src/skills/positioning-strategy/SKILL.md +2 -2
  334. package/dist/agent-src/skills/privacy-review/SKILL.md +1 -1
  335. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +3 -3
  336. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
  337. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +2 -2
  338. package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
  339. package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
  340. package/dist/agent-src/skills/release-comms/SKILL.md +2 -2
  341. package/dist/agent-src/skills/retention-loops/SKILL.md +2 -2
  342. package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
  343. package/dist/agent-src/skills/roadmap-management/SKILL.md +1 -1
  344. package/dist/agent-src/skills/roadmap-management/references/archival.md +1 -1
  345. package/dist/agent-src/skills/roadmap-writing/SKILL.md +5 -5
  346. package/dist/agent-src/skills/rule-writing/SKILL.md +6 -6
  347. package/dist/agent-src/skills/runway-cognition/SKILL.md +2 -2
  348. package/dist/agent-src/skills/scenario-modeling/SKILL.md +2 -2
  349. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  350. package/dist/agent-src/skills/skill-writing/references/procedure.md +1 -1
  351. package/dist/agent-src/skills/skill-writing/references/section-patterns.md +3 -3
  352. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +1 -1
  353. package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -3
  354. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  355. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +1 -1
  356. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  357. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +60 -4
  358. package/dist/agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +1 -1
  359. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  360. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  361. package/dist/agent-src/skills/ui-component-architect/SKILL.md +28 -8
  362. package/dist/agent-src/skills/unit-economics-modeling/SKILL.md +2 -2
  363. package/dist/agent-src/skills/upstream-contribute/SKILL.md +1 -1
  364. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +2 -2
  365. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  366. package/dist/agent-src/skills/vision-articulation/SKILL.md +1 -1
  367. package/dist/agent-src/skills/voc-extract/SKILL.md +2 -2
  368. package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +2 -2
  369. package/dist/agent-src/skills/wireframe/SKILL.md +1 -1
  370. package/dist/agent-src/skills/workspace-link/SKILL.md +1 -1
  371. package/dist/agent-src/templates/agent-settings.md +6 -6
  372. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  373. package/dist/agent-src/templates/contexts/knowledge-pages.md +2 -3
  374. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  375. package/dist/agent-src/templates/roadmaps.md +1 -1
  376. package/dist/agent-src/templates/scripts/README.md +2 -2
  377. package/dist/agent-src/user-types/_template/user-type.md +1 -1
  378. package/dist/cli/registry.js +1 -1
  379. package/dist/cli-delegate/archive_completed_roadmaps.js +52 -4
  380. package/dist/cli-delegate/check_update_banner.js +12 -1
  381. package/dist/cli-delegate/{chunk-TGIPZBCW.js → chunk-2KKXJW25.js} +22 -8
  382. package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
  383. package/dist/cli-delegate/{chunk-4FS4WRXP.js → chunk-3FKR64R5.js} +34 -6
  384. package/dist/cli-delegate/{chunk-J3RFNKG4.js → chunk-55ACLDUE.js} +2 -2
  385. package/dist/cli-delegate/{chunk-PKOBQADP.js → chunk-57PN4GYJ.js} +1 -1
  386. package/dist/cli-delegate/{chunk-BIXEDQPZ.js → chunk-AK6HODNQ.js} +4 -4
  387. package/dist/cli-delegate/{chunk-2FTMENJL.js → chunk-GYC3VRYN.js} +1 -1
  388. package/dist/cli-delegate/{chunk-LWTYTX6F.js → chunk-HZ52BRGG.js} +24 -18
  389. package/dist/cli-delegate/{chunk-6RJA2F5A.js → chunk-IVBPRCQO.js} +1 -1
  390. package/dist/cli-delegate/{chunk-I6RHFQEG.js → chunk-YUM5KURG.js} +17 -1
  391. package/dist/cli-delegate/cmd_analyze_session.js +1 -1
  392. package/dist/cli-delegate/cmd_brand_status.js +1 -1
  393. package/dist/cli-delegate/cmd_conformance.js +3 -3
  394. package/dist/cli-delegate/cmd_doctor.js +3 -3
  395. package/dist/cli-delegate/cmd_explain.js +2 -2
  396. package/dist/cli-delegate/cmd_export.js +4 -4
  397. package/dist/cli-delegate/cmd_handoff.js +24 -16
  398. package/dist/cli-delegate/cmd_mcp_available.js +1 -1
  399. package/dist/cli-delegate/cmd_memory_get.js +1 -1
  400. package/dist/cli-delegate/cmd_migrate.js +2 -2
  401. package/dist/cli-delegate/cmd_packs_active.js +2 -2
  402. package/dist/cli-delegate/cmd_prune.js +4 -4
  403. package/dist/cli-delegate/cmd_route_audit.js +3 -3
  404. package/dist/cli-delegate/cmd_route_explain.js +1 -1
  405. package/dist/cli-delegate/cmd_session_recycle.js +4 -14
  406. package/dist/cli-delegate/cmd_settings_get.js +15 -9
  407. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  408. package/dist/cli-delegate/cmd_settings_set.js +41 -11
  409. package/dist/cli-delegate/cmd_sync.js +4 -4
  410. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  411. package/dist/cli-delegate/cmd_update.js +1 -1
  412. package/dist/cli-delegate/cmd_upgrade.js +1 -1
  413. package/dist/cli-delegate/cmd_validate.js +4 -4
  414. package/dist/cli-delegate/cmd_versions.js +1 -1
  415. package/dist/discovery/deprecation-report.md +1 -1
  416. package/dist/discovery/discovery-manifest.json +27 -80
  417. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  418. package/dist/discovery/discovery-manifest.summary.md +3 -3
  419. package/dist/discovery/dormancy-report.md +1 -1
  420. package/dist/discovery/orphan-report.md +1 -1
  421. package/dist/discovery/packs.json +5 -7
  422. package/dist/discovery/trust-report.md +2 -2
  423. package/dist/discovery/workspaces.json +4 -6
  424. package/dist/hooks/dispatch.js +9249 -8981
  425. package/dist/install/install.mjs +47 -8
  426. package/dist/mcp/registry-manifest.json +3 -3
  427. package/dist/mcp/server.json +2 -2
  428. package/dist/mcp/server.mjs +5496 -2400
  429. package/dist/router.json +1 -1
  430. package/dist/scripts/_lib/agent_settings.js +73 -0
  431. package/dist/scripts/_lib/agent_src.js +20 -0
  432. package/dist/scripts/_lib/guidelines_lane.js +158 -0
  433. package/dist/scripts/_lib/lean_projection_mode.js +108 -0
  434. package/dist/scripts/_lib/router_match.js +243 -0
  435. package/dist/scripts/_lib/rule_injection.js +216 -0
  436. package/dist/scripts/condense.js +22 -25
  437. package/dist/scripts/project_thin_rules.js +139 -19
  438. package/dist/server/io/yamlIO.js +125 -17
  439. package/dist/server/schemas/settings.js +32 -5
  440. package/dist/shared/settingsSurface.js +6 -1
  441. package/docs/MIGRATION.md +56 -0
  442. package/docs/contracts/settings-classes.md +48 -7
  443. package/docs/guidelines/abstraction-thresholds.md +35 -0
  444. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +3 -3
  445. package/docs/guidelines/agent-infra/false-green.md +2 -2
  446. package/docs/guidelines/agent-infra/notes-horizon-mechanics.md +90 -0
  447. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  448. package/docs/guidelines/agent-infra/skill-quality-checklist.md +1 -1
  449. package/docs/guidelines/design-fidelity-mechanics.md +4 -0
  450. package/docs/guidelines/design-fidelity-routing.md +78 -0
  451. package/docs/guidelines/design-reconciliation.md +172 -0
  452. package/docs/guidelines/gtm-handoff.md +2 -2
  453. package/docs/guidelines/wing4-handoff.md +2 -2
  454. package/llms.txt +1 -1
  455. package/package.json +7 -3
  456. package/src/agent-src/scripts/archive_completed_roadmaps.ts +106 -4
  457. package/src/config/agent-settings.template.yml +94 -1
  458. package/src/config/ci-local-parity.yml +34 -0
  459. package/src/config/continuity-surface.json +8 -29
  460. package/src/config/evaluator-budgets.json +4 -4
  461. package/src/config/gate-coverage.yml +31 -8
  462. package/src/config/gate-reachability-exemptions.json +1 -0
  463. package/src/config/gate-violation-baselines.json +3 -3
  464. package/src/config/hook-token-budget.json +8 -7
  465. package/src/config/host-injection-effect.json +2 -2
  466. package/src/config/pack-size-budget.json +55 -4
  467. package/src/config/packed-binary-manifest.json +1 -1
  468. package/src/config/platform-anchor.json +47 -0
  469. package/src/config/preamble-payload-budget.json +2 -3
  470. package/src/config/publish-surface.json +4 -2
  471. package/src/config/ratification-policy.json +7 -0
  472. package/src/config/routing-coverage-seed.json +9 -2
  473. package/src/config/rule-stub-ceilings.json +16 -9
  474. package/src/scripts/_cli/cmd_session_recycle.ts +2 -25
  475. package/src/scripts/_cli/cmd_settings_get.ts +22 -7
  476. package/src/scripts/_cli/handoff_sessions.ts +14 -44
  477. package/src/scripts/_lib/agent_settings.ts +85 -0
  478. package/src/scripts/_lib/agent_src.ts +21 -0
  479. package/src/scripts/_lib/artifact_maturity.ts +242 -0
  480. package/src/scripts/_lib/conformance_report.ts +403 -0
  481. package/src/scripts/_lib/continuity_slot.ts +295 -0
  482. package/src/scripts/_lib/continuity_writer.ts +312 -0
  483. package/src/scripts/_lib/design_system_import.ts +20 -0
  484. package/src/scripts/_lib/design_tolerance.ts +281 -0
  485. package/src/scripts/_lib/guidelines_lane.ts +164 -0
  486. package/src/scripts/_lib/hook_settings.ts +85 -0
  487. package/src/scripts/_lib/lean_projection_mode.ts +127 -0
  488. package/src/scripts/_lib/obligation_frequency.ts +2 -3
  489. package/src/scripts/_lib/packed_binary_predicate.ts +37 -0
  490. package/src/scripts/_lib/platform_anchor.ts +1053 -0
  491. package/src/scripts/_lib/ratification_artifact.ts +278 -0
  492. package/src/scripts/_lib/recycle_envelope_paths.ts +109 -21
  493. package/src/scripts/_lib/regression_neighbourhood.ts +159 -22
  494. package/src/scripts/_lib/security_lint.ts +23 -2
  495. package/src/scripts/_lib/self_repair.ts +21 -0
  496. package/src/scripts/_lib/session_eol.ts +44 -0
  497. package/src/scripts/_lib/session_index_trust.ts +387 -0
  498. package/src/scripts/_lib/standing_bound_ratchet.ts +220 -0
  499. package/src/scripts/_lib/tolerance_shadow.ts +177 -0
  500. package/src/scripts/_lib/vendored_grammar_upstream.ts +280 -0
  501. package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
  502. package/src/scripts/audit_mcp_tools.ts +69 -25
  503. package/src/scripts/autonomy_friction_traffic.ts +379 -0
  504. package/src/scripts/build_mcp_catalog.ts +24 -1
  505. package/src/scripts/check_host_tree_parity.ts +291 -0
  506. package/src/scripts/check_kernel_edit_ratified.ts +462 -0
  507. package/src/scripts/check_loss_class_declared.ts +793 -46
  508. package/src/scripts/check_platform_anchor.ts +390 -0
  509. package/src/scripts/check_preamble_payload_budget.ts +424 -7
  510. package/src/scripts/check_projected_rule_routes.ts +395 -0
  511. package/src/scripts/check_rule_projection_integrity.ts +102 -2
  512. package/src/scripts/ci_settle.ts +205 -5
  513. package/src/scripts/code_graph/build.ts +79 -0
  514. package/src/scripts/code_graph/cli.ts +264 -7
  515. package/src/scripts/code_graph/detect.ts +38 -0
  516. package/src/scripts/code_graph/query.ts +25 -2
  517. package/src/scripts/code_graph/sqlite_store.ts +16 -1
  518. package/src/scripts/code_graph/types.ts +52 -3
  519. package/src/scripts/code_graph/validate.ts +3 -1
  520. package/src/scripts/code_graph/verbs.ts +590 -0
  521. package/src/scripts/condense.ts +22 -26
  522. package/src/scripts/generate_host_cost_table.ts +354 -0
  523. package/src/scripts/handoff_context_hook.ts +39 -1
  524. package/src/scripts/hook_manifest.json +1 -1
  525. package/src/scripts/hook_manifest.yaml +59 -28
  526. package/src/scripts/hooks/block_speaking_inbox_dir.ts +182 -16
  527. package/src/scripts/hooks/category_a.ts +1 -1
  528. package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
  529. package/src/scripts/hooks/code_graph_context_hook.ts +7 -18
  530. package/src/scripts/hooks/push_settle_hook.ts +3 -2
  531. package/src/scripts/hooks/rule_inject_hook.ts +107 -20
  532. package/src/scripts/hooks/session_eol_hook.ts +177 -145
  533. package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
  534. package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
  535. package/src/scripts/hot_context_hook.ts +103 -408
  536. package/src/scripts/lint_evidence_artifacts.ts +1 -0
  537. package/src/scripts/lint_knowledge_scale.ts +0 -26
  538. package/src/scripts/lint_roadmap_blockers.ts +164 -1
  539. package/src/scripts/mcp_server/consumer_tool_catalog.json +152 -2
  540. package/src/scripts/mcp_server/graph_tools.ts +294 -0
  541. package/src/scripts/mcp_server/path_util.ts +31 -0
  542. package/src/scripts/mcp_server/tool_catalog_source.ts +7 -1
  543. package/src/scripts/mcp_server/tools.ts +3 -13
  544. package/src/scripts/memory_lookup.ts +9 -9
  545. package/src/scripts/model_rule_injection.ts +61 -4
  546. package/src/scripts/project_thin_rules.ts +149 -16
  547. package/src/scripts/report_standing_payload_by_host.ts +650 -0
  548. package/src/scripts/schemas/agent-settings.schema.json +7 -1
  549. package/src/scripts/session_memory_index.ts +86 -8
  550. package/src/scripts/sync_agent_settings.ts +270 -10
  551. package/src/server/io/yamlIO.ts +127 -17
  552. package/src/server/schemas/settings.ts +45 -6
  553. package/src/shared/settingsSurface.ts +13 -2
  554. package/src/templates/compact-instructions.md +8 -3
  555. package/src/vendor/grammars/README.md +27 -2
  556. package/dist/agent-src/commands/chat-history/import.md +0 -170
  557. package/dist/agent-src/commands/chat-history.md +0 -63
@@ -58,7 +58,11 @@ import * as path from 'node:path';
58
58
  import process from 'node:process';
59
59
  import { fileURLToPath } from 'node:url';
60
60
 
61
- import { collect } from './update_roadmap_progress.js';
61
+ import {
62
+ blocker_is_resolved,
63
+ collect,
64
+ parse_blockers,
65
+ } from './update_roadmap_progress.js';
62
66
  import { guardedBaselineProblems, parseGuardedBaselines } from './guarded_baseline.js';
63
67
 
64
68
  import { isCliEntry } from './_cli_entry.js';
@@ -265,6 +269,80 @@ function _git_mv(root: string, src_rel: string, dst_rel: string, dry_run: boolea
265
269
  }
266
270
  }
267
271
 
272
+ // ---------------------------------------------------------------------
273
+ // The index/working-tree blocker divergence check (1b) + staging (1a)
274
+ // ---------------------------------------------------------------------
275
+ //
276
+ // The open-blocker refusal below reads the file with `fs.readFileSync`, i.e.
277
+ // the WORKING TREE. `git mv` then moves the INDEX ENTRY, which still carries
278
+ // whatever was staged. When the two disagree the commit ships the index
279
+ // content — content this gate never read.
280
+ //
281
+ // Measured, once, at full cost (2026-09-08): an edit removing a roadmap's
282
+ // blocker was made and never staged; `git mv` moved the stale index entry; the
283
+ // archived file shipped a blocker declared `Status: open` that had already been
284
+ // relocated to an active roadmap. The same blocker was open in two files at
285
+ // once, one of them archived, and it was caught by a human reading
286
+ // `git status` rather than by any gate.
287
+ //
288
+ // The check is scoped to blocker id → status and deliberately NOT to whole-file
289
+ // equality. An unstaged typo fix in a roadmap title has nothing to do with the
290
+ // defect, and refusing archival for it trains `git add -A`, which destroys the
291
+ // staging discipline this check depends on. AI council 2026-09-08, 2/2 present
292
+ // (anthropic/claude-sonnet-4-5 + openai/gpt-4o), on that scoping specifically:
293
+ // broad scoping is "user-hostile, trains developers to `git add -A`
294
+ // reflexively, defeating staging discipline".
295
+
296
+ /** Blocker id → status, as the archive-transition check compares them. */
297
+ function _blockerStatuses(text: string): Map<string, string> {
298
+ const out = new Map<string, string>();
299
+ for (const b of parse_blockers(text)) {
300
+ out.set(b.id, blocker_is_resolved(b) ? 'resolved' : 'open');
301
+ }
302
+ return out;
303
+ }
304
+
305
+ /**
306
+ * `git show :<rel>` — the STAGED content of a path, or null when the path has
307
+ * no index entry.
308
+ *
309
+ * Null is the untracked / pre-first-commit case, which `_git_mv` already
310
+ * handles by falling back to a plain rename. There is no index entry to
311
+ * disagree with, so the divergence check has nothing to assert and says so by
312
+ * returning null rather than by guessing at an empty string — an empty staged
313
+ * file and an absent one differ, and only the second is legitimate here.
314
+ */
315
+ function _indexContent(root: string, rel: string): string | null {
316
+ const cp = _run(['git', 'show', `:${rel}`], root);
317
+ return cp.returncode === 0 ? cp.stdout : null;
318
+ }
319
+
320
+ /**
321
+ * Human-readable disagreements between the staged and working-tree blocker
322
+ * maps of one path. Empty array = the two agree, or there is no index entry.
323
+ */
324
+ function _blockerDivergence(root: string, rel: string, workTreeText: string): string[] {
325
+ const staged = _indexContent(root, rel);
326
+ if (staged === null) {
327
+ return [];
328
+ }
329
+ const wt = _blockerStatuses(workTreeText);
330
+ const idx = _blockerStatuses(staged);
331
+ const ids = [...new Set([...wt.keys(), ...idx.keys()])].sort();
332
+ const out: string[] = [];
333
+ for (const id of ids) {
334
+ const a = idx.get(id);
335
+ const b = wt.get(id);
336
+ if (a === b) {
337
+ continue;
338
+ }
339
+ out.push(
340
+ `blocker '${id}': staged=${a ?? 'absent'} vs working tree=${b ?? 'absent'}`,
341
+ );
342
+ }
343
+ return out;
344
+ }
345
+
268
346
  /**
269
347
  * Repo-relative paths of files containing `needle`, by walking the filesystem.
270
348
  *
@@ -547,9 +625,8 @@ function archive_completed(
547
625
  // and invisible in a sweep that only reports what it moved; a MALFORMED
548
626
  // one on `[x]` would otherwise archive with an annotation claiming the
549
627
  // opposite. Both are named here instead.
550
- const guarded = parseGuardedBaselines(
551
- fs.readFileSync(path.join(roadmap_root, stats.rel), 'utf-8'),
552
- );
628
+ const roadmapText = fs.readFileSync(path.join(roadmap_root, stats.rel), 'utf-8');
629
+ const guarded = parseGuardedBaselines(roadmapText);
553
630
  if (guarded.length > 0) {
554
631
  process.stderr.write(
555
632
  ` ⚠️ ${stats.rel}: ${guarded.length} guarded-baseline step(s) — ` +
@@ -603,12 +680,37 @@ function archive_completed(
603
680
  if (changed_only && !(touched as Set<string>).has(old_rel)) {
604
681
  continue; // complete, but not this branch's work
605
682
  }
683
+ // The gate above validated the WORKING TREE; `git mv` ships the INDEX.
684
+ // When they disagree about a blocker, the validated content is not the
685
+ // content that gets committed — see § the index/working-tree blocker
686
+ // divergence check above for the measured failure.
687
+ const divergence = _blockerDivergence(root, old_rel, roadmapText);
688
+ if (divergence.length > 0) {
689
+ process.stderr.write(
690
+ ` ⚠️ ${stats.rel}: staged and working-tree blockers disagree ` +
691
+ `(${divergence.length}) — not archived. \`git mv\` would commit ` +
692
+ 'the staged content, which this sweep never validated. Stage or ' +
693
+ 'discard the change, then re-run.\n',
694
+ );
695
+ for (const d of divergence) {
696
+ process.stderr.write(` · ${d}\n`);
697
+ }
698
+ continue;
699
+ }
606
700
  const new_rel = `agents/roadmaps/archive/${stats.rel}`;
607
701
  const mv = _git_mv(root, old_rel, new_rel, dry_run);
608
702
  if (!mv.ok) {
609
703
  process.stderr.write(` ⚠️ could not archive ${old_rel} (mv failed)\n`);
610
704
  continue;
611
705
  }
706
+ // `git mv` moved the index ENTRY, not the working-tree content. Staging
707
+ // the destination makes what gets committed identical to what the checks
708
+ // above read — the divergence check refuses a disagreement that exists
709
+ // BEFORE the move, and this closes one created by an edit between the
710
+ // move and the commit.
711
+ if (!dry_run && mv.tracked) {
712
+ _run(['git', 'add', '--', new_rel], root);
713
+ }
612
714
  const refs = _inbound_ref_rewrite(root, old_rel, new_rel, dry_run, mv.tracked);
613
715
  // Stage rewritten refs only in a tracked repo; an untracked consumer's
614
716
  // files are not in the index, so the filesystem rewrite is the whole job.
@@ -37,7 +37,7 @@ diagnosis (route to `funnel-analysis`).
37
37
  vs \<base\>"* is a falsifiable claim with evidence. *"E feels
38
38
  important"* is not. Pick the event that survives the
39
39
  hypothesis test. See
40
- [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 9.
40
+ [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 9.
41
41
  - **Mental model 16 — Leading vs. lagging indicators.** Paid is
42
42
  lagging; the activation event must be leading — observable
43
43
  *before* the user has paid, and correlated with the lagging
@@ -54,7 +54,7 @@ diagnosis (route to `funnel-analysis`).
54
54
  segment's switch-event (the aha moment is the segment's job
55
55
  done once), and the **funnel-stage** slot for activation's
56
56
  position relative to signup and paid. See
57
- [`context-spine`](../../../docs/contracts/context-spine.md).
57
+ [`context-spine`](../../docs/contracts/context-spine.md).
58
58
 
59
59
  ## Procedure
60
60
 
@@ -90,7 +90,7 @@ needing an architecture supersession.
90
90
  ## Preconditions
91
91
 
92
92
  - An ADR directory exists. Two layouts coexist (see
93
- [`docs/contracts/adr-layout.md`](../../../docs/contracts/adr-layout.md)):
93
+ [`docs/contracts/adr-layout.md`](../../docs/contracts/adr-layout.md)):
94
94
  - **Flat** — `docs/decisions/` (or `docs/adr/` alias): cross-cutting
95
95
  governance ADRs, 3-digit numbering (`ADR-NNN-<slug>.md`).
96
96
  - **Per-area** — `docs/adrs/<area>/`: sub-area ADRs, 4-digit
@@ -181,7 +181,7 @@ gets a logged correction block, never a silent edit.
181
181
 
182
182
  **Three descriptive axes ship on a new record** — `provenance`, `evidence`,
183
183
  `authority_basis`. Vocabulary, defaults and the mutation policy are owned by
184
- [`adr-layout § Provenance and evidence`](../../../docs/contracts/adr-layout.md);
184
+ [`adr-layout § Provenance and evidence`](../../docs/contracts/adr-layout.md);
185
185
  `check_adr_frontmatter.ts` validates the shape. What the author has to get
186
186
  right while drafting:
187
187
 
@@ -207,7 +207,7 @@ right while drafting:
207
207
  comes from owning the purpose.
208
208
  - **A grade prices review burden, never authority.** Nothing about writing
209
209
  `E0` makes the record cheaper to overturn *by whom* — see
210
- [`adr-layout § The reopen record`](../../../docs/contracts/adr-layout.md).
210
+ [`adr-layout § The reopen record`](../../docs/contracts/adr-layout.md).
211
211
 
212
212
  **Flat-surface template** (`docs/decisions/ADR-NNN-<slug>.md`):
213
213
 
@@ -287,7 +287,7 @@ authority_basis: evidence | owner_intent # optional; absent → evidence
287
287
  ```
288
288
 
289
289
  The frontmatter block is the same shape as the flat surface — the contract
290
- says so ([`adr-layout § Frontmatter`](../../../docs/contracts/adr-layout.md):
290
+ says so ([`adr-layout § Frontmatter`](../../docs/contracts/adr-layout.md):
291
291
  "identical across both surfaces"), and `audit_adr_coverage.ts`'s parser reads
292
292
  it when present. The quote-style header stays as the human-readable banner,
293
293
  and every existing per-area record now carries frontmatter beside it, so their
@@ -359,7 +359,7 @@ completeness check — not on every ADR by default.
359
359
  alone does not stop someone quoting the reversed sentence.
360
360
  - **Who may reopen it is recorded, not assumed** — `reopen_policy` /
361
361
  `protected_dimensions`, both optional, absent meaning `unclassified`
362
- ([`adr-layout § Reopen authority`](../../../docs/contracts/adr-layout.md)).
362
+ ([`adr-layout § Reopen authority`](../../docs/contracts/adr-layout.md)).
363
363
  Reach for `owner` only when EVERY future transition is genuinely reserved;
364
364
  `directional` is the normal answer, and no answer is a fine answer.
365
365
 
@@ -136,7 +136,7 @@ explicit absolute path for tests / power users — still not a project search.
136
136
  ## When NOT to invoke — necessity self-check
137
137
 
138
138
  The Phase 6 necessity classifier (see
139
- [`ai-council-config § Necessity classifier`](../../../docs/contracts/ai-council-config.md))
139
+ [`ai-council-config § Necessity classifier`](../../docs/contracts/ai-council-config.md))
140
140
  runs as a pre-flight gate inside the CLI and skips the council when
141
141
  the prompt looks like routine work. Route around it BEFORE the gate
142
142
  fires so the user never pays the classifier-pause cost on a request
@@ -289,7 +289,7 @@ fast-path only activates when:
289
289
  Default route for `low_impact` is **`agent`** — nothing reaches the
290
290
  council without an explicit two-knob opt-in (flip the class to
291
291
  `council` *and* mark at least one member `participate_low_impact: true`).
292
- See [`ai-council-config § Low-impact council opt-in`](../../../../../docs/contracts/ai-council-config.md#low-impact-council-opt-in)
292
+ See [`ai-council-config § Low-impact council opt-in`](../../../docs/contracts/ai-council-config.md#low-impact-council-opt-in)
293
293
  for the worked YAML example, validation behaviour, and unavailable-marker
294
294
  contract.
295
295
 
@@ -141,7 +141,7 @@ When `DESIGN.md` declares `## Taste Dials`, honour them: Variance → layout-fam
141
141
  ## Anti-slop
142
142
 
143
143
  Before shipping a Blade view, pull
144
- [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md)
144
+ [`docs/guidelines/design-antipatterns.md`](../../guidelines/design-antipatterns.md)
145
145
  and scan Visual / Typography / Layout — the Blade markup is where side-stripe
146
146
  accents (V1), icon-tile feature cards (T3), and the centered-hero + 3-column
147
147
  template (L1/L2) concretely land. Stack-specific Tailwind class/hex bans live in
@@ -88,7 +88,7 @@ For every dependency, mark:
88
88
 
89
89
  ### 5. Consult engineering memory
90
90
 
91
- Via [`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md) call
91
+ Via [`memory-access`](../../guidelines/agent-infra/memory-access.md) call
92
92
  `retrieve(types=["ownership"],
93
93
  keys=<changed paths + changed symbol>, limit=5)`. Surface:
94
94
 
@@ -27,7 +27,28 @@ execution:
27
27
  > hands it to the [`design-tokens`](../design-tokens/SKILL.md) toolchain to emit
28
28
  > CSS vars + Tailwind. The same `.tokens.json` is the export that pack-ai-image
29
29
  > brand-asset generation and the greenfield scaffold seed consume (B → A;
30
- > contract: [`brand-token-consumption`](../../../docs/contracts/brand-token-consumption.md)).
30
+ > contract: [`brand-token-consumption`](../../docs/contracts/brand-token-consumption.md)).
31
+
32
+ ## Known contradiction — the filename this skill authors is not the one the resolver reads
33
+
34
+ **Recorded, not resolved.** This skill's prose says to author `.tokens.json`,
35
+ and the only resolver in the tree reads `tokens.json` — `BRAND_TOKEN_PATHS`
36
+ searches `tokens.json`, `assets/tokens.json`, `resources/tokens.json` and
37
+ `agents/settings/brand/tokens.json` <!-- ref-ignore -->, none of them
38
+ dot-prefixed. A consumer
39
+ following this skill literally therefore produces a file nothing loads.
40
+
41
+ The authoring name is a consumer-visible decision and is deliberately not
42
+ changed here. What closes the gap in the meantime is
43
+ `agent-config brand:status`, which reports which of the four paths holds a file
44
+ — and separately flags a dot-prefixed `.tokens.json`, which is exactly the file
45
+ a reader of this skill would plausibly have created.
46
+
47
+ Moved here from [`brand-source-of-truth`](../../rules/brand-source-of-truth.md)
48
+ on 2026-09-09: it is a note about this skill, and its 6 lines in a standing rule
49
+ were paid for on every subagent spawn. The substitution funded that rule's
50
+ artifact-versus-brand pointer, per the council verdict on
51
+ `blocker: standing-payload-headroom`.
31
52
 
32
53
  ## When to use
33
54
 
@@ -98,9 +119,9 @@ execution:
98
119
 
99
120
  ## See also
100
121
 
101
- - [`design-canon.md`](../../../docs/guidelines/design-canon.md) § Colour references — culturally-situated palettes + a11y-contrast grounding when deriving brand colour tokens.
122
+ - [`design-canon.md`](../../guidelines/design-canon.md) § Colour references — culturally-situated palettes + a11y-contrast grounding when deriving brand colour tokens.
102
123
  - [`brand-identity`](../brand-identity/SKILL.md) — supplies the constraint set this skill derives tokens from.
103
124
  - [`design-tokens`](../design-tokens/SKILL.md) — the DTCG toolchain that emits CSS/Tailwind from `.tokens.json`.
104
125
  - [`typography-system`](../typography-system/SKILL.md) — brand-aware stage-2 supplies the type tokens.
105
- - [`brand-token-consumption`](../../../docs/contracts/brand-token-consumption.md) — the read contract pack-ai-image and greenfield scaffold consume.
126
+ - [`brand-token-consumption`](../../docs/contracts/brand-token-consumption.md) — the read contract pack-ai-image and greenfield scaffold consume.
106
127
  - [`brand-consistency`](../../rules/brand-consistency.md) — validates emitted artifacts against this token source of truth.
@@ -96,7 +96,7 @@ Gather all available evidence before forming any hypothesis:
96
96
  - Read each file in the call chain to understand the data flow.
97
97
  - Check existing context docs (`agents/settings/contexts/`) for the affected area.
98
98
  - **Consult engineering memory.** Via
99
- [`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md) call
99
+ [`memory-access`](../../guidelines/agent-infra/memory-access.md) call
100
100
  `retrieve(types=["historical-patterns", "incident-learnings"],
101
101
  keys=[<error class>, <affected file paths>], limit=3)`. A prior
102
102
  matching pattern or incident is the single most reliable accelerator
@@ -27,7 +27,7 @@ Do NOT use for vendor selection within a "buy" decision (different skill), marke
27
27
 
28
28
  ## Cognition cluster
29
29
 
30
- - **Mental model 28 — Inversion.** *"What would force us to undo this choice in 18 months?"* Inversion surfaces the dependency-risk and integration-cost that the forward case understates. See [`mental-models.md`](../../../docs/contracts/mental-models.md) § 28.
30
+ - **Mental model 28 — Inversion.** *"What would force us to undo this choice in 18 months?"* Inversion surfaces the dependency-risk and integration-cost that the forward case understates. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 28.
31
31
  - **Mental model 21 — Second-order thinking.** Each option chains: build → ongoing maintenance + opportunity cost; buy → integration + lock-in; partner → dependency + boundary management. Single-order *"build is cheaper"* fails on the second-order. See `mental-models.md` § 21.
32
32
  - **Mental model 26 — Optionality.** Read each option by which choices it preserves (switch costs, re-build optionality, re-negotiation power) vs forecloses. The option with bounded foreclosure usually wins. See `mental-models.md` § 26.
33
33
  - **Context-spine — org-stage + product + customer-segment.** Read **org-stage** for capacity (pre-seed should buy almost everything non-core; growth-stage can build deeper). Read **product** for whether the capability is core-differentiation (build) or commodity (buy). Read **customer-segment** for whether enterprise-segment buyers require a build-it-yourself story.
@@ -34,7 +34,7 @@ to `retention-loops`).
34
34
  - **Mental model 30 — Inversion.** Do not ask *"how do we keep this
35
35
  account?"* — ask *"name the reason this account will leave."* The
36
36
  inversion forces a cause; the cause picks the move. See
37
- [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 30.
37
+ [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 30.
38
38
  - **Mental model 16 — Leading vs. lagging indicators.** Cancellation
39
39
  is lagging; usage-decay, relationship-decay, and fit-mismatch
40
40
  signals are leading. A health score built on lagging signals can
@@ -50,7 +50,7 @@ to `retention-loops`).
50
50
  the **customer-segment** slot for the segment's switch-event
51
51
  patterns — fit-churn shows up early in segments whose switch
52
52
  event differs from the ICP. See
53
- [`context-spine`](../../../docs/contracts/context-spine.md).
53
+ [`context-spine`](../../docs/contracts/context-spine.md).
54
54
 
55
55
  ## Procedure
56
56
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  model_tier: inherit
3
3
  name: code-intelligence
4
- description: "Route codebase-structure questions (who calls X, where is this used, what imports, change-impact) to an existing code-graph first: cheaper, never more precise; grep stays routine. Also 'call graph'."
4
+ description: "Route codebase-structure questions (who calls X, where used, change-impact) to an existing code-graph first: impact, tests-for, dead cheaper, never more precise; grep routine. Also 'call graph'."
5
5
  domain: engineering
6
6
  workspaces:
7
7
  - engineering
@@ -204,6 +204,62 @@ refresh` first, or use grep and say so. This is a freshness obligation, not an
204
204
  ordering claim; the rule's query-first ordering still governs which source to
205
205
  reach for.
206
206
 
207
+ ## The four gate verbs — a diff, not a symbol (2026-09-08)
208
+
209
+ `query` / `affected` / `path` / `explain` answer a question about a SYMBOL.
210
+ Four more answer a question about a DIFF, and they are documented here rather
211
+ than in § Procedure for a mechanical reason worth stating: step 4.3 of
212
+ `road-to-a-graph-that-is-shipped` verifies that this file's line 164 — the
213
+ **No class is graph-first** sentence — is unchanged, and inserting anything
214
+ above it moves that line. So the ordering claim K5 protects stays byte-fixed
215
+ and the new material sits below it.
216
+
217
+ Each of the four walks only edges whose resolution mechanism is a stated fact
218
+ (never a repo-wide same-name guess, never an untyped receiver), and each prints
219
+ the mechanisms it accepted, the mechanisms it refused, and the graph's
220
+ staleness — so a narrow answer is distinguishable from a decoupled one:
221
+
222
+ - `agent-config code-graph impact --diff <rev>` — callers, dependents and test
223
+ files reachable from the changed symbols, plus the producing edges and a
224
+ minimal read set.
225
+ - `agent-config code-graph tests-for <symbol>` — the test files that import it.
226
+ An empty list is a finding, not an error.
227
+ - `agent-config code-graph untested --diff <rev>` — changed symbols that no test
228
+ file imports.
229
+ - `agent-config code-graph dead [--entry-points F | --accept-missing-exports]` —
230
+ symbols with no accepted reference that no declared entry point names. It
231
+ **refuses** rather than answering while an entry-point source cannot be read:
232
+ this engine records no exportedness, so without a supplied list an
233
+ exported-but-unimported symbol is indistinguishable from a dead one, and a
234
+ confident false "dead" invites a deletion the graph cannot justify. Nothing it
235
+ lists is a deletion recommendation.
236
+
237
+ These answers reach an agent over MCP without shelling out, and the mapping is
238
+ **not** one tool per verb — corrected after an independent review found this
239
+ paragraph claiming "the same five answers" directly after a list of four:
240
+
241
+ | MCP tool | answers |
242
+ |---|---|
243
+ | `graph_impact` | `impact --diff`, **and** `untested --diff` via `untested_only: true` |
244
+ | `graph_tests_for` | `tests-for` |
245
+ | `graph_dead` | `dead` |
246
+ | `graph_query` | `query` |
247
+ | `graph_path` | `path` |
248
+
249
+ `untested` has no tool of its own; it is a flag on `graph_impact`, because the
250
+ two answer the same question over the same diff and a sixth tool would have cost
251
+ standing context for a boolean. `graph_impact` is the only one that is not
252
+ read-only — it runs `git diff --name-only` to resolve its rev — and
253
+ `graph_dead`'s refusal arrives as `status: "refused"`, never as `status: "ok"`
254
+ with an empty list.
255
+
256
+ **No ordering claim is added here, and no measurement claim either.** These
257
+ verbs are cheaper than reconstructing the same relationship by hand — that is a
258
+ claim about the ALTERNATIVE being a manual reconstruction, not about grep.
259
+ Nothing on this page says they beat grep, none of the four appears in the v2
260
+ benchmark corpus (which measures `callers`, `transitive-impact`, `path-between`
261
+ and `references`), and § Measured twice still governs that question.
262
+
207
263
  ## Do NOT
208
264
 
209
265
  - Do NOT rebuild a **fresh** consumer-shipped index — query it (interop
@@ -34,7 +34,7 @@ Do NOT use when:
34
34
  well (`switch` / `match` / if-chains over it, lookup tables keyed by it,
35
35
  validators, serializers, schemas, fixtures, translation keys) and classify each
36
36
  as exhaustive, deliberate fallback, or missing case. Procedure:
37
- [`downstream-changes-mechanics`](../../../docs/guidelines/agent-infra/downstream-changes-mechanics.md).
37
+ [`downstream-changes-mechanics`](../../guidelines/agent-infra/downstream-changes-mechanics.md).
38
38
  4. **Map the impact** — create a list of all files that will need changes.
39
39
  5. **Decide the verdict, if the refactor is a de-duplication** — see the
40
40
  safe-abstraction gate below. An extraction with no recorded verdict is a
@@ -66,13 +66,13 @@ read identically can encode different assumptions, and merging them changes
66
66
  behaviour silently.
67
67
 
68
68
  The class names and the full verdict list are in
69
- [`redundancy-taxonomy`](../../../docs/guidelines/redundancy-taxonomy.md).
69
+ [`redundancy-taxonomy`](../../guidelines/redundancy-taxonomy.md).
70
70
 
71
71
  When the refactor goes the other way and **creates** a new unit, the reuse
72
72
  question comes first: does an existing class or component already cover this, and
73
73
  what does composing or extending it cost against a new one? Thresholds per
74
74
  artifact class:
75
- [`component-oriented-and-oop-development`](../../../docs/guidelines/component-oriented-and-oop-development.md).
75
+ [`component-oriented-and-oop-development`](../../guidelines/component-oriented-and-oop-development.md).
76
76
 
77
77
  ## Procedure: Refactor code
78
78
 
@@ -52,7 +52,7 @@ principle, not a decision, and it has no answer for the case where two copies
52
52
  should stay. Replace it with a verdict.
53
53
 
54
54
  Classify the finding against
55
- [`redundancy-taxonomy`](../../../docs/guidelines/redundancy-taxonomy.md) —
55
+ [`redundancy-taxonomy`](../../guidelines/redundancy-taxonomy.md) —
56
56
  implementation, knowledge, or representation — and record one verdict from that
57
57
  document's list. `keep-duplicated` and `de-abstract` are successful outcomes; a
58
58
  finding with no recorded verdict stays open. Knowledge, policy, contract and
@@ -85,7 +85,7 @@ consumers and their status — every `switch` / `match` / if-chain over the type
85
85
  every lookup table keyed by it, every validator, serializer, schema, fixture and
86
86
  translation key. A `default` branch that silently absorbs the new member is a
87
87
  missing case, not a handled one. Procedure:
88
- [`downstream-changes-mechanics`](../../../docs/guidelines/agent-infra/downstream-changes-mechanics.md).
88
+ [`downstream-changes-mechanics`](../../guidelines/agent-infra/downstream-changes-mechanics.md).
89
89
 
90
90
  **A shared behaviour moved and its siblings did not.** A defect fixed in one
91
91
  place is presumed to recur until searched: name the exact wrong construct, grep
@@ -100,7 +100,7 @@ changing one, the question is whether it needed to exist: what was searched,
100
100
  what was found, and why composing or extending the incumbent was rejected. An
101
101
  answer, not a ceremony — and the thresholds for when repetition actually earns
102
102
  an abstraction are in
103
- [`component-oriented-and-oop-development`](../../../docs/guidelines/component-oriented-and-oop-development.md).
103
+ [`component-oriented-and-oop-development`](../../guidelines/component-oriented-and-oop-development.md).
104
104
 
105
105
  ## Change-type routing — load only the checklist the diff needs
106
106
 
@@ -39,7 +39,7 @@ author as a skill and add a thin command that delegates to it.
39
39
 
40
40
  **A command must EARN a top-level slot.** Only three justifications qualify:
41
41
  **flow-entry**, **state-query**, or **product-surface** — everything else is a
42
- skill. Check before authoring: [`command-clusters` § Command justification](../../../docs/contracts/command-clusters.md#command-justification--a-command-must-earn-a-top-level-slot)
42
+ skill. Check before authoring: [`command-clusters` § Command justification](../../docs/contracts/command-clusters.md#command-justification--a-command-must-earn-a-top-level-slot)
43
43
  ([ADR-048](../../../docs/decisions/ADR-048-command-justification-rule.md)).
44
44
 
45
45
  **Categorize at creation (checklist).** When you author a NEW top-level command,
@@ -56,7 +56,7 @@ is `flow-entry | state-query | product-surface`:
56
56
 
57
57
  Sub-commands (`council:debate`) inherit the parent cluster's category — leave
58
58
  `category:` off them. Why optional + not yet a blocking lint, and what triggers
59
- the upgrade: [`command-category-governance`](../../../docs/contracts/command-category-governance.md).
59
+ the upgrade: [`command-category-governance`](../../docs/contracts/command-category-governance.md).
60
60
 
61
61
  ## Commands ARE Claude skills (projection reality)
62
62
 
@@ -346,4 +346,4 @@ Workflow sequencing, preconditions, ID/output provenance ("copy ids verbatim,
346
346
  never from memory"), a mandatory "why" intent field, and turn-end contracts
347
347
  belong INSIDE this artifact's description/frontmatter — where they fire at the
348
348
  decision point — not in always-on prose. See
349
- [`tool-description-as-policy`](../../../docs/guidelines/agent-infra/tool-description-as-policy.md).
349
+ [`tool-description-as-policy`](../../guidelines/agent-infra/tool-description-as-policy.md).
@@ -28,7 +28,7 @@ Do NOT use as a payroll / equity-administration substitute (this skill produces
28
28
 
29
29
  ## Cognition cluster
30
30
 
31
- - **Mental model 1 — First principles.** Strip every comp question to: *what behavior are we paying for, over what horizon, with what risk-bearing?* Cash pays for present effort; equity pays for future co-built value with risk; bonus pays for outcome-linked behavior. Mixing the levers without first-principles intent produces confusion. See [`mental-models.md`](../../../docs/contracts/mental-models.md) § 1.
31
+ - **Mental model 1 — First principles.** Strip every comp question to: *what behavior are we paying for, over what horizon, with what risk-bearing?* Cash pays for present effort; equity pays for future co-built value with risk; bonus pays for outcome-linked behavior. Mixing the levers without first-principles intent produces confusion. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 1.
32
32
  - **Mental model 28 — Inversion.** *"What comp shape would force our best people to leave?"* Inversion surfaces the load-bearing risks (condensation at senior levels, equity refresh gaps, geo arbitrage that punishes loyalty).
33
33
  - **Mental model 26 — Optionality.** Each comp lever preserves or forecloses future options. Above-band offers preserve hire optionality but foreclose internal-equity optionality. Equity-heavy mix preserves cash runway but forecloses people who need liquidity. Read every move as an optionality trade.
34
34
  - **Mental model 21 — Second-order thinking.** A raise to one person ripples (perceived parity, retention pressure on peers, expectation-setting for next cycle). A band shift ripples (new-hire offers anchor higher, internal expectations re-anchor). Comp moves rarely stay isolated.
@@ -27,7 +27,7 @@ Do NOT use for narrative / messaging surface (route to Wing-3 `positioning-strat
27
27
 
28
28
  ## Cognition cluster
29
29
 
30
- - **Mental model 18 — Where to play, where not to play.** A moat is read as much from *what we refuse to do* as from what we do. Trying to win everywhere = winning nowhere. See [`mental-models.md`](../../../docs/contracts/mental-models.md) § 18.
30
+ - **Mental model 18 — Where to play, where not to play.** A moat is read as much from *what we refuse to do* as from what we do. Trying to win everywhere = winning nowhere. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 18.
31
31
  - **Mental model 28 — Inversion.** *"What would force a customer to leave us for an incumbent?"* The inversion answer surfaces the load-bearing moat assumption. If the answer is *"nothing"*, the moat is wishful; if the answer is concrete, that's the real fragility. See `mental-models.md` § 28.
32
32
  - **Mental model 21 — Second-order thinking.** Moats compound or decay; *"feature parity today"* says nothing about *"feature parity in 18 months"*. Read each moat by its compounding rate, not its current state. See `mental-models.md` § 21.
33
33
  - **Context-spine — customer-segment + product + org-stage.** Read **customer-segment** for which incumbent matters in which segment (the enterprise incumbent is rarely the SMB incumbent). Read **product** for which moats are real vs roadmap. Read **org-stage** for moat realism (pre-revenue moats are claims; growth-stage moats are evidence).
@@ -35,7 +35,7 @@ DCF-style valuation work (route to `dcf-modeling`).
35
35
  outcome each package promises its user, not the feature lists. Two
36
36
  packages with overlapping features can promise different outcomes
37
37
  and therefore are not direct competitors. See
38
- [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 1.
38
+ [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 1.
39
39
  - **Mental model 24 — Optionality.** A pattern that costs little to
40
40
  adopt and preserves exit value beats a "better" pattern that locks
41
41
  the package in. Score adoption cost AND exit cost on every row. See
@@ -46,7 +46,7 @@ DCF-style valuation work (route to `dcf-modeling`).
46
46
  - **Product context-spine slot.** Read the **product** slot for
47
47
  segment / focal job / non-goals before picking axes; the comparison
48
48
  is only legitimate inside our own scope. See
49
- [`context-spine`](../../../docs/contracts/context-spine.md).
49
+ [`context-spine`](../../docs/contracts/context-spine.md).
50
50
 
51
51
  ## Procedure
52
52
 
@@ -44,7 +44,7 @@ unknown to resolve), or when the user has already fixed the sequence.
44
44
 
45
45
  1. **Inspect and name the unknowns.** Read the affected components first
46
46
  (start from the **repo** slot of the
47
- [context-spine](../../../docs/contracts/context-spine.md) when present),
47
+ [context-spine](../../docs/contracts/context-spine.md) when present),
48
48
  then list which carry real uncertainty (technical feasibility, an
49
49
  unverified integration, an ambiguous requirement) — analyze the existing
50
50
  system before planning any change.
@@ -125,5 +125,5 @@ A future `telegraph-v2.md` will tabulate the realised input-token saving against
125
125
  - [`src/scripts/validate_safe_paths.ts`](../../../src/scripts/validate_safe_paths.ts) — Phase 0 gate; ported from upstream Telegraph `63a91ec`.
126
126
  - [`src/scripts/condense_memory.ts`](../../../src/scripts/condense_memory.ts) — implementation.
127
127
  - [`tests/scripts/condense_memory.test.ts`](../../../tests/scripts/condense_memory.test.ts) — regression locks for each carve-out + idempotency + denylist.
128
- - [`docs/contracts/condensation-default-kill-criterion.md`](../../../docs/contracts/condensation-default-kill-criterion.md) — v1 verdict (output-side; informs but does not gate this skill).
128
+ - [`docs/contracts/condensation-default-kill-criterion.md`](../../docs/contracts/condensation-default-kill-criterion.md) — v1 verdict (output-side; informs but does not gate this skill).
129
129
  - [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) — caps the consumer-shipped `templates/AGENTS.md`; this skill is one tool to land under the cap.
@@ -37,7 +37,7 @@ draft the asset itself (downstream of this skill).
37
37
  funnel design is the discipline of placing the heaviest content
38
38
  investment at the structural leverage point, not the parameter
39
39
  one. See
40
- [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 14.
40
+ [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 14.
41
41
  - **Mental model 6 — Theory of constraints.** The slow funnel stage
42
42
  caps the whole pipeline. Adding content elsewhere does not loosen
43
43
  the constraint. See `mental-models.md` § 6.
@@ -52,7 +52,7 @@ draft the asset itself (downstream of this skill).
52
52
  the asset, **customer-segment** for whose questions the asset
53
53
  answers, and **product** for the proofs the asset can actually
54
54
  back. See
55
- [`context-spine`](../../../docs/contracts/context-spine.md).
55
+ [`context-spine`](../../docs/contracts/context-spine.md).
56
56
 
57
57
  ## Procedure
58
58
 
@@ -29,7 +29,7 @@ Do NOT use as a substitute for actual legal counsel (this skill produces the *no
29
29
 
30
30
  ## Cognition cluster
31
31
 
32
- - **Mental model 28 — Inversion.** *"What would force us to invoke this clause? What would force the counterparty to invoke it?"* Inversion surfaces which clauses are dormant boilerplate vs which are loaded triggers. See [`mental-models.md`](../../../docs/contracts/mental-models.md) § 28.
32
+ - **Mental model 28 — Inversion.** *"What would force us to invoke this clause? What would force the counterparty to invoke it?"* Inversion surfaces which clauses are dormant boilerplate vs which are loaded triggers. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 28.
33
33
  - **Mental model 21 — Second-order thinking.** Each clause has a second-order shape: indemnity caps interact with insurance coverage; SLAs interact with operating-cost; auto-renewal interacts with switching cost. Reading clauses in isolation misses the load-bearing combinations. See `mental-models.md` § 21.
34
34
  - **Mental model 26 — Optionality.** Each clause either preserves or forecloses future choices (terminate-for-convenience preserves; auto-renewal forecloses; exclusivity forecloses; MFN forecloses). The cost of a clause is the optionality it removes. See `mental-models.md` § 26.
35
35
  - **Context-spine — regulatory-regime + customer-segment + org-stage.** Read **regulatory-regime** (J1) for floor-bound clauses (GDPR DPA terms, HIPAA BAA, SOC 2 audit). Read **customer-segment** for risk sizing (enterprise SLA terms ≠ SMB SLA terms). Read **org-stage** for what's affordable (early-stage = avoid uncapped indemnities; growth = can absorb tighter SLAs).
@@ -130,7 +130,7 @@ both. Instead, reference with a table:
130
130
  | What | Where |
131
131
  |---|---|
132
132
  | PHP coding rules | `.augment/rules/php-coding.md` |
133
- | Controller guidelines | `../../../docs/guidelines/php/controllers.md` |
133
+ | Controller guidelines | `../../guidelines/php/controllers.md` |
134
134
  ```
135
135
 
136
136
  ## Line Budget Enforcement
@@ -192,7 +192,7 @@ broken. When optimizing, **keep that section intact** — never delete
192
192
  it as "redundant" and never trim its bullets. The patterns it covers:
193
193
 
194
194
  - Relative cross-references inside `.augment/` rules / skills
195
- (`../docs/guidelines/foo.md`, `../contexts/bar.md`) — paths resolve
195
+ (`../../guidelines/foo.md`, `../contexts/bar.md`) — paths resolve
196
196
  from the file's delivered location, not from the symlink in
197
197
  `.claude/rules/` etc. (per `road-to-path-fixes.md` Strategy A).
198
198
  - `path_prefix:` triggers containing `src/` —
@@ -63,7 +63,7 @@ frontend-hardcoded axis moved into the manifest. Full license obligations:
63
63
  ### Invocation (consumer runtime)
64
64
 
65
65
  Scripts resolve all paths **skill-relative** (per
66
- [`docs/contracts/skill-bundled-assets.md`](../../../docs/contracts/skill-bundled-assets.md))
66
+ [`docs/contracts/skill-bundled-assets.md`](../../docs/contracts/skill-bundled-assets.md))
67
67
  — they work from any cwd:
68
68
 
69
69
  ```bash
@@ -226,5 +226,5 @@ the skill shipping the manifest, and its containment is `resolve_data_path`.
226
226
  (frontend corpus + manifest).
227
227
  - [ADR-061](../../../docs/decisions/ADR-061-corpus-grounding-layer.md) —
228
228
  architecture, qualification rubric, fork resolutions.
229
- - [`docs/contracts/skill-bundled-assets.md`](../../../docs/contracts/skill-bundled-assets.md)
229
+ - [`docs/contracts/skill-bundled-assets.md`](../../docs/contracts/skill-bundled-assets.md)
230
230
  — how bundled `scripts/` + `data/` reach consumer runtime.
@@ -33,7 +33,7 @@ this skill is about depth-5-to-10 interviews, not statistics.
33
33
 
34
34
  - **Mental model 2 — Jobs-to-be-Done.** Frames every question against
35
35
  the **switch event**: what caused the user to fire the previous
36
- solution? See [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 2.
36
+ solution? See [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 2.
37
37
  - **Mental model 3 — Pareto principle.** A research week that
38
38
  produces 12 distinct insights is usually re-discovering the same
39
39
  three. See `mental-models.md` § 3.
@@ -43,7 +43,7 @@ this skill is about depth-5-to-10 interviews, not statistics.
43
43
  ### Step 0: Frame the job
44
44
 
45
45
  1. Write one sentence: *"Users hire \<thing\> to make progress in \<situation\>, when motivated by \<pressure\>, expecting \<outcome\>."* If you cannot finish the sentence, the discovery slice is not yet shaped — stop and route to `po-discovery`.
46
- 2. Read the **product** slot of the [context-spine](../../../docs/contracts/context-spine.md) (if the consumer project has filled it) for bounded scope, and the **team** slot for the senior PO / researcher handoff target. Skip if absent — note in the brief.
46
+ 2. Read the **product** slot of the [context-spine](../../docs/contracts/context-spine.md) (if the consumer project has filled it) for bounded scope, and the **team** slot for the senior PO / researcher handoff target. Skip if absent — note in the brief.
47
47
  3. Identify **one** competing solution the user might fire. Multiple competitors per session blurs the switch event.
48
48
 
49
49
  ### Step 1: Recruit the right 5–8