cabloy 5.1.152 → 5.1.153
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/.cabloy-version +1 -1
- package/.claude/skills/cabloy-module-removal/SKILL.md +1 -1
- package/.claude/skills/cabloy-resource-field-update/SKILL.md +1 -1
- package/.claude/skills/cabloy-spec-generation/SKILL.md +1 -1
- package/.claude/skills/cabloy-spec-generation/references/repo-aware-discovery.md +1 -1
- package/.claude/skills/cabloy-workflow/SKILL.md +13 -14
- package/.claude/skills/cabloy-workflow/evals/evals.json +4 -4
- package/CHANGELOG.md +14 -0
- package/CLAUDE.md +2 -3
- package/package.json +1 -1
- package/repo-docs/.vitepress/config.mjs +5 -0
- package/repo-docs/ai/cli-to-skill-map.md +19 -0
- package/repo-docs/ai/docs-skills-rules-mapping.md +21 -6
- package/repo-docs/ai/future-skill-roadmap.md +17 -72
- package/repo-docs/ai/introduction.md +15 -5
- package/repo-docs/ai/playbook-spec-execution.md +144 -0
- package/repo-docs/ai/playbook-spec-generation.md +155 -0
- package/repo-docs/ai/repo-guidance.md +9 -5
- package/repo-docs/ai/rules-and-config.md +2 -2
- package/repo-docs/ai/skills.md +4 -0
- package/repo-docs/ai/virtual-decorator-guidance.md +1 -1
- package/repo-docs/backend/introduction.md +1 -1
- package/repo-docs/frontend/model-resource-cookbook.md +38 -7
- package/repo-docs/frontend/model-resource-usage-guide.md +2 -1
- package/repo-docs/frontend/router-tabs-introduction.md +1 -1
- package/repo-docs/frontend/use-state-data-best-practices.md +39 -6
- package/repo-docs/reference/package-map.md +4 -1
- package/repo-docs/reference/repo-scripts.md +25 -0
- package/repo-e2e/specs/cabloy-basic.spec.ts +69 -20
- package/test-results/.last-run.json +4 -2
- package/test-results/cabloy-basic-ATP-BASIC-SUM-58d8a-ry-states-and-Markdown-HTML/error-context.md +195 -0
- package/vona/pnpm-lock.yaml +81 -145
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/payment/controller.tsx +3 -2
- package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionSummary.tsx +29 -6
- package/zova/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +1 -0
- package/zova/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +1 -0
- package/zova/src/suite/a-training/modules/training-student/src/model/student.ts +1 -1
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/package.json +1 -1
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/lib/mutationSuccess.ts +11 -0
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/model/resource.ts +12 -7
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/test/lib/mutationSuccess.test.ts +95 -0
- package/zova/src/suite-vendor/a-cabloy/package.json +2 -2
package/.cabloy-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.1.
|
|
1
|
+
5.1.153
|
|
@@ -129,7 +129,7 @@ Ask or confirm whether the task is:
|
|
|
129
129
|
- code/runtime removal only
|
|
130
130
|
- code/runtime removal plus docs/examples scrub
|
|
131
131
|
|
|
132
|
-
If docs cleanup is in scope, update `repo-docs/` separately from the runtime cleanup.
|
|
132
|
+
If docs cleanup is in scope, update `repo-docs/` separately from the runtime cleanup. Keep maintainer rationale in `repo-docs-internal/`; do not require a particular internal record as part of module removal.
|
|
133
133
|
|
|
134
134
|
## Response pattern
|
|
135
135
|
|
|
@@ -217,7 +217,7 @@ Use these portable references:
|
|
|
217
217
|
- `references/custom-renderer-demo-checklist.md`
|
|
218
218
|
- [Existing Resource Field Update](../../../repo-docs/backend/resource-field-update.md)
|
|
219
219
|
|
|
220
|
-
When
|
|
220
|
+
When relevant and available in the active edition, `repo-docs-internal/architecture/backend-resource-field-workflow.md` may be consulted as optional maintainer rationale. Its absence must not block or alter this shared workflow.
|
|
221
221
|
|
|
222
222
|
Recommended shape:
|
|
223
223
|
|
|
@@ -173,7 +173,7 @@ Optional records remain subordinate to the PRD/SRS/WBS/test-plan authority appro
|
|
|
173
173
|
|
|
174
174
|
While drafting, preserve these principles and tailor them to confirmed scope:
|
|
175
175
|
|
|
176
|
-
- `repo-specs/` is the product/business planning home; `repo-docs/` is public and agent-facing framework guidance;
|
|
176
|
+
- `repo-specs/` is the product/business planning home; `repo-docs/` is public and agent-facing framework guidance; `repo-docs-internal/` holds supporting cross-suite maintainer rationale; `.claude/skills/` is workflow behavior; do not assume a particular internal record exists in every edition;
|
|
177
177
|
- use suite-first ownership and distinguish new domain modules from reusable framework modules; do not duplicate an existing persistence or identity owner without a stated decision;
|
|
178
178
|
- treat the active Vona instance as the tenant by default; do not introduce a store, organization, or merchant entity unless the confirmed domain contract requires it;
|
|
179
179
|
- make identity, tenant scope, authorization, and ownership server-authoritative; menus, routes, browser filters, and UI visibility are not API authorization;
|
|
@@ -82,7 +82,7 @@ Hand actual implementation-time synchronization to `cabloy-contract-loop`.
|
|
|
82
82
|
| --- | --- |
|
|
83
83
|
| Product requirements, SRS contracts, WBS, ATPs, suite ADRs, delivery status | `repo-specs/<suite>/` |
|
|
84
84
|
| Reusable user-facing or agent-facing framework guidance | `repo-docs/` |
|
|
85
|
-
| Cross-suite maintainer architecture, rationale, and engineering ADRs |
|
|
85
|
+
| Cross-suite maintainer architecture, rationale, and engineering ADRs | `repo-docs-internal/`; individual records may vary by edition |
|
|
86
86
|
| Short durable AI operating rules | `CLAUDE.md` |
|
|
87
87
|
| Reusable Claude procedure | `.claude/skills/` |
|
|
88
88
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cabloy-workflow
|
|
3
|
-
description: This skill should be used when the main Cabloy problem is workflow routing before implementation: deciding between Vona backend scaffolding, Zova frontend scaffolding, contract-loop work, or docs/AI-enablement homes such as repo-docs,
|
|
3
|
+
description: This skill should be used when the main Cabloy problem is workflow routing before implementation: deciding between Vona backend scaffolding, Zova frontend scaffolding, contract-loop work, or docs/AI-enablement homes such as repo-docs, repo-docs-internal, CLAUDE.md, commands, or skills, including cases where Cabloy Basic vs Cabloy Start assumptions affect that routing. Trigger on requests to route, classify, choose a workflow, choose an edition-specific path, or decide where Cabloy guidance should live. Do not use it once the task is already clearly a backend scaffold, frontend scaffold, or contract-loop job.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Cabloy Workflow
|
|
@@ -31,13 +31,12 @@ Interpretation:
|
|
|
31
31
|
|
|
32
32
|
This matters most for frontend work, UI-layer assumptions, flavor names, suite/module availability, SSR site baselines, project assets, and edition-specific AI guidance.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Documentation-root policy is independent of edition detection:
|
|
35
35
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
- treat edition-local internal
|
|
39
|
-
- when
|
|
40
|
-
- do not create a missing documentation home unless the user explicitly asks to establish one
|
|
36
|
+
- `repo-docs-internal/` is the internal documentation home in Cabloy Basic and Cabloy Start
|
|
37
|
+
- inspect a specific internal record before recommending or reading it
|
|
38
|
+
- treat relevant edition-local internal records as supporting maintainer material, never as a prerequisite for shared workflow routing
|
|
39
|
+
- when a specific record is unavailable or irrelevant, continue from public docs, bundled skill references, active source, and tests
|
|
41
40
|
|
|
42
41
|
## Step 2: Identify the task layer
|
|
43
42
|
|
|
@@ -79,7 +78,7 @@ Use the frontend path when the task is about:
|
|
|
79
78
|
Use the docs/AI path when the task is about:
|
|
80
79
|
|
|
81
80
|
- `repo-docs/`
|
|
82
|
-
-
|
|
81
|
+
- `repo-docs-internal/`
|
|
83
82
|
- `CLAUDE.md`
|
|
84
83
|
- `.claude/commands/`
|
|
85
84
|
- `.claude/skills/`
|
|
@@ -94,7 +93,7 @@ Before inventing a workflow, inspect these shared surfaces:
|
|
|
94
93
|
- `npm run zova`
|
|
95
94
|
- root `CLAUDE.md` if present
|
|
96
95
|
- `repo-docs/` for public guidance
|
|
97
|
-
-
|
|
96
|
+
- `repo-docs-internal/` for supporting maintainer rationale
|
|
98
97
|
|
|
99
98
|
If the request spans backend and frontend, classify it as fullstack by default unless the user clearly wants only one side.
|
|
100
99
|
|
|
@@ -167,16 +166,16 @@ Use `repo-docs/` for:
|
|
|
167
166
|
- reusable AI-facing workflow guidance
|
|
168
167
|
- edition-aware public documentation
|
|
169
168
|
|
|
170
|
-
###
|
|
169
|
+
### `repo-docs-internal/`
|
|
171
170
|
|
|
172
|
-
|
|
171
|
+
Use `repo-docs-internal/` for:
|
|
173
172
|
|
|
174
173
|
- ADRs
|
|
175
174
|
- architecture notes
|
|
176
175
|
- maintainer rationale
|
|
177
176
|
- invariants and design boundaries
|
|
178
177
|
|
|
179
|
-
|
|
178
|
+
Relevant internal records support routing and implementation but do not block them: shared public guidance remains complete, and individual records may be unavailable or irrelevant in the active edition.
|
|
180
179
|
|
|
181
180
|
### Root rules and commands
|
|
182
181
|
|
|
@@ -208,7 +207,7 @@ When the request is about whether a backend base class belongs in `src/lib`, `sr
|
|
|
208
207
|
For these requests:
|
|
209
208
|
|
|
210
209
|
- put the durable operational explanation in `repo-docs/`
|
|
211
|
-
-
|
|
210
|
+
- put supporting rationale and invariants in `repo-docs-internal/`; preserve the public operational explanation when a particular internal record is unavailable or irrelevant
|
|
212
211
|
- keep `CLAUDE.md` short and behavioral
|
|
213
212
|
- do not treat `@Service()` as a business-layer naming decision only; for B2 it is a runtime-anchor placement choice
|
|
214
213
|
|
|
@@ -287,7 +286,7 @@ Verify:
|
|
|
287
286
|
|
|
288
287
|
- referenced paths exist
|
|
289
288
|
- command names still exist
|
|
290
|
-
- public docs,
|
|
289
|
+
- public docs, `repo-docs-internal/` rationale, and rules tell a consistent story
|
|
291
290
|
- edition-specific notes point to the right repo assumptions
|
|
292
291
|
|
|
293
292
|
### For backend/frontend workflow changes
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"id": 3,
|
|
18
|
-
"prompt": "Please help me decide whether this new AI guidance belongs in public docs,
|
|
19
|
-
"expected_output": "Routes shared operational guidance to public docs and Claude rules/skills as appropriate,
|
|
18
|
+
"prompt": "Please help me decide whether this new AI guidance belongs in public docs, repo-docs-internal, CLAUDE.md, or a skill. The guidance is about when to use npm run zova instead of hand-written scaffolding.",
|
|
19
|
+
"expected_output": "Routes shared operational guidance to public docs and Claude rules/skills as appropriate, routes supporting maintainer rationale to repo-docs-internal, and reinforces the CLI-first principle without making an individual internal record a requirement.",
|
|
20
20
|
"files": []
|
|
21
21
|
},
|
|
22
22
|
{
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"id": 9,
|
|
54
|
-
"prompt": "I am in a Cabloy checkout
|
|
55
|
-
"expected_output": "
|
|
54
|
+
"prompt": "I am in a Cabloy checkout where repo-docs-internal exists, but the named architecture record I expected is not available in this edition. I need shared agent guidance and some maintainer rationale. Where should each part go?",
|
|
55
|
+
"expected_output": "Recognizes repo-docs-internal as the internal documentation home, routes shared operational guidance to public docs and Claude rules or skills, and treats the missing named record as non-blocking rather than inventing a replacement or moving rationale into public docs automatically.",
|
|
56
56
|
"files": []
|
|
57
57
|
}
|
|
58
58
|
]
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.1.153
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Add an option to disable Suspense during initialization.
|
|
8
|
+
- Add support for bypassing the persister.
|
|
9
|
+
|
|
10
|
+
### Improvements
|
|
11
|
+
|
|
12
|
+
- Update table cell action summary handling.
|
|
13
|
+
- Improve query summary Suspense documentation.
|
|
14
|
+
- Update state data best-practices documentation.
|
|
15
|
+
- Enhance internal repository documentation and specification-generation guidance.
|
|
16
|
+
|
|
3
17
|
## 5.1.152
|
|
4
18
|
|
|
5
19
|
### Improvements
|
package/CLAUDE.md
CHANGED
|
@@ -17,7 +17,7 @@ Always perform this detection before making UI-sensitive assumptions, choosing f
|
|
|
17
17
|
- `vona/` contains the backend framework, backend modules, and the Vona CLI.
|
|
18
18
|
- `zova/` contains the frontend framework, frontend modules, and the Zova CLI.
|
|
19
19
|
- `repo-docs/` contains the unified public documentation.
|
|
20
|
-
- `repo-docs-internal
|
|
20
|
+
- `repo-docs-internal/` contains edition-local maintainer notes and ADRs; treat relevant records as supporting material, not as a shared-edition requirement.
|
|
21
21
|
- `repo-specs/` contains product and business specifications, delivery plans, and suite-local ADRs.
|
|
22
22
|
- `repo-e2e/` contains the end-to-end test project.
|
|
23
23
|
- `repo-observability/` contains local observability infrastructure.
|
|
@@ -38,8 +38,7 @@ Before inventing a custom implementation path:
|
|
|
38
38
|
## Documentation boundary
|
|
39
39
|
|
|
40
40
|
- Put user-facing and agent-facing guidance in `repo-docs/`.
|
|
41
|
-
-
|
|
42
|
-
- If the active repository has no established internal-documentation home, do not block the workflow or move internal rationale into public docs automatically; use existing documentation homes or ask before establishing one.
|
|
41
|
+
- Put maintainer rationale, architecture notes, and engineering ADRs in `repo-docs-internal/`. Treat relevant records as supporting material: shared workflows remain complete without any particular internal record, which may vary by edition.
|
|
43
42
|
- Put product and business specifications, delivery plans, acceptance records, and suite-local ADRs in `repo-specs/` when that repository surface exists.
|
|
44
43
|
- Do not mix internal rationale into public how-to pages unless a trimmed user-facing explanation is genuinely needed.
|
|
45
44
|
|
package/package.json
CHANGED
|
@@ -23,6 +23,11 @@ const aiItems = [
|
|
|
23
23
|
{ text: 'Playbook: Backend Module', link: '/ai/playbook-backend-module' },
|
|
24
24
|
{ text: 'Playbook: Frontend Page', link: '/ai/playbook-frontend-page' },
|
|
25
25
|
{ text: 'Playbook: Contract Regeneration', link: '/ai/playbook-contract-regeneration' },
|
|
26
|
+
{ text: 'Playbook: Plan a Suite Specification', link: '/ai/playbook-spec-generation' },
|
|
27
|
+
{
|
|
28
|
+
text: 'Playbook: Execute an Approved Specification Increment',
|
|
29
|
+
link: '/ai/playbook-spec-execution',
|
|
30
|
+
},
|
|
26
31
|
{ text: 'Playbook: Module Removal', link: '/ai/playbook-module-removal' },
|
|
27
32
|
{ text: 'Playbook: Metadata Refresh', link: '/ai/playbook-metadata-refresh' },
|
|
28
33
|
{ text: 'Playbook: Technical Blog Authoring', link: '/ai/playbook-technical-blog-authoring' },
|
|
@@ -122,6 +122,25 @@ Typical skill role:
|
|
|
122
122
|
|
|
123
123
|
- notice when route/component/icon changes require metadata regeneration
|
|
124
124
|
|
|
125
|
+
## Repository planning and derived-chart scripts
|
|
126
|
+
|
|
127
|
+
Not every skill maps to a Vona or Zova generator. Repository-native suite specifications are authored under `repo-specs/`; no CLI generates the complete planning authority set.
|
|
128
|
+
|
|
129
|
+
In the current Cabloy Basic repository, these root scripts refresh and check derived planning views:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
npm run spec:charts -- <suite>
|
|
133
|
+
npm run spec:charts:check -- <suite>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
They generate or validate the Gantt and burndown SVGs from authoritative planning records. They do not replace PRD/SRS/WBS/ATP updates, implement a WBS task, execute an ATP, or create evidence. Confirm scripts in the active repository before using them for another edition.
|
|
137
|
+
|
|
138
|
+
Typical skill roles:
|
|
139
|
+
|
|
140
|
+
- `cabloy-spec-generation` creates or updates planning authority only after confirmation, then refreshes derived charts after relevant record changes
|
|
141
|
+
- `cabloy-spec-execution` coordinates one approved increment, records evidence before derived progress, then refreshes and checks charts
|
|
142
|
+
- source implementation remains routed to Vona, Zova, contract-loop, or other specialist workflows
|
|
143
|
+
|
|
125
144
|
## Example mappings
|
|
126
145
|
|
|
127
146
|
### Example: “Create a student CRUD backend thread”
|
|
@@ -38,11 +38,11 @@ Public docs answer questions like:
|
|
|
38
38
|
- how does Zova page or model architecture work?
|
|
39
39
|
- what is different between Cabloy Basic and Cabloy Start?
|
|
40
40
|
|
|
41
|
-
### 2.
|
|
41
|
+
### 2. Internal engineering docs
|
|
42
42
|
|
|
43
43
|
Location:
|
|
44
44
|
|
|
45
|
-
-
|
|
45
|
+
- `repo-docs-internal/`
|
|
46
46
|
|
|
47
47
|
Use internal docs for:
|
|
48
48
|
|
|
@@ -51,7 +51,7 @@ Use internal docs for:
|
|
|
51
51
|
- maintenance boundaries
|
|
52
52
|
- “why this design exists” notes that do not belong in public user docs
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
Relevant internal records answer questions like:
|
|
55
55
|
|
|
56
56
|
- why were docs and internal notes separated?
|
|
57
57
|
- why is AI enablement structured this way?
|
|
@@ -105,7 +105,7 @@ Skills answer questions like:
|
|
|
105
105
|
Use this quick rule:
|
|
106
106
|
|
|
107
107
|
- if people and agents both need to read and understand it, put it in **public docs**
|
|
108
|
-
- if it is maintainer rationale or long-lived design history, use
|
|
108
|
+
- if it is maintainer rationale or long-lived design history, use `repo-docs-internal/`; shared guidance remains complete without any particular internal record
|
|
109
109
|
- if it is short repo-wide behavioral guidance, put it in **CLAUDE.md**
|
|
110
110
|
- if it is a named repeatable operator action, put it in a **command**
|
|
111
111
|
- if it is a reusable procedural workflow with branching, put it in a **skill**
|
|
@@ -128,7 +128,7 @@ Use this quick rule:
|
|
|
128
128
|
### Example: “How should a backend base class be placed?”
|
|
129
129
|
|
|
130
130
|
- public operational explanation → [Class Placement Rule](/ai/class-placement-rule)
|
|
131
|
-
- maintainer rationale and invariants →
|
|
131
|
+
- maintainer rationale and invariants → `repo-docs-internal/`
|
|
132
132
|
- default repo-wide behavior → `CLAUDE.md`
|
|
133
133
|
- procedural decision workflow → `cabloy-workflow` skill
|
|
134
134
|
|
|
@@ -153,7 +153,7 @@ Use this quick rule:
|
|
|
153
153
|
### Example: “How should AI remove an existing module cleanly?”
|
|
154
154
|
|
|
155
155
|
- public operational explanation → [Playbook: Module Removal](/ai/playbook-module-removal)
|
|
156
|
-
- maintainer rationale and pitfalls →
|
|
156
|
+
- maintainer rationale and pitfalls → `repo-docs-internal/`
|
|
157
157
|
- avoid putting the full workflow in `CLAUDE.md` because the task needs branching, cleanup order, generated-runtime recovery, and verification
|
|
158
158
|
- procedural decision workflow → `cabloy-module-removal` skill
|
|
159
159
|
|
|
@@ -165,6 +165,21 @@ Use this quick rule:
|
|
|
165
165
|
- avoid putting the full branching workflow in `CLAUDE.md` because the task needs proposal, validation, confirmation, and CLI handoff
|
|
166
166
|
- procedural decision workflow → `cabloy-domain-planning` skill
|
|
167
167
|
|
|
168
|
+
### Example: “How should AI create or maintain a repository-native suite specification?”
|
|
169
|
+
|
|
170
|
+
- public workflow explanation → [Playbook: Plan a Cabloy Suite Specification](/ai/playbook-spec-generation)
|
|
171
|
+
- procedural planning, confirmation, traceability, and chart-refresh behavior → `cabloy-spec-generation`
|
|
172
|
+
- suite-specific PRD, SRS, WBS, ATP, ADR, progress, and observed evidence authority → `repo-specs/<suite>/`
|
|
173
|
+
- maintainer rationale → `repo-docs-internal/`
|
|
174
|
+
- implementation is not implied by creating planning records
|
|
175
|
+
|
|
176
|
+
### Example: “How should AI deliver an approved suite task?”
|
|
177
|
+
|
|
178
|
+
- public workflow explanation → [Playbook: Execute an Approved Cabloy Specification Increment](/ai/playbook-spec-execution)
|
|
179
|
+
- bounded-WBS coordination, readiness gates, evidence, and derived-status behavior → `cabloy-spec-execution`
|
|
180
|
+
- source implementation → the relevant backend, frontend, contract-loop, or shape-specific skill
|
|
181
|
+
- product, contract, dependency, scope, or durable-decision changes → return to specification or domain planning
|
|
182
|
+
|
|
168
183
|
### Example: “What `@Api.field(...)` ordering rule should AI preserve when mixing helpers and zod?”
|
|
169
184
|
|
|
170
185
|
- full explanation → [Entity Guide](/backend/entity-guide) and [DTO Guide](/backend/dto-guide)
|
|
@@ -14,94 +14,39 @@ Current root skills include:
|
|
|
14
14
|
|
|
15
15
|
- `cabloy-workflow`
|
|
16
16
|
- `cabloy-domain-planning`
|
|
17
|
+
- `cabloy-spec-generation`
|
|
18
|
+
- `cabloy-spec-execution`
|
|
19
|
+
- `cabloy-backend-scaffold`
|
|
20
|
+
- `cabloy-frontend-scaffold`
|
|
17
21
|
- `cabloy-contract-loop`
|
|
18
22
|
- `cabloy-resource-field-update`
|
|
19
23
|
- `cabloy-module-removal`
|
|
24
|
+
- `cabloy-master-detail`
|
|
25
|
+
- `cabloy-worktree-environment`
|
|
26
|
+
- `cabloy-zova-source-reading`
|
|
20
27
|
|
|
21
28
|
Their current roles are:
|
|
22
29
|
|
|
23
30
|
- `cabloy-workflow` → broad workflow selection, edition detection, CLI-first routing, and verification framing
|
|
24
31
|
- `cabloy-domain-planning` → suite-first naming proposals, providerId confirmation, module-boundary suggestions, and scaffold handoff for new business domains
|
|
32
|
+
- `cabloy-spec-generation` → repository-native suite planning authority, traceability, confirmation, and derived planning views
|
|
33
|
+
- `cabloy-spec-execution` → one approved WBS increment through readiness gates, specialist routing, evidence, and derived status
|
|
34
|
+
- `cabloy-backend-scaffold` → Vona implementation routing and CLI-backed backend scaffolding
|
|
35
|
+
- `cabloy-frontend-scaffold` → Zova implementation routing and CLI-backed frontend scaffolding
|
|
25
36
|
- `cabloy-contract-loop` → backend/frontend contract regeneration, reverse-chain handling, and drift diagnosis
|
|
26
37
|
- `cabloy-resource-field-update` → existing backend resource-field changes with `fileVersion` and renderer-aware follow-up
|
|
27
38
|
- `cabloy-module-removal` → backend/frontend/fullstack module deletion order, generated-runtime cleanup, and verification
|
|
39
|
+
- `cabloy-master-detail` → coordinated master-detail resource workflow
|
|
40
|
+
- `cabloy-worktree-environment` → confirmed worktree-local environment tuple setup for intentional parallel work
|
|
41
|
+
- `cabloy-zova-source-reading` → Zova-first source reading and Vue comparison workflow
|
|
28
42
|
|
|
29
43
|
This is now a stronger foundation skill set, but it still leaves several useful workflow families for future specialization.
|
|
30
44
|
|
|
31
45
|
## Recommended next skill families
|
|
32
46
|
|
|
33
|
-
|
|
47
|
+
The backend scaffold, frontend scaffold, contract-loop, resource-field-update, and metadata-refresh workflow families already have implemented specialist coverage. Future work should refine those skills only when a new repository-wide branch or stable verification need emerges.
|
|
34
48
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- scaffold Vona controller/service/model/entity/dto/CRUD threads
|
|
38
|
-
- choose between bean creation and CRUD generation
|
|
39
|
-
- verify migration/test implications
|
|
40
|
-
|
|
41
|
-
Primary dependencies:
|
|
42
|
-
|
|
43
|
-
- Vona `create:*`
|
|
44
|
-
- Vona `tools:*`
|
|
45
|
-
- backend docs in `repo-docs/backend/`
|
|
46
|
-
|
|
47
|
-
### 2. Frontend scaffold skill
|
|
48
|
-
|
|
49
|
-
Purpose:
|
|
50
|
-
|
|
51
|
-
- scaffold Zova pages/components/API/models
|
|
52
|
-
- branch correctly between Basic and Start
|
|
53
|
-
- use create/refactor commands before manual edits
|
|
54
|
-
|
|
55
|
-
Primary dependencies:
|
|
56
|
-
|
|
57
|
-
- Zova `create:*`
|
|
58
|
-
- Zova `refactor:*`
|
|
59
|
-
- frontend docs in `repo-docs/frontend/`
|
|
60
|
-
|
|
61
|
-
### 3. Fullstack contract loop skill
|
|
62
|
-
|
|
63
|
-
Purpose:
|
|
64
|
-
|
|
65
|
-
- detect backend contract changes
|
|
66
|
-
- regenerate OpenAPI/SDK-related output
|
|
67
|
-
- verify backend/frontend contract alignment
|
|
68
|
-
|
|
69
|
-
Primary dependencies:
|
|
70
|
-
|
|
71
|
-
- Vona OpenAPI and validation docs
|
|
72
|
-
- Zova OpenAPI SDK and server-data docs
|
|
73
|
-
- fullstack collaboration docs
|
|
74
|
-
|
|
75
|
-
### 4. Resource field update skill
|
|
76
|
-
|
|
77
|
-
Purpose:
|
|
78
|
-
|
|
79
|
-
- handle updates to fields on existing backend resources
|
|
80
|
-
- force the right `fileVersion` decision for new persisted fields
|
|
81
|
-
- branch correctly between shared renderer reuse and custom renderer demo follow-up
|
|
82
|
-
- verify entity, locale, migration, test, metadata, build, and dependency-sync implications
|
|
83
|
-
|
|
84
|
-
Primary dependencies:
|
|
85
|
-
|
|
86
|
-
- Vona entity / migration / DTO workflow knowledge
|
|
87
|
-
- Zova metadata/build flows when renderer follow-up is involved
|
|
88
|
-
- [Existing Resource Field Update](/backend/resource-field-update)
|
|
89
|
-
|
|
90
|
-
### 5. Metadata refresh skill
|
|
91
|
-
|
|
92
|
-
Purpose:
|
|
93
|
-
|
|
94
|
-
- detect when route/component/icon or related changes require metadata regeneration
|
|
95
|
-
- run the right metadata flow
|
|
96
|
-
- verify generated artifacts belong to the active edition
|
|
97
|
-
|
|
98
|
-
Primary dependencies:
|
|
99
|
-
|
|
100
|
-
- Zova `tools:*`
|
|
101
|
-
- CLI-to-skill mapping
|
|
102
|
-
- edition detection docs
|
|
103
|
-
|
|
104
|
-
### 6. Distributed backend workflow skill
|
|
49
|
+
### 1. Distributed backend workflow skill
|
|
105
50
|
|
|
106
51
|
Purpose:
|
|
107
52
|
|
|
@@ -148,7 +93,7 @@ The purpose is to create a small number of high-leverage skills that directly re
|
|
|
148
93
|
|
|
149
94
|
- `repo-docs/`
|
|
150
95
|
- `CLAUDE.md`
|
|
151
|
-
-
|
|
96
|
+
- `repo-docs-internal/`
|
|
152
97
|
- `.claude/skills/`
|
|
153
98
|
- the Vona and Zova CLIs
|
|
154
99
|
|
|
@@ -8,7 +8,7 @@ The Cabloy monorepo is a good fit for AI vibe coding because the source tree alr
|
|
|
8
8
|
- Vona CLI source and command groups
|
|
9
9
|
- Zova CLI source and command groups
|
|
10
10
|
- archived docs that still capture valuable concepts
|
|
11
|
-
-
|
|
11
|
+
- `repo-docs-internal/` engineering docs for maintainers
|
|
12
12
|
- Claude commands and skills
|
|
13
13
|
|
|
14
14
|
## The main design goal
|
|
@@ -20,7 +20,7 @@ The goal is to make AI **reuse the repo’s existing conventions directly**, esp
|
|
|
20
20
|
- CLI commands
|
|
21
21
|
- root scripts
|
|
22
22
|
- repo markers
|
|
23
|
-
-
|
|
23
|
+
- relevant `repo-docs-internal/` architecture notes
|
|
24
24
|
- shared public documentation
|
|
25
25
|
|
|
26
26
|
## How to approach AI work
|
|
@@ -29,7 +29,7 @@ For contributor and automation workflows in this repository, prefer this order:
|
|
|
29
29
|
|
|
30
30
|
1. inspect the active edition and repo markers before making UI-sensitive or workflow-sensitive assumptions
|
|
31
31
|
2. inspect root scripts, Vona CLI, and Zova CLI before inventing manual scaffolding or custom workflow steps
|
|
32
|
-
3. use public docs for durable user-facing and agent-facing guidance; consult
|
|
32
|
+
3. use public docs for durable user-facing and agent-facing guidance; consult relevant `repo-docs-internal/` records for supporting maintainer rationale
|
|
33
33
|
4. encode repeatable behavior in Claude rules, commands, or skills instead of relying on unstated habits
|
|
34
34
|
|
|
35
35
|
## The knowledge layers
|
|
@@ -40,9 +40,9 @@ Use `repo-docs/` for user-facing and agent-facing guidance that should remain du
|
|
|
40
40
|
|
|
41
41
|
For normal project usage, prefer the user-facing entry docs such as [Fullstack Quickstart](/fullstack/quickstart). This AI section focuses on repository workflows and AI vibe coding.
|
|
42
42
|
|
|
43
|
-
###
|
|
43
|
+
### `repo-docs-internal/` engineering docs
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Use `repo-docs-internal/` for architecture notes, ADRs, and maintainer rationale that should not be mixed into public how-to documentation. Relevant records support a shared workflow without being prerequisites; an unavailable or irrelevant individual record must not cause its rationale to be moved into public how-to documentation automatically.
|
|
46
46
|
|
|
47
47
|
### Claude rules and commands
|
|
48
48
|
|
|
@@ -66,6 +66,16 @@ Start here when the task is about choosing the right repo surface, docs location
|
|
|
66
66
|
- [Skills](/ai/skills)
|
|
67
67
|
- [Rules and Config](/ai/rules-and-config)
|
|
68
68
|
|
|
69
|
+
### Specification planning and delivery path
|
|
70
|
+
|
|
71
|
+
Use this path to establish suite authority before implementation, then deliver one approved, bounded WBS increment with evidence-backed status:
|
|
72
|
+
|
|
73
|
+
- [Playbook: Plan a Cabloy Suite Specification](/ai/playbook-spec-generation)
|
|
74
|
+
- [Playbook: Execute an Approved Cabloy Specification Increment](/ai/playbook-spec-execution)
|
|
75
|
+
- [Skills](/ai/skills)
|
|
76
|
+
- [Repo Scripts](/reference/repo-scripts)
|
|
77
|
+
- [Verification](/ai/verification)
|
|
78
|
+
|
|
69
79
|
### Framework implementation path
|
|
70
80
|
|
|
71
81
|
Use this path when the task is about implementing or reviewing Cabloy code with repo-aware rules:
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Playbook: Execute an Approved Cabloy Specification Increment
|
|
2
|
+
|
|
3
|
+
Use this playbook to deliver one approved Cabloy specification increment from a bounded WBS item through implementation, scoped verification, retained evidence, and an accurate progress handoff.
|
|
4
|
+
|
|
5
|
+
The `cabloy-spec-execution` skill is a control plane. It coordinates an approved increment and its specialist workflow; it is not a second product authority, architecture authority, or code generator.
|
|
6
|
+
|
|
7
|
+
## When to use this playbook
|
|
8
|
+
|
|
9
|
+
Use `cabloy-spec-execution` when you need to:
|
|
10
|
+
|
|
11
|
+
- implement one named `WBS-*` item
|
|
12
|
+
- execute an explicitly named, finite, approved phase with a defined closure boundary
|
|
13
|
+
- verify or close a named ATP or release-gate task
|
|
14
|
+
- turn one existing suite-plan increment into implementation and observed proof
|
|
15
|
+
|
|
16
|
+
Requests such as “implement the suite,” “finish all specs,” or “do the next phase” are not bounded enough. Select one WBS task, or explicitly approve a finite task list and its closure boundary, before implementation begins.
|
|
17
|
+
|
|
18
|
+
Use [Playbook: Plan a Cabloy Suite Specification](/ai/playbook-spec-generation) instead when the task changes a requirement, contract, dependency, scope boundary, or durable decision.
|
|
19
|
+
|
|
20
|
+
## Establish the execution boundary first
|
|
21
|
+
|
|
22
|
+
Start by inspecting the active repository, edition marker, current revision, and working-tree state. Then build an execution dossier for the selected increment.
|
|
23
|
+
|
|
24
|
+
The dossier identifies:
|
|
25
|
+
|
|
26
|
+
- suite, edition, target WBS ID or approved finite task list, and closure boundary
|
|
27
|
+
- linked PRD, SRS, ADR, ATP, progress, and evidence records
|
|
28
|
+
- predecessor tasks and their required proof
|
|
29
|
+
- source ownership, affected areas, and explicit exclusions
|
|
30
|
+
- applicable tenant, authorization, privacy, lifecycle, transaction, concurrency, idempotency, audit, migration, SSR, and contract-loop constraints
|
|
31
|
+
- the specialist workflow that owns implementation
|
|
32
|
+
- approved verification procedures, expected redacted evidence, and allowed record updates
|
|
33
|
+
- blockers, unresolved `TODO(confirm)` items, excluded unsafe operations, and one next action
|
|
34
|
+
|
|
35
|
+
Require explicit approval of the dossier before source changes, meaningful verification, evidence/status updates, or specialist execution. Do not reserve a task by marking it `in-progress` before approved work actually starts.
|
|
36
|
+
|
|
37
|
+
## Read authority before implementation
|
|
38
|
+
|
|
39
|
+
Read the suite records in this order:
|
|
40
|
+
|
|
41
|
+
1. `README.md` for identity, topology, reading order, and authority map
|
|
42
|
+
2. `prd.md`, `srs.md`, and applicable ADRs for product and technical authority
|
|
43
|
+
3. the complete WBS task and its dependencies in `pdp-wbs.md`
|
|
44
|
+
4. linked ATP procedures and release gates in `test-plan.md`
|
|
45
|
+
5. `progress.md` for derived status, blockers, waivers, evidence pointers, and next proof
|
|
46
|
+
6. linked evidence, runbooks, presentation records, or rollout records when they apply
|
|
47
|
+
7. `implementation-gantt.svg` and `implementation-burndown.svg` as derived views to check for freshness, not authority
|
|
48
|
+
|
|
49
|
+
When records conflict, return to [Playbook: Plan a Cabloy Suite Specification](/ai/playbook-spec-generation) before implementation. Do not resolve an authority contradiction through an execution note, a chart edit, or a source workaround.
|
|
50
|
+
|
|
51
|
+
## Stop at readiness gates
|
|
52
|
+
|
|
53
|
+
Do not begin the increment when any of these conditions applies:
|
|
54
|
+
|
|
55
|
+
- the WBS target, suite identity, ownership boundary, or required source fact is unresolved
|
|
56
|
+
- PRD, SRS, ADR, WBS, or ATP records conflict
|
|
57
|
+
- a controlling `TODO(confirm)` or unaccepted ADR remains
|
|
58
|
+
- a predecessor lacks its required completion state or evidence
|
|
59
|
+
- the selected task is already `verified`, `blocked`, or `deferred`
|
|
60
|
+
- overlapping working-tree changes cannot be classified for attribution
|
|
61
|
+
- material tenant, authorization, privacy, lifecycle, transaction, concurrency, idempotency, audit, migration, SSR, or ownership behavior is unspecified
|
|
62
|
+
- the proposed work expands scope or introduces a competing persistence, identity, or API authority
|
|
63
|
+
|
|
64
|
+
When adding a persisted field to an existing backend resource, stop and ask the user whether `vonaModule.fileVersion` should increment before changing `meta.version.ts` or the module schema path. A specification can provide context, but it does not replace this direct confirmation. Do not invent a migration strategy during execution.
|
|
65
|
+
|
|
66
|
+
## Route the smallest approved increment
|
|
67
|
+
|
|
68
|
+
After approval, hand the smallest coherent unit to the specialist that owns its implementation.
|
|
69
|
+
|
|
70
|
+
| Work shape | Route |
|
|
71
|
+
| -------------------------------------------------------------------- | ---------------------------------------------------- |
|
|
72
|
+
| Vona module, entity, DTO, service, migration, or backend test | `cabloy-backend-scaffold` |
|
|
73
|
+
| Zova page, route, component, model, metadata, SSR, or frontend test | `cabloy-frontend-scaffold` |
|
|
74
|
+
| OpenAPI, generated consumers, reverse metadata, or consumer drift | `cabloy-contract-loop` |
|
|
75
|
+
| Master-detail, resource-field update, or module removal | The corresponding specialist skill |
|
|
76
|
+
| Requirement, scope, contract, dependency, or durable-decision change | `cabloy-spec-generation` or `cabloy-domain-planning` |
|
|
77
|
+
|
|
78
|
+
The execution workflow supplies the approved dossier and preserves the boundary; it does not replace a specialist's CLI-first procedure. Never hand-edit generated consumers, infer an unconfirmed site or flavor, or expand automatically into an adjacent WBS item.
|
|
79
|
+
|
|
80
|
+
## Verify narrowly and retain evidence
|
|
81
|
+
|
|
82
|
+
Use the narrowest approved check first, then follow the linked ATP procedures and applicable release gates.
|
|
83
|
+
|
|
84
|
+
1. run the scoped verification specified by the increment
|
|
85
|
+
2. retain observed evidence using the suite's existing convention
|
|
86
|
+
3. redact secrets, credentials, raw tokens, customer data, and provider identifiers
|
|
87
|
+
4. record failures, waivers, invalidation, and supersession rather than erasing history
|
|
88
|
+
5. update evidence before updating derived progress
|
|
89
|
+
|
|
90
|
+
Use status precisely:
|
|
91
|
+
|
|
92
|
+
- `in-progress` — approved implementation or verification has actually begun
|
|
93
|
+
- `implementation-complete` — source work is complete, but required ATP or release proof remains
|
|
94
|
+
- `verified` — all applicable WBS checks and ATPs have durable, linked, redacted observed evidence
|
|
95
|
+
|
|
96
|
+
A successful build, generation command, hook, manual walkthrough, screenshot, or unrelated test run is not by itself `verified` unless the authoritative test plan defines it as sufficient retained proof. Evidence is revision- and authority-scoped; mark old proof superseded or requiring rerun when relevant source or authority changes.
|
|
97
|
+
|
|
98
|
+
## Refresh derived charts last
|
|
99
|
+
|
|
100
|
+
After evidence and progress are accurate, refresh the two derived views when the suite's authoritative Markdown follows the [chart input contract](/reference/repo-scripts#chart-input-contract). Refresh again when the suite README title or language changes:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npm run spec:charts -- <suite>
|
|
104
|
+
# Use this non-mutating check when verifying an existing chart state:
|
|
105
|
+
npm run spec:charts:check -- <suite>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The correct update order is:
|
|
109
|
+
|
|
110
|
+
```text
|
|
111
|
+
evidence → progress → derived charts
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Use the check as a separate non-mutating freshness verification, such as CI or a review of an existing chart state. A passing chart check confirms only the supported chart input contract and generated-view freshness. It is not ATP proof, implementation proof, release approval, or a replacement for reviewing traceability and status semantics. Do not hand-edit an SVG to mask an authority conflict; correct the authoritative Markdown records and regenerate instead. Chart language follows the suite README.
|
|
115
|
+
|
|
116
|
+
Confirm the available root scripts and their input expectations in the active repository, especially when the work concerns a Cabloy Start checkout or a legacy suite.
|
|
117
|
+
|
|
118
|
+
## Keep unsafe operations outside the increment
|
|
119
|
+
|
|
120
|
+
Without a separate explicit workflow and approval, do not:
|
|
121
|
+
|
|
122
|
+
- infer Cabloy Start runtime facts from Cabloy Basic
|
|
123
|
+
- run `npm run init`, reset or recreate a database, or reinstall dependencies as a first response to drift
|
|
124
|
+
- clean, reset, stash, check out, or discard the working tree
|
|
125
|
+
- deploy, publish, cut over, operate a provider or webhook, change credentials, or retain secrets
|
|
126
|
+
- commit or push
|
|
127
|
+
- fabricate evidence or promote status based only on planning artifacts, hooks, builds, or generated outputs
|
|
128
|
+
- continue to adjacent WBS work automatically
|
|
129
|
+
|
|
130
|
+
## Leave a resumable handoff
|
|
131
|
+
|
|
132
|
+
Finish the increment with a concise record of:
|
|
133
|
+
|
|
134
|
+
1. target WBS/phase, edition, revision, and working-tree classification
|
|
135
|
+
2. implemented scope and explicit exclusions
|
|
136
|
+
3. commands and procedures actually run
|
|
137
|
+
4. observed evidence and its redacted location
|
|
138
|
+
5. resulting status and its precise reason
|
|
139
|
+
6. remaining blocker or evidence gap
|
|
140
|
+
7. exactly one next action
|
|
141
|
+
|
|
142
|
+
A next action is a handoff, not authorization to execute another task. If it requires an authority change, return to [Playbook: Plan a Cabloy Suite Specification](/ai/playbook-spec-generation).
|
|
143
|
+
|
|
144
|
+
For the public boundaries between docs, skills, suite authority, and CLI workflows, read [Docs, Skills, Rules, and CLI Mapping](/ai/docs-skills-rules-mapping) and [CLI to Skill Map](/ai/cli-to-skill-map).
|