@event4u/agent-config 9.16.0 → 9.18.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 (227) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/AGENTS.md +1 -1
  3. package/CHANGELOG.md +80 -130
  4. package/README.md +1 -1
  5. package/dist/agent-src/commands/agent-handoff.md +100 -48
  6. package/dist/agent-src/commands/challenge-me/vision.md +5 -0
  7. package/dist/agent-src/commands/commit.md +1 -1
  8. package/dist/agent-src/commands/condense.md +19 -64
  9. package/dist/agent-src/commands/evals/agent-handoff.json +13 -1
  10. package/dist/agent-src/commands/evals/rule-compliance-audit.json +46 -0
  11. package/dist/agent-src/commands/feature/plan.md +20 -0
  12. package/dist/agent-src/commands/feature/roadmap.md +19 -0
  13. package/dist/agent-src/commands/memory/promote.md +14 -1
  14. package/dist/agent-src/commands/mode.md +9 -5
  15. package/dist/agent-src/commands/optimize/deep.md +72 -11
  16. package/dist/agent-src/commands/pr/create.md +29 -0
  17. package/dist/agent-src/commands/roadmap/create.md +29 -0
  18. package/dist/agent-src/commands/rule-compliance-audit.md +28 -5
  19. package/dist/agent-src/contexts/authority/commit-mechanics.md +5 -5
  20. package/dist/agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +1 -0
  21. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  22. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +6 -1
  23. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +4 -1
  24. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +27 -1
  25. package/dist/agent-src/contexts/execution/plan-confidence-gate.md +133 -0
  26. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +5 -2
  27. package/dist/agent-src/profiles/agency.yml +3 -3
  28. package/dist/agent-src/profiles/content_creator.yml +2 -2
  29. package/dist/agent-src/profiles/developer.yml +2 -2
  30. package/dist/agent-src/profiles/finance.yml +1 -1
  31. package/dist/agent-src/profiles/founder.yml +2 -2
  32. package/dist/agent-src/profiles/ops.yml +2 -2
  33. package/dist/agent-src/rules/active-remediation.md +2 -0
  34. package/dist/agent-src/rules/architecture.md +4 -2
  35. package/dist/agent-src/rules/augment-edit-discipline.md +2 -0
  36. package/dist/agent-src/rules/autonomous-execution.md +1 -1
  37. package/dist/agent-src/rules/brand-consistency.md +10 -62
  38. package/dist/agent-src/rules/brand-source-of-truth.md +62 -11
  39. package/dist/agent-src/rules/broken-access-control.md +4 -0
  40. package/dist/agent-src/rules/cli-output-handling.md +5 -0
  41. package/dist/agent-src/rules/code-comment-discipline.md +3 -0
  42. package/dist/agent-src/rules/commit-conventions.md +2 -0
  43. package/dist/agent-src/rules/context-hygiene.md +3 -2
  44. package/dist/agent-src/rules/cross-source-consistency.md +3 -0
  45. package/dist/agent-src/rules/design-fidelity.md +2 -0
  46. package/dist/agent-src/rules/doc-screenshot-hygiene.md +2 -0
  47. package/dist/agent-src/rules/docker-commands.md +4 -0
  48. package/dist/agent-src/rules/domain-adoption-policy.md +2 -0
  49. package/dist/agent-src/rules/domain-safety-disclaimer.md +5 -2
  50. package/dist/agent-src/rules/domain-safety-pii.md +1 -1
  51. package/dist/agent-src/rules/engineering-safety-floor.md +2 -0
  52. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +9 -0
  53. package/dist/agent-src/rules/image-likeness-and-rights.md +4 -0
  54. package/dist/agent-src/rules/improve-before-implement.md +4 -0
  55. package/dist/agent-src/rules/laravel-routing.md +4 -0
  56. package/dist/agent-src/rules/legal-safety-floor.md +3 -0
  57. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
  58. package/dist/agent-src/rules/media-governance-routing.md +5 -0
  59. package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
  60. package/dist/agent-src/rules/no-roadmap-references.md +2 -0
  61. package/dist/agent-src/rules/notes-first-reasoning.md +2 -0
  62. package/dist/agent-src/rules/output-discipline.md +9 -2
  63. package/dist/agent-src/rules/php-coding.md +2 -0
  64. package/dist/agent-src/rules/prefer-enums-over-literals.md +3 -0
  65. package/dist/agent-src/rules/provider-lifecycle-discipline.md +5 -0
  66. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +2 -0
  67. package/dist/agent-src/rules/roadmap-progress-sync.md +2 -0
  68. package/dist/agent-src/rules/rule-type-governance.md +2 -0
  69. package/dist/agent-src/rules/scale-discipline.md +3 -0
  70. package/dist/agent-src/rules/secret-vcs-guard.md +2 -0
  71. package/dist/agent-src/rules/security-sensitive-stop.md +9 -2
  72. package/dist/agent-src/rules/senior-engineering-discipline.md +6 -0
  73. package/dist/agent-src/rules/skill-quality.md +2 -0
  74. package/dist/agent-src/rules/source-confidentiality.md +4 -0
  75. package/dist/agent-src/rules/source-discovery-gate.md +3 -0
  76. package/dist/agent-src/rules/source-of-truth.md +2 -0
  77. package/dist/agent-src/rules/strategy-safety-floor.md +2 -0
  78. package/dist/agent-src/rules/think-before-action.md +5 -0
  79. package/dist/agent-src/rules/token-budget-discipline.md +2 -2
  80. package/dist/agent-src/rules/ui-audit-gate.md +2 -0
  81. package/dist/agent-src/rules/user-interaction.md +3 -4
  82. package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
  83. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +4 -4
  84. package/dist/agent-src/skills/copilot-config/SKILL.md +1 -1
  85. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +7 -4
  86. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  87. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -180
  88. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +100 -0
  89. package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +91 -0
  90. package/dist/agent-src/skills/design-review/SKILL.md +4 -141
  91. package/dist/agent-src/skills/design-review/references/review-communication.md +92 -0
  92. package/dist/agent-src/skills/design-review/references/verification-automation.md +61 -0
  93. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +8 -27
  94. package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +31 -0
  95. package/dist/agent-src/skills/fe-design/SKILL.md +4 -289
  96. package/dist/agent-src/skills/fe-design/references/design-patterns.md +227 -0
  97. package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +75 -0
  98. package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
  99. package/dist/agent-src/skills/persona-writing/SKILL.md +2 -2
  100. package/dist/agent-src/skills/readme-reviewer/SKILL.md +2 -1
  101. package/dist/agent-src/skills/roadmap-management/SKILL.md +10 -0
  102. package/dist/agent-src/skills/roadmap-writing/SKILL.md +12 -1
  103. package/dist/agent-src/skills/rule-writing/SKILL.md +4 -2
  104. package/dist/agent-src/skills/skill-reviewer/SKILL.md +1 -1
  105. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  106. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
  107. package/dist/agent-src/skills/token-optimizer/SKILL.md +2 -2
  108. package/dist/agent-src/skills/ui-component-architect/SKILL.md +6 -3
  109. package/dist/agent-src/templates/agent-settings.md +13 -15
  110. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +6 -2
  111. package/dist/agent-src/templates/persona.md +2 -2
  112. package/dist/agent-src/templates/roadmaps.md +13 -1
  113. package/dist/agent-src/templates/rule.md +1 -1
  114. package/dist/agent-src/templates/scripts/work_engine/directives/ui/_fix_lane.ts +52 -0
  115. package/dist/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +8 -0
  116. package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +6 -0
  117. package/dist/agent-src/templates/scripts/work_engine/intent/classify.ts +56 -4
  118. package/dist/agent-src/templates/skill.md +1 -1
  119. package/dist/cli/registry.js +3 -0
  120. package/dist/cli/registry.js.map +1 -1
  121. package/dist/cli-delegate/chunk-AIIUU73N.js +2040 -0
  122. package/dist/cli-delegate/{chunk-ZXXJLL5K.js → chunk-BSLUHV2F.js} +127 -1487
  123. package/dist/cli-delegate/{chunk-H574KOUH.js → chunk-ELMFOQPW.js} +35 -1
  124. package/dist/cli-delegate/chunk-LF2KKJ4Q.js +183 -0
  125. package/dist/cli-delegate/chunk-VSYT7OHO.js +1382 -0
  126. package/dist/cli-delegate/chunk-XGA2NTU4.js +3727 -0
  127. package/dist/cli-delegate/cmd_conformance.js +4 -3
  128. package/dist/cli-delegate/cmd_converge.js +3 -3
  129. package/dist/cli-delegate/cmd_doctor.js +3 -2
  130. package/dist/cli-delegate/cmd_explain.js +36 -36
  131. package/dist/cli-delegate/cmd_export.js +4 -4
  132. package/dist/cli-delegate/cmd_handoff.js +1169 -0
  133. package/dist/cli-delegate/cmd_memory_get.js +35 -3754
  134. package/dist/cli-delegate/cmd_migrate.js +2 -2
  135. package/dist/cli-delegate/cmd_prune.js +4 -4
  136. package/dist/cli-delegate/cmd_route_audit.js +249 -0
  137. package/dist/cli-delegate/cmd_route_explain.js +285 -0
  138. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  139. package/dist/cli-delegate/cmd_sync.js +4 -4
  140. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  141. package/dist/cli-delegate/cmd_update.js +3 -3
  142. package/dist/cli-delegate/cmd_upgrade.js +3 -3
  143. package/dist/cli-delegate/cmd_validate.js +4 -4
  144. package/dist/cli-delegate/cmd_versions.js +3 -3
  145. package/dist/discovery/deprecation-report.md +1 -1
  146. package/dist/discovery/discovery-manifest.json +84 -84
  147. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  148. package/dist/discovery/discovery-manifest.summary.md +1 -1
  149. package/dist/discovery/orphan-report.md +1 -1
  150. package/dist/discovery/packs.json +2 -2
  151. package/dist/discovery/trust-report.md +1 -1
  152. package/dist/discovery/workspaces.json +2 -2
  153. package/dist/hooks/dispatch.js +602 -507
  154. package/dist/install/install.mjs +34 -0
  155. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  156. package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
  157. package/dist/mcp/registry-manifest.json +4 -4
  158. package/dist/mcp/server.json +2 -2
  159. package/dist/mcp/server.mjs +25 -3
  160. package/dist/router.json +1 -1
  161. package/dist/scripts/_lib/agent_src.js +39 -6
  162. package/dist/scripts/_lib/agent_src.js.map +1 -1
  163. package/dist/server/schemas/settings.js +25 -0
  164. package/dist/server/schemas/settings.js.map +1 -1
  165. package/docs/guidelines/abstraction-thresholds.md +53 -0
  166. package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +1 -1
  167. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +7 -0
  168. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +2 -2
  169. package/docs/guidelines/agent-infra/minimal-safe-diff-mechanics.md +5 -3
  170. package/docs/guidelines/agent-infra/size-and-scope.md +8 -2
  171. package/docs/guidelines/component-oriented-and-oop-development.md +11 -6
  172. package/docs/guidelines/docs/readme-size-and-splitting.md +5 -2
  173. package/llms.txt +1 -0
  174. package/package.json +1 -1
  175. package/src/agent-src/templates/scripts/work_engine/directives/ui/_fix_lane.ts +52 -0
  176. package/src/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +8 -0
  177. package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +6 -0
  178. package/src/agent-src/templates/scripts/work_engine/intent/classify.ts +56 -4
  179. package/src/config/agent-settings.template.yml +68 -0
  180. package/src/config/evaluator-budgets.json +8 -11
  181. package/src/config/gate-coverage.yml +70 -0
  182. package/src/scripts/_cli/cmd_explain.ts +41 -36
  183. package/src/scripts/_cli/cmd_handoff.ts +405 -0
  184. package/src/scripts/_cli/cmd_route_audit.ts +290 -0
  185. package/src/scripts/_cli/cmd_route_explain.ts +269 -0
  186. package/src/scripts/_cli/handoff_generate.ts +453 -0
  187. package/src/scripts/_cli/handoff_sessions.ts +435 -0
  188. package/src/scripts/_dispatch.bash +32 -0
  189. package/src/scripts/_lib/agent_src.ts +36 -6
  190. package/src/scripts/_lib/git_env.ts +40 -0
  191. package/src/scripts/_lib/md_table.ts +27 -0
  192. package/src/scripts/_lib/planning_settings.ts +43 -0
  193. package/src/scripts/_lib/release_material.ts +156 -0
  194. package/src/scripts/_lib/router_match.ts +301 -0
  195. package/src/scripts/annotate_r1_outcomes.ts +258 -0
  196. package/src/scripts/check_completion_review.ts +1140 -0
  197. package/src/scripts/check_condensation.ts +2 -1
  198. package/src/scripts/check_finding_dispositions.ts +278 -0
  199. package/src/scripts/check_pack_size.ts +4 -3
  200. package/src/scripts/check_references.ts +1 -0
  201. package/src/scripts/check_release_highlights.ts +300 -0
  202. package/src/scripts/check_release_pr_shape.ts +4 -0
  203. package/src/scripts/check_release_surface_equality.ts +132 -0
  204. package/src/scripts/check_reply_consistency.ts +187 -138
  205. package/src/scripts/compile_router.ts +20 -3
  206. package/src/scripts/dispatch_r2_reviewer.ts +968 -0
  207. package/src/scripts/eval_ui_triviality.ts +156 -0
  208. package/src/scripts/handoff_context_hook.ts +148 -0
  209. package/src/scripts/hook_manifest.yaml +17 -7
  210. package/src/scripts/hooks/concern_registry.ts +2 -0
  211. package/src/scripts/lint_abstraction_thresholds.ts +327 -0
  212. package/src/scripts/lint_framework_leakage_allowlist.json +2 -2
  213. package/src/scripts/lint_plan_risk_register.ts +931 -0
  214. package/src/scripts/lint_profile_personas.ts +153 -0
  215. package/src/scripts/lint_token_budget_discipline.ts +148 -0
  216. package/src/scripts/lint_trigger_collisions.ts +257 -0
  217. package/src/scripts/release.ts +156 -32
  218. package/src/scripts/release_drill.ts +491 -0
  219. package/src/scripts/router_telemetry.ts +16 -290
  220. package/src/scripts/schemas/command.schema.json +33 -0
  221. package/src/scripts/schemas/rule.schema.json +10 -0
  222. package/src/scripts/self_review_gate.ts +41 -3
  223. package/src/scripts/skill_linter.ts +3 -1
  224. package/src/scripts/smoke/router.sh +1 -1
  225. package/src/scripts/update_counts.ts +60 -12
  226. package/src/server/schemas/settings.ts +41 -0
  227. package/dist/cli-delegate/{chunk-XX6TOPD7.js → chunk-WR6GTRHJ.js} +3 -3
