-
行为门 v3(docs/design/2026-06-05-frontend-behavior-stage-gate.md): - 行为验收从 per-FE review approve 子门迁回阶段末尾一次(phase Behavior, featureLoop 后、testGate 前),保留 fix 循环(BEHAVIOR_STAGE_MAX=3 轮, fix 后全量前端单测复验再重跑门) - req-done/<FE> 语义降为「仅静态 review 过」;行为绿改由 reportPrompt 校验 阶段级证据(module-reports/frontend-phase-behavior-r*-a*.md 最后一份非 RED) - build-failed 取消「兄弟未实现」短路(阶段末尾全 FE 已实现);断言作用域 = 全部 FE spec「行为验收作用域」小节并集,缺小节记 scope-missing 阻断 green - 新增样式层 styleIssues(颜色 token 比对 + layout sanity 共 6 kind), 降维并入 behaviorHard 与交互硬问题同口径 fix;环境仲裁透传 riders 计数 前端测试目录隔离(对齐后端 src/main↔src/test 物理分离): - 锁定约定:单测 frontend/tests/** 镜像 src/(smoke 归 tests/__smoke__/ 且 以 .test.* 结尾),e2e 在 frontend/e2e/,frontend/src/ 禁任何测试产物; vitest include 统一限定 tests/**/*.test.* - 五层防线:docs-04 模板 §2.1 锁定约定 / planPrompt+tddPrompt 硬护栏 / fe-skeleton 单测基线 / code-reviewer 新增第 8 维「测试文件隔离」 - legacy 守卫:frontend/src/ 内已存在 colocated 测试时绝不收窄 include (防旧单测静默停跑),骨架幂等检测同步豁免,留人工迁移 经两轮多代理对抗审计(34 agents),确认项均已修复。
-
New 'Behavior' stage between Gate and Milestone, frontend-phase only, after testGate green and before report/milestone. Verifies every interactive control actually works and every text region shows the right content, independent of the tests the tdd agent wrote. - BEHAVIOR_GATE_SCHEMA / behaviorGateContract() / behaviorGatePrompt() / runBehaviorGate(); reportPrompt now gates the milestone on behavior-gate evidence (frontend-phase-behavior-gate-r*.md, last attempt must be non-RED). - Two-tier failure: interaction defects (incl. binding-garbage) flake-retry once then hard-halt via adjudicate(allowContinue:false); text issues split by source (sentinel=objective -> no continue; i18n/literal/semantic=adjudicable). Convergence loop re-runs the env + interaction hard gates after any text-layer retry so a refreshed result can't slip a green past the hard gates. - Full-stack seeded run: test-DB name guard (deterministic halt, not adjudicated), strict 4-phase ordering (empty DB -> boot backend so Flyway builds schema -> seed -> boot frontend), auth bootstrap via storageState, router-config-driven route discovery, ephemeral .tmp/behavior-gate runner with finally teardown, type-legal per-field-unique sentinels. - agentType uses the plugin-namespaced 'erp-workflow:code-reviewer' (a bare 'code-reviewer' is ambiguous with feature-dev:code-reviewer); README + agents/code-reviewer.md aligned (frontmatter name: stays bare). - Design: docs/design/2026-06-02-frontend-behavior-gate.md. README + coding-start banner updated.
-
- C.1: stop generating sql/migrations/.gitkeep (A4 db-init's Write V1 creates the dir); README A2 drops 'create empty migrations dir' - precedence rule: on color conflict, tokens.css wins over prototype (prototype = structure/layout/interaction; tokens.css = color) — encoded in skeleton-gen note, coding.mjs frontend stage, code-reviewer § Design Tokens
-
- delete frontend-scope-lock skill + docs/06 templates (static + module-pagelist) - A5 downstream-gen gains prototype/ gate + FE-list derivation -> docs/08 § 三 - plan-start: drop A6 dispatch row, gate 5->4 items; coding-start A0~A6 -> A0~A5 - Design Tokens single source = src/styles/tokens.css (code-reviewer, coding.mjs) - plugin.json skills 9->8; docs-09 tree drops 06-UI; docs-08 drops A6 section
-
Independent Claude + Codex review of the working-tree diff surfaced 23 issues; all applied in-place across three domains. workflows/coding.mjs (9): - spec/plan/verify/review prompts now git-commit their artifacts (closes milestone-dirty-worktree halt risk) - CHECKBOX_STATE_SCHEMA requires `state` + defensive guard in reviewWithFixLoop - writeDocs08FieldPromptM scopes edits to module via line anchor - assertSafeId guards Router output (module/REQ/FE ids) - featureLoop captures reviewWithFixLoop's return value - dateFromArtifactPath rejects impossible dates (9999-99-99 etc.) - terminal HALT review-unresolved message disambiguated - updated comment on top-level `return` (ESM vs node --check) lib/validate-ddl.mjs + tests (10): - extractType preserves unsigned/signed modifiers - KEY/INDEX fallthrough no longer creates spurious 'KEY' columns - FOREIGN KEY REFERENCES accepts schema-qualified `db.table` - index keys normalized to name:kind:cols (UNIQUE-aware) - FK keys include ON DELETE action (defaults to RESTRICT) - CREATE TEMPORARY TABLE parsed - parseForeignKeyBullet/parseIndexBullet reject prose bullets - +10 regression tests (62 total, all pass) - merge-gitignore.mjs docstring synced to implementation skills/ (4): - docs-06 template header: § 一~二 → § 一~三 - downstream-gen §A steps renumbered 1-7 (was 1,3,4,5,6,7,8) - docs-08 initial template adds tokens.css checkbox - coding-start drops "已在后台启动" wording (Workflow is synchronous)
-
后端模块全部 merged 后进入前端整体阶段(1 个 MR)。 - 入口:coding-start 由模块循环器升级为阶段分发器,按 docs/08 §二/§三 + GitLab state 路由到 module-start 或 frontend-start - 前端 skill:新增 frontend-start + fe-feature-brainstorm/plan/tdd/verify/review 共 6 个 skill;fe-code-reviewer agent 做 7 维 review - 前端门禁:prototype/ 至少 1 个 *.html mockup;FE 清单由 AI 扫 prototype + docs/01 + docs/05 自主推导写入 docs/08 §三,无人工审阅断点 - 后端 skill 阶段化:feature-brainstorm/plan/tdd 加「阶段范围(后端)」标记;feature-tdd 增 frontend/ 路径硬护栏;module-start/test-gate/module-report/mr-create 接受 phase 参数(backend/frontend) - 模板同步:CLAUDE-template / docs-08-initial / docs-06-static / docs-02 / mr-description / coding-start banner 更新含前端段落 - README:21→27 skill / 1→2 agent / 35→44 模板;A5 章节 docs/06 §五 改为 §三