@rawsql-ts/ztd-cli 0.13.0 → 0.13.3

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.
@@ -75,7 +75,7 @@ const SAMPLE_SCHEMA = `CREATE TABLE public.example (
75
75
  );
76
76
  `;
77
77
  const README_TEMPLATE = 'README.md';
78
- const TESTS_CONFIG_TEMPLATE = 'tests/generated/ztd-layout.generated.ts';
78
+ const TESTS_CONFIG_TEMPLATE = 'tests/ztd-layout.generated.ts';
79
79
  const TESTKIT_CLIENT_TEMPLATE = 'tests/support/testkit-client.ts';
80
80
  const GLOBAL_SETUP_TEMPLATE = 'tests/support/global-setup.ts';
81
81
  const VITEST_CONFIG_TEMPLATE = 'vitest.config.ts';
@@ -85,7 +85,25 @@ const NEXT_STEPS = [
85
85
  ' 3. Run npx ztd ztd-config',
86
86
  ' 4. Run ZTD tests with pg-testkit'
87
87
  ];
88
- const TEMPLATE_DIRECTORY = node_path_1.default.resolve(__dirname, '..', '..', 'templates');
88
+ function resolveTemplateDirectory() {
89
+ const candidates = [
90
+ // Prefer the installed package layout: <pkg>/dist/commands → <pkg>/templates.
91
+ node_path_1.default.resolve(__dirname, '..', '..', '..', 'templates'),
92
+ // Support legacy layouts that copied templates into dist/.
93
+ node_path_1.default.resolve(__dirname, '..', '..', 'templates'),
94
+ // Support running tests directly from the monorepo source tree.
95
+ node_path_1.default.resolve(process.cwd(), 'packages', 'ztd-cli', 'templates')
96
+ ];
97
+ // Pick the first directory that contains the expected template entrypoint.
98
+ for (const candidate of candidates) {
99
+ if ((0, node_fs_1.existsSync)(node_path_1.default.join(candidate, README_TEMPLATE))) {
100
+ return candidate;
101
+ }
102
+ }
103
+ return candidates[0];
104
+ }
105
+ // Resolve templates from a shipped directory so `ztd init` works after `npm install`.
106
+ const TEMPLATE_DIRECTORY = resolveTemplateDirectory();
89
107
  const DEFAULT_DEPENDENCIES = {
90
108
  ensureDirectory: fs_1.ensureDirectory,
91
109
  writeFile: (filePath, contents) => (0, node_fs_1.writeFileSync)(filePath, contents, 'utf8'),
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,27 @@ const node_path_1 = __importDefault(require("node:path"));
9
9
  const fs_1 = require("./fs");
10
10
  const TEMPLATE_NAME = 'AGENTS.md';
11
11
  const TARGET_FILES = ['AGENTS.md', 'AGENTS_ztd.md'];
12
+ function resolveAgentsTemplatePath() {
13
+ const candidates = [
14
+ // Prefer the installed package layout: <pkg>/dist/utils → <pkg>/templates.
15
+ node_path_1.default.resolve(__dirname, '..', '..', '..', 'templates', TEMPLATE_NAME),
16
+ // Support legacy layouts that copied templates into dist/.
17
+ node_path_1.default.resolve(__dirname, '..', '..', 'templates', TEMPLATE_NAME),
18
+ // Support running tests directly from the monorepo source tree.
19
+ node_path_1.default.resolve(process.cwd(), 'packages', 'ztd-cli', 'templates', TEMPLATE_NAME)
20
+ ];
21
+ // Avoid overwriting when the CLI package was installed without its template bundle.
22
+ for (const candidate of candidates) {
23
+ if ((0, node_fs_1.existsSync)(candidate)) {
24
+ return candidate;
25
+ }
26
+ }
27
+ return null;
28
+ }
12
29
  function copyAgentsTemplate(projectRoot) {
13
30
  // Use the shared template bundle so generated AGENTS.md matches the distributable templates directory.
14
- const templatePath = node_path_1.default.resolve(__dirname, '..', '..', 'templates', TEMPLATE_NAME);
15
- if (!(0, node_fs_1.existsSync)(templatePath)) {
31
+ const templatePath = resolveAgentsTemplatePath();
32
+ if (!templatePath) {
16
33
  return null;
17
34
  }
18
35
  const contents = (0, node_fs_1.readFileSync)(templatePath, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":";;;;;AAOA,gDAsBC;AA7BD,qCAAkE;AAClE,0DAA6B;AAC7B,6BAAuC;AAEvC,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAEpD,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,uGAAuG;IACvG,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACrF,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEpD,wFAAwF;IACxF,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,IAAA,oBAAe,EAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1C,IAAA,uBAAa,EAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":";;;;;AA2BA,gDAsBC;AAjDD,qCAAkE;AAClE,0DAA6B;AAC7B,6BAAuC;AAEvC,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAEpD,SAAS,yBAAyB;IAChC,MAAM,UAAU,GAAG;QACjB,2EAA2E;QAC3E,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC;QACrE,2DAA2D;QAC3D,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC;QAC/D,gEAAgE;QAChE,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC;KAC/E,CAAC;IAEF,oFAAoF;IACpF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,uGAAuG;IACvG,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC;IACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEpD,wFAAwF;IACxF,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,IAAA,oBAAe,EAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1C,IAAA,uBAAa,EAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rawsql-ts/ztd-cli",
3
- "version": "0.13.0",
3
+ "version": "0.13.3",
4
4
  "description": "DB-agnostic scaffolding and DDL helpers for Zero Table Dependency projects",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -22,8 +22,8 @@
22
22
  "chokidar": "^5.0.0",
23
23
  "commander": "^12.0.0",
24
24
  "diff": "^5.1.0",
25
- "@rawsql-ts/testkit-core": "0.13.0",
26
- "rawsql-ts": "0.13.0"
25
+ "@rawsql-ts/testkit-core": "0.13.3",
26
+ "rawsql-ts": "0.13.3"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/diff": "^5.0.1",
@@ -33,6 +33,7 @@
33
33
  },
34
34
  "files": [
35
35
  "dist",
36
+ "templates",
36
37
  "AGENTS.md",
37
38
  "README.md"
38
39
  ],
@@ -0,0 +1,16 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ indent_style = space
7
+ indent_size = 2
8
+ tab_width = 2
9
+ insert_final_newline = true
10
+ trim_trailing_whitespace = true
11
+
12
+ [*.md]
13
+ trim_trailing_whitespace = false
14
+
15
+ [*.sql]
16
+ indent_size = 2
@@ -0,0 +1,2 @@
1
+ tests/generated/**
2
+
@@ -0,0 +1,24 @@
1
+ {
2
+ "semi": true,
3
+ "singleQuote": true,
4
+ "trailingComma": "all",
5
+ "tabWidth": 2,
6
+ "printWidth": 100,
7
+ "bracketSpacing": true,
8
+ "arrowParens": "always",
9
+ "plugins": ["prettier-plugin-sql"],
10
+ "overrides": [
11
+ {
12
+ "files": "*.sql",
13
+ "options": {
14
+ "parser": "sql"
15
+ }
16
+ },
17
+ {
18
+ "files": "*.md",
19
+ "options": {
20
+ "parser": "markdown"
21
+ }
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,235 @@
1
+ # Appendix: Development Workflow Using Zero Table Dependency (ZTD)
2
+
3
+ This application uses **Zero Table Dependency (ZTD)** as an internal development workflow for writing, testing, and maintaining SQL logic.
4
+ ZTD is not part of the application's runtime behavior; rather, it provides a framework for:
5
+
6
+ - Maintaining consistent SQL across the project
7
+ - Keeping schema, domain specifications, and enums synchronized
8
+ - Ensuring deterministic SQL unit tests
9
+ - Enabling structured collaboration between humans and AI
10
+
11
+ This section documents how ZTD is used *inside this repository* as a development methodology.
12
+
13
+ ---
14
+
15
+ ## Generated files (important)
16
+
17
+ - `tests/generated/` is auto-generated and must never be committed.
18
+ - After cloning the repository (or in a clean environment), run `npx ztd ztd-config`.
19
+ - If TypeScript reports missing modules or type errors because `tests/generated/` is missing, run `npx ztd ztd-config`.
20
+
21
+ ## ZTD Implementation Guide (src/)
22
+
23
+ The `src/` directory should contain pure TypeScript logic that operates on the row interfaces generated by `tests/generated/ztd-row-map.generated.ts`. Tests should import the row map, repositories should import DTOs, and fixtures must stay under `tests/`. Keep production code decoupled from the generated row map to preserve the distinction between implementation and test scaffolding.
24
+
25
+ ---
26
+
27
+ ## ZTD Test Guide (tests/)
28
+
29
+ Fixtures come from the `ztd/ddl/` definitions and power `pg-testkit`. Always import table types from `tests/generated/ztd-row-map.generated.ts` when constructing scenarios, and rerun `npx ztd ztd-config` whenever schema changes to keep the fixtures and row map synchronized.
30
+
31
+ If you are working inside this repository's `ztd-playground`, regenerate the generated artifacts with `pnpm --filter ztd-playground exec ztd ztd-config`.
32
+
33
+ ## Parallel test policy (important)
34
+
35
+ - ZTD tests should be safe to run in parallel against a single Postgres instance because pg-testkit rewrites CRUD into fixture-backed SELECT queries (no physical schema changes).
36
+ - Do not start multiple Postgres instances per test file/worker, and do not isolate tests by creating per-test databases or schemas. This is unnecessary for ZTD and adds failure modes.
37
+ - Prefer one shared Postgres instance + multiple connections, limited only by your DB resources.
38
+
39
+ ---
40
+
41
+ # ZTD Directory Layout
42
+
43
+ ```
44
+ /ztd
45
+ /ddl
46
+ *.sql <- physical schema definitions
47
+
48
+ /domain-specs
49
+ *.md <- one behavioral SELECT per file (one SQL block)
50
+
51
+ /enums
52
+ *.md <- one enum definition per file (one SQL block)
53
+
54
+ README.md <- documentation for the layout
55
+ AGENTS.md <- combined guidance for DDL, enums, and specs
56
+
57
+ /src <- application & repository logic
58
+ /tests <- ZTD tests, fixtures, row-maps
59
+ ```
60
+
61
+ The file `tests/generated/ztd-layout.generated.ts` ensures ZTD CLI always points to the correct directories.
62
+
63
+ ---
64
+
65
+ # Principles of ZTD in This Repository
66
+
67
+ ### 1. Humans own the **definitions**
68
+ - Physical schema (DDL)
69
+ - Domain semantics (domain-specs)
70
+ - Enumerations (enums)
71
+ - Repository interfaces
72
+
73
+ ### 2. AI assists with **implementation**
74
+ - Generating repository SQL
75
+ - Updating fixtures
76
+ - Producing intermediate TypeScript structures
77
+ - Ensuring SQL adheres to DDL, enums, and domain-specs
78
+
79
+ ### 3. ZTD enforces **consistency**
80
+ ZTD tests verify that:
81
+ - SQL logic matches DDL shapes
82
+ - SQL semantics match domain-specs
83
+ - SQL values match enumerations
84
+
85
+ If anything diverges, ZTD failures surface immediately and deterministically.
86
+
87
+ ---
88
+
89
+ # Development Workflows
90
+
91
+ Different types of changes start from different entry points. Use the workflow appropriate for your situation.
92
+
93
+ ---
94
+
95
+ # Workflow A — Starting From *DDL Changes*
96
+ Modifying tables, columns, constraints, indexes.
97
+
98
+ 1. Edit DDL files in `ztd/ddl/`.
99
+ 2. Run:
100
+
101
+ ```bash
102
+ npx ztd ztd-config
103
+ ```
104
+
105
+ This regenerates `tests/generated/ztd-row-map.generated.ts` from the updated schema.
106
+
107
+ 3. Update repository SQL to match the new schema.
108
+ 4. Update fixtures if result shapes changed.
109
+ 5. Run tests.
110
+
111
+ **Flow:** DDL -> Repository SQL -> Fixtures/Tests -> Application
112
+
113
+ ---
114
+
115
+ # Workflow B — Starting From *Repository Interface Changes*
116
+ Changing method signatures, adding new repository methods, etc.
117
+
118
+ 1. Modify the repository interface or implementation in `/src`.
119
+ 2. Use AI assistance to generate or update the SQL implementation.
120
+ 3. If the generated SQL conflicts with domain-specs or enums, update definitions first.
121
+ 4. Run ZTD tests.
122
+ 5. Regenerate config if SQL output shape changed.
123
+
124
+ **Flow:** Interface -> SQL -> Specs (if needed) -> Tests
125
+
126
+ ---
127
+
128
+ # Workflow C — Starting From *Repository SQL Logic Changes*
129
+ Bug fixes, refactoring, rewriting queries.
130
+
131
+ 1. Edit SQL inside the repository.
132
+ 2. Run ZTD tests.
133
+ 3. If intended behavior changes, update the appropriate file in `ztd/domain-specs/`.
134
+ 4. Update fixtures as needed.
135
+ 5. Regenerate config if result shape changed.
136
+
137
+ **Flow:** SQL -> Domain-specs -> Tests
138
+
139
+ ---
140
+
141
+ # Workflow D — Starting From *Enum or Domain Specification Changes*
142
+ Business rule changes or conceptual model updates.
143
+
144
+ ## Editing enums:
145
+
146
+ 1. Update the relevant `.md` file under `ztd/enums/`.
147
+ 2. Run:
148
+
149
+ ```bash
150
+ npx ztd ztd-config
151
+ ```
152
+
153
+ 3. Update repository SQL referencing enum values.
154
+ 4. Update fixtures/tests.
155
+
156
+ ## Editing domain-specs:
157
+
158
+ 1. Update the relevant `.md` file under `ztd/domain-specs/`.
159
+ 2. Update repository SQL to reflect the new semantics.
160
+ 3. Update or add tests.
161
+ 4. Update DDL only if the new rules require schema changes.
162
+
163
+ **Flow:** Specs/Enums -> SQL -> Tests -> (DDL if required)
164
+
165
+ ---
166
+
167
+ # Combined Real-World Examples
168
+
169
+ - Adding a new contract state:
170
+ enums -> domain-spec -> SQL -> config -> tests
171
+
172
+ - Adding a new table:
173
+ DDL -> config -> SQL -> fixtures -> tests
174
+
175
+ - Fixing business logic:
176
+ SQL -> domain-spec -> tests
177
+
178
+ ZTD ensures the development always converges into a consistent, validated workflow.
179
+
180
+ ---
181
+
182
+ # Human Responsibilities
183
+
184
+ Humans maintain:
185
+
186
+ - Schema definitions (`ztd/ddl`)
187
+ - Domain logic definitions (`ztd/domain-specs`)
188
+ - Domain enumerations (`ztd/enums`)
189
+ - Repository interfaces and architectural decisions
190
+ - Acceptance/review of AI-generated patches
191
+
192
+ Humans decide **what is correct**.
193
+
194
+ ---
195
+
196
+ # AI Responsibilities
197
+
198
+ AI must:
199
+
200
+ - Use domain-specs as the semantic source of truth
201
+ - Use enums as the canonical vocabulary source
202
+ - Use DDL as the physical structure constraint
203
+ - Generate SQL consistent with all definitions
204
+ - Update fixtures when needed
205
+ - Never modify `ztd/AGENTS.md` or `ztd/README.md` without explicit instruction
206
+
207
+ AI decides **how to implement**, but not **what is correct**.
208
+
209
+ ---
210
+
211
+ # ZTD CLI Responsibilities
212
+
213
+ ZTD CLI:
214
+
215
+ - Parses DDL to compute schema shapes
216
+ - Rewrites SQL via CTE shadowing for testing
217
+ - Generates `ztd-row-map.generated.ts`
218
+ - Enables deterministic, parallel SQL unit tests
219
+
220
+ ZTD is the verification engine that validates correctness beyond static typing.
221
+
222
+ ---
223
+
224
+ # Summary
225
+
226
+ This appendix documents how ZTD is used strictly as an **internal implementation and maintenance guide**.
227
+ It does not affect the runtime behavior of the application.
228
+ Its purpose is ensuring:
229
+
230
+ - Schema integrity
231
+ - SQL correctness
232
+ - Domain consistency
233
+ - Reliable AI-assisted development
234
+
235
+ With ZTD, **humans define the meaning**, **AI writes the implementation**, and **tests guarantee correctness**.
@@ -0,0 +1,207 @@
1
+ # Zero Table Dependency Project
2
+
3
+ This project organizes all SQL‑related artifacts under the `ztd/` directory, separating concerns so both humans and AI can collaborate effectively without interfering with each other's responsibilities.
4
+
5
+ ```
6
+ /ztd
7
+ /ddl
8
+ *.sql <- schema definitions
9
+ /domain-specs
10
+ *.md <- one behavior per file (one SQL block)
11
+ /enums
12
+ *.md <- one enum per file (one SQL block)
13
+ README.md <- documentation for the layout
14
+ AGENTS.md <- combined guidance for people and agents
15
+
16
+ /src <- application & repository code
17
+ /tests <- ZTD tests, fixtures, generated maps
18
+ ```
19
+
20
+ ## Generated files (important)
21
+
22
+ `tests/generated/` is auto-generated and must never be committed to git.
23
+
24
+ After cloning the repository (or in a clean environment), run:
25
+
26
+ ```bash
27
+ npx ztd ztd-config
28
+ ```
29
+
30
+ If TypeScript reports missing modules or type errors because `tests/generated/` is missing, run `npx ztd ztd-config`.
31
+
32
+ `tests/generated/ztd-layout.generated.ts` declares the directories above so the CLI and your tests always point at the correct files.
33
+
34
+ ---
35
+
36
+ # Principles
37
+
38
+ ### 1. Humans own the *definitions*
39
+ - DDL (physical schema)
40
+ - Domain specifications (business logic -> SQL semantics)
41
+ - Enums (canonical domain values)
42
+
43
+ ### 2. AI owns the *implementation*
44
+ - Repository SQL generation
45
+ - Test fixture updates
46
+ - Intermediate TypeScript structures
47
+ - SQL rewriting, parameter binding, shape resolution
48
+
49
+ ### 3. ZTD ensures these stay in sync
50
+ ZTD acts as the consistency layer ensuring:
51
+ - DDL ↔ SQL shape consistency
52
+ - domain-specs ↔ query logic consistency
53
+ - enums ↔ code‑level constants consistency
54
+
55
+ If any part diverges, ZTD tests fail deterministically.
56
+
57
+ ---
58
+
59
+ # Workflow Overview
60
+
61
+ Different tasks start from different entry points. Choose the workflow that matches what you want to change.
62
+
63
+ ---
64
+
65
+ # Workflow A — Starting From *DDL Changes*
66
+ (Adding tables/columns, changing constraints)
67
+
68
+ 1. Edit files under `ztd/ddl/`.
69
+ 2. Run:
70
+
71
+ ```bash
72
+ npx ztd ztd-config
73
+ ```
74
+
75
+ This regenerates `tests/generated/ztd-row-map.generated.ts` from the new schema.
76
+
77
+ 3. Update repository SQL so it matches the new schema.
78
+ 4. Update fixtures if shapes changed.
79
+ 5. Run tests. Any schema mismatch will fail fast.
80
+
81
+ **Flow:**
82
+ **DDL -> repository SQL -> fixtures/tests -> application**
83
+
84
+ ---
85
+
86
+ # Workflow B — Starting From *Repository Interface Changes*
87
+ (Adding a method, changing return types, etc.)
88
+
89
+ 1. Modify the repository interface or class in `/src`.
90
+ 2. Allow AI to generate the SQL needed to satisfy the interface.
91
+ 3. If the query contradicts domain-specs or enums, update specs first.
92
+ 4. Run ZTD tests to confirm logic is consistent.
93
+ 5. Regenerate ZTD config if result shapes changed.
94
+
95
+ **Flow:**
96
+ **repository interface -> SQL -> (update specs if needed) -> tests**
97
+
98
+ ---
99
+
100
+ # Workflow C — Starting From *Repository SQL Logic Changes*
101
+ (Fixing a bug, optimizing logic, rewriting a query)
102
+
103
+ 1. Edit SQL inside the repository.
104
+ 2. Run existing ZTD tests.
105
+ 3. If the intended behavior changes, update `ztd/domain-specs/`.
106
+ 4. Update fixtures if necessary.
107
+ 5. If SQL result shape changed, run:
108
+
109
+ ```bash
110
+ npx ztd ztd-config
111
+ ```
112
+
113
+ **Flow:**
114
+ **SQL -> domain-specs (if needed) -> fixtures/tests**
115
+
116
+ ---
117
+
118
+ # Workflow D — Starting From *Enums or Domain Spec Changes*
119
+ (Business rules change, new status added, new definition created)
120
+
121
+ ## For enums:
122
+
123
+ 1. Update the relevant `.md` file under `ztd/enums/`.
124
+ 2. Regenerate row-map:
125
+
126
+ ```bash
127
+ npx ztd ztd-config
128
+ ```
129
+
130
+ 3. Update SQL referencing enum values.
131
+ 4. Update domain-specs or repository SQL if behaviors change.
132
+ 5. Update fixtures and tests.
133
+
134
+ ## For domain-specs:
135
+
136
+ 1. Modify the `.md` spec in `ztd/domain-specs/`.
137
+ 2. Update SQL in `/src` to follow the new semantics.
138
+ 3. Update tests and fixtures.
139
+ 4. Update DDL only if the new behavior requires schema changes.
140
+
141
+ **Flow:**
142
+ **spec/enums -> SQL -> tests -> (DDL if required)**
143
+
144
+ ---
145
+
146
+ # Combined Real‑World Flow Examples
147
+
148
+ - **Add a new contract status**
149
+ enums -> domain-spec -> SQL -> config -> tests
150
+
151
+ - **Add a new table**
152
+ DDL -> config -> SQL -> fixtures -> tests
153
+
154
+ - **Fix business logic**
155
+ SQL -> domain-spec -> tests
156
+
157
+ ZTD ensures all changes converge into the same consistency pipeline.
158
+
159
+ ---
160
+
161
+ # Human Responsibilities
162
+
163
+ Humans maintain:
164
+
165
+ - Business logic definitions (`domain-specs`)
166
+ - Physical schema (`ddl`)
167
+ - Domain vocabularies (`enums`)
168
+ - High‑level repository interfaces
169
+ - Acceptance of AI-generated changes
170
+
171
+ Humans decide “what is correct.”
172
+
173
+ ---
174
+
175
+ # AI Responsibilities
176
+
177
+ AI must:
178
+
179
+ - Use domain-specs as the **semantic source of truth**
180
+ - Use enums as the **canonical vocabulary source**
181
+ - Use DDL as the **physical shape constraint**
182
+ - Generate repository SQL consistent with all three
183
+ - Regenerate fixtures and tests as instructed
184
+ - Never modify `ztd/AGENTS.md` or `ztd/README.md` unless explicitly asked
185
+
186
+ AI decides “how to implement” within those constraints.
187
+
188
+ ---
189
+
190
+ # ZTD CLI Responsibilities
191
+
192
+ ZTD CLI:
193
+
194
+ - Parses DDL files to build accurate table/column shapes
195
+ - Rewrites SQL with fixture-based CTE shadowing (via testkit adapters)
196
+ - Generates `ztd-row-map.generated.ts`
197
+ - Produces deterministic, parallelizable tests
198
+
199
+ ZTD is the verification engine guaranteeing correctness.
200
+
201
+ ---
202
+
203
+ # Summary
204
+
205
+ ZTD enables a workflow where **humans define meaning**, **AI writes implementation**, and **tests guarantee correctness**.
206
+
207
+ The project layout and workflows above ensure long-term maintainability, clarity, and full reproducibility of SQL logic independent of physical database state.