@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
@@ -78,7 +78,7 @@ INTENT
78
78
  │
79
79
  └── API-bill lever (stable prefix reused across calls · non-interactive
80
80
  bulk cohort · model/effort pick against the paid Anthropic bill)
81
- → cite [api-cost-levers](../../../docs/guidelines/agent-infra/api-cost-levers.md)
81
+ → cite [api-cost-levers](../../guidelines/agent-infra/api-cost-levers.md)
82
82
  (prompt caching ~0.1x reads · Batch -50% · model tiering · effort)
83
83
  ```
84
84
 
@@ -101,7 +101,7 @@ brand already registers fonts, use them and skip the filter.
101
101
  ## Delivery — hosting mode (self-hosted by default)
102
102
 
103
103
  The delivery policy is **owned** by
104
- [`design-fidelity-mechanics`](../../../docs/guidelines/design-fidelity-mechanics.md)
104
+ [`design-fidelity-mechanics`](../../guidelines/design-fidelity-mechanics.md)
105
105
  § Asset & imagery discipline ([`ADR-205`](../../../docs/decisions/ADR-205-webfont-delivery-ownership.md));
106
106
  this skill is a consumer and emits the route, never a competing policy. A font
107
107
  CDN link transmits the **visitor's IP** to that third party on every page view —
@@ -174,7 +174,7 @@ the shorter line.
174
174
 
175
175
  ## See also
176
176
 
177
- - [`design-canon.md`](../../../docs/guidelines/design-canon.md) — named-systems + typography-craft (foundry/theory) grounding index; pull to escape the AI-default fonts.
177
+ - [`design-canon.md`](../../guidelines/design-canon.md) — named-systems + typography-craft (foundry/theory) grounding index; pull to escape the AI-default fonts.
178
178
  - [`design-tokens`](../design-tokens/SKILL.md) — toolchain that generates CSS
179
179
  vars and the Tailwind snippet from `tokens.json`.
180
180
  - [`design-intelligence`](../design-intelligence/SKILL.md) — idiom corpus that
@@ -46,7 +46,7 @@ Do NOT use when:
46
46
 
47
47
  Extract a **stateful component** only when an element **repeats ~4× or more AND
48
48
  carries real props/state** (the stateful-component bar of the per-class canon,
49
- [`abstraction-thresholds`](../../../docs/guidelines/abstraction-thresholds.md) —
49
+ [`abstraction-thresholds`](../../guidelines/abstraction-thresholds.md) —
50
50
  it does not lower the code-level two-repetition bar). One or two repeats, or a
51
51
  repeat with no varying props, is not a component — inline it (a props-only
52
52
  shell earns extraction at 3+ uses). A long single-file body is **normal**, not a smell;
@@ -69,13 +69,33 @@ still exists in the tree. Absent or empty → fall through to
69
69
  Then review existing components in the codebase for the same
70
70
  responsibility — extend rather than rebuild when a match is found.
71
71
 
72
- **A new component's workshop is part of its design, on every React lane and not
73
- only `react-shadcn`.** When the extraction is agreed, the story set comes from
74
- [`storybook-workshop`](../storybook-workshop/SKILL.md) — one story per concept
75
- off the state-coverage matrix below, which is what makes the component
76
- agent-readable and its contrast floor checkable before it reaches a page. That
77
- skill is stack-agnostic and ships in `engineering-base`, so a plain-`react`
78
- project receives it exactly as a `react-shadcn` one does.
72
+ **A new component's workshop is part of its design where the project has one —
73
+ size-conditional, never a generic mandate.** The boundary is
74
+ [`component-oriented-and-oop-development`](../../guidelines/component-oriented-and-oop-development.md)
75
+ § Component workshop: a workshop pays for itself on a real, growing shared
76
+ component library and is not worth the setup for a handful of one-off
77
+ components. Where it applies, the story set comes from
78
+ [`storybook-workshop`](../storybook-workshop/SKILL.md) — one story per concept,
79
+ which is what makes the component agent-readable and its contrast floor
80
+ checkable before it reaches a page. That skill is stack-agnostic and ships in
81
+ `engineering-base`, so a plain-`react` project receives it exactly as a
82
+ `react-shadcn` one does. The state-coverage matrix the story set is derived
83
+ from is React-specific and lives in
84
+ [`react-shadcn-ui`](../react-shadcn-ui/SKILL.md) § Step 3, deliberately not
85
+ duplicated here; a Blade, Vue or Livewire lane derives its story set from that
86
+ lane's own state list instead.
87
+
88
+ **No order is prescribed among stories, component and page — and that is a
89
+ positive statement, not an omission.** The observed pattern, described rather
90
+ than required: when porting existing UI the first move is inventory, not
91
+ construction (this lifecycle excludes Plan by definition), and stories are
92
+ written concurrent with the component rather than as a phase gate before or
93
+ after it. No primary source states a required order, Storybook's own tutorial
94
+ writes the component before the story, Atomic Design's author calls it "not a
95
+ linear process", and measured evidence comparing build orders is **absent**,
96
+ not merely weak. A claimed order is therefore a preference someone holds, never
97
+ this skill's instruction.
98
+
79
99
  If none exists, write the new component's purpose: *"Renders a
80
100
  labelled input with inline error and hint."* If the sentence has an
81
101
  "and" joining two unrelated jobs, the component is two components.
@@ -34,7 +34,7 @@ Do NOT use for full-business intrinsic-value modeling, OKR setting, funnel-stage
34
34
  customer and one fully-loaded acquisition dollar. Aggregate ratios
35
35
  ride on per-unit truth; if the unit is mis-defined (trial vs paid,
36
36
  household vs seat), every ratio downstream is decoration. See
37
- [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 1.
37
+ [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 1.
38
38
  - **Mental model 8 — Second-order thinking.** A CAC drop driven by
39
39
  discounting lifts LTV/CAC on paper while shortening cohort
40
40
  retention — the second-order effect lands two quarters later in
@@ -46,7 +46,7 @@ Do NOT use for full-business intrinsic-value modeling, OKR setting, funnel-stage
46
46
  **fiscal-period** slot for the close-window the ratios must
47
47
  reconcile against (monthly close vs quarterly board pack vs
48
48
  annual plan). See
49
- [`context-spine`](../../../docs/contracts/context-spine.md).
49
+ [`context-spine`](../../docs/contracts/context-spine.md).
50
50
 
51
51
  ## Procedure
52
52
 
@@ -222,7 +222,7 @@ If not in the package repo, note that these checks will run in CI after the PR i
222
222
 
223
223
  If the contribution originates from a proposal under `agents/proposals/`
224
224
  (produced by `learning-to-rule-or-skill` via the pipeline in
225
- [`self-improvement-pipeline`](../../../docs/guidelines/agent-infra/self-improvement-pipeline.md)),
225
+ [`self-improvement-pipeline`](../../guidelines/agent-infra/self-improvement-pipeline.md)),
226
226
  run the Stage-4 gate before opening the PR:
227
227
 
228
228
  ```bash
