@event4u/agent-config 16.3.0 → 16.5.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 (532) 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 +178 -78
  5. package/README.md +2 -2
  6. package/agents/templates/.ai-council.yml.example +26 -8
  7. package/dist/agent-src/commands/analyze/inbox.md +10 -7
  8. package/dist/agent-src/commands/bug/investigate.md +1 -1
  9. package/dist/agent-src/commands/commit/in-chunks.md +40 -31
  10. package/dist/agent-src/commands/commit.md +72 -33
  11. package/dist/agent-src/commands/condense.md +2 -8
  12. package/dist/agent-src/commands/council/debate.md +11 -7
  13. package/dist/agent-src/commands/council/default.md +10 -9
  14. package/dist/agent-src/commands/council.md +1 -1
  15. package/dist/agent-src/commands/design.md +1 -1
  16. package/dist/agent-src/commands/estimate-ticket.md +1 -1
  17. package/dist/agent-src/commands/feature/explore.md +3 -3
  18. package/dist/agent-src/commands/feature/plan.md +1 -1
  19. package/dist/agent-src/commands/fix/ci.md +17 -3
  20. package/dist/agent-src/commands/fix/commit-messages.md +48 -23
  21. package/dist/agent-src/commands/fix/pr-comments.md +3 -6
  22. package/dist/agent-src/commands/implement-ticket.md +3 -3
  23. package/dist/agent-src/commands/memory/add.md +4 -16
  24. package/dist/agent-src/commands/memory/load.md +5 -6
  25. package/dist/agent-src/commands/memory/promote.md +3 -16
  26. package/dist/agent-src/commands/mission/upgrade.md +3 -2
  27. package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
  28. package/dist/agent-src/commands/optimize/deep.md +4 -2
  29. package/dist/agent-src/commands/optimize/rtk.md +4 -26
  30. package/dist/agent-src/commands/pr/create/description-only.md +18 -15
  31. package/dist/agent-src/commands/pr/create.md +42 -34
  32. package/dist/agent-src/commands/pr/merge.md +136 -9
  33. package/dist/agent-src/commands/prepare-for-review.md +13 -11
  34. package/dist/agent-src/commands/project/analyze.md +7 -35
  35. package/dist/agent-src/commands/refine-ticket.md +1 -1
  36. package/dist/agent-src/commands/review/changes.md +14 -19
  37. package/dist/agent-src/commands/roadmap/next.md +10 -1
  38. package/dist/agent-src/commands/roadmap/process-full.md +52 -38
  39. package/dist/agent-src/commands/roadmap/resolve-blockers.md +64 -14
  40. package/dist/agent-src/commands/worktree/create.md +7 -3
  41. package/dist/agent-src/commands/worktree/verify.md +2 -1
  42. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
  43. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
  44. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
  45. package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
  46. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
  47. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
  48. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  49. package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
  50. package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
  51. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
  52. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +67 -52
  53. package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
  54. package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
  55. package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
  56. package/dist/agent-src/contexts/execution/toolchain-resolver.md +4 -10
  57. package/dist/agent-src/contexts/subagent-configuration.md +1 -1
  58. package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  59. package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  60. package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  61. package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  62. package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
  63. package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  64. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  65. package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
  66. package/dist/agent-src/guidelines/design-antipatterns.md +1 -1
  67. package/dist/agent-src/guidelines/php/git.md +15 -2
  68. package/dist/agent-src/rules/active-remediation.md +0 -1
  69. package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
  70. package/dist/agent-src/rules/architecture.md +0 -1
  71. package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
  72. package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
  73. package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
  74. package/dist/agent-src/rules/autonomous-execution.md +0 -1
  75. package/dist/agent-src/rules/brand-consistency.md +0 -1
  76. package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
  77. package/dist/agent-src/rules/broken-access-control.md +0 -1
  78. package/dist/agent-src/rules/cli-output-handling.md +0 -1
  79. package/dist/agent-src/rules/code-comment-discipline.md +0 -1
  80. package/dist/agent-src/rules/code-provenance.md +0 -1
  81. package/dist/agent-src/rules/command-suggestion-policy.md +0 -1
  82. package/dist/agent-src/rules/commit-conventions.md +1 -2
  83. package/dist/agent-src/rules/communication-through-line.md +1 -2
  84. package/dist/agent-src/rules/content-quoting-floor.md +1 -2
  85. package/dist/agent-src/rules/context-hygiene.md +5 -5
  86. package/dist/agent-src/rules/copilot-routing.md +1 -2
  87. package/dist/agent-src/rules/council-availability.md +4 -4
  88. package/dist/agent-src/rules/cross-source-consistency.md +4 -6
  89. package/dist/agent-src/rules/decision-revisit-gate.md +2 -3
  90. package/dist/agent-src/rules/delegation-policy.md +2 -3
  91. package/dist/agent-src/rules/design-fidelity.md +0 -1
  92. package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
  93. package/dist/agent-src/rules/devcontainer-routing.md +1 -2
  94. package/dist/agent-src/rules/doc-screenshot-hygiene.md +0 -1
  95. package/dist/agent-src/rules/docker-commands.md +0 -1
  96. package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
  97. package/dist/agent-src/rules/domain-safety-disclaimer.md +0 -1
  98. package/dist/agent-src/rules/domain-safety-pii.md +0 -1
  99. package/dist/agent-src/rules/domain-safety-retention.md +0 -1
  100. package/dist/agent-src/rules/downstream-changes.md +0 -1
  101. package/dist/agent-src/rules/engineering-safety-floor.md +0 -1
  102. package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
  103. package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
  104. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -2
  105. package/dist/agent-src/rules/finance-safety-floor.md +0 -1
  106. package/dist/agent-src/rules/fix-what-you-see.md +6 -32
  107. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
  108. package/dist/agent-src/rules/git-history-discipline.md +1 -2
  109. package/dist/agent-src/rules/guidelines.md +0 -1
  110. package/dist/agent-src/rules/history-discipline.md +0 -1
  111. package/dist/agent-src/rules/icon-consistency.md +0 -1
  112. package/dist/agent-src/rules/image-likeness-and-rights.md +0 -1
  113. package/dist/agent-src/rules/improve-before-implement.md +0 -1
  114. package/dist/agent-src/rules/invite-challenge.md +0 -1
  115. package/dist/agent-src/rules/laravel-routing.md +1 -2
  116. package/dist/agent-src/rules/laravel-translations.md +0 -1
  117. package/dist/agent-src/rules/legal-safety-floor.md +0 -1
  118. package/dist/agent-src/rules/lethal-trifecta-guard.md +0 -1
  119. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
  120. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +0 -1
  121. package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
  122. package/dist/agent-src/rules/media-governance-routing.md +1 -2
  123. package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
  124. package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
  125. package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
  126. package/dist/agent-src/rules/missing-tool-handling.md +0 -1
  127. package/dist/agent-src/rules/model-recommendation.md +0 -1
  128. package/dist/agent-src/rules/neighbour-precedence.md +64 -0
  129. package/dist/agent-src/rules/no-attribution-footers.md +0 -1
  130. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
  131. package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
  132. package/dist/agent-src/rules/no-roadmap-references.md +0 -1
  133. package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
  134. package/dist/agent-src/rules/onboarding-gate.md +0 -1
  135. package/dist/agent-src/rules/output-discipline.md +0 -1
  136. package/dist/agent-src/rules/package-ci-checks.md +0 -1
  137. package/dist/agent-src/rules/persona-governance.md +2 -3
  138. package/dist/agent-src/rules/php-coding.md +0 -1
  139. package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
  140. package/dist/agent-src/rules/preservation-guard.md +0 -1
  141. package/dist/agent-src/rules/provider-lifecycle-discipline.md +2 -3
  142. package/dist/agent-src/rules/question-not-instruction.md +0 -1
  143. package/dist/agent-src/rules/reviewer-awareness.md +0 -1
  144. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
  145. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -6
  146. package/dist/agent-src/rules/role-mode-adherence.md +0 -1
  147. package/dist/agent-src/rules/rule-type-governance.md +0 -1
  148. package/dist/agent-src/rules/runtime-safety.md +0 -1
  149. package/dist/agent-src/rules/scale-discipline.md +0 -1
  150. package/dist/agent-src/rules/secret-vcs-guard.md +0 -1
  151. package/dist/agent-src/rules/security-sensitive-stop.md +0 -1
  152. package/dist/agent-src/rules/self-repair-loop.md +0 -1
  153. package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
  154. package/dist/agent-src/rules/session-canary.md +0 -1
  155. package/dist/agent-src/rules/settings-ask-protocol.md +5 -6
  156. package/dist/agent-src/rules/size-enforcement.md +0 -1
  157. package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
  158. package/dist/agent-src/rules/skill-quality.md +0 -1
  159. package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
  160. package/dist/agent-src/rules/source-confidentiality.md +0 -1
  161. package/dist/agent-src/rules/source-discovery-gate.md +0 -1
  162. package/dist/agent-src/rules/source-of-truth.md +0 -1
  163. package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
  164. package/dist/agent-src/rules/strategy-safety-floor.md +0 -1
  165. package/dist/agent-src/rules/symfony-routing.md +1 -2
  166. package/dist/agent-src/rules/think-before-action.md +0 -1
  167. package/dist/agent-src/rules/token-budget-discipline.md +14 -48
  168. package/dist/agent-src/rules/token-efficiency.md +0 -1
  169. package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
  170. package/dist/agent-src/rules/tool-safety.md +0 -1
  171. package/dist/agent-src/rules/ui-audit-gate.md +1 -2
  172. package/dist/agent-src/rules/untrusted-input-defense.md +0 -1
  173. package/dist/agent-src/rules/upstream-proposal.md +0 -1
  174. package/dist/agent-src/rules/user-interaction.md +0 -1
  175. package/dist/agent-src/rules/user-interrupt-priority.md +0 -1
  176. package/dist/agent-src/scripts/gate_budget.ts +47 -23
  177. package/dist/agent-src/scripts/gate_execute.ts +12 -4
  178. package/dist/agent-src/skills/accessibility-auditor/data/aria-patterns.csv +2 -0
  179. package/dist/agent-src/skills/accessibility-auditor/data/manifest.json +3 -3
  180. package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
  181. package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
  182. package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
  183. package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  184. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  185. package/dist/agent-src/skills/canvas-design/SKILL.md +4 -2
  186. package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
  187. package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
  188. package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
  189. package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
  190. package/dist/agent-src/skills/database/data/manifest.json +2 -2
  191. package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
  192. package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +13 -10
  193. package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
  194. package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
  195. package/dist/agent-src/skills/fe-design/references/design-patterns.md +49 -2
  196. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  197. package/dist/agent-src/skills/frontend-render-security/SKILL.md +9 -0
  198. package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
  199. package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
  200. package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
  201. package/dist/agent-src/skills/iconography/SKILL.md +4 -2
  202. package/dist/agent-src/skills/image-provider-routing/SKILL.md +16 -5
  203. package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
  204. package/dist/agent-src/skills/logo-generation/SKILL.md +12 -8
  205. package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
  206. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  207. package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
  208. package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
  209. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -2
  210. package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
  211. package/dist/agent-src/skills/svg-authoring/SKILL.md +318 -0
  212. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
  213. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  214. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
  215. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  216. package/dist/agent-src/skills/wireframe/SKILL.md +5 -2
  217. package/dist/agent-src/templates/AGENTS.md +1 -1
  218. package/dist/agent-src/templates/agent-settings.md +46 -129
  219. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  220. package/dist/agent-src/templates/command.md +2 -2
  221. package/dist/agent-src/templates/roadmaps.md +6 -1
  222. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  223. package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  224. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  225. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  226. package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  227. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  228. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  229. package/dist/agent-src/templates/skill.md +1 -1
  230. package/dist/cli/commands/uiRender.js +201 -4
  231. package/dist/cli/commands/uiRenderAsset.js +1308 -0
  232. package/dist/cli/commands/uiRenderAssetCompare.js +752 -0
  233. package/dist/cli/commands/uiRenderAssetGrid.js +265 -0
  234. package/dist/cli/commands/uiRenderAssetGrounds.js +323 -0
  235. package/dist/cli/commands/uiRenderAssetIsolation.js +85 -0
  236. package/dist/cli/commands/uiRenderAssetTypes.js +145 -0
  237. package/dist/cli/main.js +47 -1
  238. package/dist/cli/registry.js +2 -1
  239. package/dist/cli-delegate/check_update_banner.js +195 -119
  240. package/dist/cli-delegate/{chunk-S4UMZNES.js → chunk-4DBG5K7M.js} +5 -5
  241. package/dist/cli-delegate/{chunk-TRI6DQZ6.js → chunk-5GPULQBE.js} +60 -42
  242. package/dist/cli-delegate/{chunk-JQVYKIZA.js → chunk-6SRJTYJS.js} +33 -177
  243. package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
  244. package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
  245. package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
  246. package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
  247. package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
  248. package/dist/cli-delegate/{chunk-NXEILF2K.js → chunk-F3QDG2GT.js} +481 -72
  249. package/dist/cli-delegate/{chunk-CQWX336L.js → chunk-G5VVIZRC.js} +3 -3
  250. package/dist/cli-delegate/{chunk-JY2I2DXV.js → chunk-H76PHZBI.js} +137 -60
  251. package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
  252. package/dist/cli-delegate/{chunk-LIYTLH6O.js → chunk-KXXWJTDO.js} +5 -10
  253. package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
  254. package/dist/cli-delegate/{chunk-S4YWNRKO.js → chunk-MDPPKQCQ.js} +34 -1
  255. package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
  256. package/dist/cli-delegate/{chunk-GKE7ZVFA.js → chunk-PWX7CKMD.js} +1 -1
  257. package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
  258. package/dist/cli-delegate/{chunk-RQNNW7IF.js → chunk-T7XSJSUQ.js} +433 -632
  259. package/dist/cli-delegate/{chunk-NQ7WT43P.js → chunk-TMWYUOK4.js} +75 -12
  260. package/dist/cli-delegate/{chunk-EEHDXSYD.js → chunk-WQWXGIWB.js} +12 -273
  261. package/dist/cli-delegate/{chunk-QLDHIPWR.js → chunk-XQTPXKFA.js} +1 -1
  262. package/dist/cli-delegate/cmd_analyze_session.js +223 -43
  263. package/dist/cli-delegate/cmd_brand_status.js +3 -2
  264. package/dist/cli-delegate/cmd_conformance.js +489 -238
  265. package/dist/cli-delegate/cmd_converge.js +3 -3
  266. package/dist/cli-delegate/cmd_doctor.js +15 -12
  267. package/dist/cli-delegate/cmd_doctor_neighbours.js +11 -4
  268. package/dist/cli-delegate/cmd_explain.js +43 -19
  269. package/dist/cli-delegate/cmd_export.js +10 -10
  270. package/dist/cli-delegate/cmd_git_convention.js +1851 -0
  271. package/dist/cli-delegate/cmd_handoff.js +40 -21
  272. package/dist/cli-delegate/cmd_mcp_available.js +3 -2
  273. package/dist/cli-delegate/cmd_migrate.js +3 -3
  274. package/dist/cli-delegate/cmd_packs_active.js +4 -3
  275. package/dist/cli-delegate/cmd_prune.js +10 -10
  276. package/dist/cli-delegate/cmd_route_audit.js +7 -7
  277. package/dist/cli-delegate/cmd_route_explain.js +5 -5
  278. package/dist/cli-delegate/cmd_session_recycle.js +9 -7
  279. package/dist/cli-delegate/cmd_settings_check.js +54 -7
  280. package/dist/cli-delegate/cmd_settings_get.js +18 -8
  281. package/dist/cli-delegate/cmd_settings_migrate.js +10 -10
  282. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  283. package/dist/cli-delegate/cmd_sync.js +10 -10
  284. package/dist/cli-delegate/cmd_uninstall.js +10 -10
  285. package/dist/cli-delegate/cmd_update.js +7 -7
  286. package/dist/cli-delegate/cmd_upgrade.js +7 -7
  287. package/dist/cli-delegate/cmd_validate.js +10 -10
  288. package/dist/cli-delegate/cmd_versions.js +5 -5
  289. package/dist/cli-delegate/gate_budget.js +1 -1
  290. package/dist/cli-delegate/gate_execute.js +2 -2
  291. package/dist/cli-delegate/roadmap_gates.js +2 -2
  292. package/dist/discovery/deprecation-report.md +1 -1
  293. package/dist/discovery/discovery-manifest.json +171 -107
  294. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  295. package/dist/discovery/discovery-manifest.summary.md +7 -7
  296. package/dist/discovery/dormancy-report.md +1 -1
  297. package/dist/discovery/orphan-report.md +1 -1
  298. package/dist/discovery/packs.json +41 -22
  299. package/dist/discovery/trust-report.md +3 -3
  300. package/dist/discovery/workspaces.json +16 -11
  301. package/dist/hooks/dispatch.js +2520 -1924
  302. package/dist/hooks/dispatch.sha256 +1 -1
  303. package/dist/hooks/svg_rules.chunk.cjs +1626 -0
  304. package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -0
  305. package/dist/install/install.mjs +462 -431
  306. package/dist/install/installThinLayer.js +40 -12
  307. package/dist/install/installedRuleLinks.js +105 -19
  308. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  309. package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
  310. package/dist/mcp/registry-manifest.json +5 -5
  311. package/dist/mcp/server.json +2 -2
  312. package/dist/mcp/server.mjs +3063 -2160
  313. package/dist/router.json +1 -1
  314. package/dist/scripts/_lib/agent_settings.js +15 -120
  315. package/dist/scripts/_lib/compile_time_toggles.js +12 -21
  316. package/dist/scripts/_lib/git_convention.js +232 -0
  317. package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
  318. package/dist/scripts/_lib/installed_layer.js +344 -18
  319. package/dist/scripts/_lib/package_root.js +68 -0
  320. package/dist/scripts/_lib/rule_law_section.js +1 -1
  321. package/dist/scripts/_lib/scan_scope.js +105 -0
  322. package/dist/scripts/_lib/settings_removed_keys.js +168 -0
  323. package/dist/scripts/_lib/svg_dom.js +284 -0
  324. package/dist/scripts/_lib/svg_geometry.js +477 -0
  325. package/dist/scripts/_lib/svg_motion.js +179 -0
  326. package/dist/scripts/_lib/svg_rules.js +1337 -0
  327. package/dist/scripts/_lib/svg_urls.js +67 -0
  328. package/dist/scripts/_lib/thin_rules.js +80 -3
  329. package/dist/scripts/lint_svg_asset.js +324 -0
  330. package/dist/server/app.js +2 -1
  331. package/dist/server/gitKeysGate.js +105 -0
  332. package/dist/server/routes/settings.js +67 -8
  333. package/dist/server/routes/wizard.js +4 -0
  334. package/dist/server/schemas/settings.js +23 -81
  335. package/dist/shared/skillRanking.js +30 -4
  336. package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
  337. package/dist/ui/index.html +1 -1
  338. package/docs/MIGRATION.md +72 -1
  339. package/docs/contracts/settings-classes.md +35 -65
  340. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  341. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  342. package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  343. package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  344. package/docs/guidelines/agent-infra/layered-settings.md +13 -1
  345. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  346. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  347. package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
  348. package/docs/guidelines/design-antipatterns.md +1 -1
  349. package/docs/guidelines/php/git.md +15 -2
  350. package/package.json +4 -3
  351. package/src/agent-src/scripts/gate_budget.ts +47 -23
  352. package/src/agent-src/scripts/gate_execute.ts +12 -4
  353. package/src/agent-src/templates/AGENTS.md +1 -1
  354. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  355. package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  356. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  357. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  358. package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  359. package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  360. package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  361. package/src/config/agent-settings.template.yml +79 -312
  362. package/src/config/agents-paths.yml +16 -0
  363. package/src/config/assurance-capability-registry.json +7 -3
  364. package/src/config/ci-local-parity.yml +3 -0
  365. package/src/config/continuity-surface.json +3 -3
  366. package/src/config/discovery/packs.yml +17 -1
  367. package/src/config/evaluator-budgets.json +19 -6
  368. package/src/config/gate-coverage.yml +65 -23
  369. package/src/config/gate-violation-baselines.json +56 -16
  370. package/src/config/gitignore-block.txt +19 -0
  371. package/src/config/hook-bundle-budget.json +1 -1
  372. package/src/config/release-gate-locality.yml +2 -1
  373. package/src/config/routing-coverage-seed.json +55 -6
  374. package/src/config/rule-law-ceilings.json +12 -6
  375. package/src/config/rule-obligations.json +833 -0
  376. package/src/install/installThinLayer.ts +76 -10
  377. package/src/install/installedRuleLinks.ts +105 -17
  378. package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
  379. package/src/scripts/_cli/cmd_conformance.ts +13 -2
  380. package/src/scripts/_cli/cmd_doctor.ts +10 -10
  381. package/src/scripts/_cli/cmd_doctor_neighbours.ts +133 -0
  382. package/src/scripts/_cli/cmd_explain.ts +72 -14
  383. package/src/scripts/_cli/cmd_git_convention.ts +637 -0
  384. package/src/scripts/_cli/cmd_settings_check.ts +66 -8
  385. package/src/scripts/_cli/cmd_settings_get.ts +18 -3
  386. package/src/scripts/_cli/doctor_execution.ts +72 -1
  387. package/src/scripts/_dispatch.bash +37 -2
  388. package/src/scripts/_lib/agent_settings.ts +15 -124
  389. package/src/scripts/_lib/blocked_by_marker.ts +1 -1
  390. package/src/scripts/_lib/compile_time_toggles.ts +12 -21
  391. package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
  392. package/src/scripts/_lib/git_base_ref.ts +92 -0
  393. package/src/scripts/_lib/git_convention.ts +291 -0
  394. package/src/scripts/_lib/git_convention_carrier.ts +389 -0
  395. package/src/scripts/_lib/git_convention_grammar.ts +246 -0
  396. package/src/scripts/_lib/git_convention_measure.ts +344 -0
  397. package/src/scripts/_lib/global_deploy_inventory.ts +74 -0
  398. package/src/scripts/_lib/graph_feeder_record.ts +236 -13
  399. package/src/scripts/_lib/installed_layer.ts +448 -23
  400. package/src/scripts/_lib/knowledge_global.ts +14 -1
  401. package/src/scripts/_lib/module_reach.ts +456 -0
  402. package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
  403. package/src/scripts/_lib/neighbour_tool_use.ts +8 -10
  404. package/src/scripts/_lib/ratification_artifact.ts +220 -1
  405. package/src/scripts/_lib/ratification_subject.ts +92 -0
  406. package/src/scripts/_lib/release_findings_ingest.ts +15 -7
  407. package/src/scripts/_lib/release_highlights.ts +5 -0
  408. package/src/scripts/_lib/rule_law_section.ts +1 -1
  409. package/src/scripts/_lib/rule_obligations.ts +205 -0
  410. package/src/scripts/_lib/self_repair.ts +1 -1
  411. package/src/scripts/_lib/settings_removed_keys.ts +173 -0
  412. package/src/scripts/_lib/svg_dom.ts +318 -0
  413. package/src/scripts/_lib/svg_geometry.ts +480 -0
  414. package/src/scripts/_lib/svg_motion.ts +208 -0
  415. package/src/scripts/_lib/svg_rules.ts +1453 -0
  416. package/src/scripts/_lib/svg_urls.ts +72 -0
  417. package/src/scripts/_lib/test_red_state.ts +5 -0
  418. package/src/scripts/_lib/thin_rules.ts +83 -3
  419. package/src/scripts/_lib/touched_file_quality.ts +142 -6
  420. package/src/scripts/_lib/verification_command.ts +59 -0
  421. package/src/scripts/_lib/verify_clause.ts +27 -17
  422. package/src/scripts/_lib/worker_budget.ts +1 -1
  423. package/src/scripts/adr/regenerate_index.ts +16 -1
  424. package/src/scripts/ai_council/config.ts +7 -7
  425. package/src/scripts/ai_council/modification_review.ts +100 -0
  426. package/src/scripts/ai_council/modification_review_questions.ts +90 -0
  427. package/src/scripts/ai_council/orchestrator.ts +5 -5
  428. package/src/scripts/ai_council/spend_gate.ts +18 -7
  429. package/src/scripts/ai_team/config.ts +11 -16
  430. package/src/scripts/audit_user_type_axis.ts +20 -8
  431. package/src/scripts/bench_ab_clone.ts +1 -2
  432. package/src/scripts/bench_concern_spawn_path.ts +129 -0
  433. package/src/scripts/bench_graph_feeder_latency.ts +584 -0
  434. package/src/scripts/check_agent_artifact_location.ts +36 -0
  435. package/src/scripts/check_branch_freshness.ts +147 -24
  436. package/src/scripts/check_enforcement_coverage.ts +130 -0
  437. package/src/scripts/check_evaluator_budgets.ts +4 -0
  438. package/src/scripts/check_finding_dispositions.ts +88 -25
  439. package/src/scripts/check_gate_coverage.ts +4 -3
  440. package/src/scripts/check_gate_reachability.ts +48 -1
  441. package/src/scripts/check_generator_sync.ts +48 -0
  442. package/src/scripts/check_hook_bundle_composition.ts +107 -0
  443. package/src/scripts/check_kernel_edit_ratified.ts +86 -6
  444. package/src/scripts/check_pack_size.ts +1 -1
  445. package/src/scripts/check_release_manifest_content.ts +189 -0
  446. package/src/scripts/check_standing_rule_delivery.ts +96 -0
  447. package/src/scripts/check_suppression_hygiene.ts +2 -5
  448. package/src/scripts/ci_settle.ts +42 -5
  449. package/src/scripts/classify_merge_risk.ts +320 -0
  450. package/src/scripts/closure_scan.ts +91 -1
  451. package/src/scripts/command_suggester/settings.ts +8 -108
  452. package/src/scripts/command_suggester/types.ts +4 -5
  453. package/src/scripts/consumer_matrix.ts +102 -0
  454. package/src/scripts/context_hygiene_hook.ts +13 -23
  455. package/src/scripts/cost/preflight.mjs +12 -1
  456. package/src/scripts/council_cli.ts +7 -7
  457. package/src/scripts/dispatch_r2_reviewer.ts +24 -11
  458. package/src/scripts/explain_run.ts +8 -13
  459. package/src/scripts/generate_git_convention_grammar.ts +127 -0
  460. package/src/scripts/generate_host_cost_table.ts +20 -3
  461. package/src/scripts/handoff_context_hook.ts +86 -37
  462. package/src/scripts/hook_manifest.json +1 -1
  463. package/src/scripts/hook_manifest.yaml +25 -6
  464. package/src/scripts/hooks/block_config_weakening.ts +48 -5
  465. package/src/scripts/hooks/block_plumbing_writes.ts +8 -4
  466. package/src/scripts/hooks/block_speaking_inbox_dir.ts +16 -1
  467. package/src/scripts/hooks/concern_registry.ts +2 -0
  468. package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
  469. package/src/scripts/hooks/design_pass_hook.ts +157 -3
  470. package/src/scripts/hooks/evidence_independence.ts +12 -4
  471. package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
  472. package/src/scripts/hooks/push_settle_hook.ts +4 -3
  473. package/src/scripts/hooks/rule_inject_hook.ts +44 -3
  474. package/src/scripts/hooks/state_io.ts +8 -4
  475. package/src/scripts/hooks/svg_obligation.ts +497 -0
  476. package/src/scripts/hooks/svg_rules_loader.ts +133 -0
  477. package/src/scripts/hooks/telemetry_usage_hook.ts +7 -46
  478. package/src/scripts/hooks/turn_end_gate_hook.ts +6 -3
  479. package/src/scripts/install-hooks.sh +42 -14
  480. package/src/scripts/install.ts +7 -31
  481. package/src/scripts/lint_blocker_citations.ts +198 -0
  482. package/src/scripts/lint_consolidation_lineage.ts +6 -3
  483. package/src/scripts/lint_design_quality.ts +60 -12
  484. package/src/scripts/lint_evidence_artifacts.ts +9 -0
  485. package/src/scripts/lint_hook_concern_budget.ts +10 -21
  486. package/src/scripts/lint_motion_authority_drift.ts +27 -0
  487. package/src/scripts/lint_pack_boundaries.ts +406 -28
  488. package/src/scripts/lint_roadmap_blockers.ts +282 -29
  489. package/src/scripts/lint_roadmap_complexity.ts +4 -2
  490. package/src/scripts/lint_rule_law_section.ts +151 -21
  491. package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
  492. package/src/scripts/lint_settings_classes.ts +1 -1
  493. package/src/scripts/lint_svg_asset.ts +365 -0
  494. package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
  495. package/src/scripts/lint_workflow_security.ts +12 -1
  496. package/src/scripts/measure_skill_ranker_baseline.ts +5 -0
  497. package/src/scripts/model_rule_injection.ts +3 -3
  498. package/src/scripts/onboarding_gate_hook.ts +7 -6
  499. package/src/scripts/print_required_checks.ts +15 -3
  500. package/src/scripts/probe_host_compliance.ts +33 -5
  501. package/src/scripts/probe_turnaround.ts +183 -3
  502. package/src/scripts/ratification_header.ts +77 -0
  503. package/src/scripts/refusal_envelope.ts +138 -0
  504. package/src/scripts/release_publication.ts +29 -3
  505. package/src/scripts/report_dispatch_import_closure.ts +76 -0
  506. package/src/scripts/report_installed_rule_links.ts +118 -1
  507. package/src/scripts/report_module_reach.ts +212 -0
  508. package/src/scripts/report_obligation_mechanism.ts +16 -18
  509. package/src/scripts/report_parked_blockers.ts +222 -0
  510. package/src/scripts/report_required_checks_drift.ts +196 -0
  511. package/src/scripts/report_skill_ranker_confusion.ts +103 -2
  512. package/src/scripts/report_standing_payload_by_host.ts +1 -1
  513. package/src/scripts/routing_doctor.ts +2 -2
  514. package/src/scripts/schemas/agent-settings.schema.json +17 -31
  515. package/src/scripts/schemas/command.schema.json +1 -1
  516. package/src/scripts/schemas/skill.schema.json +1 -1
  517. package/src/scripts/self_review_gate.ts +39 -2
  518. package/src/scripts/skill_tools/score_skill_relevance.ts +28 -19
  519. package/src/scripts/sync_pr_branch.ts +403 -132
  520. package/src/scripts/trigger_eval_grandfather.json +0 -16
  521. package/src/server/schemas/settings.ts +33 -177
  522. package/src/shared/skillRanking.ts +53 -4
  523. package/dist/cli-delegate/chunk-NYX3L2PZ.js +0 -99
  524. package/src/scripts/_lib/config_chain.ts +0 -477
  525. package/src/scripts/_lib/conformance_report.ts +0 -403
  526. package/src/scripts/_lib/eval_discrimination.ts +0 -95
  527. package/src/scripts/_lib/evaluator_promotion.ts +0 -225
  528. package/src/scripts/_lib/file_slicer.ts +0 -117
  529. package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
  530. package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
  531. package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
  532. package/src/scripts/_lib/role_split.ts +0 -338
