@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.
- package/.claude-plugin/marketplace.json +1 -1
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +80 -130
- package/README.md +1 -1
- package/dist/agent-src/commands/agent-handoff.md +100 -48
- package/dist/agent-src/commands/challenge-me/vision.md +5 -0
- package/dist/agent-src/commands/commit.md +1 -1
- package/dist/agent-src/commands/condense.md +19 -64
- package/dist/agent-src/commands/evals/agent-handoff.json +13 -1
- package/dist/agent-src/commands/evals/rule-compliance-audit.json +46 -0
- package/dist/agent-src/commands/feature/plan.md +20 -0
- package/dist/agent-src/commands/feature/roadmap.md +19 -0
- package/dist/agent-src/commands/memory/promote.md +14 -1
- package/dist/agent-src/commands/mode.md +9 -5
- package/dist/agent-src/commands/optimize/deep.md +72 -11
- package/dist/agent-src/commands/pr/create.md +29 -0
- package/dist/agent-src/commands/roadmap/create.md +29 -0
- package/dist/agent-src/commands/rule-compliance-audit.md +28 -5
- package/dist/agent-src/contexts/authority/commit-mechanics.md +5 -5
- package/dist/agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +1 -0
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +6 -1
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +4 -1
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +27 -1
- package/dist/agent-src/contexts/execution/plan-confidence-gate.md +133 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +5 -2
- package/dist/agent-src/profiles/agency.yml +3 -3
- package/dist/agent-src/profiles/content_creator.yml +2 -2
- package/dist/agent-src/profiles/developer.yml +2 -2
- package/dist/agent-src/profiles/finance.yml +1 -1
- package/dist/agent-src/profiles/founder.yml +2 -2
- package/dist/agent-src/profiles/ops.yml +2 -2
- package/dist/agent-src/rules/active-remediation.md +2 -0
- package/dist/agent-src/rules/architecture.md +4 -2
- package/dist/agent-src/rules/augment-edit-discipline.md +2 -0
- package/dist/agent-src/rules/autonomous-execution.md +1 -1
- package/dist/agent-src/rules/brand-consistency.md +10 -62
- package/dist/agent-src/rules/brand-source-of-truth.md +62 -11
- package/dist/agent-src/rules/broken-access-control.md +4 -0
- package/dist/agent-src/rules/cli-output-handling.md +5 -0
- package/dist/agent-src/rules/code-comment-discipline.md +3 -0
- package/dist/agent-src/rules/commit-conventions.md +2 -0
- package/dist/agent-src/rules/context-hygiene.md +3 -2
- package/dist/agent-src/rules/cross-source-consistency.md +3 -0
- package/dist/agent-src/rules/design-fidelity.md +2 -0
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +2 -0
- package/dist/agent-src/rules/docker-commands.md +4 -0
- package/dist/agent-src/rules/domain-adoption-policy.md +2 -0
- package/dist/agent-src/rules/domain-safety-disclaimer.md +5 -2
- package/dist/agent-src/rules/domain-safety-pii.md +1 -1
- package/dist/agent-src/rules/engineering-safety-floor.md +2 -0
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +9 -0
- package/dist/agent-src/rules/image-likeness-and-rights.md +4 -0
- package/dist/agent-src/rules/improve-before-implement.md +4 -0
- package/dist/agent-src/rules/laravel-routing.md +4 -0
- package/dist/agent-src/rules/legal-safety-floor.md +3 -0
- package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
- package/dist/agent-src/rules/media-governance-routing.md +5 -0
- package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
- package/dist/agent-src/rules/no-roadmap-references.md +2 -0
- package/dist/agent-src/rules/notes-first-reasoning.md +2 -0
- package/dist/agent-src/rules/output-discipline.md +9 -2
- package/dist/agent-src/rules/php-coding.md +2 -0
- package/dist/agent-src/rules/prefer-enums-over-literals.md +3 -0
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +5 -0
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +2 -0
- package/dist/agent-src/rules/roadmap-progress-sync.md +2 -0
- package/dist/agent-src/rules/rule-type-governance.md +2 -0
- package/dist/agent-src/rules/scale-discipline.md +3 -0
- package/dist/agent-src/rules/secret-vcs-guard.md +2 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +9 -2
- package/dist/agent-src/rules/senior-engineering-discipline.md +6 -0
- package/dist/agent-src/rules/skill-quality.md +2 -0
- package/dist/agent-src/rules/source-confidentiality.md +4 -0
- package/dist/agent-src/rules/source-discovery-gate.md +3 -0
- package/dist/agent-src/rules/source-of-truth.md +2 -0
- package/dist/agent-src/rules/strategy-safety-floor.md +2 -0
- package/dist/agent-src/rules/think-before-action.md +5 -0
- package/dist/agent-src/rules/token-budget-discipline.md +2 -2
- package/dist/agent-src/rules/ui-audit-gate.md +2 -0
- package/dist/agent-src/rules/user-interaction.md +3 -4
- package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +4 -4
- package/dist/agent-src/skills/copilot-config/SKILL.md +1 -1
- package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +7 -4
- package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
- package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -180
- package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +100 -0
- package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +91 -0
- package/dist/agent-src/skills/design-review/SKILL.md +4 -141
- package/dist/agent-src/skills/design-review/references/review-communication.md +92 -0
- package/dist/agent-src/skills/design-review/references/verification-automation.md +61 -0
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +8 -27
- package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +31 -0
- package/dist/agent-src/skills/fe-design/SKILL.md +4 -289
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +227 -0
- package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +75 -0
- package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/persona-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/readme-reviewer/SKILL.md +2 -1
- package/dist/agent-src/skills/roadmap-management/SKILL.md +10 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +12 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +4 -2
- package/dist/agent-src/skills/skill-reviewer/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
- package/dist/agent-src/skills/token-optimizer/SKILL.md +2 -2
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +6 -3
- package/dist/agent-src/templates/agent-settings.md +13 -15
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +6 -2
- package/dist/agent-src/templates/persona.md +2 -2
- package/dist/agent-src/templates/roadmaps.md +13 -1
- package/dist/agent-src/templates/rule.md +1 -1
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/_fix_lane.ts +52 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +8 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +6 -0
- package/dist/agent-src/templates/scripts/work_engine/intent/classify.ts +56 -4
- package/dist/agent-src/templates/skill.md +1 -1
- package/dist/cli/registry.js +3 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli-delegate/chunk-AIIUU73N.js +2040 -0
- package/dist/cli-delegate/{chunk-ZXXJLL5K.js → chunk-BSLUHV2F.js} +127 -1487
- package/dist/cli-delegate/{chunk-H574KOUH.js → chunk-ELMFOQPW.js} +35 -1
- package/dist/cli-delegate/chunk-LF2KKJ4Q.js +183 -0
- package/dist/cli-delegate/chunk-VSYT7OHO.js +1382 -0
- package/dist/cli-delegate/chunk-XGA2NTU4.js +3727 -0
- package/dist/cli-delegate/cmd_conformance.js +4 -3
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +3 -2
- package/dist/cli-delegate/cmd_explain.js +36 -36
- package/dist/cli-delegate/cmd_export.js +4 -4
- package/dist/cli-delegate/cmd_handoff.js +1169 -0
- package/dist/cli-delegate/cmd_memory_get.js +35 -3754
- package/dist/cli-delegate/cmd_migrate.js +2 -2
- package/dist/cli-delegate/cmd_prune.js +4 -4
- package/dist/cli-delegate/cmd_route_audit.js +249 -0
- package/dist/cli-delegate/cmd_route_explain.js +285 -0
- package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
- package/dist/cli-delegate/cmd_sync.js +4 -4
- package/dist/cli-delegate/cmd_uninstall.js +4 -4
- package/dist/cli-delegate/cmd_update.js +3 -3
- package/dist/cli-delegate/cmd_upgrade.js +3 -3
- package/dist/cli-delegate/cmd_validate.js +4 -4
- package/dist/cli-delegate/cmd_versions.js +3 -3
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +84 -84
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +2 -2
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +2 -2
- package/dist/hooks/dispatch.js +602 -507
- package/dist/install/install.mjs +34 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
- package/dist/mcp/registry-manifest.json +4 -4
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +25 -3
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_src.js +39 -6
- package/dist/scripts/_lib/agent_src.js.map +1 -1
- package/dist/server/schemas/settings.js +25 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/guidelines/abstraction-thresholds.md +53 -0
- package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +1 -1
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +7 -0
- package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +2 -2
- package/docs/guidelines/agent-infra/minimal-safe-diff-mechanics.md +5 -3
- package/docs/guidelines/agent-infra/size-and-scope.md +8 -2
- package/docs/guidelines/component-oriented-and-oop-development.md +11 -6
- package/docs/guidelines/docs/readme-size-and-splitting.md +5 -2
- package/llms.txt +1 -0
- package/package.json +1 -1
- package/src/agent-src/templates/scripts/work_engine/directives/ui/_fix_lane.ts +52 -0
- package/src/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +8 -0
- package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +6 -0
- package/src/agent-src/templates/scripts/work_engine/intent/classify.ts +56 -4
- package/src/config/agent-settings.template.yml +68 -0
- package/src/config/evaluator-budgets.json +8 -11
- package/src/config/gate-coverage.yml +70 -0
- package/src/scripts/_cli/cmd_explain.ts +41 -36
- package/src/scripts/_cli/cmd_handoff.ts +405 -0
- package/src/scripts/_cli/cmd_route_audit.ts +290 -0
- package/src/scripts/_cli/cmd_route_explain.ts +269 -0
- package/src/scripts/_cli/handoff_generate.ts +453 -0
- package/src/scripts/_cli/handoff_sessions.ts +435 -0
- package/src/scripts/_dispatch.bash +32 -0
- package/src/scripts/_lib/agent_src.ts +36 -6
- package/src/scripts/_lib/git_env.ts +40 -0
- package/src/scripts/_lib/md_table.ts +27 -0
- package/src/scripts/_lib/planning_settings.ts +43 -0
- package/src/scripts/_lib/release_material.ts +156 -0
- package/src/scripts/_lib/router_match.ts +301 -0
- package/src/scripts/annotate_r1_outcomes.ts +258 -0
- package/src/scripts/check_completion_review.ts +1140 -0
- package/src/scripts/check_condensation.ts +2 -1
- package/src/scripts/check_finding_dispositions.ts +278 -0
- package/src/scripts/check_pack_size.ts +4 -3
- package/src/scripts/check_references.ts +1 -0
- package/src/scripts/check_release_highlights.ts +300 -0
- package/src/scripts/check_release_pr_shape.ts +4 -0
- package/src/scripts/check_release_surface_equality.ts +132 -0
- package/src/scripts/check_reply_consistency.ts +187 -138
- package/src/scripts/compile_router.ts +20 -3
- package/src/scripts/dispatch_r2_reviewer.ts +968 -0
- package/src/scripts/eval_ui_triviality.ts +156 -0
- package/src/scripts/handoff_context_hook.ts +148 -0
- package/src/scripts/hook_manifest.yaml +17 -7
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/lint_abstraction_thresholds.ts +327 -0
- package/src/scripts/lint_framework_leakage_allowlist.json +2 -2
- package/src/scripts/lint_plan_risk_register.ts +931 -0
- package/src/scripts/lint_profile_personas.ts +153 -0
- package/src/scripts/lint_token_budget_discipline.ts +148 -0
- package/src/scripts/lint_trigger_collisions.ts +257 -0
- package/src/scripts/release.ts +156 -32
- package/src/scripts/release_drill.ts +491 -0
- package/src/scripts/router_telemetry.ts +16 -290
- package/src/scripts/schemas/command.schema.json +33 -0
- package/src/scripts/schemas/rule.schema.json +10 -0
- package/src/scripts/self_review_gate.ts +41 -3
- package/src/scripts/skill_linter.ts +3 -1
- package/src/scripts/smoke/router.sh +1 -1
- package/src/scripts/update_counts.ts +60 -12
- package/src/server/schemas/settings.ts +41 -0
- 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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACnD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACxG,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAClG,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACrF,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACpD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC7E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACtD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAClF,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAChE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACjD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACjD,oOAAoO,CACvO;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CACvC,kgBAAkgB,CACrgB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAC/C,ogBAAogB,CACvgB;QACD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACrD,ocAAoc,CACvc;QACD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9E,yjBAAyjB,CAC5jB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAClC,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC3D,2bAA2b,CAC9b;IACD,kBAAkB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrD,soBAAsoB,CACzoB;IACD,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAClD,wUAAwU,CAC3U;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACxC,2LAA2L,CAC9L;YACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACzC,4IAA4I,CAC/I;YACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC1C,oJAAoJ,CACvJ;YACD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;gBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACtD,kKAAkK,CACrK;gBACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,qEAAqE,CACxE;gBACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,6KAA6K,CAChL;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC;QACF,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CACrD,gNAAgN,CACnN;KACJ,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CACpD,moBAAmoB,CACtoB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAChC,6LAA6L,CAChM;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,4JAA4J,CAC/J;QACD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC9C,8hBAA8hB,CACjiB;QACD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC9C,8LAA8L,CACjM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxC,mbAAmb,CACtb;QACD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC7C,oMAAoM,CACvM;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,yLAAyL,CAC5L;QACD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,qWAAqW,CACxW;QACD,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC3C,qUAAqU,CACxU;QACD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACpC,sPAAsP,CACzP;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CACxE,wLAAwL,CAC3L;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1C,yLAAyL,CAC5L;QACD,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CACvE,yKAAyK,CAC5K;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAClE,gSAAgS,CACnS;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,wPAAwP,CAC3P;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CACzD,4QAA4Q,CAC/Q;KACJ,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,iMAAiM,CACpM;QACD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC5C,yPAAyP,CAC5P;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,qKAAqK,CACxK;QACD,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAChD,qMAAqM,CACxM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC7C,0LAA0L,CAC7L;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,gLAAgL,CACnL;YACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC/C,+KAA+K,CAClL;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAChD,wHAAwH,CAC3H;SACJ,CAAC;KACL,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,6LAA6L,CAChM;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,+PAA+P,CAClQ;QACD,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAC9D,2PAA2P,CAC9P;QACD,uBAAuB,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CACnE,+TAA+T,CAClU;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACtD,0KAA0K,CAC7K;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACnD,0dAA0d,CAC7d;QACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,2TAA2T,CAC9T;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,8ZAA8Z,CACja;KACJ,CAAC;QACE,0EAA0E;QAC1E,qEAAqE;QACrE,2EAA2E;QAC3E,sEAAsE;QACtE,uEAAuE;QACvE,yEAAyE;SACxE,OAAO,CAAC,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,0aAA0a,CAC7a;QACD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,wMAAwM,CAC3M;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAClD,6TAA6T,CAChU;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,2eAA2e,CAC9e;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxD,+cAA+c,CACld;QACD,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,oRAAoR,CACvR;QACD,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3D,8VAA8V,CACjW;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC9F,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtC,yUAAyU,CAC5U;QACD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAChE,wTAAwT,CAC3T;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC9C,sVAAsV,CACzV;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,mNAAmN,CACtN;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,sJAAsJ,CACzJ;QACD,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtD,mKAAmK,CACtK;QACD,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1D,yJAAyJ,CAC5J;QACD,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC/E,4HAA4H,CAC/H;KACJ,CAAC,CAAC,OAAO,CAAC;QACP,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,KAAK;QACxB,qBAAqB,EAAE,KAAK;QAC5B,yBAAyB,EAAE,KAAK;QAChC,mBAAmB,EAAE,SAAS;KACjC,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC9D,kUAAkU,CACrU;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,8GAA8G,CACjH;QACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,2OAA2O,CAC9O;QACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC5C,2HAA2H,CAC9H;YACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,2GAA2G,CAC9G;YACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,6DAA6D,CAChE;YACD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACtC,gFAAgF,CACnF;YACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,uHAAuH,CAC1H;YACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,6HAA6H,CAChI;YACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACnD,oEAAoE,CACvE;YACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,mGAAmG,CACtG;YACD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAClD,6DAA6D,CAChE;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,yLAAyL,CAC5L;QACD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACrD,0VAA0V,CAC7V;QACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,iJAAiJ,CACpJ;QACD,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClE,2mBAA2mB,CAC9mB;QACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,wMAAwM,CAC3M;QACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YAC/G,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC;YACnH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;SAClH,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACnB,sHAAsH,CACzH;QACD,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9D,sQAAsQ,CACzQ;QACD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,iMAAiM,CACpM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxC,yLAAyL,CAC5L;QACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACrD,yLAAyL,CAC5L;QACD,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrE,uaAAua,CAC1a;KACJ,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtC,6MAA6M,CAChN;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,yQAAyQ,CAC5Q;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACtC,0PAA0P,CAC7P;QACD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,+MAA+M,CAClN;QACD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC3D,iOAAiO,CACpO;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,2IAA2I,CAC9I;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,iSAAiS,CACpS;YACD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC/D,qRAAqR,CACxR;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,EAAE,CAAC;IACnL,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1C,oMAAoM,CACvM;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC5E,8cAA8c,CACjd;QACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,wMAAwM,CAC3M;YACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC5D,uMAAuM,CAC1M;YACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC3D,wLAAwL,CAC3L;YACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACpD,2LAA2L,CAC9L;YACD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/C,sJAAsJ,CACzJ;SACJ,CAAC;QACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,4LAA4L,CAC/L;YACD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/D,kaAAka,CACra;YACD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC5C,uTAAuT,CAC1T;YACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC5C,2VAA2V,CAC9V;YACD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,uPAAuP,CAC1P;YACD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/C,oNAAoN,CACvN;SACJ,CAAC;KACL,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAC7C,oSAAoS,CACvS;QACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1D,yMAAyM,CAC5M;QACD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACrD,6MAA6M,CAChN;QACD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxD,wYAAwY,CAC3Y;QACD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,ycAAyc,CAC5c;KACJ,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,8aAA8a,CACjb;YACD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAC3D,kKAAkK,CACrK;YACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,kFAAkF,CACrF;gBACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,yFAAyF,CAC5F;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACd,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC/D,2GAA2G,CAC9G;YACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/D,kGAAkG,CACrG;gBACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC3D,6DAA6D,CAChE;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACtD,uMAAuM,CAC1M;YACD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACpD,+KAA+K,CAClL;YACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1C,0LAA0L,CAC7L;SACJ,CAAC;QACF,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,2TAA2T,CAC9T;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,ohBAAohB,CACvhB;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,+cAA+c,CACld;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,uaAAua,CAC1a;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC;IACF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,2KAA2K,CAC9K;QACD,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,mNAAmN,CACtN;QACD,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACjD,8LAA8L,CACjM;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,6NAA6N,CAChO;QACD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACtC,gNAAgN,CACnN;QACD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC7D,2MAA2M,CAC9M;QACD,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACvD,0LAA0L,CAC7L;KACJ,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,6LAA6L,CAChM;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,oNAAoN,CACvN;KACJ,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC7C,uRAAuR,CAC1R;QACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACzC,2IAA2I,CAC9I;QACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,yTAAyT,CAC5T;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;CAC/E,CAAC,CAAC"}
|
|
@@ -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
|
|
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/
|
|
72
|
-
(
|
|
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
|
|
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
|
|
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
|
-
-
|
|
85
|
-
|
|
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
|
|
52
|
-
Strategy. A reviewer should be able to name 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,
|
|
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
|
|
74
|
-
|
|
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 |
|
|
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
|
|
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.
|
|
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', '
|
|
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,
|
|
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(
|
|
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;
|