@@ -112,6 +112,18 @@ export const settingsSchema = z.object({
112
112
  dashboard_regen_cadence: regenCadence.default('every_5_steps').describe('How often the agent regenerates agents/roadmaps/dashboard.md during a roadmap run. every_5_steps = batch the regen (default). per_step = after every step (freshest dashboard, highest subprocess overhead). phase_boundary = only at phase edges. A rename, phase add, or archive always regenerates immediately regardless.'),
113
113
  horizon_weeks: z.number().int().min(0).default(0).describe('Optional planning horizon (weeks) the agent shows in roadmap framing ("next 4 weeks"). Set 0 to omit the horizon — most teams prefer to ship without a hardcoded window.'),
114
114
  }),
115
+ planning: z.object({
116
+ challenge_on_create: z.boolean().default(true).describe('Gate C — plan-confidence gate before authoring. true (default) = a plan-artifact ask (/roadmap:create, roadmap-writing, /feature:plan, /feature:roadmap) first checks the four 95%-confidence conditions from /challenge-me vision; any gap routes into the interview (or the inline degrade protocol) before authoring, and a confident pass emits exactly one marker line. false = inert, plan asks author directly. An explicit user bypass always wins for that turn and is counted.'),
117
+ risk_review: z.boolean().default(true).describe('Gate R1 — plan-risk review. true (default) = every ready (non-draft) plan must carry a schema-valid "## Risk Register" section (ranked risks, mitigation + anchor per row, freshness marker, exact honest-null grammar), enforced by lint_plan_risk_register at pre-push + CI. false = escape hatch, the validator skips.'),
118
+ completion_review: z.boolean().default(true).describe('Gate R2 — completion review at 100% roadmap completion / pre-PR. true (default) = a findings-before-fixes review by a fresh reviewer context must exist for the current diff hash (or an exact honest-null / skip declaration) before fix commits and PR creation, enforced by check_completion_review at pre-push + CI (CI authoritative; a crashed validator warns and allows). false = escape hatch, the validator skips.'),
119
+ })
120
+ // `.default({})` is load-bearing, not cosmetic: without it the SECTION is
121
+ // required, so any settings payload that omits `planning` fails with
122
+ // `ZodError: planning Required` — which contradicts this gate family's own
123
+ // contract ("missing key = true" for all three) and reds every server
124
+ // test whose fixture predates the section. With the default, an absent
125
+ // section materialises as the three `true` leaves the contract promises.
126
+ .default({}),
115
127
  quality: z.object({
116
128
  local_auto_run: z.boolean().default(false).describe('Run quality tools (linters, type-checks, formatters) and the local test suite autonomously after edits. Off by default — the agent never runs quality tools proactively and does not ask; the user runs them manually (e.g. /quality-fix) and remote CI is the authoritative gate. The agent only runs a quality tool on an explicit ask, a concrete CI failure, or the new-gate carve-out. Turn on to restore autonomous pipeline runs.'),
117
129
  wait_for_remote_ci: z.boolean().default(false).describe('After pushing a branch, poll the remote CI provider (GitHub Actions, GitLab CI) and surface failures inline. Off by default — useful when local CI does not cover everything the remote pipeline runs.'),
@@ -134,6 +146,19 @@ export const settingsSchema = z.object({
134
146
  tokens: z.object({
135
147
  rich_skills: richSkillsMode.default('on').describe('Whether skills marked token_budget_class: rich may load in full (exempt from telegraph-speak + thin-projector trimming), consumed by the token-budget-discipline rule. on = allowed (default); off = fall back to standard condensed behavior; ask = surface an estimated token delta (tokens, not dollars) and ask once per session before loading.'),
136
148
  }).default({ rich_skills: 'on' }),
149
+ verbosity: z.object({
150
+ intent_announcements: z.boolean().default(false).describe('Intent narration before tool batches ("Let me check X…"). Only honored when personal.play_by_play is ALSO true (the direct-answers narration carve-out requires both). false (default) = act and emit the result.'),
151
+ preview_artifacts: z.boolean().default(false).describe('Show generated commit messages, PR titles/bodies, branch names before acting. false (default) = use generated content directly (/commit terse path).'),
152
+ routine_confirmations: z.boolean().default(false).describe('Confirmation prompts for routine workflow steps with one obvious answer. Iron-Law gates (commit-policy, scope-control git-ops, Hard Floor) ALWAYS ask regardless.'),
153
+ offer_council_in_delivery: z.boolean().default(false).describe('Offer "run AI Council on this?" inside delivery commands (/feature-plan, /review-changes, /roadmap-create). Council commands themselves are unaffected.'),
154
+ post_action_reports: z.enum(['off', 'minimal', 'full']).default('minimal').describe('Status blocks after a successful action. off = errors only; minimal (default) = one-line confirmation; full = bullet list.'),
155
+ }).default({
156
+ intent_announcements: false,
157
+ preview_artifacts: false,
158
+ routine_confirmations: false,
159
+ offer_council_in_delivery: false,
160
+ post_action_reports: 'minimal',
161
+ }),
137
162
  code_style: z.object({
138
163
  docblocks: z.enum(['minimal', 'full']).default('minimal').describe('Consumed by the code-comment-discipline rule. minimal (default) = no signature-mirroring docblocks; docblocks only for machine-relevant precision (generics, array shapes) or genuine why-context. full = the exported public surface of a library package may carry one-line summary docblocks; the redundancy ban still holds.'),
139
164
  }).default({ docblocks: 'minimal' }),
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/schemas/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/schemas/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ # Abstraction Thresholds — the per-class canon
2
+
3
+ > The single source of truth for "how many repetitions before you extract". Every
4
+ > other artifact that states a numeric extraction threshold cites this table and
5
+ > names its artifact class — a bare number outside this file is drift
6
+ > (enforced by `src/scripts/lint_abstraction_thresholds.ts`).
7
+
8
+ _Origin: council convergence 2026-08-03 (claude-sonnet-4-5 + gpt-4o, unanimous), recorded in ADR-213. Before this file, four artifacts stated four bare numbers (2 / 3+ / ≥4 / ≥3) with no scope tags — an agent loading them together received contradictory instructions._
9
+
10
+ ## Why the bars differ — cost scales with the artifact class
11
+
12
+ Extracting a pure helper function is a near-zero-cost act; extracting a stateful
13
+ UI component creates a file, a props contract, and a test surface. The threshold
14
+ is a price signal: the heavier the extraction, the more proven repetition it
15
+ must buy. These are **deliberately different bars for different acts**, not
16
+ editorial drift.
17
+
18
+ ## The canon
19
+
20
+ | Artifact class | Concrete tag (what to check) | Threshold |
21
+ |---|---|---|
22
+ | **Code-level abstraction** — helper, method, class, Strategy, generic, config layer | any non-UI code shape | **2 real repetitions** (or a genuine second axis of change) |
23
+ | **Pure-markup UI shell** — props-only fragment, no state (button shell, card frame, header) | renders props, holds no state | **3+ uses** |
24
+ | **Stateful UI component** — carries real props/state (form, table, filter) | repeats **AND** has varying props / local state | **~4+ repeats AND real state** (both conditions) |
25
+ | **Utility-class string** (Tailwind et al.) — repeated class list | identical class string | **≥ 3 duplications** (mechanism table: [`tailwind-engineer`](../../src/skills/tailwind-engineer/SKILL.md)) |
26
+
27
+ The code-level bar of **two** is this suite's settled base decision (the
28
+ borrowed "Rule of Three" for code was evaluated and not adopted — see
29
+ [`minimal-safe-diff-mechanics`](agent-infra/minimal-safe-diff-mechanics.md)).
30
+ The UI rows are scoped carve-outs **above** that base bar, never a license to
31
+ lower it.
32
+
33
+ ## The qualitative floor — applies to every row
34
+
35
+ A number alone never justifies an extraction. In every class, a reviewer must
36
+ be able to name the **concrete duplication or the concrete second axis of
37
+ change** the abstraction removes. One occurrence is not a component; one branch
38
+ is not a Strategy; a repeat with no varying props is inlined, not extracted.
39
+
40
+ ## Precedence
41
+
42
+ [`minimal-safe-diff`](../../src/rules/minimal-safe-diff.md) / YAGNI win on every
43
+ conflict: these thresholds authorize extraction when repetition is **already
44
+ present in the diff** — never speculative abstraction for "this could grow
45
+ later". See [`component-oriented-and-oop-development`](component-oriented-and-oop-development.md)
46
+ § The load-bearing caveat.
47
+
48
+ ## See also
49
+
50
+ - [`architecture`](../../src/rules/architecture.md) — the rule that carries the code-level bar.
51
+ - [`fe-design`](../../src/skills/fe-design/SKILL.md) § Component granularity — the UI-shell bar in context.
52
+ - [`ui-component-architect`](../../src/skills/ui-component-architect/SKILL.md) § Componentization threshold — the stateful-component bar in context.
53
+ - ADR-213 — the decision record scoping the bars.
@@ -135,7 +135,7 @@ source's remote lookup is dropped — a lethal-trifecta egress concern).
135
135
  - Is the scope bounded? (not "make it better" but "add X to Y")
136
136
  - Are edge cases considered?
137
137
 
138
- **If unclear** → ask ONE focused question. Max 2 questions, never an interrogation.
138
+ **If unclear** → ask ONE focused question per turn (`ask-when-uncertain` Iron Law — serial, never batched), never an interrogation.
139
139
 
140
140
  ### 8b. Does it fit the existing architecture?
141
141
 
@@ -120,6 +120,13 @@ is a fabricated fact wearing a number:
120
120
 
121
121
  A step list is honest ("A → B → C, C depends on B"); a schedule is invention.
122
122
 
123
+ **Carve-out — world-knowledge ranges.** An industry-typical duration sourced
124
+ from public benchmarks in strategy-advisory output ("integrations of this
125
+ class typically run 4–8 weeks") is a statement about the world, not a
126
+ prediction of the agent's or the user's own latency — allowed, but it MUST
127
+ carry an "industry-typical, not a prediction" qualifier. Unqualified, it
128
+ reads as the banned schedule.
129
+
123
130
  ### Never cite the rule as the reason
124
131
 
125
132
  When declining or constraining an action, give the **actual, substantive
@@ -68,8 +68,8 @@ If you need an ignored skill: read its SKILL.md directly, apply guidance, then a
68
68
 
69
69
  GitHub Copilot has no `PostToolUse` hook surface, so
70
70
  `scripts/context_hygiene_hook.ts` cannot run structurally and
71
- `agents/runtime/state/context-hygiene.json` is not maintained automatically
72
- (turn count, loop signal, freshness milestones at 20/40/60).
71
+ `agents/state/context-hygiene.json` is not maintained automatically
72
+ (tool-call count, loop signal, freshness milestones at 20/40/60).
73
73
 
74
74
  The cooperative path: track turns and tool-loop signals from memory
75
75
  during the conversation and apply the suggest-a-new-chat / 3-failure
@@ -27,12 +27,14 @@ The smallest change is also the least *abstract* and least *speculative* one:
27
27
  / generic / config layer to dedupe two or three call sites — inline
28
28
  repetition is cheaper to read and change than the wrong abstraction. Per new
29
29
  abstraction: **cite the second caller — or inline it.** The operative
30
- threshold in this suite is the **second real repetition** (or a genuine second
31
- axis of change), matching `architecture` and
30
+ **code-level** threshold in this suite is the **second real repetition** (or a
31
+ genuine second axis of change), matching `architecture` and
32
32
  [`component-oriented-and-oop-development`](../component-oriented-and-oop-development.md);
33
33
  the "three lines" phrasing is about *line* count inside one call site, not a
34
34
  third-occurrence gate. A borrowed "wait for the third occurrence" rule is
35
- **not** adopted — it would fork a threshold this repo already decided.
35
+ **not** adopted for code — it would fork a threshold this repo already
36
+ decided. UI extractions carry deliberately higher, scoped bars (ADR-213) —
37
+ the per-class canon is [`abstraction-thresholds`](../abstraction-thresholds.md).
36
38
  - **No speculative features.** Nothing beyond what was asked: no
37
39
  configurability or "flexibility" nobody requested, no parameters with one
38
40
  call site, no error handling for scenarios that cannot occur in this
@@ -81,8 +81,11 @@ Commands orchestrate — not implement.
81
81
 
82
82
  ## AGENTS.md
83
83
 
84
- - Target: **200–800 words**
85
- - Acceptable: **up to ~1200 words**
84
+ - Enforced budget: **character caps** via `lint_agents_md.ts` — package
85
+ root fails at **3,000 chars** (warns 2,800); consumer template fails at
86
+ **2,500 chars** (warns 2,300).
87
+ - Word guidance: aim for **≤ ~450 words** — that is roughly what fits
88
+ under the 3,000-char cap.
86
89
 
87
90
  High-level only.
88
91
 
@@ -92,6 +95,9 @@ High-level only.
92
95
 
93
96
  - Ideal: **< 60 lines**
94
97
  - Acceptable: **< 100–150 lines**
98
+ - Note: Copilot Code Review reads only the **first 4,000 characters**
99
+ (see `src/agent-src/templates/copilot-instructions.md`), so the
100
+ effective cap is character-based — highest-priority rules go up top.
95
101
 
96
102
  Must stay lightweight.
97
103
 
@@ -48,9 +48,13 @@ package's restraint posture and defers to it on every conflict:
48
48
  pattern for a five-line function, no class where a function is clearer.
49
49
 
50
50
  Rule of thumb: **two real repetitions (or a genuine second axis of change)
51
- before you extract.** One occurrence is not a component; one branch is not a
52
- Strategy. A reviewer should be able to name the concrete duplication or the
53
- concrete change-axis the abstraction removes.
51
+ before you extract a code-level abstraction.** One occurrence is not a
52
+ component; one branch is not a Strategy. A reviewer should be able to name the
53
+ concrete duplication or the concrete change-axis the abstraction removes.
54
+ UI extractions carry deliberately higher, scoped bars (shell 3+ · stateful
55
+ component ~4 + real state) — the per-class canon is
56
+ [`abstraction-thresholds`](abstraction-thresholds.md); this file does not
57
+ restate it.
54
58
 
55
59
  **Precedence (explicit): `minimal-safe-diff` / YAGNI always trump OOP
56
60
  advocacy.** When "prefer OO shape" and "smallest change" conflict, the smallest
@@ -67,11 +71,12 @@ when they repeat. Depth and mechanics already live in dedicated skills — consu
67
71
  them, don't duplicate:
68
72
 
69
73
  - [`fe-design`](../../src/skills/fe-design/SKILL.md) § Component Architecture —
70
- the stack-agnostic "kind, not framework" taxonomy, granularity, extract-on-3+.
74
+ the stack-agnostic "kind, not framework" taxonomy, granularity, and the
75
+ UI-shell bar (per [`abstraction-thresholds`](abstraction-thresholds.md)).
71
76
  - [`ui-component-architect`](../../src/skills/ui-component-architect/SKILL.md) —
72
77
  how to *shape* a reusable component: composition over inheritance, slot
73
- contracts, prop-API caps, controlled/uncontrolled, the componentization
74
- threshold (repeat **and** real state).
78
+ contracts, prop-API caps, controlled/uncontrolled, the stateful-component
79
+ bar (repeat **and** real state, per the same canon).
75
80
  - [`existing-ui-audit`](../../src/skills/existing-ui-audit/SKILL.md) — the
76
81
  reuse-before-invent gate: inventory existing components/tokens/primitives
77
82
  first (enforced by [`ui-audit-gate`](../../src/rules/ui-audit-gate.md)).
@@ -18,7 +18,10 @@ and `readme-reviewer` skills.
18
18
  | **< 150** | Healthy | No splitting needed |
19
19
  | **150–300** | Busy | Add a Table of Contents; review for padding |
20
20
  | **300–500** | Overloaded | Split deep content to `/docs/` or `references/` |
21
- | **> 500** | Broken | Hard split required; README has stopped being an entry point |
21
+ | **> 500** | Broken | Split strongly recommended; README has stopped being an entry point |
22
+
23
+ These bands are editorial; the **enforced** limit is **750 lines** —
24
+ `lint_readme_size.ts` fails the build above it.
22
25
 
23
26
  Lines, not bytes — tables, code blocks, and badges inflate bytes but stay
24
27
  scannable. The real signal is: **can a new reader reach install/usage
@@ -61,7 +64,7 @@ docs/
61
64
  api.md ← full API reference
62
65
  ```
63
66
 
64
- README stays < 200 lines. Each `/docs/` file is a self-contained chapter.
67
+ After a split, aim for a README < 200 lines. Each `/docs/` file is a self-contained chapter.
65
68
 
66
69
  ### Strategy 2 — Deep-link tables for multi-platform repos
67
70
 
package/llms.txt CHANGED
@@ -180,6 +180,7 @@ onboarding-program: Use when shaping employee onboarding — time-to-productivit
180
180
  one-on-one-cadence: Use when designing engineering 1:1s — cadence, agenda mix, growth-vs-blocker-vs-trust shape, cancellation anti-patterns. Triggers on 'fix my 1:1s', 'should I cancel 1:1s this week'.
181
181
  openapi: Use when documenting APIs — OpenAPI/Swagger, PHP attributes, Redocly validation, versioned specs — even when the user just says 'document this endpoint' without naming OpenAPI.
182
182
  org-design: Use when shaping team structure — functional vs squad, span-of-control, reorg cost, Conway-aware boundaries. Triggers on 'should we reorg', 'how do we split this team'.
183
+ overbuild-review-lens: Use when a diff builds more than the task needs — code that should not exist, a dependency the platform already covers, or a clever form where a flat one reads better. Deletion-hunting, not quality.
183
184
  override-management: Creates and manages project-level overrides for shared skills, rules, and commands — extending or replacing originals from .augment/ with project-specific behavior in agents/overrides/.
184
185
  pdf-tools: Use when creating, merging, splitting, filling, or extracting from a PDF — library-per-task, output validated. Triggers on 'merge these PDFs', 'fill this PDF form', 'split the PDF', 'create a PDF'.
185
186
  perf-feedback-craft: Use when shaping feedback — situation-behavior-impact, growth-vs-corrective split, cadence design, ladder-of-inference checks. Triggers on 'how do I give this feedback', 'perf review shape'.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@event4u/agent-config",
3
3
  "mcpName": "io.github.event4u-app/agent-config",
4
- "version": "9.16.0",
4
+ "version": "9.18.0",
5
5
  "description": "Governed skills, rules and commands for AI coding tools (Claude Code, Cursor, Windsurf, Copilot) — every claim machine-checked, including \"zero runtime daemon\".",
6
6
  "license": "MIT",
7
7
  "private": false,
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Fix-intent right-sizing for the UI chain (2026-08-04).
3
+ *
4
+ * A `ui-fix` run (defect repair on an existing surface) enters the chain at
5
+ * `apply`: the audit and design gates pass through instead of halting to
6
+ * delegate `existing-ui-audit` / `design-intelligence` — both skills stay
7
+ * available on demand. Gated by the pre-registered ui-triviality eval
8
+ * (recall 1.00 at the frozen corpus) — no chain trim on a misrouting
9
+ * classifier.
10
+ *
11
+ * The design-fidelity floor is untouched BY CONSTRUCTION: when the ticket
12
+ * references an existing design artifact (mockup, figma, prototype,
13
+ * screenshot, wireframe, a *design.html handover), the passthrough refuses
14
+ * and the mandatory resource-first audit halt fires exactly as before.
15
+ */
16
+ import type { DeliveryState } from '../../delivery_state.js';
17
+
18
+ export const UI_FIX_INTENT = 'ui-fix';
19
+
20
+ // Mirrors the design-fidelity rule's handover classes (mockup keyword,
21
+ // *design.html filename convention) — a fix that must MATCH a provided
22
+ // design is fidelity-gated work, not a lane shortcut.
23
+ export const DESIGN_ARTIFACT_MARKERS: RegExp =
24
+ /\b(mockup|figma|prototype|wireframe|screenshot|design\s+(?:file|system|spec|artifact))\b|design\.html/iu;
25
+
26
+ export function is_fix_intent(state: DeliveryState): boolean {
27
+ const ticket = (state.ticket ?? {}) as Record<string, unknown>;
28
+ return ticket['intent'] === UI_FIX_INTENT;
29
+ }
30
+
31
+ /** Scan every string value of the ticket for a design-artifact reference. */
32
+ export function references_design_artifact(state: DeliveryState): boolean {
33
+ const ticket = (state.ticket ?? {}) as Record<string, unknown>;
34
+ for (const value of Object.values(ticket)) {
35
+ if (typeof value === 'string' && DESIGN_ARTIFACT_MARKERS.test(value)) {
36
+ return true;
37
+ }
38
+ if (Array.isArray(value)) {
39
+ for (const item of value) {
40
+ if (typeof item === 'string' && DESIGN_ARTIFACT_MARKERS.test(item)) {
41
+ return true;
42
+ }
43
+ }
44
+ }
45
+ }
46
+ return false;
47
+ }
48
+
49
+ /** True when the fix lane may skip a mandatory-audit/design halt. */
50
+ export function fix_lane_passthrough(state: DeliveryState): boolean {
51
+ return is_fix_intent(state) && !references_design_artifact(state);
52
+ }
@@ -10,6 +10,7 @@
10
10
  * enforceable from code, not norms. Mirrors the `state.ui_audit` gate the
11
11
  * `ui-audit-gate` rule defends.
12
12
  */
13
+ import { fix_lane_passthrough } from './_fix_lane.js';
13
14
  import {
14
15
  type Any,
15
16
  type DeliveryState,
@@ -96,6 +97,13 @@ function _pyRStrip(s: string): string {
96
97
  /** Apply the audit gate to `state.ui_audit`. */
97
98
  export function run(state: DeliveryState): StepResult {
98
99
  const audit = state.ui_audit;
100
+ if (!_is_populated(audit) && fix_lane_passthrough(state)) {
101
+ // ui-fix enters at apply: the audit skill stays on demand instead of
102
+ // mandatory. Refused when the ticket references a design artifact —
103
+ // the design-fidelity floor keeps the resource-first halt.
104
+ state.ui_audit = { components_found: [], audit_path: 'fix-intent-on-demand' };
105
+ return new StepResult({ outcome: Outcome.SUCCESS });
106
+ }
99
107
  if (!_is_populated(audit)) {
100
108
  return _delegate_to_audit_skill(state);
101
109
  }
@@ -9,6 +9,7 @@
9
9
  * exactly as the brief specifies. Hallucinated microcopy at apply time is the
10
10
  * failure mode this step exists to prevent.
11
11
  */
12
+ import { fix_lane_passthrough } from './_fix_lane.js';
12
13
  import {
13
14
  type Any,
14
15
  type DeliveryState,
@@ -146,6 +147,11 @@ function _pyRStrip(s: string): string {
146
147
  /** Apply the design-brief lock to `state.ui_design`. */
147
148
  export function run(state: DeliveryState): StepResult {
148
149
  const design = state.ui_design;
150
+ if (!_is_populated(design) && fix_lane_passthrough(state)) {
151
+ // ui-fix enters at apply: design-intelligence stays on demand. A
152
+ // ticket referencing a design artifact keeps the mandatory brief.
153
+ return new StepResult({ outcome: Outcome.SUCCESS });
154
+ }
149
155
  if (!_is_populated(design)) {
150
156
  return _delegate_to_design_skill(state);
151
157
  }
@@ -35,6 +35,7 @@ import type { WorkState } from '../state.js';
35
35
 
36
36
  export const INTENT_UI_BUILD = 'ui-build';
37
37
  export const INTENT_UI_IMPROVE = 'ui-improve';
38
+ export const INTENT_UI_FIX = 'ui-fix';
38
39
  export const INTENT_UI_TRIVIAL = 'ui-trivial';
39
40
  export const INTENT_MIXED = 'mixed';
40
41
  export const INTENT_BACKEND = 'backend-coding';
@@ -48,6 +49,7 @@ export const INTENT_BACKEND = 'backend-coding';
48
49
  export const KNOWN_INTENTS: ReadonlySet<string> = new Set([
49
50
  INTENT_UI_BUILD,
50
51
  INTENT_UI_IMPROVE,
52
+ INTENT_UI_FIX,
51
53
  INTENT_UI_TRIVIAL,
52
54
  INTENT_MIXED,
53
55
  INTENT_BACKEND,
@@ -91,7 +93,16 @@ const _TRIVIAL_VERBS: ReadonlySet<string> = new Set([
91
93
 
92
94
  const _IMPROVE_VERBS: ReadonlySet<string> = new Set([
93
95
  'improve', 'polish', 'redesign', 'rework', 'refine',
94
- 'refactor', 'tighten', 'clean', 'fix', 'update', 'tune',
96
+ 'refactor', 'tighten', 'clean', 'update', 'tune',
97
+ ]);
98
+
99
+ // Fix-shaped verbs split out of _IMPROVE_VERBS (2026-08-04, chain
100
+ // right-sizing): a defect repair on an existing surface does not need the
101
+ // mandatory audit -> design front of the full chain — it enters at apply
102
+ // with the audit available on demand. Redesign/improve intent keeps the
103
+ // full chain.
104
+ const _FIX_VERBS: ReadonlySet<string> = new Set([
105
+ 'fix', 'repair', 'correct', 'debug', 'broken',
95
106
  ]);
96
107
 
97
108
  const _BUILD_VERBS: ReadonlySet<string> = new Set([
@@ -118,8 +129,32 @@ const _NEW_SURFACE: RegExp =
118
129
  const _EXISTING_SURFACE: RegExp =
119
130
  /\b(existing|current|the)\s+(page|screen|view|component|form|modal)\b/;
120
131
 
132
+ // Verb window widened 40 -> 60 chars and the noun set extended with the
133
+ // micro-tweak vocabulary (padding/font/radius/token/…) on 2026-08-04: the
134
+ // pre-registered ui-triviality eval measured 0.60 trivial recall against the
135
+ // council-labelled corpus — six of fifteen trivial tasks (padding change,
136
+ // font-weight tweak, token swap, typo fix, label copy) missed every rung and
137
+ // fell into the full audit chain. The corpus is the regression net for this
138
+ // pattern (eval_ui_triviality).
121
139
  const _TRIVIAL_PATTERN: RegExp =
122
- /\b(make|change|update|set|swap)\b[^.]{0,40}\b(red|blue|green|yellow|black|white|primary|secondary|color|colour|copy|text|label|wording|class|prop)\b/;
140
+ /\b(make|change|update|set|swap|tweak|adjust|fix|rename|relabel)\b[^.]{0,60}\b(red|blue|green|yellow|black|white|primary|secondary|color|colour|copy|text|label|wording|class|prop|padding|margin|spacing|font|weight|radius|token|icon|tooltip|placeholder|heading|title|alignment|border|typo)\b/;
141
+
142
+ // A copy correction phrased without an imperative verb ("the save button
143
+ // label should read 'Save changes'") is still a one-line change.
144
+ const _TRIVIAL_COPY_PATTERN: RegExp =
145
+ /\b(label|copy|text|heading|title|wording|greeting)\b[^.]{0,60}\bshould\s+(read|say|be)\b/;
146
+
147
+ // Feature-scope escalators: a trivial VERB with a non-trivial OBJECT
148
+ // ("tweak the checkout page to support coupon codes") must not enter the
149
+ // trivial lane — new capability means new state/logic, outside the
150
+ // ≤1-file/≤5-line envelope the lane enforces at apply time.
151
+ const _TRIVIAL_SCOPE_ESCALATION: RegExp =
152
+ /\b(support|allow|enable|offer|so\s+(?:that\s+)?users?\b|upload|crop|recalculat\w*|integrat\w*|logic|workflow|persist\w*|toggle)\b/;
153
+
154
+ // Multi-file scope markers and compound tasks (a second imperative after
155
+ // and/then/also/plus) violate the lane's ≤1-file precondition by shape.
156
+ const _TRIVIAL_MULTI_SCOPE: RegExp =
157
+ /\bacross\s+(?:the\s+)?(?:app|site|codebase|project|pages)\b|\b(?:app|site)-wide\b|\ball\s+pages\b|\beverywhere\b|\b(?:and|then|also|plus)\s+(?:align|update|change|tweak|adjust|swap|add|fix|make|set|rename|relabel)\b/;
123
158
 
124
159
  /**
125
160
  * Return one of {@link KNOWN_INTENTS} for the supplied text.
@@ -152,6 +187,9 @@ export function classify_intent(
152
187
  if (has_ui && has_backend) {
153
188
  return INTENT_MIXED;
154
189
  }
190
+ if (has_ui && _is_fix(text)) {
191
+ return INTENT_UI_FIX;
192
+ }
155
193
  if (has_ui && _is_improve(text)) {
156
194
  return INTENT_UI_IMPROVE;
157
195
  }
@@ -189,7 +227,9 @@ export function directive_set_for(intent: string): string {
189
227
  `expected one of ${pyListRepr(pySorted(KNOWN_INTENTS))}`,
190
228
  );
191
229
  }
192
- if (intent === INTENT_UI_BUILD || intent === INTENT_UI_IMPROVE) {
230
+ if (intent === INTENT_UI_BUILD || intent === INTENT_UI_IMPROVE || intent === INTENT_UI_FIX) {
231
+ // ui-fix shares the 'ui' set; the audit/design gates pass through for
232
+ // it (fix_lane_passthrough) so the run enters at apply.
193
233
  return 'ui';
194
234
  }
195
235
  if (intent === INTENT_UI_TRIVIAL) {
@@ -227,7 +267,10 @@ function _has_backend_signal(text: string): boolean {
227
267
  }
228
268
 
229
269
  function _is_trivial(text: string): boolean {
230
- if (reSearch(_TRIVIAL_PATTERN, text)) {
270
+ if (reSearch(_TRIVIAL_SCOPE_ESCALATION, text) || reSearch(_TRIVIAL_MULTI_SCOPE, text)) {
271
+ return false;
272
+ }
273
+ if (reSearch(_TRIVIAL_PATTERN, text) || reSearch(_TRIVIAL_COPY_PATTERN, text)) {
231
274
  return true;
232
275
  }
233
276
  let hasVerb = false;
@@ -240,6 +283,15 @@ function _is_trivial(text: string): boolean {
240
283
  return hasVerb && pySplit(text).length <= 14;
241
284
  }
242
285
 
286
+ function _is_fix(text: string): boolean {
287
+ for (const v of _FIX_VERBS) {
288
+ if (reSearch(wordBoundary(v), text)) {
289
+ return true;
290
+ }
291
+ }
292
+ return false;
293
+ }
294
+
243
295
  function _is_improve(text: string): boolean {
244
296
  if (reSearch(_EXISTING_SURFACE, text)) {
245
297
  return true;