@@ -0,0 +1,318 @@
1
+ ---
2
+ model_tier: inherit
3
+ name: svg-authoring
4
+ description: "Hand-author or edit an SVG — icon, mark, illustration, diagram, animation, raster-to-vector — checked and rendered."
5
+ domain: product
6
+ personas:
7
+ - design-director
8
+ workspaces:
9
+ - engineering
10
+ packs:
11
+ - frontend-design
12
+ - ai-image
13
+ - ai-video
14
+ - engineering-base
15
+ trust:
16
+ level: professional
17
+ install:
18
+ removable: true
19
+ scope:
20
+ write: []
21
+ verification_reason: "execution declares no handler, so this skill runs nothing of its own — every write is the calling agent's, under the rules that govern it. No command can prove a scope the skill never executes."
22
+ execution:
23
+ type: manual
24
+ ---
25
+
26
+ # svg-authoring
27
+
28
+ > The one owner for SVG an agent writes by hand. Six lanes produce one — a
29
+ > missing icon glyph, a geometric mark, an illustration, a diagram, an animated
30
+ > asset, a wireframe canvas — and until this skill existed none of them had a
31
+ > procedure or a check beyond the agent's own belief that the file looked right.
32
+
33
+ ## When to use
34
+
35
+ - A glyph the incumbent icon set does not have (`iconography` first — the set wins).
36
+ - A simple geometric mark, when `logo-generation` takes the true-vector path.
37
+ - An illustration or a diagram authored as SVG rather than generated.
38
+ - An animated asset: SMIL, CSS or WAAPI inside an `.svg` or an inline graphic.
39
+ - A **surgical edit** to an existing SVG — "change only the hat", "remove the face".
40
+ - A **raster converted to a vector** — "turn the logo in this PNG into a real vector".
41
+
42
+ ## When NOT to use
43
+
44
+ - The icon exists in the set → `iconography`, and stop there.
45
+ - A photoreal or illustrative raster → `image-generation`.
46
+ - A full brand pipeline → `logo-generation` (which routes back here for the mark).
47
+ - Motion design for video → `motion-choreographer`.
48
+
49
+ ## Procedure
50
+
51
+ 1. **Read the delivery mode first — it decides everything after it.** `inline`
52
+ in a host page, a standalone `document` opened directly, `img`, a CSS
53
+ background, or a deck. It decides what can animate, what can execute, and how
54
+ the graphic gets its accessible name. An **undeclared** mode is treated as
55
+ `inline`, the strictest.
56
+ 2. **Classify the asset** — `icon`, `mark`, `illustration`, `diagram`,
57
+ `animated`. The class picks the fill-ratio threshold and the geometry
58
+ tolerance; there is no global threshold, because a 24-grid icon's designed
59
+ padding reads as an under-filled viewBox against one.
60
+ 3. **Plan before attributes** — concept, then layout, then attributes.
61
+ Primitives before detail: a mark built from `rect`/`circle`/`polygon` is a
62
+ true vector and is often the right answer, not a lesser one.
63
+ 4. **Write with the invariants.**
64
+ - ids namespaced to the graphic — a bare `id="title"` names the second
65
+ inline graphic on the page after the first.
66
+ - the accessible name comes from the ARIA corpus, not from here: ground
67
+ `meaningful standalone svg chart graphic accessible name` against
68
+ `accessibility-auditor`'s `aria-patterns.csv` and follow the
69
+ **Meaningful standalone graphic** or **Decorative graphic** row.
70
+ - colour from the project's tokens or `currentColor`, never a loose hex.
71
+ - an explicit `font-family` with a fallback the target actually ships; a
72
+ `<text>` with none resolves to the platform serif.
73
+ - no `<script>`, no `on*`, no `javascript:`, no `foreignObject`, no external
74
+ `href` or `url()`, no internal DTD subset or `<!ENTITY` (a bare public
75
+ DOCTYPE is fine).
76
+ 5. **Run the static check** — `lint_svg_asset`, with the delivery mode declared:
77
+ ```bash
78
+ npx tsx node_modules/@event4u/agent-config/src/scripts/lint_svg_asset.ts \
79
+ --file path/to/asset.svg --delivery inline
80
+ ```
81
+ 6. **Run the witness** — the asset profile, which opens the file in a real engine:
82
+ ```bash
83
+ agent-config ui:render path/to/asset.svg --profile asset --class icon
84
+ ```
85
+ 7. **Look at the render.** Looking stays mandatory for *meaning*; it is never the
86
+ pass for *geometry*. Fix what both the checks and the look found.
87
+ 8. **Stop** at a clean witness or after three render passes, whichever comes
88
+ first. A stop **at the cap with error findings still open** reports
89
+ `unverified` with the reason `pass-cap-reached` and lists what is open —
90
+ never `verified`, and never done. That reason is yours to report: the render
91
+ manifest never carries it, because one invocation of `ui:render` cannot see
92
+ how many passes you have made.
93
+ 9. **Report** the renderer and the checks that actually ran — `verified`,
94
+ `static-only` or `unverified` — plus `goal: unassessed`, and name only
95
+ output files read back from disk. Where the renderer is **absent**, run the
96
+ static witness, report `static-only`, and name the missing capability in one
97
+ line; opening the file in a browser is never a step of this procedure or of
98
+ the user's.
99
+
100
+ ## Status — what each word is allowed to mean
101
+
102
+ | Status | Allowed only when |
103
+ |---|---|
104
+ | `verified` | a render manifest from the asset profile exists **whose recorded file digest equals the delivered file's digest on disk**. A manifest from an earlier pass does not count. |
105
+ | `static-only` | the static check ran and no render did. A parser pass (`xmllint --noout`) is this, never `verified` — a file can parse and still be the wrong picture. |
106
+ | `unverified` | no browser resolved, or the pass cap was reached with error findings open (`pass-cap-reached`). Never a pass; never silently upgraded. |
107
+
108
+ **A second axis, and it is not this table's.** Every status above is about
109
+ whether a CHECK ran and what it found. Whether the graphic is *right* is a
110
+ different question, and `verified` was being read as an answer to it. So every
111
+ report carries `goal:` beside the status, and this skill writes exactly one
112
+ value into it:
113
+
114
+ | Goal | Written by |
115
+ |---|---|
116
+ | `unassessed` | **always, by this skill and by the renderer.** The default, and the only value either may write. |
117
+ | `accepted` / `rejected` | an owner statement, or a pre-registered scenario witness. Never derived from a digest match, a clean witness, or a score. |
118
+
119
+ ## Editing an existing SVG — the baseline replaces the look
120
+
121
+ Declare the ids the edit is allowed to touch, then let the readout decide:
122
+
123
+ ```bash
124
+ npx tsx node_modules/@event4u/agent-config/src/scripts/lint_svg_asset.ts \
125
+ --file after.svg --baseline before.svg --allow hat,hat-band
126
+ ```
127
+
128
+ Every element outside the allowed set that changed is reported with the attribute
129
+ that changed, after number and whitespace canonicalisation. **No pixel diff
130
+ decides this** — anti-aliasing and font metrics would make it a per-machine
131
+ verdict.
132
+
133
+ This applies **between the owner's own passes** too. A part the user already
134
+ accepted joins the baseline and may not move by hand. A conversion pass that
135
+ re-derives that part from the source instead **re-measures** it and re-checks
136
+ the accepted property — a hole that was accepted as a hole stays a hole through
137
+ a full re-trace.
138
+
139
+ ## Converting a raster to a vector — its own branch
140
+
141
+ Drawing it from a look fails, and it fails the same way every time: the outlines
142
+ "coincide within a few pixels" by eye and read 0.883 silhouette IoU when
143
+ measured. The procedure below reached 0.984 with the same tools.
144
+
145
+ ### Trace to measure, construct to deliver
146
+
147
+ **The trace is the underlay by default, not the deliverable.** Trace the source
148
+ to measure and to align; then construct the deliverable over that underlay from
149
+ few points, palette colours and named shapes. Keep a trace AS the deliverable
150
+ only when the owner asks for maximum fidelity over editability, and say that is
151
+ what they are getting.
152
+
153
+ The reason is measured, not stylistic. In one session the traced mark scored
154
+ 0.989 region IoU against the constructed one's 0.935 — and the trace was sent
155
+ back fifteen minutes after it was accepted, on criteria no score sees: a crown
156
+ cut at the crop edge, hairlines between segments, an off-palette spot, jagged
157
+ edges, 49 KB of edit-hostile points, and a face unreadable at 32 px. The
158
+ rebuild was 4.5 KB with 14 shapes and about 180 points. **The score is the
159
+ alignment check. It is never the acceptance.**
160
+
161
+ **When the score stops applying.** Once the owner's goal becomes a redesign
162
+ rather than a reproduction — different fingers, depth taken from a style
163
+ reference — the source-fidelity number measures agreement with something
164
+ nobody is still trying to match. Stop reporting it as progress and say why.
165
+
166
+ 1. **Crop the source region with a margin, and make that crop the coordinate
167
+ system.** Write every vector coordinate in the crop's pixel units; fit the
168
+ viewBox to the content at the end, not at the start. **Widen the crop
169
+ whenever source content touches its edge** — a trace takes the crop border
170
+ for a contour, and a comparison against that same crop cannot see the cut.
171
+ One session lost a crown that way: the crop started five pixels below it.
172
+ The engine's `geometry/source-cut-by-frame` reading is the check.
173
+ 2. **Derive geometry from the pixels, never by eye — then build over it.** One
174
+ traced silhouette that clips everything, then named regions split along an
175
+ edge map; smooth, resample and simplify each contour. The outer edge comes
176
+ from one contour and the holes come from the source. That trace is the
177
+ underlay; the shapes you ship are constructed on top of it.
178
+ 3. **Fit colour, do not pick it.** Least-squares per region against that region's
179
+ own pixels; swap a linear gradient for a radial one only when the residual
180
+ actually drops.
181
+ 4. **Classify near-white inside the mark as hole or paint from the source**, and
182
+ check it on a dark background **before** the first report. Near-white paint
183
+ where the source shows a hole is invisible on white and obvious on black.
184
+ 5. **Keep text, wordmark and slogan out** unless they were asked for.
185
+ 6. **Score every pass and every candidate change**, and keep a change only when
186
+ the score improves — a tried-and-worse idea is dropped by the number, not by
187
+ taste. Use the two readings the geometry comparison produces: silhouette IoU
188
+ over saturated regions, and mean colour error plus the share of pixels off by
189
+ more than 40/255 — broken down per region, so the worst region is named. The
190
+ score ranks passes against the source; it does not decide acceptance, and it
191
+ stops meaning anything once the goal becomes a redesign.
192
+ 7. **Stop** at the declared tolerance, at the user's pass budget, or **on a
193
+ plateau** — whichever comes first. A plateau is two consecutive passes each
194
+ improving the score by less than 5 % relative: stop, report the residual's
195
+ cause, and offer the construct-or-redesign option instead of starting
196
+ another pass. An explicit pass budget from the user still wins when it is
197
+ smaller. Measured: twelve further scored passes took mean error 16.78 to
198
+ 6.12 and the share off by 40 from 9.1 % to 1.5 %, and the owner said "still
199
+ unclean" twice; the plateau was named only after they brought a reference.
200
+ 8. **Snapshot every delivered pass** as `<name>.pass-<n>.svg`, and diff the next
201
+ pass against the last accepted snapshot with `lint_svg_asset --baseline`.
202
+ Report which accepted properties carried forward. Restoring "version 4" is
203
+ then a copy, not a reconstruction — one session lost the same accepted
204
+ detail twice between hand edits, and the owner had to supply the file back
205
+ from their own downloads.
206
+ 9. **Report the per-pass numbers, the cause of the remaining residual, and the
207
+ file size.** Fidelity costs bytes — one accepted conversion went 5.3 KB →
208
+ 49.5 KB and nothing measured it. Each number carries the **registration**
209
+ it was taken against as `x,y,w,h` in the source's pixel frame, the
210
+ **scorer** that produced it (`ui:render`, or a named script) and the sample
211
+ resolution. Two scorers disagreed on one file by a factor of four and
212
+ neither number could be told from the other afterwards; a wordmark's frame
213
+ could not be recovered at all, and three plausible ones moved its IoU from
214
+ 0.56 to 0.81.
215
+
216
+ Any tracing tool the host has may do the deriving, and a host with none can
217
+ write one. **The measurement is the procedure, not the tool.**
218
+
219
+ ## Deliver, re-open, re-render
220
+
221
+ The last step reads every delivered file back **from its final path** in a fresh
222
+ browser context (`file://`, every other request aborted) and re-renders it from
223
+ there — not from the source text the agent wrote. Report path, byte size and
224
+ digest. An `img` delivery is additionally loaded through a host `<img>` and must
225
+ report a non-zero natural width.
226
+
227
+ **A file that does not re-open is not delivered.**
228
+
229
+ ## Output format
230
+
231
+ 1. **Delivery mode and asset class** — declared, not assumed.
232
+ 2. **The file** — path, byte size, digest.
233
+ 3. **Checks that ran** — the static check's finding count, the witness's
234
+ readings, and the status word from the table above.
235
+ 4. **For a conversion** — the per-pass score table and the residual's cause,
236
+ each number carrying its **registration** (`x,y,w,h` in the source's pixel
237
+ frame), the scorer that produced it and the sample resolution, so a later
238
+ run can repeat the reading and no second scorer's number is quoted as the
239
+ first's.
240
+ 5. **Variants** — for a `mark`, the small-size variant when the 16 and 32 px
241
+ captures lose the detail, and a light-on-dark variant when the contrast
242
+ reading is low on a capture's ground. Built, or named as missing. Never
243
+ silent: one wordmark shipped in a dark violet that is unreadable on a dark
244
+ ground, and the dark variant was simply not mentioned.
245
+ 6. **Outlined lettering** — a word set from an installed font and converted to
246
+ outlines is reported with the font's name and whether its license allows
247
+ outlining into a distributed asset. An unknown license is reported as
248
+ unknown, never as permitted.
249
+ 7. **Cost** — the reading the manifest carries (`bytes`, `elements`, `paths`,
250
+ `gradients`, `coordinates`), beside the fidelity numbers. No threshold: none
251
+ was measured, and a gate on bytes would have refused a 195 KB trace and a
252
+ 59 KB accepted figure alike.
253
+ 8. **What was looked at** — honestly, or nothing.
254
+
255
+ ## Gotcha
256
+
257
+ - **A `<path>` is not evidence of a vector.** A raster embedded beside one dummy
258
+ path passes a presence-of-`<path>` check and is not a vector; a mark built
259
+ from `rect`/`circle` fails that check and is one.
260
+ - **CSS cannot stop SMIL.** `svg * { animation: none !important }` under an
261
+ emulated `reduce` leaves an `<animate>` running. Route the animation itself.
262
+ - **An `<img>`-delivered SVG never sees the OS motion preference.** The host
263
+ needs a `<picture>` with a `media="(prefers-reduced-motion: reduce)"` source
264
+ pointing at a static file.
265
+ - **`screenshot({ animations: 'disabled' })` does not freeze SMIL.** Use
266
+ `pauseAnimations()` + `setCurrentTime()`.
267
+ - **`transform-origin` without `transform-box` pivots against the view box**, not
268
+ the element — per element, so a correct sibling proves nothing about it.
269
+ - **`keySplines` outside [0,1] stops the animation outright** rather than
270
+ clamping it.
271
+
272
+ ## Do NOT
273
+
274
+ - Do NOT report `verified` on a look, a parser pass, or a render of an earlier
275
+ draft.
276
+ - Do NOT say "matches" or "100 %" about a conversion without the two numbers and
277
+ the registration they were measured against.
278
+ - Do NOT rename ids or simplify paths as a side effect of a surgical edit.
279
+ - Do NOT restate motion, ARIA or render-security mechanism here — point at the
280
+ authority and let it own the rule.
281
+ - Do NOT add a rasteriser, a tracing dependency, or an optimiser to the write path.
282
+
283
+ ## See also
284
+
285
+ > Named rather than linked, and that is a correctness property rather than a
286
+ > style one: this skill ships in four packs, so a relative link to an artifact
287
+ > that lives in only one of them resolves for a consumer who installed that pack
288
+ > and is dead for the other three. The names are stable; the paths are not
289
+ > promises this skill can keep.
290
+
291
+ - `iconography` — the set comes first; this skill is
292
+ for the glyph it lacks.
293
+ - `logo-generation` — the brand pipeline that
294
+ routes a geometric mark here.
295
+ - `image-provider-routing` — illustrative
296
+ vector art goes to a provider, not here.
297
+ - `fe-design` § Motion — the motion authority, in
298
+ `references/design-patterns.md` § *Motion — decision-tree and rationale*. The
299
+ SVG mechanism lines are step **6b, "Which mechanism carries it inside an
300
+ SVG?"** — `transform-box`, `pathLength`, the `keySplines` range, path-morph
301
+ command equality, and delivery mode picking the reduced-motion route. Cited
302
+ here and never restated.
303
+ - `frontend-render-security` § *The
304
+ patterns AI ships by default*, row **Untrusted SVG markup into an HTML sink**
305
+ — the sinks an SVG carries into a host origin, and what each delivery mode
306
+ can execute. Its § *Backstop greps* carries the grep that finds them.
307
+ - `design-intelligence` — diagram layout; its
308
+ geometric pre-checks are witnessed by the asset profile now.
309
+ - `accessibility-auditor` — the ARIA
310
+ corpus that answers what a graphic's accessible name has to be; its
311
+ `data/aria-patterns.csv` carries the **Meaningful standalone graphic** and
312
+ **Decorative graphic** rows this skill grounds against rather than copies.
313
+ - `canvas-design`, `wireframe`
314
+ — the two lanes that use SVG as an execution surface.
315
+ - `design-fidelity` — a provided artifact is
316
+ the spec; the baseline readout above is its surgical-edit witness.
317
+ - `docs/contracts/design-artifact-verification.md` — `frame_seek` and the other
318
+ primitives the witness depends on.
@@ -97,7 +97,9 @@ Token authoring (DTCG 3-layer model, CSS-var/Tailwind generation) lives
97
97
  in [`design-tokens`](../design-tokens/SKILL.md); its
