• 标准列:每表 7 列(新增 iOrder/sMemo;sId/sBrandsId/sSubsidiaryId 改 varchar(50) NOT NULL),从表额外 +sParentId 共 8 列。docs-03 模板 + A3 渲染规则 + A4 DDL 默认值翻译(CURRENT_TIMESTAMP / DEFAULT '1111111111' / iOrder app-assigned)。
    
    去外键:A3 不再推导 FK 约束(改语义引用关系,无 ON DELETE/ON UPDATE,应用层维护一致性);A4 DDL 不生成 ALTER ADD FOREIGN KEY;validate-ddl 移除外键维度 5→4 维(表/列/类型/索引),单测 45 pass/0 fail;coding.mjs 种子/sentinel「FK 有序」→「按语义引用有序」(保留先被引用方后引用方/不可悬空)。
    
    注:db-design-gen 的 docs/06 读取清单/步骤B 两条 bullet 与本区域改动同处一个 diff hunk,随本提交落入(实属 docs/06 feature 的 A3 接入)。
    zichun authored
     
    Browse Dir »

  • validate-ddl now recognizes the db-init A.1 DDL form (CREATE TABLE →
    CREATE INDEX → ALTER TABLE ADD FK), so schemas with out-of-body indexes/
    FKs no longer report false-positive index/FK diffs. Adds a second parse
    pass (mergeStandaloneIndexes / mergeStandaloneForeignKeys), string-literal
    blanking so DEFAULT/COMMENT text isn't mistaken for real DDL, backtick
    non-ASCII identifier support across all matchers (H3), and shared index-
    column normalization (strip backtick / prefix-length / ASC|DESC) on both
    docs and DDL sides. Chinese 主键/唯一 index labels map to PRIMARY/UNIQUE.
    
    apply-ddl resolves mysql2 from the target project dir (not the plugin),
    rejects 【人工填写】 credential placeholders before connecting, and exits 2
    on missing config/DDL paths. setup-test-db template validates schema as an
    ASCII identifier before interpolating it into DROP/CREATE. db-init gains a
    B.1 toolchain precheck (mysql2 module + mysql client) before any DROP.
    zichun authored
     
    Browse Code »

  • 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)
    zichun authored
     
    Browse Code »

  • - 新增 scope-lock/templates/config-vars-template.yaml:非敏感项目级配置
      (包名/端口/前端包名/初始账号)+ secrets_ref 键名引用 .env.local;
      A1 E.2 锁定。docs/07 改为只记规则/约定不记具体值。
    - 连带更新 skeleton-gen / plan-start 闸门 2 / frontend-scope-lock /
      CLAUDE-template / README / docs-06·07 模板对齐新的配置分层与 docs/06 小节编号。
    - lib 修复(含回归测试):
      - apply-ddl: 抽出 resolveDbConfig,DB_SCHEMA 为契约 schema 键,缺库名 fail-closed (M1)
      - render: 用 Object.hasOwn 拒绝原型链继承键,guard process.argv[1]
      - validate-ddl: 解析 ### 索引/### 外键 bullet (C2)、剥 SQL 注释防幽灵表 (L4)、PRIMARY 归一化
    - coding.mjs: Router 把全部前端 FE 聚合为单一末尾 frontend-phase 模块;
      新增 branchSetupPrompt 功能分支生命周期 (C1);diff 区间改三点 diff;fix 后复跑 verify。
    zichun authored
     
    Browse Code »
  • zichun authored
     
    Browse Code »