@shanyucoder/flowgrid 0.1.10 → 0.1.11
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/adapters/nextjs/codegen/runners/lib/resolve-hub-id.mjs +7 -4
- package/adapters/nextjs/unitgen/runners/README.md +4 -4
- package/adapters/nextjs/unitgen/runners/generate.mjs +1 -1
- package/adapters/nuxt4/codegen/runners/lib/resolve-hub-id.mjs +7 -4
- package/adapters/nuxt4/unitgen/runners/README.md +4 -4
- package/adapters/nuxt4/unitgen/runners/generate.mjs +1 -1
- package/adapters/shared/common-gen.mjs +1 -1
- package/adapters/shared/resolve-hub-id.mjs +7 -4
- package/dist/docs/scan/ids.js +3 -2
- package/dist/docs/scan/ids.js.map +1 -1
- package/dist/graph/mcp/tools.js +1 -1
- package/dist/graph/mcp/tools.js.map +1 -1
- package/engines/cases/render-cases.mjs +1 -1
- package/engines/spec/lib/audit-legacy-gaps.mjs +10 -0
- package/engines/testcase/_staging-from-portal/runners/README.md +3 -3
- package/engines/testcase/_staging-from-portal/runners/generate.mjs +2 -2
- package/engines/testcase/_staging-from-portal/runners/lib/read-testcase.mjs +1 -1
- package/engines/testcase/runners/README.md +3 -3
- package/engines/testcase/runners/generate.mjs +2 -2
- package/engines/testcase/runners/lib/read-testcase.mjs +1 -1
- package/engines/testcase/runners/lib/resolve-hub-id.mjs +3 -3
- package/harness/be/skills/audit-api/SKILL.md +1 -1
- package/harness/be/skills/grill-api-unit/SKILL.md +1 -1
- package/harness/docs/extracts/architecture-core.md +2 -0
- package/harness/docs/extracts/extract-registry.docs.json +7 -3
- package/harness/docs/extracts/product-id-convention.md +58 -0
- package/harness/docs/extracts/spec-requirement.md +1 -1
- package/harness/docs/extracts/tpl-adoption-inventory.md +32 -0
- package/harness/docs/extracts/tpl-module.md +1 -1
- package/harness/docs/rules/agent-compliance.mdc +1 -1
- package/harness/docs/skills/adopt/SKILL.md +42 -10
- package/harness/docs/skills/api-update/SKILL.md +1 -1
- package/harness/docs/skills/module/SKILL.md +1 -1
- package/harness/docs/skills/spec/SKILL.md +2 -1
- package/harness/docs/skills/surfaces/SKILL.md +1 -0
- package/harness/fe/skills/grill-prototype/SKILL.md +1 -1
- package/harness/fe/skills/prototype/SKILL.md +6 -6
- package/harness/fe/skills/unit/SKILL.md +4 -4
- package/harness/shared/SSOT_AGENT_PROTOCOL.md +1 -1
- package/harness/tests/skills/grill-testcase/SKILL.md +1 -1
- package/harness/tests/skills/scenario/SKILL.md +2 -2
- package/harness/tests/skills/testcase/SKILL.md +1 -1
- package/harness/tests/templates/SC.example.md +11 -11
- package/harness/tests/templates/TC.example.yaml +3 -3
- package/package.json +1 -1
- package/templates/project-skeleton/architecture/03-user-flows/FLOW-login.md +10 -10
- package/templates/project-skeleton/architecture/04-solution-strategy/index.md +1 -1
- package/templates/project-skeleton/architecture/08-cross-cutting/security.md +1 -1
- package/templates/project-skeleton/architecture/12-glossary/index.md +3 -2
- package/templates/project-skeleton/architecture/model/workspace.dsl +7 -7
- package/templates/project-skeleton/surfaces/_module-index.template.md +2 -2
- package/templates/project-skeleton/surfaces/_surface-index.template.md +1 -0
- package/templates/shared/bundle-authoring.md +1 -1
- package/templates/tests-skeleton/cases/README.md +1 -1
|
@@ -203,7 +203,10 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
// Screen / API / UI code folder on docs
|
|
206
|
-
if (
|
|
206
|
+
if (
|
|
207
|
+
/^(W|API|UI)-/i.test(id) ||
|
|
208
|
+
/^cmp-[a-z0-9]+(?:-[a-z0-9]+)+-\d{2}(?:-\d{2})+$/i.test(id)
|
|
209
|
+
) {
|
|
207
210
|
if (mode === 'testcase') {
|
|
208
211
|
const screenRel = testsIdx.codeIds?.[id] || `cases/${id}`
|
|
209
212
|
const screenDir = absUnder(testsRoot, screenRel)
|
|
@@ -229,8 +232,8 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
229
232
|
return { kind: 'code', id, paths: [spec], notes, codeDir }
|
|
230
233
|
}
|
|
231
234
|
|
|
232
|
-
//
|
|
233
|
-
if (/^
|
|
235
|
+
// CMP module / prefix (e.g. CMP-ADM-AUTH-01, CMP-ADM-AUTH)
|
|
236
|
+
if (/^CMP-[A-Z0-9]+(?:-[A-Z0-9]+)+$/i.test(id)) {
|
|
234
237
|
const matchedModules = (docsIdx.modules || []).filter(
|
|
235
238
|
(c) => c.id === id || c.id.startsWith(`${id}-`) || c.id.startsWith(id) || (c.slug && id.toLowerCase().includes(c.slug)),
|
|
236
239
|
)
|
|
@@ -283,6 +286,6 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
283
286
|
}
|
|
284
287
|
|
|
285
288
|
throw new Error(
|
|
286
|
-
`Unrecognized id "${id}". Use W-|API-|UI-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-
|
|
289
|
+
`Unrecognized id "${id}". Use W-|API-|UI-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-auth-01-01-01), or module ID (CMP-ADM-AUTH-01), or suite id (smoke, regression-auth).`,
|
|
287
290
|
)
|
|
288
291
|
}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Reads hub Code `ir/design.yaml` + `generated/codegen.manifest.json` (after `flowgrid gen`) → writes `tests/unit/`.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
flowgrid unit-gen:dry --id W-
|
|
7
|
-
flowgrid unit-gen --id W-
|
|
8
|
-
flowgrid unit-gen --id W-
|
|
9
|
-
flowgrid unit-gen --spec /path/to/docs-hub/surfaces/.../CMP-01
|
|
6
|
+
flowgrid unit-gen:dry --id W-ADM-AUTH-01
|
|
7
|
+
flowgrid unit-gen --id W-ADM-AUTH-01
|
|
8
|
+
flowgrid unit-gen --id W-ADM-AUTH-01 --force
|
|
9
|
+
flowgrid unit-gen --spec /path/to/docs-hub/surfaces/.../CMP-ADM-AUTH-01/.../ir/design.yaml
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Form/create pages (`profile: create|auth|change-password|public`) generate tests against `src/services/{entity}Form.service.ts` (`create{Entity}FormService`), not the list service. List-column model tests are not emitted for those profiles.
|
|
@@ -34,7 +34,7 @@ function parseArgs(argv) {
|
|
|
34
34
|
|
|
35
35
|
if (!options.spec && !options.id) {
|
|
36
36
|
throw new Error(
|
|
37
|
-
'Usage: flowgrid unit-gen --id W-
|
|
37
|
+
'Usage: flowgrid unit-gen --id W-ADM-AUTH-01 [--dry-run] [--force] [--phase prototype|wire]\n' +
|
|
38
38
|
' flowgrid unit-gen --spec <path-to-ir/design.yaml> …',
|
|
39
39
|
)
|
|
40
40
|
}
|
|
@@ -203,7 +203,10 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
// Screen / API / UI code folder on docs
|
|
206
|
-
if (
|
|
206
|
+
if (
|
|
207
|
+
/^(W|API|UI)-/i.test(id) ||
|
|
208
|
+
/^cmp-[a-z0-9]+(?:-[a-z0-9]+)+-\d{2}(?:-\d{2})+$/i.test(id)
|
|
209
|
+
) {
|
|
207
210
|
if (mode === 'testcase') {
|
|
208
211
|
const screenRel = testsIdx.codeIds?.[id] || `cases/${id}`
|
|
209
212
|
const screenDir = absUnder(testsRoot, screenRel)
|
|
@@ -229,8 +232,8 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
229
232
|
return { kind: 'code', id, paths: [spec], notes, codeDir }
|
|
230
233
|
}
|
|
231
234
|
|
|
232
|
-
//
|
|
233
|
-
if (/^
|
|
235
|
+
// CMP module / prefix (e.g. CMP-ADM-AUTH-01, CMP-ADM-AUTH)
|
|
236
|
+
if (/^CMP-[A-Z0-9]+(?:-[A-Z0-9]+)+$/i.test(id)) {
|
|
234
237
|
const matchedModules = (docsIdx.modules || []).filter(
|
|
235
238
|
(c) => c.id === id || c.id.startsWith(`${id}-`) || c.id.startsWith(id) || (c.slug && id.toLowerCase().includes(c.slug)),
|
|
236
239
|
)
|
|
@@ -283,6 +286,6 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
283
286
|
}
|
|
284
287
|
|
|
285
288
|
throw new Error(
|
|
286
|
-
`Unrecognized id "${id}". Use W-|API-|UI-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-
|
|
289
|
+
`Unrecognized id "${id}". Use W-|API-|UI-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-auth-01-01-01), or module ID (CMP-ADM-AUTH-01), or suite id (smoke, regression-auth).`,
|
|
287
290
|
)
|
|
288
291
|
}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Reads hub Code `ir/design.yaml` + `generated/codegen.manifest.json` (after `flowgrid gen`) → writes `tests/unit/`.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
flowgrid unit-gen:dry --id W-
|
|
7
|
-
flowgrid unit-gen --id W-
|
|
8
|
-
flowgrid unit-gen --id W-
|
|
9
|
-
flowgrid unit-gen --spec /path/to/docs-hub/Surfaces/.../Modules/CMP-01
|
|
6
|
+
flowgrid unit-gen:dry --id W-ADM-AUTH-01
|
|
7
|
+
flowgrid unit-gen --id W-ADM-AUTH-01
|
|
8
|
+
flowgrid unit-gen --id W-ADM-AUTH-01 --force
|
|
9
|
+
flowgrid unit-gen --spec /path/to/docs-hub/Surfaces/.../Modules/CMP-ADM-AUTH-01/Functions/W-ADM-AUTH-01/ir/design.yaml
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Form/create pages (`profile: create|auth|change-password|public`) generate tests against `services/{entity}Form.service.ts`. List-column model tests are not emitted for those profiles.
|
|
@@ -34,7 +34,7 @@ function parseArgs(argv) {
|
|
|
34
34
|
|
|
35
35
|
if (!options.spec && !options.id) {
|
|
36
36
|
throw new Error(
|
|
37
|
-
'Usage: flowgrid unit-gen --id W-
|
|
37
|
+
'Usage: flowgrid unit-gen --id W-ADM-AUTH-01 [--dry-run] [--force] [--phase prototype|wire]\n' +
|
|
38
38
|
' flowgrid unit-gen --spec <path-to-ir/design.yaml> …',
|
|
39
39
|
)
|
|
40
40
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Inventory + stub codegen for docs common UI (surface or module).
|
|
3
3
|
*
|
|
4
|
-
* node adapters/shared/common-gen.mjs [--surface=admin-web] [--module=CMP-ADM-
|
|
4
|
+
* node adapters/shared/common-gen.mjs [--surface=admin-web] [--module=CMP-ADM-DEMO-01]
|
|
5
5
|
* [--id=common-status-chip] [--dry-run] [--force] [--json] [--all-surfaces] [--all-modules]
|
|
6
6
|
*/
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs'
|
|
@@ -270,7 +270,10 @@ export function resolveHubId(repoRoot, id, mode = 'api-codegen') {
|
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
// Screen / API / UI code folder on docs
|
|
273
|
-
if (
|
|
273
|
+
if (
|
|
274
|
+
/^(W|API|UI)-/i.test(id) ||
|
|
275
|
+
/^cmp-[a-z0-9]+(?:-[a-z0-9]+)+-\d{2}(?:-\d{2})+$/i.test(id)
|
|
276
|
+
) {
|
|
274
277
|
if (mode === 'testcase') {
|
|
275
278
|
const screenRel = testsIdx.codeIds?.[id] || `cases/${id}`
|
|
276
279
|
const screenDir = absUnder(testsRoot, screenRel)
|
|
@@ -307,8 +310,8 @@ export function resolveHubId(repoRoot, id, mode = 'api-codegen') {
|
|
|
307
310
|
return { kind: 'code', id, paths: [spec], notes, codeDir }
|
|
308
311
|
}
|
|
309
312
|
|
|
310
|
-
//
|
|
311
|
-
if (/^
|
|
313
|
+
// CMP module / prefix (e.g. CMP-ADM-AUTH-01, CMP-ADM-AUTH)
|
|
314
|
+
if (/^CMP-[A-Z0-9]+(?:-[A-Z0-9]+)+$/i.test(id)) {
|
|
312
315
|
const matchedModules = (docsIdx.modules || []).filter(
|
|
313
316
|
(c) => c.id === id || c.id.startsWith(`${id}-`) || c.id.startsWith(id) || (c.slug && id.toLowerCase().includes(c.slug)),
|
|
314
317
|
)
|
|
@@ -376,6 +379,6 @@ export function resolveHubId(repoRoot, id, mode = 'api-codegen') {
|
|
|
376
379
|
}
|
|
377
380
|
|
|
378
381
|
throw new Error(
|
|
379
|
-
`Unrecognized id "${id}". Use W-|API-|UI-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-
|
|
382
|
+
`Unrecognized id "${id}". Use W-|API-|UI-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-auth-01-01-01), or module ID (CMP-ADM-AUTH-01), or suite id (smoke, regression-auth).`,
|
|
380
383
|
)
|
|
381
384
|
}
|
package/dist/docs/scan/ids.js
CHANGED
|
@@ -2,7 +2,8 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
/** Old flat C4 + ADR paths — redirect stubs only (not SSOT). */
|
|
4
4
|
const REDIRECT_STUB_RE = /(?:^|\/)architecture\/(?:landscape|context|containers|dynamics|deployments)(?:\/|$)|(?:^|\/)product\/shared\/adr(?:\/|$)/;
|
|
5
|
-
|
|
5
|
+
/** Product codes: CMP-{SURF}-{DOMAIN}-{NN}; W|API|UI-{SURF}-{DOMAIN}-{NN} — see product-id-convention.md */
|
|
6
|
+
const ID_RE = /\b((?:CMP|FLOW|DEP|ADR|SC|TC)-[A-Za-z0-9][A-Za-z0-9_-]*|(?:W|API|UI)-[A-Z]{2,4}-[A-Z][A-Z0-9]*-\d{2,3})\b/g;
|
|
6
7
|
/** Scan roots for MD (arc42 × product). */
|
|
7
8
|
export const SCAN_MD_DIRS = [
|
|
8
9
|
'architecture',
|
|
@@ -111,7 +112,7 @@ export function indexIds(docsRoot) {
|
|
|
111
112
|
add(map, short[1], f);
|
|
112
113
|
}
|
|
113
114
|
// Code folders: surfaces/.../CMP-*/<slug>/code/{W|API|UI}-*
|
|
114
|
-
const codeFolder = f.match(/[\\/]code[\\/]((?:W|API|UI)-[A-Z]{2}-[A-Z0-9]
|
|
115
|
+
const codeFolder = f.match(/[\\/]code[\\/]((?:W|API|UI)-[A-Z]{2,4}-[A-Z][A-Z0-9]*-\d{2,3})[\\/]/i);
|
|
115
116
|
if (codeFolder)
|
|
116
117
|
add(map, codeFolder[1], f);
|
|
117
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/docs/scan/ids.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/docs/scan/ids.ts"],"names":[],"mappings":"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"}
|
package/dist/graph/mcp/tools.js
CHANGED
|
@@ -127,7 +127,7 @@ export function registerTools(server) {
|
|
|
127
127
|
moduleDir: z
|
|
128
128
|
.string()
|
|
129
129
|
.optional()
|
|
130
|
-
.describe('CMP module root, e.g. surfaces/admin-web/CMP-01
|
|
130
|
+
.describe('CMP module root, e.g. surfaces/admin-web/CMP-ADM-AUTH-01/ (legacy .../modules/CMP-ADM-AUTH-01/ also accepted)'),
|
|
131
131
|
findingsPath: z.string().optional().describe('YAML/JSON with parityFindings[] from cloud'),
|
|
132
132
|
findingsJson: z.string().optional().describe('Inline JSON: { parityFindings: [...] }'),
|
|
133
133
|
}, async ({ moduleDir, findingsPath, findingsJson }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/graph/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/graph/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Render tests hub case YAML → Markdown (member-first, locale-aware).
|
|
4
4
|
* Usage: pnpm cases:render
|
|
5
|
-
* pnpm cases:render -- cases/W-
|
|
5
|
+
* pnpm cases:render -- cases/W-ADM-AUTH-01
|
|
6
6
|
*/
|
|
7
7
|
import { readdir, readFile, writeFile } from 'node:fs/promises'
|
|
8
8
|
import path from 'node:path'
|
|
@@ -42,6 +42,16 @@ function auditLegacyInventory(inventoryPath, targetId) {
|
|
|
42
42
|
|
|
43
43
|
const rawText = fs.readFileSync(inventoryPath, 'utf8');
|
|
44
44
|
|
|
45
|
+
if (targetId?.startsWith('FLOW-') && !/##\s+4\.\s+User flows/i.test(rawText)) {
|
|
46
|
+
addGap(
|
|
47
|
+
'ADOPT_MISSING_USER_FLOW_SECTION',
|
|
48
|
+
'warning',
|
|
49
|
+
'adoption-inventory.md#user-flows',
|
|
50
|
+
'Inventory has no "## 4. User flows" section — cross-surface FLOW-* may be missing.',
|
|
51
|
+
'Re-run /adopt with user-flow discovery; see tpl-adoption-inventory.md (tiers A/B/C).'
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
45
55
|
if (targetId) {
|
|
46
56
|
if (!rawText.includes(targetId)) {
|
|
47
57
|
addGap(
|
|
@@ -4,10 +4,10 @@ Reads **plans** from sibling `base-tests/` → writes `tests/e2e/` on this FE re
|
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
pnpm testcase:gen:dry --id TC-LOGIN-VALID
|
|
7
|
-
pnpm testcase:gen --id W-
|
|
7
|
+
pnpm testcase:gen --id W-ADM-AUTH-01
|
|
8
8
|
pnpm testcase:gen --id smoke
|
|
9
|
-
pnpm testcase:gen --testcase ../base-tests/cases/W-
|
|
10
|
-
pnpm testcase:gen --feature W-
|
|
9
|
+
pnpm testcase:gen --testcase ../base-tests/cases/W-ADM-AUTH-01/TC-LOGIN-VALID.yaml
|
|
10
|
+
pnpm testcase:gen --feature W-ADM-AUTH-01 # all TC-* under cases/{id}/
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Author/edit plans on **base-tests** (`/testcase`), not on this code repo.
|
|
@@ -37,8 +37,8 @@ function parseArgs(argv) {
|
|
|
37
37
|
|
|
38
38
|
if (!options.testcase && !options.feature && !options.id) {
|
|
39
39
|
throw new Error(
|
|
40
|
-
'Usage: pnpm testcase:gen --id W-
|
|
41
|
-
' pnpm testcase:gen --testcase <path> | --feature W-
|
|
40
|
+
'Usage: pnpm testcase:gen --id W-ADM-AUTH-01|TC-LOGIN-VALID|smoke|CMP-ADM-AUTH-01|SC-LOGIN\n' +
|
|
41
|
+
' pnpm testcase:gen --testcase <path> | --feature W-ADM-AUTH-01 (screen under base-tests/cases)',
|
|
42
42
|
)
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -145,7 +145,7 @@ export async function readTestcaseFile(testcasePath, opts = {}) {
|
|
|
145
145
|
/**
|
|
146
146
|
* List TC-*.yaml under base-tests/cases/{screenId}/ (prefer --id).
|
|
147
147
|
* @param {string} root FE repo root
|
|
148
|
-
* @param {string} screenId e.g. W-
|
|
148
|
+
* @param {string} screenId e.g. W-ADM-AUTH-01
|
|
149
149
|
*/
|
|
150
150
|
export async function listFeatureTestcases(root, screenId) {
|
|
151
151
|
const testsRoot = resolveProjectRoot(root, 'base-tests')
|
|
@@ -4,10 +4,10 @@ Reads **plans** from the tests hub → writes `tests/e2e/` in the FE project.
|
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
pnpm testcase:gen:dry --id TC-LOGIN-VALID
|
|
7
|
-
pnpm testcase:gen --id W-
|
|
7
|
+
pnpm testcase:gen --id W-ADM-AUTH-01
|
|
8
8
|
pnpm testcase:gen --id smoke
|
|
9
|
-
pnpm testcase:gen --testcase "$FLOWGRID_TESTS_DOC/cases/W-
|
|
10
|
-
pnpm testcase:gen --feature W-
|
|
9
|
+
pnpm testcase:gen --testcase "$FLOWGRID_TESTS_DOC/cases/W-ADM-AUTH-01/TC-LOGIN-VALID.yaml"
|
|
10
|
+
pnpm testcase:gen --feature W-ADM-AUTH-01 # all TC-* under cases/{id}/
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Author/edit plans in the **tests hub** (`/testcase`), not in the code project.
|
|
@@ -51,8 +51,8 @@ function parseArgs(argv) {
|
|
|
51
51
|
|
|
52
52
|
if (!options.testcase && !options.feature && !options.id && !options.all) {
|
|
53
53
|
throw new Error(
|
|
54
|
-
'Usage: pnpm testcase:gen --id W-
|
|
55
|
-
' pnpm testcase:gen --testcase <path> | --feature W-
|
|
54
|
+
'Usage: pnpm testcase:gen --id W-ADM-AUTH-01|TC-LOGIN-VALID|smoke|CMP-ADM-AUTH-01|SC-LOGIN\n' +
|
|
55
|
+
' pnpm testcase:gen --testcase <path> | --feature W-ADM-AUTH-01 (screen under tests hub cases/)\n' +
|
|
56
56
|
' pnpm testcase:gen --all\n' +
|
|
57
57
|
' Optional: --tests-docs <hub> or FLOWGRID_TESTS_DOC',
|
|
58
58
|
)
|
|
@@ -158,7 +158,7 @@ export async function readTestcaseFile(testcasePath, opts = {}) {
|
|
|
158
158
|
/**
|
|
159
159
|
* List TC-*.yaml under the tests hub cases/{screenId}/ (prefer --id).
|
|
160
160
|
* @param {string} root FE repo root
|
|
161
|
-
* @param {string} screenId e.g. W-
|
|
161
|
+
* @param {string} screenId e.g. W-ADM-AUTH-01
|
|
162
162
|
*/
|
|
163
163
|
export async function listFeatureTestcases(root, screenId) {
|
|
164
164
|
const testsRoot = process.env.FLOWGRID_TESTS_DOC ? path.resolve(process.env.FLOWGRID_TESTS_DOC) : resolveProjectRoot(root, 'tests')
|
|
@@ -263,8 +263,8 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
263
263
|
return { kind: 'code', id, paths: [spec], notes, codeDir }
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
// Module (e.g. CMP-ADM-
|
|
267
|
-
if (/^[A-
|
|
266
|
+
// Module (e.g. CMP-ADM-AUTH-01) → all code children
|
|
267
|
+
if (/^CMP-[A-Z0-9]+(?:-[A-Z0-9]+)+$/i.test(id)) {
|
|
268
268
|
const { index: docsIdx } = getDocs()
|
|
269
269
|
const cmp = (docsIdx.modules || []).find(
|
|
270
270
|
(c) => c.id === id || c.id.startsWith(id) || (c.slug && id.toLowerCase().includes(c.slug)),
|
|
@@ -319,6 +319,6 @@ export function resolveHubId(repoRoot, id, mode = 'testcase') {
|
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
throw new Error(
|
|
322
|
-
`Unrecognized id "${id}". Use W-|API-|UI-|FLOW-|DEP-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-
|
|
322
|
+
`Unrecognized id "${id}". Use W-|API-|UI-|FLOW-|DEP-|TC-|SC-* or hierarchical ID (e.g. cmp-adm-auth-01-01-01), or module ID (CMP-ADM-AUTH-01), or suite id (smoke, regression-auth).`,
|
|
323
323
|
)
|
|
324
324
|
}
|
|
@@ -12,7 +12,7 @@ Run after `npm run codegen:api:dry` / `flowgrid api-gen:dry` and after implement
|
|
|
12
12
|
|
|
13
13
|
## Target / ID Resolution Rule
|
|
14
14
|
|
|
15
|
-
- User prompt MAY specify a function ID, API slug, or short name (e.g. `API-AUTH-001`, `login`, `CMP-ADM-
|
|
15
|
+
- User prompt MAY specify a function ID, API slug, or short name (e.g. `API-AUTH-001`, `login`, `CMP-ADM-DEMO-01`).
|
|
16
16
|
- Agent MUST resolve **`…/api/<seq>/01-backend-spec.yaml`** via `FLOWGRID_DOCS_ROOT` or `flowgrid_docs_route` (screen leaf `CMP-*/<NN…>/api/<seq>/`, or `common/yaml/<slug>/`, or external-channel surface `…/api/<seq>/`).
|
|
17
17
|
- **Read the entire `01-backend-spec.yaml`**. Do **not** use `ir/design.yaml` or `ir/spec.yaml` as BE contract.
|
|
18
18
|
- Compare generated routes/code against that 01 file. Missing 01 → STOP, hand off to docs `/grill-api-spec`.
|
|
@@ -13,7 +13,7 @@ before committing generated test code.
|
|
|
13
13
|
|
|
14
14
|
## Target / ID Resolution Rule
|
|
15
15
|
|
|
16
|
-
- User prompt MAY specify a function ID, API slug, or short name (e.g. `API-AUTH-001`, `login`, `CMP-ADM-
|
|
16
|
+
- User prompt MAY specify a function ID, API slug, or short name (e.g. `API-AUTH-001`, `login`, `CMP-ADM-DEMO-01`).
|
|
17
17
|
- Agent MUST resolve **`…/api/<seq>/01-backend-spec.yaml`** via `FLOWGRID_DOCS_ROOT` or `flowgrid_docs_route`.
|
|
18
18
|
- **Read the entire `01-backend-spec.yaml`**. Do **not** use `ir/design.yaml` or `ir/spec.yaml` as BE contract.
|
|
19
19
|
- Compare generated unit tests against that 01 file. Missing 01 → STOP, hand off to docs `/grill-api-spec`.
|
|
@@ -36,6 +36,8 @@ No **dynamics** wording on new trees — use **flow** / `FLOW-*` / `/journey`.
|
|
|
36
36
|
|
|
37
37
|
## ID rules
|
|
38
38
|
|
|
39
|
+
**Product IDs (global):** `product-id-convention.md` — `surfaceCode` on each surface; `CMP-{SURF}-{DOMAIN}-{NN}`, `W-{SURF}-{DOMAIN}-{NN}`, `API-{SURF}-{DOMAIN}-{NN}`.
|
|
40
|
+
|
|
39
41
|
| Prefix | Path | Notes |
|
|
40
42
|
|--------|------|-------|
|
|
41
43
|
| `LND-*` `CTX-*` | `architecture/03-context/` | Overview / landscape + context |
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
".cursor/extracts/tpl-deployment.md",
|
|
11
11
|
".cursor/extracts/tpl-adr.md",
|
|
12
12
|
".cursor/extracts/tpl-cross-cutting.md",
|
|
13
|
-
".cursor/extracts/common-scope.md"
|
|
13
|
+
".cursor/extracts/common-scope.md",
|
|
14
|
+
".cursor/extracts/tpl-adoption-inventory.md",
|
|
15
|
+
".cursor/extracts/product-id-convention.md"
|
|
14
16
|
],
|
|
15
17
|
"docs-hub": [
|
|
16
18
|
".cursor/extracts/docs-phase-hooks.md",
|
|
@@ -25,11 +27,13 @@
|
|
|
25
27
|
".cursor/extracts/design-leaf-signoff.md",
|
|
26
28
|
".cursor/extracts/db-audit-wizard.md",
|
|
27
29
|
".cursor/extracts/agent-execution-protocol.md",
|
|
28
|
-
".cursor/extracts/common-scope.md"
|
|
30
|
+
".cursor/extracts/common-scope.md",
|
|
31
|
+
".cursor/extracts/product-id-convention.md"
|
|
29
32
|
],
|
|
30
33
|
"spec-core": [
|
|
31
34
|
".cursor/extracts/spec-core.md",
|
|
32
|
-
".cursor/extracts/common-scope.md"
|
|
35
|
+
".cursor/extracts/common-scope.md",
|
|
36
|
+
".cursor/extracts/product-id-convention.md"
|
|
33
37
|
],
|
|
34
38
|
"bqa-grill": [
|
|
35
39
|
".cursor/extracts/grill/validation.md",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Product ID convention (global SSOT)
|
|
2
|
+
|
|
3
|
+
English **structure**; prose locale is separate (`contentLocale`).
|
|
4
|
+
|
|
5
|
+
## Why surface code is mandatory
|
|
6
|
+
|
|
7
|
+
IDs are **globally unique** across the docs hub (CLI `--id`, registries, tests mirror). The same capability on two channels (e.g. Login on admin vs customer) MUST be two IDs. Path `surfaces/<slug>/` alone is not enough when referencing without a path.
|
|
8
|
+
|
|
9
|
+
## Surface code (`surfaceCode`)
|
|
10
|
+
|
|
11
|
+
- Declare on every `surfaces/<slug>/index.md` frontmatter: `surfaceCode: ADM` (2–4 uppercase letters).
|
|
12
|
+
- Register once per channel; reuse the **same token** in every `CMP-*` / `W-*` / `API-*` / `UI-*` on that surface.
|
|
13
|
+
- Folder slug stays human (`admin`, `customer-web`); **IDs embed `surfaceCode`**, not the slug.
|
|
14
|
+
|
|
15
|
+
| Surface folder | Example `surfaceCode` |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `surfaces/admin` | `ADM` |
|
|
18
|
+
| `surfaces/customer-web` | `CUS` |
|
|
19
|
+
| `surfaces/workforce-app` | `WRK` |
|
|
20
|
+
|
|
21
|
+
## Patterns
|
|
22
|
+
|
|
23
|
+
| Kind | Pattern | Example |
|
|
24
|
+
| --- | --- | --- |
|
|
25
|
+
| Module (folder name) | `CMP-{SURF}-{DOMAIN}-{NN}` | `CMP-ADM-AUTH-01` |
|
|
26
|
+
| Screen | `W-{SURF}-{DOMAIN}-{NN}` | `W-ADM-AUTH-01` |
|
|
27
|
+
| API | `API-{SURF}-{DOMAIN}-{NN}` | `API-ADM-AUTH-01` |
|
|
28
|
+
| UI code leaf | `UI-{SURF}-{DOMAIN}-{NN}` | `UI-ADM-EMPTY-01` |
|
|
29
|
+
| User flow | `FLOW-{slug}` | `FLOW-checkout` (no surface — scope in doc body) |
|
|
30
|
+
| Common | `CMN-UI-*` / `CMN-API-*` / `CMN-DTO-*` | No surface prefix |
|
|
31
|
+
|
|
32
|
+
- `{SURF}` = `surfaceCode` (2–4 chars).
|
|
33
|
+
- `{DOMAIN}` = short capability token (`AUTH`, `ORD`, `CART`, `USR`, …).
|
|
34
|
+
- `{NN}` = two digits `01`–`99` per domain on that surface (pad with zero).
|
|
35
|
+
|
|
36
|
+
## Module folder = global module ID
|
|
37
|
+
|
|
38
|
+
`surfaces/<slug>/CMP-ADM-AUTH-01/` — folder name **equals** global `CMP-*` id (tooling SSOT).
|
|
39
|
+
|
|
40
|
+
## Bundle / path slug (lowercase)
|
|
41
|
+
|
|
42
|
+
`CMP-ADM-ORD-01` + draft `02-01-02` → `page-id: cmp-adm-ord-01-02-01-02` (lowercase, same tokens).
|
|
43
|
+
|
|
44
|
+
## Hierarchical CLI alias
|
|
45
|
+
|
|
46
|
+
Lowercase path encoding: `cmp-adm-auth-01-01-01-01` (= module + numeric segments under `CMP-*`).
|
|
47
|
+
|
|
48
|
+
## Same business name, two surfaces
|
|
49
|
+
|
|
50
|
+
- Admin login: `W-ADM-AUTH-01`
|
|
51
|
+
- Customer login: `W-CUS-AUTH-01`
|
|
52
|
+
Shared spec → `CMN-*` or explicit cross-reference; **never** one `W-*` for both.
|
|
53
|
+
|
|
54
|
+
## Forbidden
|
|
55
|
+
|
|
56
|
+
- `W-AUTH-01` without `{SURF}` (collision risk).
|
|
57
|
+
- Mixed tokens on one surface (`W-AD-*` vs `W-ADM-*`) — pick one `surfaceCode` and stick to it.
|
|
58
|
+
- Renaming IDs for arc42-only refactors (see `architecture/02-constraints`).
|
|
@@ -6,4 +6,4 @@ Required business keys when info exists: `summary`, `userStories` (+ `screenAcce
|
|
|
6
6
|
|
|
7
7
|
After patch: `flowgrid split` → `flowgrid render` → BA reads `ir/generated/spec.md` (not hand-written `.md`).
|
|
8
8
|
|
|
9
|
-
Path SSOT: `surfaces/<surface>/CMP-*/<NN…>/` — resolve IDs with `flowgrid_docs_route` on consumer repo.
|
|
9
|
+
Path SSOT: `surfaces/<surface>/CMP-*/<NN…>/` — resolve IDs with `flowgrid_docs_route` on consumer repo. ID shape: `product-id-convention.md`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Adoption inventory — section template (`adoption-inventory.md`)
|
|
2
|
+
|
|
3
|
+
Workspace root SSOT after `/adopt`. English **IDs**; prose may follow hub `contentLocale` later. ID shape: `product-id-convention.md` (`surfaceCode`, `CMP|W|API-{SURF}-{DOMAIN}-{NN}`).
|
|
4
|
+
|
|
5
|
+
## Required sections
|
|
6
|
+
|
|
7
|
+
1. **Surfaces** — channel / app → legacy repo path
|
|
8
|
+
2. **Modules (`CMP-*`)** — feature groups → legacy module folder
|
|
9
|
+
3. **Screens & APIs (`W-*`, `API-*`)** — leaf functions → legacy file paths
|
|
10
|
+
4. **User flows (`FLOW-*`)** — see placement tiers below (mandatory when scan finds multi-step / cross-app journeys)
|
|
11
|
+
5. **Common catalog (`CMN-*`)** — only if Common Analysis mode
|
|
12
|
+
6. **Handoff** — `/legacy /spec`, `/legacy /user-flow`
|
|
13
|
+
|
|
14
|
+
## User flow placement (maps to new docs hub)
|
|
15
|
+
|
|
16
|
+
| Tier | When to list | Target path after `/legacy /user-flow` |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| **A — Cross-surface / org** | Same journey touches **≥2 surfaces** or **≥2 CMP owners** (checkout admin→customer, ops→partner API, SSO handoff) | `architecture/03-user-flows/FLOW-*.md` |
|
|
19
|
+
| **B — Surface shared** | Journey shared by **≥2 modules** on **one** surface | `surfaces/<surface>/common/user-flows/FLOW-*.md` |
|
|
20
|
+
| **C — Module / cluster** | Journey stays inside **one CMP** (or one cluster `CMP-*/NN/`) | `surfaces/<surface>/<CMP>/common/user-flows/FLOW-*.md` or `…/<CMP>/<NN>/common/user-flows/` |
|
|
21
|
+
| **D — Not a FLOW** | Single screen CRUD, one API call | Document only `W-*` / `API-*` — **do not** invent `FLOW-*` |
|
|
22
|
+
|
|
23
|
+
Each `FLOW-*` line MUST include:
|
|
24
|
+
|
|
25
|
+
- **Surfaces / CMPs involved** (e.g. `admin`, `CMP-ADM-ORD-01`, `customer-web`, `CMP-CUS-CART-01`)
|
|
26
|
+
- **Screen/API steps** (ordered `W-*` / `API-*` refs or legacy route names)
|
|
27
|
+
- **Legacy evidence** (router guards, saga classes, shared session keys, event names — file paths)
|
|
28
|
+
- **Suggested tier** (A / B / C)
|
|
29
|
+
|
|
30
|
+
## Legacy scan hints (cross-surface)
|
|
31
|
+
|
|
32
|
+
Look for: redirect chains across subdomains/apps, shared `orderId`/`session` in multiple repos, BPM/orchestrator, “checkout” spanning cart (FE) + payment (API) + notification (worker), duplicate route names in 2+ legacy apps for one business journey.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Module index template
|
|
2
2
|
|
|
3
|
-
Path: `surfaces/<surface>/CMP-{
|
|
3
|
+
Path: `surfaces/<surface>/CMP-{SURF}-{DOMAIN}-{NN}/index.md` — **MD only** (`product-id-convention.md`).
|
|
4
4
|
|
|
5
5
|
Copy from: `templates/project-skeleton/surfaces/_module-index.template.md`
|
|
6
6
|
|
|
@@ -23,4 +23,4 @@ When executing any skill (`/spec`, `/grill`, `/grill-bqa`, etc.):
|
|
|
23
23
|
6. **DSL / COMMON:** Human lead decides common promotions. The agent only executes `/common` (Markdown patterns), `/docs-mark`, custom-base handoff, or confirmation post-grill. `/spec` consumes patterns + FE base via `flowgrid-ux-common.mdc`. **[STRICTLY FORBIDDEN]** `common/yaml`, `/common-spec`, `/gen-common`.
|
|
24
24
|
7. **ISOLATION:** Execute strictly within the invoked skill scope. **[STRICTLY FORBIDDEN]** to merge sibling features or output fake Markdown reports when YAML contracts are required.
|
|
25
25
|
|
|
26
|
-
**Path SSOT:** `surfaces/<surface>/CMP-*/<slug>/` (NO `modules/` segment).
|
|
26
|
+
**Path SSOT:** `surfaces/<surface>/CMP-*/<slug>/` (NO `modules/` segment). **IDs:** `product-id-convention.md` (`surfaceCode` + `CMP|W|API-{SURF}-{DOMAIN}-{NN}`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: adopt
|
|
3
|
-
description: "/adopt — Scan legacy repositories and generate a high-level index mapping catalog
|
|
3
|
+
description: "/adopt — Scan legacy repositories and generate a high-level index mapping catalog, user flows (incl. cross-surface), and common candidates at root."
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
extractBundle: architecture-core
|
|
6
6
|
---
|
|
@@ -14,6 +14,8 @@ extractBundle: architecture-core
|
|
|
14
14
|
|
|
15
15
|
**Handoff SSOT spec:** Sau adopt, member drill [spec-ssot-prep.md](../../../docs/workflows/spec-ssot-prep.md) — Phase 0 → `/legacy /spec` per `W-*` (không nhảy thẳng bundle không có ID trong inventory).
|
|
16
16
|
|
|
17
|
+
**Inventory template:** `.cursor/extracts/tpl-adoption-inventory.md` — section layout + **user-flow placement tiers** (cross-surface → `architecture/03-user-flows/`).
|
|
18
|
+
|
|
17
19
|
---
|
|
18
20
|
|
|
19
21
|
## Rule: Pre-Scan Mode Selection (AskQuestion Wizard)
|
|
@@ -71,16 +73,35 @@ extractBundle: architecture-core
|
|
|
71
73
|
- **Surfaces**: Application and channel names (Admin Portal, Customer Web, Gateway…)
|
|
72
74
|
- **Modules (`CMP-*`)**: Primary feature groups (Auth, Orders, Profile…)
|
|
73
75
|
- **Screens (`W-*`) & APIs (`API-*`)**: UI screens + API endpoints with legacy file paths (`ID → Legacy File Path`)
|
|
74
|
-
- **
|
|
76
|
+
- **User flows (`FLOW-*`)**: Multi-step business journeys — **classify every candidate** (see Rule: User flow discovery)
|
|
75
77
|
- **Common Candidates (`CMN-UI-*`, `CMN-API-*`, `CMN-DTO-*`)**: (If Common Analysis mode selected)
|
|
76
78
|
|
|
77
79
|
---
|
|
78
80
|
|
|
81
|
+
## Rule: User flow discovery (incl. cross-surface)
|
|
82
|
+
|
|
83
|
+
- **[MANDATORY]** Section **4. User flows (`FLOW-*`)** in `adoption-inventory.md` is **not optional** when the legacy scan finds any journey that spans **more than one screen** or **more than one deployable app/repo** in one business outcome.
|
|
84
|
+
- **[MANDATORY]** For each `FLOW-*`, assign a **placement tier** (target path in the **new** docs hub after `/legacy /user-flow`):
|
|
85
|
+
|
|
86
|
+
| Tier | Label | List under inventory subsection | New hub path |
|
|
87
|
+
| --- | --- | --- | --- |
|
|
88
|
+
| **A** | Cross-surface / org catalog | `### A — Cross-surface (org catalog)` | `architecture/03-user-flows/FLOW-*.md` |
|
|
89
|
+
| **B** | Surface-shared | `### B — Shared on one surface` | `surfaces/<surface>/common/user-flows/FLOW-*.md` |
|
|
90
|
+
| **C** | Module / cluster | `### C — Module or cluster scope` | `surfaces/.../CMP-*/common/user-flows/` (or `…/<NN>/common/user-flows/`) |
|
|
91
|
+
| **D** | (omit) | — | Single `W-*` only — **no** `FLOW-*` |
|
|
92
|
+
|
|
93
|
+
- **[MANDATORY]** Each `FLOW-*` bullet MUST state: **surfaces + CMPs involved**, **ordered steps** (`W-*` / `API-*` or legacy route names), **legacy evidence paths** (routers, orchestrators, saga/worker, shared tokens), **tier A/B/C**.
|
|
94
|
+
- **[MANDATORY]** **Cross-surface (tier A)** examples: checkout/payment across customer web + admin ops; partner webhook + internal portal; SSO/login handoff across two SPAs in different legacy repos; order fulfillment touching warehouse API + customer notification app.
|
|
95
|
+
- **[STRICTLY FORBIDDEN]** Listing only `W-*`/`API-*` while ignoring obvious multi-app journeys (tier A/B/C) — Tier 2 audit (`/legacy /user-flow`) depends on this index.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
79
99
|
## Rule: ID Standardization
|
|
80
100
|
|
|
101
|
+
- **[MANDATORY]** Follow `.cursor/extracts/product-id-convention.md` — declare `surfaceCode` per surface; `CMP-{SURF}-{DOMAIN}-{NN}`, `W-{SURF}-{DOMAIN}-{NN}`, `API-{SURF}-{DOMAIN}-{NN}` (duplicate capability across surfaces ⇒ distinct IDs).
|
|
81
102
|
- **[MANDATORY]** All items MUST use standardized IDs: `CMP-*`, `W-*`, `API-*`, `FLOW-*`, `CMN-UI-*`, `CMN-API-*`, `CMN-DTO-*`.
|
|
82
103
|
- **[MANDATORY]** Every ID MUST map to its corresponding legacy file or directory path.
|
|
83
|
-
- ✅ `W-
|
|
104
|
+
- ✅ `W-ADM-AUTH-01: Login → admin-fe/src/pages/Login.tsx`
|
|
84
105
|
- ✅ `CMN-UI-001: Filter Toolbar → duplicated in admin-fe/src/pages/Orders.tsx, Users.tsx`
|
|
85
106
|
|
|
86
107
|
---
|
|
@@ -96,15 +117,25 @@ extractBundle: architecture-core
|
|
|
96
117
|
- **Admin Portal** (`surfaces/admin`) → Legacy repo: `admin-fe`
|
|
97
118
|
|
|
98
119
|
## 2. Modules Catalog (`CMP-*`)
|
|
99
|
-
- **CMP-ADM-
|
|
120
|
+
- **CMP-ADM-AUTH-01**: Auth & Identity Management → Legacy: `admin-fe/src/modules/auth/`
|
|
100
121
|
|
|
101
122
|
## 3. Screens & API Function Inventory (`W-*`, `API-*`)
|
|
102
|
-
### Admin Portal (`surfaces/admin/CMP-ADM-
|
|
103
|
-
- **W-
|
|
123
|
+
### Admin Portal (`surfaces/admin/CMP-ADM-AUTH-01`)
|
|
124
|
+
- **W-ADM-AUTH-01**: Login → Legacy: `admin-fe/src/pages/Login.tsx`
|
|
104
125
|
- **API-ADM-AUTH-01**: Auth Services → Legacy: `auth-service/src/controllers/AuthController.java`
|
|
105
126
|
|
|
106
|
-
## 4.
|
|
107
|
-
|
|
127
|
+
## 4. User flows (`FLOW-*`)
|
|
128
|
+
|
|
129
|
+
### A — Cross-surface (org catalog) → `architecture/03-user-flows/`
|
|
130
|
+
- **FLOW-checkout**: Checkout & payment — Surfaces: `customer-web` (`CMP-CUS-CART-01`), `admin` (`CMP-ADM-ORD-01`) — Steps: cart `W-CUS-CART-01` → pay `API-CUS-PAY-01` → ops `W-ADM-ORD-01` — Legacy: `customer-fe/src/routes/checkout/*`, `admin-fe/src/pages/Orders.tsx`, `payment-svc/...` — Tier: **A**
|
|
131
|
+
|
|
132
|
+
### B — Shared on one surface → `surfaces/<surface>/common/user-flows/`
|
|
133
|
+
- **FLOW-onboard-admin**: Admin onboarding — Surface: `admin` only — CMPs: `CMP-ADM-AUTH-01`, `CMP-ADM-USR-01` — Steps: … — Legacy: … — Tier: **B**
|
|
134
|
+
|
|
135
|
+
### C — Module / cluster scope → `…/CMP-*/common/user-flows/`
|
|
136
|
+
- **FLOW-password-reset**: Reset password — Surface: `admin` — CMP: `CMP-ADM-AUTH-01` — Steps: … — Legacy: … — Tier: **C**
|
|
137
|
+
|
|
138
|
+
> If no multi-step journeys found, write: `_(none detected — screen-only inventory in §3)_`
|
|
108
139
|
|
|
109
140
|
## 5. Common Catalog Candidates (Anti-Copy-Paste Guard)
|
|
110
141
|
> **Purpose**: Reuse for specs and code of new features / spec updates.
|
|
@@ -122,11 +153,11 @@ extractBundle: architecture-core
|
|
|
122
153
|
|
|
123
154
|
### ⚠️ Whole Page Duplication Warnings
|
|
124
155
|
> **Note**: Do not create `CMN-*` for full pages. Recommend consolidating into a single polymorphic spec (`mode: create | edit`).
|
|
125
|
-
- **W-
|
|
156
|
+
- **W-ADM-USR-01 (Create User)** & **W-ADM-USR-02 (Edit User)**: 95% identical → *Recommendation: Consolidate into single Form Spec `CMP-ADM-USR-FORM`*
|
|
126
157
|
|
|
127
158
|
---
|
|
128
159
|
## 6. Handoff Usage Guide
|
|
129
|
-
- `/legacy /spec W-
|
|
160
|
+
- `/legacy /spec W-ADM-AUTH-01` — spec a legacy screen (MUST reuse CMN-* if applicable)
|
|
130
161
|
- `/legacy /user-flow FLOW-checkout` — map a legacy flow
|
|
131
162
|
```
|
|
132
163
|
|
|
@@ -138,5 +169,6 @@ extractBundle: architecture-core
|
|
|
138
169
|
- [ ] Audit script run; index checked or gaps reported.
|
|
139
170
|
- [ ] `adoption-inventory.md` created directly at workspace root.
|
|
140
171
|
- [ ] All items use standardized `CMP-*`, `W-*`, `API-*`, `FLOW-*`, `CMN-*` IDs.
|
|
172
|
+
- [ ] Section 4 lists user flows with tier **A/B/C** when multi-step/cross-app journeys exist; tier **A** cross-surface rows are explicit.
|
|
141
173
|
- [ ] Common Catalog Candidates listed with source files if Common mode selected.
|
|
142
174
|
- [ ] Anti-Copy-Paste Guard enforced for new spec/code.
|
|
@@ -28,7 +28,7 @@ Shared extracts: `api-spec-sync.md`, `spec-evolution.md`, `entity-relationship.m
|
|
|
28
28
|
|
|
29
29
|
## Rule: ID Resolution & Folder Location
|
|
30
30
|
|
|
31
|
-
- **[MANDATORY]** If an ID is provided (e.g. `CMP-ADM-
|
|
31
|
+
- **[MANDATORY]** If an ID is provided (e.g. `CMP-ADM-AUTH-01-001`, `W-ADM-AUTH-01`) → use `flowgrid_docs_route` or glob to resolve to `…/api/<seq>/01-backend-spec.yaml`. Do NOT force user to provide full filesystem path.
|
|
32
32
|
- **[MANDATORY]** Trio lives under `api/<seq>/` — never adjacent to `*.bundle.yaml`.
|
|
33
33
|
- Common APIs: `…/common/yaml/<slug>/01-backend-spec.yaml` (one trio per API).
|
|
34
34
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: module
|
|
3
|
-
description: EXCLUSIVE /module — Handles business modules (CMP
|
|
3
|
+
description: EXCLUSIVE /module — Handles business modules (CMP-{SURF}-{DOMAIN}-{NN}). DO NOT output fake Markdown reports.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
extractBundle: architecture-core
|
|
6
6
|
---
|
|
@@ -85,9 +85,10 @@ Hub: [spec-ssot-prep.md](../../../docs/workflows/spec-ssot-prep.md) · extract `
|
|
|
85
85
|
|
|
86
86
|
## Rule: Target / ID Resolution
|
|
87
87
|
|
|
88
|
+
- **[MANDATORY]** Product IDs per `product-id-convention.md` (`surfaceCode`, `CMP-{SURF}-{DOMAIN}-{NN}`, `W-{SURF}-{DOMAIN}-{NN}`).
|
|
88
89
|
- **[MANDATORY]** Resolve screen ID, module ID, slug, or Draft ID before generating any file.
|
|
89
90
|
- Draft ID `1-1-2` → pad each segment → `01/01/02/`
|
|
90
|
-
- Bundle ID: module prefix + padded segments, e.g. `CMP-ADM-
|
|
91
|
+
- Bundle ID: module prefix + padded segments, e.g. `CMP-ADM-ORD-01` + `02-01-02` → `page-id: cmp-adm-ord-01-02-01-02`
|
|
91
92
|
- **[MANDATORY]** Search for input `.md` file at resolved path. If found, read it as primary requirement source — do NOT say "I cannot hallucinate" or ask user for input that is already present.
|
|
92
93
|
- **[STRICTLY FORBIDDEN]** Do NOT demand full filesystem path from user when ID or slug is given.
|
|
93
94
|
|
|
@@ -16,6 +16,7 @@ extractBundle: architecture-core
|
|
|
16
16
|
|
|
17
17
|
## Rule: Target Resolution
|
|
18
18
|
|
|
19
|
+
- **[MANDATORY]** On create: set `surfaceCode` (2–4 uppercase letters) in `surfaces/<slug>/index.md` frontmatter — SSOT for all `CMP-*` / `W-*` / `API-*` on this channel (`product-id-convention.md`).
|
|
19
20
|
- **[MANDATORY]** Use `flowgrid_docs_route` or `flowgrid_docs_get_element` (or glob) to resolve the target surface directory under `surfaces/[Surface Name]/`.
|
|
20
21
|
- **[STRICTLY FORBIDDEN]** Do NOT confuse an API with a surface. APIs belong to architecture containers or function-level API contracts.
|
|
21
22
|
|
|
@@ -14,7 +14,7 @@ disable-model-invocation: true
|
|
|
14
14
|
|
|
15
15
|
## Target / ID Resolution Rule
|
|
16
16
|
|
|
17
|
-
- User prompt MAY specify screen ID, function ID, or slug (e.g. `W-
|
|
17
|
+
- User prompt MAY specify screen ID, function ID, or slug (e.g. `W-ADM-AUTH-01`, `login`).
|
|
18
18
|
- **Read the entire `ir/design.yaml`** on the screen leaf (`…/CMP-*/<NN…>/ir/design.yaml`). Do **not** use `01-backend-spec.yaml` as FE input.
|
|
19
19
|
- Docs hub is **read-only**. Do not patch `*.bundle.yaml` or `ir/*`.
|
|
20
20
|
- Compare route + rendered UI to `ir/design.yaml` (actions, validation copy, states, testIds).
|
|
@@ -10,7 +10,7 @@ disable-model-invocation: true
|
|
|
10
10
|
|
|
11
11
|
## Artifact & Target ID Resolution Rule
|
|
12
12
|
|
|
13
|
-
- User prompt MAY specify a screen ID, function ID, or slug (e.g. `W-
|
|
13
|
+
- User prompt MAY specify a screen ID, function ID, or slug (e.g. `W-ADM-AUTH-01`, `login`).
|
|
14
14
|
- Agent MUST use `--id` or resolve `surfaces/<surface>/CMP-*/<NN…>/ir/design.yaml` via `FLOWGRID_DOCS_ROOT` or `flowgrid_docs_route` (same leaf as the bundle; API trio is sibling `api/<seq>/`, not this file).
|
|
15
15
|
- Shared UI (list shell, chips, delete flow, …) is **already in the FE base** — do not run `/gen-common` (deprecated).
|
|
16
16
|
- `surfaces/…/common/` on the docs hub is **Markdown only** (`processes/FLOW-*.md`, `patterns/`) — read for context; never codegen from `common/yaml`.
|
|
@@ -18,7 +18,7 @@ disable-model-invocation: true
|
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
20
|
surfaces/<surface>/CMP-*/<NN…>/ir/design.yaml
|
|
21
|
-
# e.g. …/CMP-ADM-
|
|
21
|
+
# e.g. …/CMP-ADM-DEMO-01/01/01/01/ir/design.yaml
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Read the **entire** `ir/design.yaml` (script + agent inspection). Do not filter keys from `*.bundle.yaml`. **`ir/spec.yaml`** is business prose only.
|
|
@@ -47,12 +47,12 @@ only.
|
|
|
47
47
|
## Workflow
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
npm run codegen:dry -- --id W-
|
|
51
|
-
npm run codegen -- --id W-
|
|
50
|
+
npm run codegen:dry -- --id W-ADM-AUTH-01
|
|
51
|
+
npm run codegen -- --id W-ADM-AUTH-01
|
|
52
52
|
|
|
53
53
|
# Fallback direct CLI if wrappers missing:
|
|
54
|
-
flowgrid gen:dry --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-
|
|
55
|
-
flowgrid gen --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-
|
|
54
|
+
flowgrid gen:dry --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-ADM-AUTH-01
|
|
55
|
+
flowgrid gen --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-ADM-AUTH-01
|
|
56
56
|
|
|
57
57
|
flowgrid gen:dry --adapter=nextjs -- --spec ir/design.yaml
|
|
58
58
|
flowgrid gen --adapter=nextjs -- --spec ir/design.yaml
|
|
@@ -9,12 +9,12 @@ disable-model-invocation: true
|
|
|
9
9
|
**Owner:** bộ code (`--type=fe`)
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npm run codegen:unit:dry -- --id W-
|
|
13
|
-
npm run codegen:unit -- --id W-
|
|
12
|
+
npm run codegen:unit:dry -- --id W-ADM-AUTH-01
|
|
13
|
+
npm run codegen:unit -- --id W-ADM-AUTH-01
|
|
14
14
|
|
|
15
15
|
# Fallback direct CLI if wrappers missing:
|
|
16
|
-
flowgrid unit-gen:dry --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-
|
|
17
|
-
flowgrid unit-gen --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-
|
|
16
|
+
flowgrid unit-gen:dry --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-ADM-AUTH-01
|
|
17
|
+
flowgrid unit-gen --adapter=nuxt4 --docs-root=/path/to/docs-hub -- --id W-ADM-AUTH-01
|
|
18
18
|
flowgrid unit-registry --adapter=nuxt4
|
|
19
19
|
```
|
|
20
20
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> These are **PHYSICAL INTERLOCKS**, not casual reminders.
|
|
5
5
|
> Any violation of these laws → run **FAILED**. Chat-only "done" = **STRICTLY REJECTED**.
|
|
6
6
|
>
|
|
7
|
-
> Path SSOT: `surfaces/<surface>/CMP-*/<slug>/` (NO `modules/` segment).
|
|
7
|
+
> Path SSOT: `surfaces/<surface>/CMP-*/<slug>/` (NO `modules/` segment). Product IDs: `product-id-convention.md` (`surfaceCode`, `CMP-{SURF}-{DOMAIN}-{NN}`, `W-{SURF}-{DOMAIN}-{NN}`).
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -21,7 +21,7 @@ query a workspace-parent graph.
|
|
|
21
21
|
|
|
22
22
|
## Target / ID Resolution Rule
|
|
23
23
|
|
|
24
|
-
- User prompt MAY specify a screen ID, module ID, or short slug (e.g. `W-
|
|
24
|
+
- User prompt MAY specify a screen ID, module ID, or short slug (e.g. `W-ADM-AUTH-01`, `CMP-ADM-AUTH-01`, `login`).
|
|
25
25
|
- **[MANDATORY]** Agent MUST use `flowgrid_docs_route` or `flowgrid_docs_get_element` (or glob search under `FLOWGRID_DOCS_ROOT` / `surfaces/...`) to resolve target paths.
|
|
26
26
|
- **[MANDATORY]** Read the entire function **`*.bundle.yaml`** (sibling of `ir/`). Cross-reference plans against bundle `userStories`, `acceptanceCriteria`, `spec.ui`, and `design.*` — not split IR files.
|
|
27
27
|
- If scenarios/acceptance are thin or missing → hand off docs-hub `/update-spec` or `/spec` (paste-ready prompt). Do not patch bundle from tests hub.
|
|
@@ -49,8 +49,8 @@ Mirror the FLOW file path onto the tests hub. Strip **only** these prefixes:
|
|
|
49
49
|
|
|
50
50
|
Examples:
|
|
51
51
|
|
|
52
|
-
- Docs `surfaces/admin/CMP-ADM-
|
|
53
|
-
- Docs `surfaces/admin/CMP-ADM-
|
|
52
|
+
- Docs `surfaces/admin/CMP-ADM-ORD-01/02/common/user-flows/FLOW-checkout.md` → `scenarios/admin/CMP-ADM-ORD-01/02/common/user-flows/FLOW-checkout/SC-*.yaml`
|
|
53
|
+
- Docs `surfaces/admin/CMP-ADM-ORD-01/common/user-flows/FLOW-onboard.md` → `scenarios/admin/CMP-ADM-ORD-01/common/user-flows/FLOW-onboard/SC-*.yaml`
|
|
54
54
|
|
|
55
55
|
Do **not** flatten to `scenarios/auth/…`. Do **not** use `common/` (legacy). Keep numeric cluster folders (`02/`) in the tests path.
|
|
56
56
|
|
|
@@ -49,7 +49,7 @@ disable-model-invocation: true
|
|
|
49
49
|
## Rule: Directory Mirroring (Docs SSOT)
|
|
50
50
|
|
|
51
51
|
- **[MANDATORY]** Mirror function folder: `cases/<relative-path>/TC-*.yaml`.
|
|
52
|
-
- ✅ `surfaces/admin/CMP-ADM-
|
|
52
|
+
- ✅ `surfaces/admin/CMP-ADM-ORD-01/02/01/login/` → `cases/admin/CMP-ADM-ORD-01/02/01/login/TC-*.yaml`
|
|
53
53
|
- ❌ `cases/admin/auth/W-…` — invented path not matching docs structure.
|
|
54
54
|
- Cross-flow plans → `/scenario` (mirror `common/user-flows/FLOW-*` or `architecture/03-user-flows/FLOW-*`).
|
|
55
55
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: SC-EXAMPLE
|
|
3
|
-
module: CMP-01
|
|
3
|
+
module: CMP-ADM-AUTH-01
|
|
4
4
|
surface: admin
|
|
5
|
-
screen: W-
|
|
5
|
+
screen: W-ADM-AUTH-01
|
|
6
6
|
screens:
|
|
7
|
-
- W-
|
|
7
|
+
- W-ADM-AUTH-01
|
|
8
8
|
rules:
|
|
9
9
|
- RUL-00-example
|
|
10
10
|
coverage_plan:
|
|
@@ -17,15 +17,15 @@ coverage_plan:
|
|
|
17
17
|
|
|
18
18
|
# SC-EXAMPLE — Xác Thực & Khởi Tạo Hồ Sơ Khách Hàng
|
|
19
19
|
|
|
20
|
-
Scenario thuộc **CMP-01
|
|
20
|
+
Scenario thuộc **CMP-ADM-AUTH-01** · Tính năng năng lực **CAP-AUTH-001**.
|
|
21
21
|
Quy tắc chi tiết và schema cơ sở dữ liệu tham chiếu tại **Docs Hub** (cite ID: `spec.yaml`).
|
|
22
22
|
|
|
23
23
|
| Attribute | Value |
|
|
24
24
|
| --- | --- |
|
|
25
25
|
| **Scenario ID** | `SC-EXAMPLE` |
|
|
26
|
-
| **Module** | `CMP-01
|
|
26
|
+
| **Module** | `CMP-ADM-AUTH-01` |
|
|
27
27
|
| **Surface** | `admin` |
|
|
28
|
-
| **Screen** | `W-
|
|
28
|
+
| **Screen** | `W-ADM-AUTH-01` (`/admin/records/create`) |
|
|
29
29
|
| **Priority** | `High` |
|
|
30
30
|
|
|
31
31
|
## 1. Business context & risk analysis
|
|
@@ -79,8 +79,8 @@ stateDiagram-v2
|
|
|
79
79
|
|
|
80
80
|
| Case ID | Facets | Priority | Tests hub path |
|
|
81
81
|
| --- | --- | --- | --- |
|
|
82
|
-
| `TC-EXAMPLE-VALID` | happy, boundary | Critical | `cases/admin/CMP-01
|
|
83
|
-
| `TC-EXAMPLE-INVALID` | validation, boundary | High | `cases/admin/CMP-01
|
|
84
|
-
| `TC-EXAMPLE-DUPLICATE` | concurrency, remote_unique | High | `cases/admin/CMP-01
|
|
85
|
-
| `TC-EXAMPLE-CONCURRENCY` | interaction, double_submit | High | `cases/admin/CMP-01
|
|
86
|
-
| `TC-EXAMPLE-OFFLINE` | reliability, offline_resilience | Medium | `cases/admin/CMP-01
|
|
82
|
+
| `TC-EXAMPLE-VALID` | happy, boundary | Critical | `cases/admin/CMP-ADM-AUTH-01/01/create/` |
|
|
83
|
+
| `TC-EXAMPLE-INVALID` | validation, boundary | High | `cases/admin/CMP-ADM-AUTH-01/01/create/` |
|
|
84
|
+
| `TC-EXAMPLE-DUPLICATE` | concurrency, remote_unique | High | `cases/admin/CMP-ADM-AUTH-01/01/create/` |
|
|
85
|
+
| `TC-EXAMPLE-CONCURRENCY` | interaction, double_submit | High | `cases/admin/CMP-ADM-AUTH-01/01/create/` |
|
|
86
|
+
| `TC-EXAMPLE-OFFLINE` | reliability, offline_resilience | Medium | `cases/admin/CMP-ADM-AUTH-01/01/create/` |
|
|
@@ -10,11 +10,11 @@ story: |
|
|
|
10
10
|
When thực hiện thao tác nhập liệu và nhấn lưu
|
|
11
11
|
Then hệ thống tạo mới thành công và chuyển trạng thái
|
|
12
12
|
refs:
|
|
13
|
-
module: CMP-01
|
|
13
|
+
module: CMP-ADM-AUTH-01
|
|
14
14
|
surface: admin
|
|
15
15
|
scenario: SC-EXAMPLE
|
|
16
16
|
example: EX-EXAMPLE-01
|
|
17
|
-
screen: W-
|
|
17
|
+
screen: W-ADM-AUTH-01
|
|
18
18
|
coverage: [happy, boundary, validation, concurrency, exception]
|
|
19
19
|
priority: high
|
|
20
20
|
automation: automated
|
|
@@ -123,7 +123,7 @@ testIds:
|
|
|
123
123
|
|
|
124
124
|
# Fill when bundle is available (required for `flowgrid cases:gate --strict`).
|
|
125
125
|
traceability:
|
|
126
|
-
bundleScreen: W-
|
|
126
|
+
bundleScreen: W-ADM-AUTH-01
|
|
127
127
|
bundleScenarios: []
|
|
128
128
|
acceptanceRefs: []
|
|
129
129
|
actionRefs:
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@ status: "approved"
|
|
|
18
18
|
* **Ma trận Vai trò & Quyền hạn:**
|
|
19
19
|
| Tác nhân (Actor) | Vai trò trong Quy trình | Quyền hạn trên Màn hình |
|
|
20
20
|
| :--- | :--- | :--- |
|
|
21
|
-
| **Quản trị viên (Admin)** | Đăng nhập tài khoản | Nhập thông tin trên `[W-
|
|
21
|
+
| **Quản trị viên (Admin)** | Đăng nhập tài khoản | Nhập thông tin trên `[W-ADM-AUTH-01]`, truy cập `[W-ADM-DASH-01]` |
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
@@ -26,8 +26,8 @@ status: "approved"
|
|
|
26
26
|
|
|
27
27
|
### Story 1: Xác thực & Truy cập Hệ thống (Primary Action Story)
|
|
28
28
|
> **Là một** Quản trị viên hệ thống,
|
|
29
|
-
> **Tôi muốn** nhập tên đăng nhập và mật khẩu hợp lệ trên màn hình đăng nhập `[W-
|
|
30
|
-
> **Để** hệ thống xác thực danh tính và cấp quyền truy cập vào trang tổng quan `[W-
|
|
29
|
+
> **Tôi muốn** nhập tên đăng nhập và mật khẩu hợp lệ trên màn hình đăng nhập `[W-ADM-AUTH-01]`,
|
|
30
|
+
> **Để** hệ thống xác thực danh tính và cấp quyền truy cập vào trang tổng quan `[W-ADM-DASH-01]`.
|
|
31
31
|
|
|
32
32
|
### Story 2: Xử lý Sai Thông tin & Khóa Tài khoản (Security Fallback Story)
|
|
33
33
|
> **Là một** Quản trị viên hệ thống,
|
|
@@ -55,11 +55,11 @@ status: "approved"
|
|
|
55
55
|
|
|
56
56
|
## 4. Step-by-step journey
|
|
57
57
|
|
|
58
|
-
### Chặng 1: Nhập thông tin trên `[W-
|
|
58
|
+
### Chặng 1: Nhập thông tin trên `[W-ADM-AUTH-01]`
|
|
59
59
|
1. **Thao tác:** Quản trị viên mở trang đăng nhập, điền `username` và `password`.
|
|
60
60
|
2. **Bấm "Đăng nhập":**
|
|
61
61
|
* Hệ thống kiểm tra xác thực thông tin đối soát với cơ sở dữ liệu tài khoản.
|
|
62
|
-
* **Nếu hợp lệ:** Khởi tạo phiên làm việc an toàn, điều hướng sang `[W-
|
|
62
|
+
* **Nếu hợp lệ:** Khởi tạo phiên làm việc an toàn, điều hướng sang `[W-ADM-DASH-01] Dashboard`.
|
|
63
63
|
* **Nếu sai thông tin:** Giữ nguyên màn hình đăng nhập, xóa trắng trường mật khẩu và hiển thị cảnh báo đỏ theo BR-03.
|
|
64
64
|
|
|
65
65
|
---
|
|
@@ -68,9 +68,9 @@ status: "approved"
|
|
|
68
68
|
|
|
69
69
|
| Bước trong User Story | Màn hình liên quan | Hành động trên Sequence Diagram | Thành phần kỹ thuật đảm nhiệm |
|
|
70
70
|
| :--- | :--- | :--- | :--- |
|
|
71
|
-
| **Story 1 (Đăng nhập)** | `[W-
|
|
72
|
-
| **Story 1 (Điều hướng)** | `[W-
|
|
73
|
-
| **Story 2 (Sai mật khẩu)** | `[W-
|
|
71
|
+
| **Story 1 (Đăng nhập)** | `[W-ADM-AUTH-01]` | `Admin ->> W_Auth ->> Core: Xác thực` | Auth Service, User Table |
|
|
72
|
+
| **Story 1 (Điều hướng)** | `[W-ADM-DASH-01]` | `W_Auth -->> W_Dash: Mở Dashboard` | Router & Session Storage |
|
|
73
|
+
| **Story 2 (Sai mật khẩu)** | `[W-ADM-AUTH-01]` | `W_Auth -->> Admin: Báo lỗi` | Form State & Error Alert |
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
@@ -80,10 +80,10 @@ status: "approved"
|
|
|
80
80
|
sequenceDiagram
|
|
81
81
|
autonumber
|
|
82
82
|
actor Admin as Quản trị viên
|
|
83
|
-
participant W_Auth as [W-
|
|
83
|
+
participant W_Auth as [W-ADM-AUTH-01] Màn hình Đăng nhập
|
|
84
84
|
participant Core as Dịch vụ Xác thực (Auth Service)
|
|
85
85
|
participant Storage as Cơ sở dữ liệu Người dùng
|
|
86
|
-
participant W_Dash as [W-
|
|
86
|
+
participant W_Dash as [W-ADM-DASH-01] Bàn làm việc (Dashboard)
|
|
87
87
|
|
|
88
88
|
Admin->>W_Auth: 1. Mở trang đăng nhập
|
|
89
89
|
Admin->>W_Auth: 2. Nhập tên tài khoản, mật khẩu & bấm "Đăng nhập"
|
|
@@ -12,7 +12,7 @@ High-level approach: docs hub as arc42 TOC + C4 views; product Code under `CMP-*
|
|
|
12
12
|
|-------|----------|
|
|
13
13
|
| Docs structure | [ADR-001](../09-decisions/ADR-001-arc42-toc) — arc42 TOC over flat C4 folders |
|
|
14
14
|
| Admin runtime | Admin Web + Admin API ([§07](../07-deployment/)) |
|
|
15
|
-
| Auth entry | [CMP-01](/surfaces/CMP-01
|
|
15
|
+
| Auth entry | [CMP-ADM-AUTH-01](/surfaces/admin/CMP-ADM-AUTH-01/) · [FLOW-login](../03-user-flows/FLOW-login) |
|
|
16
16
|
|
|
17
17
|
Further ADRs land in [§09](../09-decisions/).
|
|
18
18
|
|
|
@@ -9,8 +9,9 @@ status: active
|
|
|
9
9
|
| `LND-*` | Landscape |
|
|
10
10
|
| `DEP-*` | Deployment node |
|
|
11
11
|
| `CTR-*` | Container |
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
12
|
+
| `surfaceCode` | 2–4 letter token on `surfaces/*/index.md` — embedded in all product IDs on that channel |
|
|
13
|
+
| `CMP-*` | Component (product) — folder name = id, pattern `CMP-{SURF}-{DOMAIN}-{NN}` |
|
|
14
|
+
| `W-*` / `API-*` | Screen / API — `W-{SURF}-{DOMAIN}-{NN}` (globally unique) |
|
|
14
15
|
| `FLOW-*` | Product journey (runtime) |
|
|
15
16
|
| `DEP-*` | Deployment (optional) |
|
|
16
17
|
| `ADR-*` | Architecture decision |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Structurizr DSL — pilot skeleton (Phase B).
|
|
3
3
|
* SSOT for prose/IDs remains MD under architecture/ + surfaces/ (see MODEL.md).
|
|
4
|
-
* IDs mirror docs hub: admin,
|
|
4
|
+
* IDs mirror docs hub: admin, CMP-ADM-AUTH-01, W-ADM-AUTH-01.
|
|
5
5
|
*/
|
|
6
6
|
workspace "base-docs platform" "arc42 × C4 pilot model" {
|
|
7
7
|
|
|
@@ -12,10 +12,10 @@ workspace "base-docs platform" "arc42 × C4 pilot model" {
|
|
|
12
12
|
|
|
13
13
|
admin = softwareSystem "Admin Product" "Admin product boundary" {
|
|
14
14
|
web = container "Admin Web" "Admin SPA / FE" "Nuxt/Next" {
|
|
15
|
-
auth = component "CMP-01
|
|
15
|
+
auth = component "CMP-ADM-AUTH-01" "Authentication module" "Vue/React"
|
|
16
16
|
}
|
|
17
17
|
api = container "Admin API" "Admin HTTP API" "Nest/FastAPI" {
|
|
18
|
-
authApi = component "
|
|
18
|
+
authApi = component "API-ADM-AUTH-01" "Auth endpoints" "Node"
|
|
19
19
|
}
|
|
20
20
|
db = container "Admin DB" "Storage" "PostgreSQL" "Database"
|
|
21
21
|
}
|
|
@@ -46,19 +46,19 @@ workspace "base-docs platform" "arc42 × C4 pilot model" {
|
|
|
46
46
|
autoLayout tb
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
component web "CMP-01-web" {
|
|
49
|
+
component web "CMP-ADM-AUTH-01-web" {
|
|
50
50
|
include *
|
|
51
51
|
autoLayout lr
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
component api "
|
|
54
|
+
component api "API-ADM-AUTH-01-api" {
|
|
55
55
|
include *
|
|
56
56
|
autoLayout lr
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
dynamic admin "FLOW-login" {
|
|
60
|
-
op -> web "Open login W-
|
|
61
|
-
web -> api "POST login API-
|
|
60
|
+
op -> web "Open login W-ADM-AUTH-01"
|
|
61
|
+
web -> api "POST login API-ADM-AUTH-01"
|
|
62
62
|
api -> idp "Validate credentials"
|
|
63
63
|
api -> web "session / token"
|
|
64
64
|
web -> op "Authenticated shell"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
id: CMP-
|
|
2
|
+
id: CMP-ADM-DOMAIN-01
|
|
3
3
|
title: "Module name"
|
|
4
4
|
status: draft
|
|
5
5
|
contentLocale: vi
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# CMP-
|
|
8
|
+
# CMP-ADM-DOMAIN-01 — [Name]
|
|
9
9
|
|
|
10
10
|
> Section titles are **English**. Prose uses `contentLocale` / `docs-hub.locale.yaml`.
|
|
11
11
|
|
|
@@ -288,7 +288,7 @@ actions:
|
|
|
288
288
|
trigger: button_click
|
|
289
289
|
apiRefs: [ feature.create ]
|
|
290
290
|
# tags: ["#reuse-api"]
|
|
291
|
-
# reuseFrom: surfaces/admin/CMP-01/
|
|
291
|
+
# reuseFrom: surfaces/admin/CMP-ADM-AUTH-01/01/01/01/api/01/01-backend-spec.yaml
|
|
292
292
|
onSuccess:
|
|
293
293
|
- Navigate to list page
|
|
294
294
|
- Show success toast "Created successfully"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Đặt `TC-*.yaml` mirror path function trên docs-hub (bỏ prefix `surfaces/`).
|
|
4
4
|
|
|
5
|
-
Ví dụ docs: `surfaces/admin/CMP-ADM-
|
|
5
|
+
Ví dụ docs: `surfaces/admin/CMP-ADM-ORD-01/02/01/login/` → `cases/admin/CMP-ADM-ORD-01/02/01/login/TC-*.yaml`
|
|
6
6
|
|
|
7
7
|
- SSOT ghi: `TC-*.yaml` (`schemaVersion: 2`) — copy mẫu từ `../_templates/TC.example.yaml` (init từ harness).
|
|
8
8
|
- SSOT đọc QA/Dev: `pnpm cases:render` → `TC-*.md` cùng thư mục — **không sửa tay** MD.
|