98
98
  `tokens.ts validate --dir <path>` is the **single token-discipline
99
99
  linter** — the mechanical check behind this rule (no hardcoded hex / px /
100
- rem outside the token files). Greenfield Tailwind config: bundled
100
+ rem outside the token files). That skill ships with the `frontend-design`
101
+ pack: without it the rule above still binds and is checked by reading,
102
+ not by a linter. Greenfield Tailwind config: bundled
101
103
  `scripts/tailwind_config_gen.ts` (Apache-2.0-derived, pure templating)
102
104
  scaffolds `tailwind.config.{js,ts}` per framework.
103
105
 
@@ -206,7 +206,7 @@ Backstop grep — skip/xfail added to chase green (a hit in a diff that also "fi
206
206
  rg -n '\b(it|test|describe)\.skip\b|\.only\b|xit\(|xdescribe\(|@pytest\.mark\.(skip|xfail)|@Disabled|->markTestSkipped\(' .
207
207
  ```
208
208
 
209
- This is the test-surface instance of the `autonomous-execution` N=3 / allowlist-growth antipattern (bulk `skip`/`xfail` to force green counts as the tool being wrong, not the content) and the `verify-before-complete` floor (green must be *earned*, not manufactured).
209
+ This is the test-surface instance of the `autonomous-execution` allowlist-growth antipattern (bulk `skip`/`xfail` to force green counts as the tool being wrong, not the content) and the `verify-before-complete` floor (green must be *earned*, not manufactured).
210
210
 
211
211
  ### The named smells — canonical vocabulary, and what it does NOT cover
212
212
 
@@ -136,7 +136,7 @@ passes. For the global location, skip — path is outside the repo.
136
136
  ### 4. Create the worktree
137
137
 
138
138
  ```bash
139
- git worktree add .worktrees/<branch-name> -b <branch-name>
139
+ git worktree add ".worktrees/<branch-name>" -b "<branch-name>"
140
140
  ```
141
141
 
142
142
  **Then address the worktree by flag, not by `cd`.** Every tool that matters
@@ -75,7 +75,7 @@ regressions are detectable. Pick the verdict commands per the project's
75
75
  |---|---|---|
76
76
  | `threshold` | all targeted checks green | numeric pass bar, **absolute** (fraction of total), not "± N tests" |
77
77
  | `allow_regressions` | `false` | a revision breaking a baseline-green check stops the loop |
78
- | `max_attempts` | **3** | hard cap (test feedback is more actionable than diff critique → one more than `do-and-judge`'s 2; bounded by [`autonomous-execution`](../../rules/autonomous-execution.md) N=3) |
78
+ | `max_attempts` | **3** | hard cap, this loop's own number (test feedback is more actionable than diff critique → one more than `do-and-judge`'s 2); independent of [`autonomous-execution`](../../rules/autonomous-execution.md)'s `execution.fix_loop_max` budget, which now defaults to 10 |
79
79
  | `plateau_window` | 3 | stop if the last *window* scores sit within `tolerance` |
80
80
  | `tolerance` | small absolute fraction | flake jitter that does **not** count as improvement |
81
81
 
@@ -294,7 +294,7 @@ iter2 fixes A, breaks B, 92% → "PASS" ✗ regression ignored
294
294
  phantom-verification check bound at step 3.4, with its fixture corpus in
295
295
  `tests/fixtures/tamper-corpus/` and its polarity proven both ways by
296
296
  `--self-test`.
297
- * [`autonomous-execution`](../../rules/autonomous-execution.md) — the N=3 cap.
297
+ * [`autonomous-execution`](../../rules/autonomous-execution.md) — the `execution.fix_loop_max` cap (this loop's own `max_attempts` is a separate, smaller number).
298
298
  * [`resident-process-governance`](../../docs/contracts/resident-process-governance.md) — the
299
299
  runtime-free constraint this loop honors.
300
300
  * Optional impact pre-step (when a code-graph is present, ADR-124): run
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  model_tier: inherit
3
3
  name: wireframe
4
- description: "Explore a flow or layout with 3+ disposable lo-fi greyscale wireframes on a named axis, before any hi-fi work. Use when the user wants to sketch directions or explore structure."
4
+ description: "Explore a flow or layout with 3+ disposable lo-fi greyscale wireframes on a named axis. Use when the user wants to sketch directions or explore structure."
5
5
  domain: product
6
6
  personas: []
7
7
  workspaces:
@@ -80,7 +80,10 @@ branded, recommendation-bearing). A single refined implementation →
80
80
 
81
81
  1. **One file** (HTML or annotated markdown/SVG canvas) with ≥3 greyscale
82
82
  variations side-by-side — flows as small storyboards (3–5 screens each);
83
- no brand color, no styled typography, no real imagery.
83
+ no brand color, no styled typography, no real imagery. An SVG canvas is
84
+ authored under [`svg-authoring`](../svg-authoring/SKILL.md); its grays are
85
+ the wireframe's own non-decisions, so the fidelity floor does not reproduce
86
+ them as choices.
84
87
  2. **Per-variation annotations** — 2–4 callouts naming the structural bet and
85
88
  its trade-off, inline next to the variation.
86
89
  3. **Decision-capture block** (after user pick) — chosen direction,
@@ -14,7 +14,7 @@
14
14
  ## Pointers
15
15
 
16
16
  - **Filling out this AGENTS.md** — section templates, capability bullets, multi-agent entry flow, monorepo layout: [`consumer-agents-md-guide`](.augment/contexts/contracts/consumer-agents-md-guide.md).
17
- - **Behavior rules** (9 always-on; rest routed) — [`.augment/rules/`](.augment/rules/). Kernel rules are **immutable**; tighten only via the override registry.
17
+ - **Behavior rules** (9 always-on; rest routed) — [`.augment/rules/`](.augment/rules/). Kernel rules change only by a ratified edit; overrides may tighten.
18
18
  - **Skills (on-demand expertise)** — domain skills surfaced by description, invoked on trigger match: [`.augment/skills/`](.augment/skills/).
19
19
  - **Commands (workflows)** — slash-commands the agent runs end-to-end (`/work`, `/create-pr`, …): [`.augment/commands/`](.augment/commands/).
20
20
  - **Project-specific docs** — your own architecture notes, roadmaps, sessions, contexts: [`agents/`](agents/).