@@ -53,7 +53,7 @@ Verify the request doesn't conflict with:
53
53
  - Data flow (does it bypass existing services or repositories?)
54
54
  - **Product rules and domain invariants** — pull active rules via the
55
55
  shared abstraction (see
56
- [`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md)):
56
+ [`memory-access`](../../guidelines/agent-infra/memory-access.md)):
57
57
 
58
58
  ```bash
59
59
  agent-config memory:lookup \
@@ -66,7 +66,7 @@ Verify the request doesn't conflict with:
66
66
  (e.g., "free plan caps at 3 users"); the feature must either respect
67
67
  it or explicitly propose to retire it. Cite the matching `id:` in
68
68
  the findings. Schema:
69
- [`engineering-memory-data-format`](../../../docs/guidelines/agent-infra/engineering-memory-data-format.md).
69
+ [`engineering-memory-data-format`](../../guidelines/agent-infra/engineering-memory-data-format.md).
70
70
 
71
71
  **If contradiction found** → show the existing pattern, explain why it matters.
72
72
 
@@ -156,7 +156,7 @@ iterating against a stale contract.
156
156
 
157
157
  State lives in the conversation, optionally mirrored to a re-read working file —
158
158
  **never** a daemon or persistent cross-session store (honors
159
- [`resident-process-governance`](../../../docs/contracts/resident-process-governance.md)).
159
+ [`resident-process-governance`](../../docs/contracts/resident-process-governance.md)).
160
160
 
161
161
  ## Validation
162
162
 
@@ -261,7 +261,7 @@ iter2 fixes A, breaks B, 92% → "PASS" ✗ regression ignored
261
261
  `tests/fixtures/tamper-corpus/` and its polarity proven both ways by
262
262
  `--self-test`.
263
263
  * [`autonomous-execution`](../../rules/autonomous-execution.md) — the N=3 cap.
264
- * [`resident-process-governance`](../../../docs/contracts/resident-process-governance.md) — the
264
+ * [`resident-process-governance`](../../docs/contracts/resident-process-governance.md) — the
265
265
  runtime-free constraint this loop honors.
266
266
  * Optional impact pre-step (when a code-graph is present, ADR-124): run
267
267
  `agent-config code-graph affected --since <ref>` to scope which symbols a
@@ -26,7 +26,7 @@ Do NOT use for outward-facing fundraise pitch (route to Wing-3 `fundraising-narr
26
26
 
27
27
  ## Cognition cluster
28
28
 
29
- - **Mental model 27 — Why now.** Vision without a *why now* is a wishlist. The market shift, technology wave, regulatory change, or demographic inflection that makes the vision *achievable in this window* is the load-bearing claim. See [`mental-models.md`](../../../docs/contracts/mental-models.md) § 27.
29
+ - **Mental model 27 — Why now.** Vision without a *why now* is a wishlist. The market shift, technology wave, regulatory change, or demographic inflection that makes the vision *achievable in this window* is the load-bearing claim. See [`mental-models.md`](../../docs/contracts/mental-models.md) § 27.
30
30
  - **Mental model 1 — First principles.** Strip the vision to outcomes for a named cohort, not feature lists or company milestones. *"Be the X for Y"* is shape; *"customer C does outcome O 10× faster"* is substance. See `mental-models.md` § 1.
31
31
  - **Mental model 21 — Second-order thinking.** *"If this vision is realised, what does the world look like in 5 years?"* If the answer is just *"we got bigger"*, the vision isn't load-bearing; if the answer is structural change (workflow shift, market re-shape), it is. See `mental-models.md` § 21.
32
32
  - **Context-spine — org-stage + product + customer-segment.** Read **org-stage** for vision-horizon (pre-seed = 3-year survival vision; growth = 5–7-year market-shape vision; mature = 10-year). Read **product** for the realistic shipping shape. Read **customer-segment** for the cohort whose outcome anchors the vision.
@@ -47,7 +47,7 @@ quantitative funnel diagnosis ([`funnel-analysis`](../funnel-analysis/SKILL.md))
47
47
  - **Mental model 15 — Signal vs noise.** A loud single reporter
48
48
  swamps quiet recurring patterns; rank by **distinct authors**, not
49
49
  comment count. See
50
- [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 15.
50
+ [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 15.
51
51
  - **Mental model 14 — Pareto.** Roughly 20% of themes carry 80% of
52
52
  the contact volume; cut the long tail explicitly so the team acts
53
53
  on the head. See `mental-models.md` § 14.
@@ -57,7 +57,7 @@ quantitative funnel diagnosis ([`funnel-analysis`](../funnel-analysis/SKILL.md))
57
57
  - **Product context-spine slot.** Read **product** for segments,
58
58
  non-goals, and focal jobs; do not surface themes that fall outside
59
59
  the declared scope without a scope-violation flag. See
60
- [`context-spine`](../../../docs/contracts/context-spine.md).
60
+ [`context-spine`](../../docs/contracts/context-spine.md).
61
61
 
62
62
  ## Procedure
63
63
 
@@ -36,7 +36,7 @@ subject lines or ad creative formats (channel-agnostic skill).
36
36
  segment can recognise across surfaces is the voice that survives
37
37
  contact with three writers under deadline. A five-attribute voice
38
38
  that no one remembers is brand-theatre. See
39
- [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 13.
39
+ [`docs/contracts/mental-models.md`](../../docs/contracts/mental-models.md) § 13.
40
40
  - **Mental model 15 — Signal vs. noise.** Voice is the
41
41
  identification signal embedded in copy — without distinctiveness
42
42
  it is noise that competes with every peer's noise. Cut to the
@@ -46,7 +46,7 @@ subject lines or ad creative formats (channel-agnostic skill).
46
46
  for the proofs the voice must carry (a voice that promises what
47
47
  the product cannot back is fiction); read **customer-segment**
48
48
  for the listening-register the audience already lives in. See
49
- [`context-spine`](../../../docs/contracts/context-spine.md).
49
+ [`context-spine`](../../docs/contracts/context-spine.md).
50
50
 
51
51
  ## Procedure
52
52
 
@@ -101,7 +101,7 @@ branded, recommendation-bearing). A single refined implementation →
101
101
  - Do NOT skip decision capture — an exploration round without a recorded
102
102
  decision has to be re-litigated in the hi-fi round.
103
103
  - Do NOT embed system internals (paths, skill/tool names) in the artifact —
104
- Q13 in [`design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md).
104
+ Q13 in [`design-antipatterns.md`](../../guidelines/design-antipatterns.md).
105
105
 
106
106
  ## Gotcha
107
107
 
@@ -127,5 +127,5 @@ A workspace-link answer MUST contain, in order:
127
127
  ## See also
128
128
 
129
129
  - [`monorepo-workspace`](../monorepo-workspace/SKILL.md) — which manager, which workspaces, which graph.
130
- - [`monorepo-antipatterns`](../../../docs/guidelines/monorepo-antipatterns.md) — the task-graph mistakes a `paths` patch hides.
130
+ - [`monorepo-antipatterns`](../../guidelines/monorepo-antipatterns.md) — the task-graph mistakes a `paths` patch hides.
131
131
  - [`blast-radius-analyzer`](../blast-radius-analyzer/SKILL.md) — § Monorepo, once the edge exists.
@@ -14,7 +14,7 @@ Keep the format regular — 2-space indent, no tabs, no lists, one nesting
14
14
  level only. The installer's YAML handler is a restricted stdlib parser, not
15
15
  a full YAML engine. Ask the agent to normalize after manual edits — it
16
16
  follows the merge rules in
17
- [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
17
+ [`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
18
18
 
19
19
  ### Migration from the legacy `.agent-settings` (key=value)
20
20
 
@@ -36,7 +36,7 @@ This block defines the personal and project-level settings that
36
36
  `scripts/install.ts` (via `config/agent-settings.template.yml`)
37
37
  writes to `.agent-settings.yml` on first install. Subsequent edits are
38
38
  made by the user directly or by the agent on request, following the
39
- [section-aware merge rules](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
39
+ [section-aware merge rules](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
40
40
 
41
41
  ```yaml
42
42
  # Agent Settings
@@ -597,7 +597,7 @@ linked_projects_max_files: 20000
597
597
 
598
598
  Personal and project-level settings (initial file written by
599
599
  `scripts/install.ts`, edits follow the merge rules in
600
- [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)).
600
+ [`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)).
601
601
  **Key paths use dot-notation** to denote nesting: `personal.user_name`
602
602
  lives under `personal:` in YAML.
603
603
 
@@ -636,9 +636,9 @@ the canonical narrative lives in
636
636
  | `subagents.implementer_model` | model alias or empty | _(empty)_ | Model for implementer subagents. Empty = same tier as session model. See [subagent-configuration](../contexts/subagent-configuration.md). |
637
637
  | `subagents.judge_model` | model alias or empty | _(empty)_ | Model for judge subagents. Empty = one tier above implementer (opus if sonnet, sonnet if haiku). |
638
638
  | `subagents.max_parallel` | integer | `3` | Maximum parallel subagent invocations. `1` serializes. |
639
- | `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. Lives in the PROJECT settings (`agent-project-settings.example.yml` § roles), not in the personal template. See [`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md). |
639
+ | `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. Lives in the PROJECT settings (`agent-project-settings.example.yml` § roles), not in the personal template. See [`role-contracts`](../guidelines/agent-infra/role-contracts.md). |
640
640
  | `roles.active_role` | same as `default_role` | _(empty)_ | Role currently active; set by `/mode <name>`, cleared by `/mode none`. Enables the `role-mode-adherence` rule. |
641
- | `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md). |
641
+ | `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../guidelines/agent-infra/layered-settings.md). |
642
642
  | `personas.ignore` | list of persona ids | `[]` | Persona ids dropped from the default cast locally. Ignored personas stay invokable via `--personas=<id>`. |
643
643
  | `onboarding.onboarded` | `true`, `false` | `false` | Whether `/onboard` has run on this project. The `onboarding-gate` rule prompts for `/onboard` when this is `false`. Missing entirely = legacy project, treated as onboarded. |
644
644
  | `commands.suggestion.enabled` | `true`, `false` | `true` | Master switch for the command-suggestion layer. `false` = the layer is silent; explicit `/commands` still work. See `rules/command-suggestion-policy.md`. |
@@ -732,7 +732,7 @@ they ship with a live consumer in code and get documented here, not before.
732
732
  ## Sync rules
733
733
 
734
734
  When new settings are added to this template, the
735
- [section-aware merge rules](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
735
+ [section-aware merge rules](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
736
736
  govern the update:
737
737
 
738
738
  1. Missing keys are added with their **default value** from this template,
@@ -39,7 +39,7 @@ schema_version: 1
39
39
  # CI guard: a release bump of `package.json` must update this value
40
40
  # in lockstep — see scripts/check_template_pin_drift.ts (road-to-
41
41
  # portable-runtime-and-update-check P3.3).
42
- agent_config_version: "14.22.0"
42
+ agent_config_version: "15.0.0"
43
43
 
44
44
  # --- Project identity ---
45
45
  project:
@@ -91,9 +91,8 @@ tiny pages do.
91
91
 
92
92
  ## What this substrate is — honest framing
93
93
 
94
- A **governed second-brain substrate**: working-memory continuity across
95
- compactions and sessions (hot-context cache, dispatcher-wide on all 7
96
- platforms), deterministic where safe (dedup, recurrence, index regen,
94
+ A **governed second-brain substrate**: a memory session index restored at
95
+ `session_start` across all 7 platforms, deterministic where safe (dedup, recurrence, index regen,
97
96
  fold rollups, scale tripwires), human-gated where meaning is at stake
98
97
  (consolidate gate, promotion, contested flow). It is **not**
99
98
  self-organizing intelligence — the substrate is governed files, and the
@@ -111,7 +111,7 @@ none. **Intentional, not a bug.** The installer projects
111
111
  resolve at agent runtime. The patterns below are correct by design:
112
112
 
113
113
  - **Relative cross-references inside markdown rules / skills /
114
- commands** like `[x](../docs/guidelines/foo.md)` or
114
+ commands** like `[x](../guidelines/foo.md)` or
115
115
  `[y](../contexts/bar.md)`. The base resolves from the file's
116
116
  delivered location (e.g. `.augment/rules/<rule>.md`) — these paths
117
117
  are valid via the `.augment/` tree, even when the file is symlinked
@@ -524,7 +524,7 @@ that was never a judgement call.
524
524
  No material risks → the **exact** honest-null grammar; a bare "no
525
525
  risks" sentence fails. Schema, staleness rule, and the grandfather
526
526
  clause for pre-gate roadmaps:
527
- [`plan-review-gates § 1`](../../docs/contracts/plan-review-gates.md).
527
+ [`plan-review-gates § 1`](../docs/contracts/plan-review-gates.md).
528
528
  `status: draft` roadmaps are exempt until flipped to ready. Enforced
529
529
  by `lint_plan_risk_register` at pre-push + CI.
530
530
 
@@ -111,7 +111,7 @@ _Data source: ownership-map.yml + historical-bug-patterns.yml. …_
111
111
  ```
112
112
 
113
113
  Curate `ownership-map.yml` and `historical-bug-patterns.yml` over time —
114
- see `../../../docs/guidelines/agent-infra/review-routing-data-format.md` for
114
+ see `../../guidelines/agent-infra/review-routing-data-format.md` for
115
115
  the full schema.
116
116
 
117
117
  ## Uninstall
@@ -191,5 +191,5 @@ whatever is under `agents/memory/`. Trigger manually with
191
191
  Exit `0` = clean, `1` = violations (missing required fields, duplicate
192
192
  ids, or obvious secrets — staleness alone is informational).
193
193
 
194
- Schema reference: `../../../docs/guidelines/agent-infra/engineering-memory-data-format.md`.
194
+ Schema reference: `../../guidelines/agent-infra/engineering-memory-data-format.md`.
195
195
  Schema examples: `.augment/templates/agents/memory/*.example.yml`.
@@ -87,7 +87,7 @@ Non-negotiable. Guardrails are encoded here.
87
87
 
88
88
  *Author note (delete before publishing): this template targets the
89
89
  7-section spine locked in
90
- [`docs/contracts/user-type-schema.md`](../../../docs/contracts/user-type-schema.md).
90
+ [`docs/contracts/user-type-schema.md`](../../docs/contracts/user-type-schema.md).
91
91
  Stay within the **≤ 120 line** budget (file total, including
92
92
  frontmatter). Replace every `{placeholder}` with concrete content
93
93
  that passes the Anti-Generic Quality Bar (≥ 5 concrete review
@@ -73,7 +73,7 @@ export const REGISTRY = [
73
73
  { name: 'affected', disposition: 'delegate', synopsis: 'Artefacts related to <artefact> via the discovery relation-graph (BFS).' },
74
74
  { name: 'graph-explain', disposition: 'delegate', synopsis: 'Seed on a <concept>, expand 2 hops over the discovery relation-graph with a node budget.' },
75
75
  { name: 'benchmark', disposition: 'delegate', synopsis: 'Report context-token reduction vs the full always-loaded projection.' },
76
- { name: 'code-graph', disposition: 'delegate', synopsis: 'Deterministic code-graph engine: build|detect|query|affected|path|explain|validate.' },
76
+ { name: 'code-graph', disposition: 'delegate', synopsis: 'Deterministic code-graph engine: build|detect|refresh|validate|query|affected|path|explain, plus the gate verbs impact|tests-for|untested|dead.' },
77
77
  { name: 'hooks:install', disposition: 'delegate', synopsis: 'Install the combined pre-commit hook.' },
78
78
  { name: 'hooks:status', disposition: 'delegate', synopsis: 'Print the runtime hook matrix (per-platform install + bindings).' },
79
79
  { name: 'hooks:doctor', disposition: 'delegate', synopsis: 'Diagnose hook health: concerns, posture, missing trampolines (read-only).' },
@@ -1,7 +1,9 @@
1
1
  #!/usr/bin/env tsx
2
2
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
3
3
  import {
4
- collect
4
+ blocker_is_resolved,
5
+ collect,
6
+ parse_blockers
5
7
  } from "./chunk-QAJS5YWY.js";
6
8
  import "./chunk-ULET4BYS.js";
7
9
  import {
@@ -132,6 +134,38 @@ function _git_mv(root, src_rel, dst_rel, dry_run) {
132
134
  return { ok: false, tracked: false };
133
135
  }
134
136
  }
137
+ function _blockerStatuses(text) {
138
+ const out = /* @__PURE__ */ new Map();
139
+ for (const b of parse_blockers(text)) {
140
+ out.set(b.id, blocker_is_resolved(b) ? "resolved" : "open");
141
+ }
142
+ return out;
143
+ }
144
+ function _indexContent(root, rel) {
145
+ const cp = _run(["git", "show", `:${rel}`], root);
146
+ return cp.returncode === 0 ? cp.stdout : null;
147
+ }
148
+ function _blockerDivergence(root, rel, workTreeText) {
149
+ const staged = _indexContent(root, rel);
150
+ if (staged === null) {
151
+ return [];
152
+ }
153
+ const wt = _blockerStatuses(workTreeText);
154
+ const idx = _blockerStatuses(staged);
155
+ const ids = [.../* @__PURE__ */ new Set([...wt.keys(), ...idx.keys()])].sort();
156
+ const out = [];
157
+ for (const id of ids) {
158
+ const a = idx.get(id);
159
+ const b = wt.get(id);
160
+ if (a === b) {
161
+ continue;
162
+ }
163
+ out.push(
164
+ `blocker '${id}': staged=${a ?? "absent"} vs working tree=${b ?? "absent"}`
165
+ );
166
+ }
167
+ return out;
168
+ }
135
169
  function _fs_grep_files(root, needle) {
136
170
  const SKIP = /* @__PURE__ */ new Set([".git", "node_modules", ".augment", "dist"]);
137
171
  const hits = [];
@@ -275,9 +309,8 @@ function archive_completed(root, opts) {
275
309
  );
276
310
  const archived = [];
277
311
  for (const stats of collect(roadmap_root)) {
278
- const guarded = parseGuardedBaselines(
279
- fs.readFileSync(path.join(roadmap_root, stats.rel), "utf-8")
280
- );
312
+ const roadmapText = fs.readFileSync(path.join(roadmap_root, stats.rel), "utf-8");
313
+ const guarded = parseGuardedBaselines(roadmapText);
281
314
  if (guarded.length > 0) {
282
315
  process.stderr.write(
283
316
  ` \u26A0\uFE0F ${stats.rel}: ${guarded.length} guarded-baseline step(s) \u2014 not archived. Verify against the real mechanism, then flip to \`[x]\`.
@@ -320,6 +353,18 @@ function archive_completed(root, opts) {
320
353
  if (changed_only && !touched.has(old_rel)) {
321
354
  continue;
322
355
  }
356
+ const divergence = _blockerDivergence(root, old_rel, roadmapText);
357
+ if (divergence.length > 0) {
358
+ process.stderr.write(
359
+ ` \u26A0\uFE0F ${stats.rel}: staged and working-tree blockers disagree (${divergence.length}) \u2014 not archived. \`git mv\` would commit the staged content, which this sweep never validated. Stage or discard the change, then re-run.
360
+ `
361
+ );
362
+ for (const d of divergence) {
363
+ process.stderr.write(` \xB7 ${d}
364
+ `);
365
+ }
366
+ continue;
367
+ }
323
368
  const new_rel = `agents/roadmaps/archive/${stats.rel}`;
324
369
  const mv = _git_mv(root, old_rel, new_rel, dry_run);
325
370
  if (!mv.ok) {
@@ -327,6 +372,9 @@ function archive_completed(root, opts) {
327
372
  `);
328
373
  continue;
329
374
  }
375
+ if (!dry_run && mv.tracked) {
376
+ _run(["git", "add", "--", new_rel], root);
377
+ }
330
378
  const refs = _inbound_ref_rewrite(root, old_rel, new_rel, dry_run, mv.tracked);
331
379
  if (!dry_run && refs.length && mv.tracked) {
332
380
  _run(["git", "add", "--", ...refs], root);
@@ -218,7 +218,18 @@ var MERGEABLE_KEYS = [
218
218
  "knowledge.global_sharing.redaction.halt_on_trigger",
219
219
  "knowledge.global_sharing.auto_promote_threshold",
220
220
  "knowledge.global_sharing.freshness.hypothesis_after_days",
221
- "knowledge.global_sharing.freshness.stale_after_days"
221
+ "knowledge.global_sharing.freshness.stale_after_days",
222
+ // `design.fidelity_mode` is a per-DEVELOPER working preference, not a
223
+ // per-project one: whether an agent may deviate from a handed-over design
224
+ // is a property of how that person works, and a designer who sets it once
225
+ // expects it in every checkout. `design-fidelity.md` already tells the
226
+ // reader to resolve it through the cascade — "that file is the project
227
+ // layer of a cascade that starts user-global" — and the cascade then
228
+ // filtered it out here, silently, so the rule's own instruction could not
229
+ // be followed. Class C, so a user still sets it by hand or through the
230
+ // GUI; whitelisting decides only whether the value SURVIVES the merge
231
+ // (ADR-271, road-to-design-intent-conformance 2.3).
232
+ "design.fidelity_mode"
222
233
  ];
223
234
  var TEMPLATE_RELATIVE = path2.join("src", "config", "agent-settings.template.yml");
224
235
  var _PACKAGE_ROOT = path2.resolve(path2.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
@@ -341,22 +341,35 @@ function listContinuityRecords(workspace_root) {
341
341
  }
342
342
  function resolveContinuityRecord(workspace_root, session_id) {
343
343
  const id = String(session_id ?? "").trim();
344
- if (id !== "") {
345
- const own = path3.join(workspace_root, recycle_envelope_rel(id));
346
- return fs3.existsSync(own) ? { file: own, reason: `continuity record for this session (${safe_stem(id)})` } : { file: null, reason: `no continuity record for this session (${safe_stem(id)})` };
347
- }
348
- const candidates = listContinuityRecords(workspace_root);
344
+ const own = id === "" ? null : path3.join(workspace_root, recycle_envelope_rel(id));
345
+ const candidates = listContinuityRecords(workspace_root).filter((f) => f !== own);
349
346
  if (candidates.length === 0) {
350
- return { file: null, reason: "no continuity record present" };
347
+ return {
348
+ file: null,
349
+ reason: id === "" ? "no continuity record present" : `no predecessor record in this workspace (own: ${safe_stem(id)})`
350
+ };
351
351
  }
352
352
  if (candidates.length === 1) {
353
- return { file: candidates[0], reason: "one continuity record, no session id to key on" };
353
+ return {
354
+ file: candidates[0],
355
+ reason: id === "" ? "one continuity record, no session id to key on" : `predecessor record, one candidate (own: ${safe_stem(id)})`
356
+ };
354
357
  }
355
358
  return {
356
359
  file: null,
357
- reason: `starting clean: ${candidates.length} continuity records in this workspace and no session id to tell them apart \u2014 resuming from the newest would resume a peer session, not this one`
360
+ reason: `starting clean: ${candidates.length} continuity records in this workspace and no way to tell which is the predecessor \u2014 resuming from the newest would resume a peer session, not this one`
358
361
  };
359
362
  }
363
+ function resolvePredecessor(projectRoot, sessionId) {
364
+ try {
365
+ const consumed = path3.join(projectRoot, recycle_consumed_rel(sessionId));
366
+ const raw = JSON.parse(fs3.readFileSync(consumed, "utf-8"));
367
+ const prior = String(raw.session_id ?? "").trim();
368
+ return prior === "" ? "none" : prior;
369
+ } catch {
370
+ return "none";
371
+ }
372
+ }
360
373
  function predecessorTracePresent(workspace_root, predecessor) {
361
374
  const id = String(predecessor ?? "").trim();
362
375
  if (id === "" || id === "none") {
@@ -1104,6 +1117,7 @@ export {
1104
1117
  recycle_envelope_rel,
1105
1118
  recycle_consumed_rel,
1106
1119
  resolveContinuityRecord,
1120
+ resolvePredecessor,
1107
1121
  predecessorTracePresent,
1108
1122
  env_session_id
1109
1123
  };
@@ -170,7 +170,18 @@ var MERGEABLE_KEYS = [
170
170
  "knowledge.global_sharing.redaction.halt_on_trigger",
171
171
  "knowledge.global_sharing.auto_promote_threshold",
172
172
  "knowledge.global_sharing.freshness.hypothesis_after_days",
173
- "knowledge.global_sharing.freshness.stale_after_days"
173
+ "knowledge.global_sharing.freshness.stale_after_days",
174
+ // `design.fidelity_mode` is a per-DEVELOPER working preference, not a
175
+ // per-project one: whether an agent may deviate from a handed-over design
176
+ // is a property of how that person works, and a designer who sets it once
177
+ // expects it in every checkout. `design-fidelity.md` already tells the
178
+ // reader to resolve it through the cascade — "that file is the project
179
+ // layer of a cascade that starts user-global" — and the cascade then
180
+ // filtered it out here, silently, so the rule's own instruction could not
181
+ // be followed. Class C, so a user still sets it by hand or through the
182
+ // GUI; whitelisting decides only whether the value SURVIVES the merge
183
+ // (ADR-271, road-to-design-intent-conformance 2.3).
184
+ "design.fidelity_mode"
174
185
  ];
175
186
  var TEMPLATE_RELATIVE = path.join("src", "config", "agent-settings.template.yml");
176
187
  var _PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
@@ -684,6 +695,7 @@ export {
684
695
  LOCAL_PROJECT_SUBDIR,
685
696
  project_settings_path,
686
697
  USER_GLOBAL_FILENAME,
698
+ user_global_settings_paths,
687
699
  MERGEABLE_KEYS,
688
700
  find_project_root_with_anchor,
689
701
  find_project_root,
@@ -4063,7 +4063,8 @@ var confidenceBand = external_exports.enum(["off", "low", "medium", "high"]);
4063
4063
  var onBlock = external_exports.enum(["stop", "ask", "warn"]);
4064
4064
  var onBlockFallback = external_exports.enum(["stop", "warn"]);
4065
4065
  var modelAutoSwitch = external_exports.enum(["auto", "suggest", "off"]);
4066
- var leanProjectionMode = external_exports.enum(["eager-all", "thin"]);
4066
+ var leanProjectionMode = external_exports.enum(["eager-all", "thin", "delivery"]);
4067
+ var leanProjectionHost = external_exports.enum(["claude-code", "cursor", "cline"]);
4067
4068
  var projectionMode = external_exports.enum(["legacy-all", "scoped"]);
4068
4069
  var memoryCadence = external_exports.enum(["auto", "always", "never"]);
4069
4070
  var projectAudience = external_exports.enum(["self", "internal", "client", "public"]);
@@ -4095,9 +4096,12 @@ var settingsSchema = external_exports.object({
4095
4096
  ),
4096
4097
  lean_projection: external_exports.object({
4097
4098
  mode: leanProjectionMode.default("eager-all").describe(
4098
- "How the per-tool projector emits the rule layer. eager-all = every rule body inlined into every projection (default, safe). thin = kernel rules full-bodied + non-kernel rules as router-resolved pointers (~45k GPT-tok lighter per session). EXPERIMENTAL: validate with the live A/B before flipping; one-flip revert to eager-all."
4099
+ "How the per-tool projector emits the rule layer. eager-all = every rule body inlined into every projection (safe; what an ABSENT key still resolves to, per ADR-267 decision point 4). thin = kernel rules full-bodied + non-kernel rules as router-resolved pointers (~45k GPT-tok lighter per session), with no delivery mechanism. delivery = thin stubs PLUS the rule-inject hook concern, which delivers a body back on a trigger match; this is the value the SHIPPED TEMPLATE carries for Claude Code since ADR-267, and the activation charge for it is paid in src/config/hook-token-budget.json (user_prompt_submit slot sum 4,096 -> 16,384)."
4100
+ ),
4101
+ hosts: external_exports.array(leanProjectionHost).default(["claude-code"]).describe(
4102
+ "Which hosts a thinning mode may thin (ADR-267). Absent resolves to [claude-code]. Only the three hosts with a per-rule rule tree are accepted, and this enum is the AUTHORING layer: an id outside it is a hard validation FAILURE here and under validate_agent_settings, never a warning. resolveLeanProjectionHosts is the READ-TIME backstop for a hand-edited .agent-settings.yml that passed neither, and THERE the id is dropped with a warning (R2 finding 6 \u2014 the two layers answer differently and neither said so). Every host outside this list receives exactly what eager-all writes, asserted byte-for-byte by check_host_tree_parity."
4099
4103
  )
4100
- }).default({ mode: "eager-all" }),
4104
+ }).default({ mode: "eager-all", hosts: ["claude-code"] }),
4101
4105
  cost: external_exports.object({
4102
4106
  budgets: external_exports.object({
4103
4107
  daily: external_exports.number().min(0).default(0).describe(
@@ -4193,7 +4197,7 @@ var settingsSchema = external_exports.object({
4193
4197
  }),
4194
4198
  chat_history: external_exports.object({
4195
4199
  enabled: external_exports.boolean().default(true).describe(
4196
- "Persist a structured log of every chat turn to .agent-config/chat-history/ so /chat-history:show, :import, and :learn can replay sessions. Turn off if you never want chat transcripts on disk."
4200
+ "Persist a structured log of every chat turn to agents/runtime/.agent-chat-history (JSONL). Recording only \u2014 no command in this package replays a session from the file; it is a record on disk that a human or a later tool can read. Turn off if you never want chat transcripts on disk."
4197
4201
  ),
4198
4202
  frequency: chatFreq.default("per_turn").describe(
4199
4203
  "How often the chat-history writer flushes to disk. per_turn = after every user / agent exchange (default, lowest data loss on crash). per_phase = at phase boundaries (cheaper I/O). per_tool = after every tool call (highest fidelity, noisiest log)."
@@ -4259,8 +4263,24 @@ var settingsSchema = external_exports.object({
4259
4263
  design: external_exports.object({
4260
4264
  fidelity_mode: fidelityMode.default("strict").describe(
4261
4265
  "How strictly the agent must follow a user-provided prototype / mockup / design system (consumed by the design-fidelity rule). strict = build 1:1, every visible deviation needs confirmation; structural = structure locked, silent gaps fillable with a stated assumption; hard-floor = any deviation is never autonomous."
4262
- )
4263
- }).default({ fidelity_mode: "strict" }),
4266
+ ),
4267
+ approximation: external_exports.object({
4268
+ enabled: external_exports.boolean().default(false).describe(
4269
+ "Whether a value INSIDE the configured tolerance may be replaced by the project's own token without a per-value confirmation. Ships false. The distance from the artifact's value to the nearest project token is computed and REPORTED on every value row regardless of this switch \u2014 what it decides is whether the agent may act on it without asking. Turning it on for a whole install is a consumer-facing default flip and is owner-reserved (agents/roadmaps/stubs/road-to-frontend-power-default-flip.md); design.fidelity_mode: hard-floor overrides it to off."
4270
+ ),
4271
+ tolerance: external_exports.object({
4272
+ color: external_exports.number().nullable().default(null).describe(
4273
+ 'Colour distance below which a value may be reconciled, in OKLab \u0394EOK. Ships null, and null means "preserve and report" rather than "reconcile freely". No number is set because none is supported: zero of seven design-to-code benchmarks in the evidence set score token conformance, and a number in a config file \u2014 even flagged unmeasured \u2014 shapes behavior and acquires the authority of a default. Not an RGB channel delta: RGB distance is not perceptually uniform.'
4274
+ ),
4275
+ length: external_exports.number().nullable().default(null).describe(
4276
+ "Length distance below which a value may be reconciled, in absolute CSS pixels. Ships null, same reasoning as color. GitHub Primer's \xB11px spacing widening is recorded as an externally observed candidate in src/scripts/_lib/design_tolerance.ts and is deliberately not the shipped value; max(1px, 2%) was rejected for growing more permissive at large dimensions with no evidence that this is wanted."
4277
+ )
4278
+ }).default({ color: null, length: null })
4279
+ }).default({ enabled: false, tolerance: { color: null, length: null } })
4280
+ }).default({
4281
+ fidelity_mode: "strict",
4282
+ approximation: { enabled: false, tolerance: { color: null, length: null } }
4283
+ }),
4264
4284
  consistency: external_exports.object({
4265
4285
  cross_source: crossSourceMode.default("on").describe(
4266
4286
  "Consumed by the cross-source-consistency rule. When the agent works from multiple sources (ticket text, an attached image/mockup, the spec, the codebase) it checks them against each other and asks before proceeding on a discrepancy \u2014 instead of silently guessing. on (default) = surface every real cross-source contradiction / silent-scope-expansion as one question; auto = surface only high-confidence contradictions, state low-confidence as an assumption; off = no cross-source checking."
@@ -4462,6 +4482,14 @@ var settingsSchema = external_exports.object({
4462
4482
  )
4463
4483
  })
4464
4484
  }),
4485
+ continuity: external_exports.object({
4486
+ auto_record: external_exports.enum(["on", "off"]).default("on").describe(
4487
+ "Deterministic continuity-record writer at session end (road-to-continuity-writer-activation Phase 1). on (default since 2026-09-10) = the session-eol concern writes the continuity_record capsule variant on Stop for a substantive session that has claimed a roadmap; every field is computed from on-disk state, with no model spend and no subprocess. off = no automatic record, and only the explicit agent-config session:recycle writes one. The default flipped once the parity evidence landed, so the normal path carries an automatic writer rather than a remembered command; session:recycle is retained because the automatic writer skips a session that claimed no roadmap and omits the git-status anchors."
4488
+ ),
4489
+ run_checkpoints: external_exports.enum(["on", "off"]).default("on").describe(
4490
+ "Deterministic run-checkpoint production at session end (road-to-continuity-writer-activation Phase 1.4). on (default) = a session above the recycle threshold and inside a running roadmap contract leaves agents/runtime/state/checkpoints/<run>.json, so a killed run resumes from a derived checkpoint rather than from bookkeeping. off = no checkpoint; continuity writing, the recycle advisory and the context-fill surface are unaffected. Default ON because it is the behavior the tree already had \u2014 the switch exists to make the three session-end handlers independently disableable, not to change what ships."
4491
+ )
4492
+ }),
4465
4493
  memory: external_exports.object({
4466
4494
  cadence: memoryCadence.default("always").describe(
4467
4495
  "Cadence of the \u{1F9E0} memory-visibility line after a memory-consulting step. always (default) = show whenever a memory type was asked; auto = show only when 3+ types were consulted (less noise); never = suppress. Distinct from rule_loading_tier \u2014 owns its own key since the 2026-06-01 untangle."