agentic-dev 0.2.4 → 0.2.7
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/.agent/prd.json +1 -1
- package/.agent/prompt.md +1 -1
- package/.claude/agents/db-dev.md +1 -1
- package/.claude/agents/frontend-dev.md +1 -1
- package/.claude/agents/test-dev.md +1 -1
- package/.claude/skills/sdd/SKILL.md +15 -10
- package/.claude/skills/sdd/references/section-map.md +5 -5
- package/.codex/skills/sdd/SKILL.md +15 -10
- package/.codex/skills/sdd/references/section-map.md +5 -5
- package/AGENTS.md +12 -4
- package/README.md +45 -12
- package/SDD_SKILL.md +7 -7
- package/bin/agentic-dev.mjs +53 -18
- package/client/admin/scripts/ui-parity-admin-adapter.mjs +1 -1
- package/client/landing/scripts/ui-parity-landing-adapter.mjs +1 -1
- package/client/mobile/scripts/ui-parity-mobile-adapter.mjs +1 -1
- package/client/web/scripts/ui-parity-web-adapter.mjs +1 -1
- package/lib/scaffold.mjs +254 -279
- package/package.json +2 -2
- package/sdd/02_plan/03_architecture/repository_governance.md +1 -1
- package/sdd/02_plan/03_architecture/runtime_and_structure_governance.md +1 -1
- package/sdd/02_plan/03_architecture/toolchain_governance.md +2 -2
- package/sdd/02_plan/06_iac/dev_runtime_delivery.md +1 -1
- package/sdd/02_plan/10_test/regression_verification.md +2 -2
- package/sdd/02_plan/10_test/templates/ui_parity_web_contract.template.yaml +1 -1
- package/sdd/02_plan/10_test/verification_strategy.md +2 -2
- package/sdd/03_build/03_architecture/toolchain_governance.md +1 -1
- package/sdd/{04_verify → 03_verify}/01_feature/service_verification.md +1 -1
- package/sdd/{04_verify → 03_verify}/02_screen/README.md +1 -1
- package/sdd/{04_verify → 03_verify}/03_architecture/toolchain_governance.md +2 -2
- package/sdd/{04_verify → 03_verify}/06_iac/dev_runtime_delivery.md +1 -1
- package/sdd/{04_verify → 03_verify}/06_iac/template_runtime_delivery.md +1 -1
- package/sdd/{04_verify → 03_verify}/README.md +3 -3
- package/sdd/99_toolchain/01_automation/README.md +2 -2
- package/sdd/99_toolchain/01_automation/agentic-dev/assets/repo-contract.template.json +5 -5
- package/sdd/99_toolchain/01_automation/agentic-dev/bootstrap_frontend_parity.sh +1 -1
- package/sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json +6 -6
- package/sdd/99_toolchain/01_automation/agentic-parity-harness-design.md +4 -4
- package/sdd/99_toolchain/01_automation/parity-execution-tooling-design.md +3 -3
- package/sdd/99_toolchain/01_automation/ui-parity/README.md +1 -1
- package/sdd/99_toolchain/01_automation/ui-parity/cli/materialize-reference-assets.mjs +1 -1
- package/sdd/99_toolchain/01_automation/ui-parity/cli/scaffold-contract.mjs +2 -2
- package/sdd/99_toolchain/01_automation/ui-parity/core/proof-runner.mjs +1 -1
- package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-artifact-layout.md +1 -1
- package/sdd/99_toolchain/02_policies/build-ast-governance-policy.md +2 -2
- package/sdd/99_toolchain/02_policies/compose-runtime-baseline-policy.md +2 -2
- package/sdd/99_toolchain/02_policies/regression-verification-policy.md +1 -1
- package/sdd/99_toolchain/README.md +1 -1
- package/sdd/README.md +1 -1
- /package/sdd/{04_verify → 03_verify}/01_feature/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/01_feature/domain_verification.md +0 -0
- /package/sdd/{04_verify → 03_verify}/02_screen/_screen_verify_template.md +0 -0
- /package/sdd/{04_verify → 03_verify}/02_screen/admin/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/02_screen/landing/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/02_screen/mobile/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/02_screen/web/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/03_architecture/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/03_architecture/architecture_document_governance.md +0 -0
- /package/sdd/{04_verify → 03_verify}/03_architecture/build_ast_runtime_tree_governance.md +0 -0
- /package/sdd/{04_verify → 03_verify}/03_architecture/repository_governance.md +0 -0
- /package/sdd/{04_verify → 03_verify}/06_iac/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/07_integration/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/07_integration/frontend_live_integration.md +0 -0
- /package/sdd/{04_verify → 03_verify}/08_nonfunctional/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/08_nonfunctional/repository_hygiene.md +0 -0
- /package/sdd/{04_verify → 03_verify}/10_test/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/10_test/regression_verification.md +0 -0
- /package/sdd/{04_verify → 03_verify}/10_test/ui_parity/README.md +0 -0
- /package/sdd/{04_verify → 03_verify}/10_test/ui_parity/loop_runs/.gitkeep +0 -0
- /package/sdd/{04_verify → 03_verify}/10_test/ui_parity/reference/.gitkeep +0 -0
- /package/sdd/{04_verify → 03_verify}/10_test/ui_parity/staged_runs/.gitkeep +0 -0
- /package/sdd/{04_verify → 03_verify}/10_test/verification_harness.md +0 -0
package/.agent/prd.json
CHANGED
package/.agent/prompt.md
CHANGED
|
@@ -6,7 +6,7 @@ Rules:
|
|
|
6
6
|
3. Lock one reproduction or validation command before editing.
|
|
7
7
|
4. Make one focused change set toward the requested story.
|
|
8
8
|
5. Re-run the requested validation commands immediately.
|
|
9
|
-
6. Update the matching `sdd/02_plan`, `sdd/03_build`, and `sdd/
|
|
9
|
+
6. Update the matching `sdd/02_plan`, `sdd/03_build`, and `sdd/03_verify` current-state artifacts when scope changes.
|
|
10
10
|
7. Update `.agent/prd.json` story status and append one short line to `.agent/progress.txt`.
|
|
11
11
|
8. Stop after this iteration and report:
|
|
12
12
|
- story id
|
package/.claude/agents/db-dev.md
CHANGED
|
@@ -23,4 +23,4 @@ Focus:
|
|
|
23
23
|
Rules:
|
|
24
24
|
- Keep template defaults generic.
|
|
25
25
|
- Separate persistence concerns from domain logic.
|
|
26
|
-
- Document backend data surface changes in `sdd/04_data`, `06_iac`, `
|
|
26
|
+
- Document backend data surface changes in `sdd/04_data`, `06_iac`, `03_verify`.
|
|
@@ -22,4 +22,4 @@ Focus:
|
|
|
22
22
|
Rules:
|
|
23
23
|
- Preserve runtime tree readability from `main.tsx` down to route leaves.
|
|
24
24
|
- Prefer product-grade patterns over placeholder scaffolds.
|
|
25
|
-
- Record UI structure changes in `sdd/03_build` and `
|
|
25
|
+
- Record UI structure changes in `sdd/03_build` and `03_verify`.
|
|
@@ -22,5 +22,5 @@ Focus:
|
|
|
22
22
|
|
|
23
23
|
Rules:
|
|
24
24
|
- Verify direct, upstream, downstream, and shared surfaces when applicable.
|
|
25
|
-
- Keep validation evidence in `sdd/
|
|
25
|
+
- Keep validation evidence in `sdd/03_verify`.
|
|
26
26
|
- Treat missing automation as a documented gap, not a silent skip.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd
|
|
3
|
-
description: "Use for any software development request in a repository that treats `sdd/` as the canonical delivery system. Trigger on requests like develop, implement, build, code, work on, modify, fix, patch, refactor, test, verify, deploy, monitor, or screen/UI-driven prompts such as 화면명세서, 화면설계서, 화면 설계, 화면, 화면 스펙, UI, 디자인, 디자인 가이드, screen spec, screen design, or design guide. The workflow is always SDD-first: inspect and update `sdd/01_planning`, create or update the task plan under `sdd/02_plan`, implement the change, record execution in `sdd/03_build`, capture validation in `sdd/
|
|
3
|
+
description: "Use for any software development request in a repository that treats `sdd/` as the canonical delivery system. Trigger on requests like develop, implement, build, code, work on, modify, fix, patch, refactor, test, verify, deploy, monitor, or screen/UI-driven prompts such as 화면명세서, 화면설계서, 화면 설계, 화면, 화면 스펙, UI, 디자인, 디자인 가이드, screen spec, screen design, or design guide. The workflow is always SDD-first: inspect and update `sdd/01_planning`, create or update the task plan under `sdd/02_plan`, implement the change, record execution in `sdd/03_build`, capture validation in `sdd/03_verify`, and record deployment or monitoring in `sdd/05_operate` when rollout happens."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SDD Development
|
|
@@ -14,24 +14,25 @@ This skill enforces one workflow:
|
|
|
14
14
|
2. create or update the task plan under `sdd/02_plan/<section>/`,
|
|
15
15
|
3. perform the code work,
|
|
16
16
|
4. record the current implementation summary in `sdd/03_build`,
|
|
17
|
-
5. record the current retained verification summary in `sdd/
|
|
17
|
+
5. record the current retained verification summary in `sdd/03_verify`,
|
|
18
18
|
6. record deployment and monitoring outcomes in `sdd/05_operate` when rollout happens.
|
|
19
19
|
|
|
20
20
|
When rollout is explicitly in scope, and the repository has separate DEV and PROD environments, this skill enforces a staged release rule: deploy to DEV first, complete the retained full-layer validation surface there, promote to PROD only after DEV passes, then rerun the same retained validation surface in PROD. If PROD validation fails, rollback is required unless the user explicitly redirects and that risk is recorded.
|
|
21
21
|
For persistence-affecting work, this skill also enforces schema-parity verification. Always compare migration or model intent against the real DEV and PROD schema state for the affected database objects instead of assuming deployed reality matches the code.
|
|
22
|
+
Unless the user explicitly forbids it, durable work is not complete at code-edit state. Finish with a coherent git commit, push the retained result to the configured remote, and if the repository ships an installable package or CLI, publish the new version and verify the registry reflects it.
|
|
22
23
|
|
|
23
24
|
Read [references/section-map.md](references/section-map.md) when you need the exact destination inside `sdd/`.
|
|
24
25
|
For screen-spec-driven UI work, reusable static assets from the spec must be extracted through the repo's canonical asset builder before being used in code.
|
|
25
26
|
For screen-spec-driven layout work, inspect the repo's canonical design guide builder first when one exists.
|
|
26
27
|
For local screen exactness, treat the repo's Playwright exactness runner and suite registry as the canonical automation gate when they exist.
|
|
27
|
-
For verification work, treat regression scope selection as a required retained artifact and carry it through `sdd/02_plan`, `sdd/03_build`, and `sdd/
|
|
28
|
+
For verification work, treat regression scope selection as a required retained artifact and carry it through `sdd/02_plan`, `sdd/03_build`, and `sdd/03_verify`.
|
|
28
29
|
Do not infer rollout scope from the existence of `sdd/05_operate` alone; require rollout only when the user asks for deployment or the repo's current policy/plan makes rollout part of completion.
|
|
29
30
|
When a repo or team treats DEV deployment from `main` as the completion bar, temporary branches or worktrees are only working space. Before calling the task deployed, land the final retained change on `main` and push `origin/main`.
|
|
30
31
|
|
|
31
32
|
## When To Use
|
|
32
33
|
|
|
33
34
|
Use this skill when:
|
|
34
|
-
- the repository has `sdd/01_planning`, `02_plan`, `03_build`, `
|
|
35
|
+
- the repository has `sdd/01_planning`, `02_plan`, `03_build`, `03_verify`, `05_operate`,
|
|
35
36
|
- the user gives a development instruction such as `개발해`, `작업해`, `구현해`, `수정해`, `고쳐`, `리팩토링해`, `테스트해`, `배포해`,
|
|
36
37
|
- the user asks for screen/UI work with prompts such as `화면명세서`, `화면설계서`, `화면 설계`, `화면`, `화면 스펙`, `UI`, `디자인`, `디자인 가이드`, `screen spec`, `screen design`, or `design guide`,
|
|
37
38
|
- the user wants work to be traceable through those folders,
|
|
@@ -91,7 +92,7 @@ Do not use this skill for:
|
|
|
91
92
|
- Reusable asset planning records belong under `sdd/01_planning/02_screen/assets/`.
|
|
92
93
|
- Build the runtime asset from the approved PDF/image source instead of hand-tracing or screenshot-cropping it.
|
|
93
94
|
- Use exact verification such as `--verify-exact` when the asset is expected to match the source crop exactly.
|
|
94
|
-
- Record the source, manifest, generated asset path, and any exception in `sdd/03_build` and `sdd/
|
|
95
|
+
- Record the source, manifest, generated asset path, and any exception in `sdd/03_build` and `sdd/03_verify`.
|
|
95
96
|
- Only fall back to manual recreation when the builder cannot express the asset, and explicitly document that exception in the plan/build/verify trail.
|
|
96
97
|
- When the task depends on spacing, layout density, typography, color rhythm, or component hierarchy derived from a screen spec, inspect the repo's canonical design guide builder first.
|
|
97
98
|
- In repos created from this template, inspect `sdd/99_toolchain/01_automation/README.md` and use the actual builder, wrapper, or manifest that exists in the repo.
|
|
@@ -117,11 +118,11 @@ Do not use this skill for:
|
|
|
117
118
|
|
|
118
119
|
### 5. Record Verification
|
|
119
120
|
|
|
120
|
-
- Record retained verification status in `sdd/
|
|
121
|
+
- Record retained verification status in `sdd/03_verify`.
|
|
121
122
|
- Use:
|
|
122
|
-
- `
|
|
123
|
-
- `
|
|
124
|
-
- `
|
|
123
|
+
- `03_verify/01_feature` for feature verification summaries
|
|
124
|
+
- `03_verify/02_screen` for screen verification summaries
|
|
125
|
+
- `03_verify/03_architecture`, `06_iac`, `10_test` for current retained checks and residual risk
|
|
125
126
|
- Never claim completion without command-level validation evidence.
|
|
126
127
|
- For staged DEV -> PROD rollout, verification must use the same retained full-layer validation surface in both environments.
|
|
127
128
|
- Run the full-layer validation in DEV after deployment and treat it as a hard gate before PROD promotion.
|
|
@@ -155,6 +156,8 @@ Do not use this skill for:
|
|
|
155
156
|
- Do not create or repopulate a parallel `docs/` tree when `sdd/` exists.
|
|
156
157
|
- Do not skip planning review just because the code change looks small.
|
|
157
158
|
- Do not leave build, verify, or operate evidence only in chat text when it should live in `sdd/`.
|
|
159
|
+
- Do not stop after local edits when durable changes remain; commit and push are the default completion bar unless the user explicitly forbids them.
|
|
160
|
+
- Do not leave a publishable package or CLI unpublished after changing shipped behavior or instructions unless the user explicitly forbids publish.
|
|
158
161
|
- When PROD rollout is in scope, do not promote to PROD before the retained full-layer DEV validation surface has passed.
|
|
159
162
|
- When PROD rollout is in scope, do not use a weaker PROD validation surface than the one that gated DEV unless the user explicitly approves and that risk is recorded.
|
|
160
163
|
- When PROD rollout is in scope, do not stop at "PROD deployment succeeded"; post-deploy PROD validation is mandatory.
|
|
@@ -175,7 +178,9 @@ By the end of an implementation task, the expected trail is:
|
|
|
175
178
|
- plan file updated,
|
|
176
179
|
- build summary written,
|
|
177
180
|
- verification summary written, including selected regression scope and residual risk,
|
|
178
|
-
- operate status updated if rollout occurred
|
|
181
|
+
- operate status updated if rollout occurred,
|
|
182
|
+
- coherent git commit created and pushed,
|
|
183
|
+
- publishable package/CLI인 경우 registry publish and latest verification completed unless the user explicitly forbade it.
|
|
179
184
|
|
|
180
185
|
When PROD rollout is in scope, the retained completion state also requires:
|
|
181
186
|
- DEV deployment happened first and the retained full-layer DEV validation surface passed,
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
|
|
44
44
|
## Verify
|
|
45
45
|
|
|
46
|
-
- `sdd/
|
|
46
|
+
- `sdd/03_verify/01_feature`
|
|
47
47
|
- feature verification summaries
|
|
48
|
-
- `sdd/
|
|
48
|
+
- `sdd/03_verify/02_screen`
|
|
49
49
|
- screen verification summaries
|
|
50
|
-
- `sdd/
|
|
50
|
+
- `sdd/03_verify/03_architecture`
|
|
51
51
|
- governance and structure verification summaries
|
|
52
|
-
- `sdd/
|
|
52
|
+
- `sdd/03_verify/06_iac`
|
|
53
53
|
- delivery/runtime verification summaries
|
|
54
|
-
- `sdd/
|
|
54
|
+
- `sdd/03_verify/10_test`
|
|
55
55
|
- current harness outputs and retained validation references
|
|
56
56
|
|
|
57
57
|
## Operate
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd
|
|
3
|
-
description: "Use for any software development request in a repository that treats `sdd/` as the canonical delivery system. Trigger on requests like develop, implement, build, code, work on, modify, fix, patch, refactor, test, verify, deploy, monitor, or screen/UI-driven prompts such as 화면명세서, 화면설계서, 화면 설계, 화면, 화면 스펙, UI, 디자인, 디자인 가이드, screen spec, screen design, or design guide. The workflow is always SDD-first: inspect and update `sdd/01_planning`, create or update the task plan under `sdd/02_plan`, implement the change, record execution in `sdd/03_build`, capture validation in `sdd/
|
|
3
|
+
description: "Use for any software development request in a repository that treats `sdd/` as the canonical delivery system. Trigger on requests like develop, implement, build, code, work on, modify, fix, patch, refactor, test, verify, deploy, monitor, or screen/UI-driven prompts such as 화면명세서, 화면설계서, 화면 설계, 화면, 화면 스펙, UI, 디자인, 디자인 가이드, screen spec, screen design, or design guide. The workflow is always SDD-first: inspect and update `sdd/01_planning`, create or update the task plan under `sdd/02_plan`, implement the change, record execution in `sdd/03_build`, capture validation in `sdd/03_verify`, and record deployment or monitoring in `sdd/05_operate` when rollout happens."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SDD Development
|
|
@@ -14,24 +14,25 @@ This skill enforces one workflow:
|
|
|
14
14
|
2. create or update the task plan under `sdd/02_plan/<section>/`,
|
|
15
15
|
3. perform the code work,
|
|
16
16
|
4. record the current implementation summary in `sdd/03_build`,
|
|
17
|
-
5. record the current retained verification summary in `sdd/
|
|
17
|
+
5. record the current retained verification summary in `sdd/03_verify`,
|
|
18
18
|
6. record deployment and monitoring outcomes in `sdd/05_operate` when rollout happens.
|
|
19
19
|
|
|
20
20
|
When rollout is explicitly in scope, and the repository has separate DEV and PROD environments, this skill enforces a staged release rule: deploy to DEV first, complete the retained full-layer validation surface there, promote to PROD only after DEV passes, then rerun the same retained validation surface in PROD. If PROD validation fails, rollback is required unless the user explicitly redirects and that risk is recorded.
|
|
21
21
|
For persistence-affecting work, this skill also enforces schema-parity verification. Always compare migration or model intent against the real DEV and PROD schema state for the affected database objects instead of assuming deployed reality matches the code.
|
|
22
|
+
Unless the user explicitly forbids it, durable work is not complete at code-edit state. Finish with a coherent git commit, push the retained result to the configured remote, and if the repository ships an installable package or CLI, publish the new version and verify the registry reflects it.
|
|
22
23
|
|
|
23
24
|
Read [references/section-map.md](references/section-map.md) when you need the exact destination inside `sdd/`.
|
|
24
25
|
For screen-spec-driven UI work, reusable static assets from the spec must be extracted through the repo's canonical asset builder before being used in code.
|
|
25
26
|
For screen-spec-driven layout work, inspect the repo's canonical design guide builder first when one exists.
|
|
26
27
|
For local screen exactness, treat the repo's Playwright exactness runner and suite registry as the canonical automation gate when they exist.
|
|
27
|
-
For verification work, treat regression scope selection as a required retained artifact and carry it through `sdd/02_plan`, `sdd/03_build`, and `sdd/
|
|
28
|
+
For verification work, treat regression scope selection as a required retained artifact and carry it through `sdd/02_plan`, `sdd/03_build`, and `sdd/03_verify`.
|
|
28
29
|
Do not infer rollout scope from the existence of `sdd/05_operate` alone; require rollout only when the user asks for deployment or the repo's current policy/plan makes rollout part of completion.
|
|
29
30
|
When a repo or team treats DEV deployment from `main` as the completion bar, temporary branches or worktrees are only working space. Before calling the task deployed, land the final retained change on `main` and push `origin/main`.
|
|
30
31
|
|
|
31
32
|
## When To Use
|
|
32
33
|
|
|
33
34
|
Use this skill when:
|
|
34
|
-
- the repository has `sdd/01_planning`, `02_plan`, `03_build`, `
|
|
35
|
+
- the repository has `sdd/01_planning`, `02_plan`, `03_build`, `03_verify`, `05_operate`,
|
|
35
36
|
- the user gives a development instruction such as `개발해`, `작업해`, `구현해`, `수정해`, `고쳐`, `리팩토링해`, `테스트해`, `배포해`,
|
|
36
37
|
- the user asks for screen/UI work with prompts such as `화면명세서`, `화면설계서`, `화면 설계`, `화면`, `화면 스펙`, `UI`, `디자인`, `디자인 가이드`, `screen spec`, `screen design`, or `design guide`,
|
|
37
38
|
- the user wants work to be traceable through those folders,
|
|
@@ -91,7 +92,7 @@ Do not use this skill for:
|
|
|
91
92
|
- Reusable asset planning records belong under `sdd/01_planning/02_screen/assets/`.
|
|
92
93
|
- Build the runtime asset from the approved PDF/image source instead of hand-tracing or screenshot-cropping it.
|
|
93
94
|
- Use exact verification such as `--verify-exact` when the asset is expected to match the source crop exactly.
|
|
94
|
-
- Record the source, manifest, generated asset path, and any exception in `sdd/03_build` and `sdd/
|
|
95
|
+
- Record the source, manifest, generated asset path, and any exception in `sdd/03_build` and `sdd/03_verify`.
|
|
95
96
|
- Only fall back to manual recreation when the builder cannot express the asset, and explicitly document that exception in the plan/build/verify trail.
|
|
96
97
|
- When the task depends on spacing, layout density, typography, color rhythm, or component hierarchy derived from a screen spec, inspect the repo's canonical design guide builder first.
|
|
97
98
|
- In repos created from this template, inspect `sdd/99_toolchain/01_automation/README.md` and use the actual builder, wrapper, or manifest that exists in the repo.
|
|
@@ -117,11 +118,11 @@ Do not use this skill for:
|
|
|
117
118
|
|
|
118
119
|
### 5. Record Verification
|
|
119
120
|
|
|
120
|
-
- Record retained verification status in `sdd/
|
|
121
|
+
- Record retained verification status in `sdd/03_verify`.
|
|
121
122
|
- Use:
|
|
122
|
-
- `
|
|
123
|
-
- `
|
|
124
|
-
- `
|
|
123
|
+
- `03_verify/01_feature` for feature verification summaries
|
|
124
|
+
- `03_verify/02_screen` for screen verification summaries
|
|
125
|
+
- `03_verify/03_architecture`, `06_iac`, `10_test` for current retained checks and residual risk
|
|
125
126
|
- Never claim completion without command-level validation evidence.
|
|
126
127
|
- For staged DEV -> PROD rollout, verification must use the same retained full-layer validation surface in both environments.
|
|
127
128
|
- Run the full-layer validation in DEV after deployment and treat it as a hard gate before PROD promotion.
|
|
@@ -155,6 +156,8 @@ Do not use this skill for:
|
|
|
155
156
|
- Do not create or repopulate a parallel `docs/` tree when `sdd/` exists.
|
|
156
157
|
- Do not skip planning review just because the code change looks small.
|
|
157
158
|
- Do not leave build, verify, or operate evidence only in chat text when it should live in `sdd/`.
|
|
159
|
+
- Do not stop after local edits when durable changes remain; commit and push are the default completion bar unless the user explicitly forbids them.
|
|
160
|
+
- Do not leave a publishable package or CLI unpublished after changing shipped behavior or instructions unless the user explicitly forbids publish.
|
|
158
161
|
- When PROD rollout is in scope, do not promote to PROD before the retained full-layer DEV validation surface has passed.
|
|
159
162
|
- When PROD rollout is in scope, do not use a weaker PROD validation surface than the one that gated DEV unless the user explicitly approves and that risk is recorded.
|
|
160
163
|
- When PROD rollout is in scope, do not stop at "PROD deployment succeeded"; post-deploy PROD validation is mandatory.
|
|
@@ -175,7 +178,9 @@ By the end of an implementation task, the expected trail is:
|
|
|
175
178
|
- plan file updated,
|
|
176
179
|
- build summary written,
|
|
177
180
|
- verification summary written, including selected regression scope and residual risk,
|
|
178
|
-
- operate status updated if rollout occurred
|
|
181
|
+
- operate status updated if rollout occurred,
|
|
182
|
+
- coherent git commit created and pushed,
|
|
183
|
+
- publishable package/CLI인 경우 registry publish and latest verification completed unless the user explicitly forbade it.
|
|
179
184
|
|
|
180
185
|
When PROD rollout is in scope, the retained completion state also requires:
|
|
181
186
|
- DEV deployment happened first and the retained full-layer DEV validation surface passed,
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
|
|
44
44
|
## Verify
|
|
45
45
|
|
|
46
|
-
- `sdd/
|
|
46
|
+
- `sdd/03_verify/01_feature`
|
|
47
47
|
- feature verification summaries
|
|
48
|
-
- `sdd/
|
|
48
|
+
- `sdd/03_verify/02_screen`
|
|
49
49
|
- screen verification summaries
|
|
50
|
-
- `sdd/
|
|
50
|
+
- `sdd/03_verify/03_architecture`
|
|
51
51
|
- governance and structure verification summaries
|
|
52
|
-
- `sdd/
|
|
52
|
+
- `sdd/03_verify/06_iac`
|
|
53
53
|
- delivery/runtime verification summaries
|
|
54
|
-
- `sdd/
|
|
54
|
+
- `sdd/03_verify/10_test`
|
|
55
55
|
- current harness outputs and retained validation references
|
|
56
56
|
|
|
57
57
|
## Operate
|
package/AGENTS.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
- 회귀 검수 범위는 `sdd/02_plan/10_test/regression_verification.md` 기준으로 direct, upstream, downstream, shared surface까지 선택한다.
|
|
12
12
|
- Playwright exactness suite가 있는 UI surface는 `sdd/99_toolchain/01_automation/run_playwright_exactness.py`를 canonical local gate로 사용한다.
|
|
13
13
|
- shared route, shell, auth/session, component, data contract, generated asset, builder output 변경은 adjacent consumer까지 검수 범위를 넓힌다.
|
|
14
|
-
- 선택한 회귀 범위, 생략 사유, residual risk는 `sdd/02_plan`, `sdd/03_build`, `sdd/
|
|
14
|
+
- 선택한 회귀 범위, 생략 사유, residual risk는 `sdd/02_plan`, `sdd/03_build`, `sdd/03_verify`에 current-state로 남긴다.
|
|
15
15
|
|
|
16
16
|
## Branch And Deploy Policy
|
|
17
17
|
|
|
@@ -25,6 +25,14 @@
|
|
|
25
25
|
- 완료된 work branch는 관련 정합성 체크가 끝나고 변경이 `main`과 `origin/main`에 안전하게 반영된 뒤 local/remote branch를 모두 삭제한다. 사용자가 branch 유지를 명시한 경우만 예외다.
|
|
26
26
|
- branch retire 전 최소 정합성 체크는 `관련 canonical 검증 명령 재실행`, `worktree clean 확인`, `최종 변경의 main 포함 여부 확인`이다.
|
|
27
27
|
|
|
28
|
+
## Completion And Release Policy
|
|
29
|
+
|
|
30
|
+
- 사용자가 명시적으로 금지하지 않는 한, durable 변경이 남은 agent 작업은 `commit -> push -> publish 가능한 패키지/CLI는 publish`까지 끝나야 완료로 간주한다.
|
|
31
|
+
- "설명만 하고 종료", "로컬 수정만 남기고 종료", "커밋 없이 종료", "원격 미반영 상태로 종료"는 기본 완료 상태가 아니다.
|
|
32
|
+
- npm package, 설치형 CLI, 배포 artifact처럼 사용자가 즉시 받는 deliverable을 가진 저장소는 변경 후 새 버전을 발행하고 registry 배포까지 확인한다.
|
|
33
|
+
- publish 가능한 저장소에서 publish를 생략할 수 있는 예외는 사용자가 그 turn에서 명시적으로 금지한 경우뿐이다.
|
|
34
|
+
- 완료 보고 전 최소 확인 항목은 `coherent commit 존재`, `원격 push 완료`, `publish 대상이면 registry 최신 반영 확인`이다.
|
|
35
|
+
|
|
28
36
|
## Runtime Naming Policy
|
|
29
37
|
|
|
30
38
|
- 문서/대화/로그에서 실행 환경은 항상 `DEV(개발계)`로 표기한다.
|
|
@@ -57,8 +65,8 @@
|
|
|
57
65
|
|
|
58
66
|
## SDD Verify Governance
|
|
59
67
|
|
|
60
|
-
- `sdd/
|
|
61
|
-
- screen verification summary는 `sdd/
|
|
68
|
+
- `sdd/03_verify`는 feature/screen/architecture/IAC/test별 current verification summary만 유지한다.
|
|
69
|
+
- screen verification summary는 `sdd/03_verify/02_screen/<service>/` 아래 screen-specific 파일로 유지한다.
|
|
62
70
|
- dated gate result나 test evidence log는 남기지 않는다.
|
|
63
71
|
|
|
64
72
|
## SDD Operate Governance
|
|
@@ -75,4 +83,4 @@
|
|
|
75
83
|
- `sdd/03_build`는 실행 이력 요약이 아니라 runtime assembly current-state 문서다.
|
|
76
84
|
- service/screen build summary는 `entry -> provider/router -> auth/session gate -> shell -> route leaf -> backend contract leaf` 순서를 우선 유지한다.
|
|
77
85
|
- `sdd/03_build`에는 dated history, Ralph iteration narrative, run id memo를 남기지 않는다.
|
|
78
|
-
- AST 기반 current-state 적합성은 `scripts/dev/audit_sdd_build_ast.py`와 `sdd/
|
|
86
|
+
- AST 기반 current-state 적합성은 `scripts/dev/audit_sdd_build_ast.py`와 `sdd/03_verify/03_architecture/build_ast_runtime_tree_governance.md`를 기준으로 관리한다.
|
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ SDD / delivery 원칙:
|
|
|
27
27
|
- 설계, 계획, 구현, 검증, 운영 문서는 모두 `sdd/`가 canonical root다.
|
|
28
28
|
- `sdd/`는 history 누적이 아니라 current-state durable 문서만 유지한다.
|
|
29
29
|
- `02_plan`은 에이전트의 현재 개발 계획을 관리하고, feature는 `<domain>_todos.md`, screen은 `<service>_todos.md`로 유지한다.
|
|
30
|
+
- retained verification summary는 `sdd/03_verify`를 canonical root로 사용한다.
|
|
30
31
|
- 템플릿 runtime baseline은 root `compose.yml` dev-focused stack이고, dedicated host용 DEV(개발계)/PROD compose overlay는 `infra/compose/`에 둔다.
|
|
31
32
|
- current canonical delivery split은 `AWS edge/domain -> OpenStack backend compute -> AWS data plane`이다.
|
|
32
33
|
- DEV(개발계) 반영이 필요한 작업은 `build -> main push -> DEV deploy -> DEV verify` 순서를 기본으로 사용한다.
|
|
@@ -42,20 +43,52 @@ SDD / delivery 원칙:
|
|
|
42
43
|
설치형 scaffold:
|
|
43
44
|
|
|
44
45
|
```bash
|
|
45
|
-
npx agentic-dev
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
npx agentic-dev
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
또는 비대화형으로:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx agentic-dev init my-app --template template-web
|
|
53
|
+
npx agentic-dev init my-app --template template-web --skip-bootstrap
|
|
52
54
|
```
|
|
53
55
|
|
|
56
|
+
설치 프로세스:
|
|
57
|
+
|
|
58
|
+
1. `npx agentic-dev` 또는 `npx agentic-dev init <dir>`
|
|
59
|
+
- 프로젝트 디렉터리를 입력받는다.
|
|
60
|
+
2. 공개 `say828/template-*` 레포 목록에서 템플릿을 선택한다.
|
|
61
|
+
- repo name 또는 숫자 선택을 모두 지원한다.
|
|
62
|
+
3. 선택한 template repo를 새 폴더로 clone/copy 한다.
|
|
63
|
+
- `template-*` 패턴이 아닌 값은 거부한다.
|
|
64
|
+
4. `.env.example`이 있으면 `.env`를 자동 생성한다.
|
|
65
|
+
5. `pnpm install`과 `pnpm exec playwright install chromium`을 자동 실행한다.
|
|
66
|
+
6. `npm run ui:parity:bootstrap`을 자동 실행한다.
|
|
67
|
+
- `--skip-bootstrap`을 주면 이 단계만 건너뛴다.
|
|
68
|
+
|
|
54
69
|
CLI가 하는 일:
|
|
55
70
|
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
71
|
+
- 공개 `say828/template-*` 레포를 GitHub API로 조회한다.
|
|
72
|
+
- 사용자 입력을 받아 template repo를 선택한다.
|
|
73
|
+
- 선택된 repo를 target directory에 설치하고 `.env`, dependencies, Chromium, bootstrap까지 자동 처리한다.
|
|
74
|
+
- invalid repo name이나 `template-*`가 아닌 값은 즉시 거부한다.
|
|
75
|
+
- `--skip-bootstrap`을 주면 설치까지만 하고 bootstrap은 멈춘다.
|
|
76
|
+
|
|
77
|
+
Parity 명령:
|
|
78
|
+
|
|
79
|
+
- `npm run ui:parity:init`
|
|
80
|
+
- repo contract alias, parity contract, route-gap 산출물을 초기화한다.
|
|
81
|
+
- `npm run ui:parity:bootstrap`
|
|
82
|
+
- `init -> build -> preview -> materialize reference -> plan_audit gate -> proof gate`를 한 번에 실행한다.
|
|
83
|
+
- `npm run ui:parity:proof`
|
|
84
|
+
- 기존 parity contract를 기준으로 proof만 다시 실행한다.
|
|
85
|
+
|
|
86
|
+
주요 parity 산출물:
|
|
87
|
+
|
|
88
|
+
- contract: `sdd/02_plan/10_test/templates/ui_parity_web_contract.yaml`
|
|
89
|
+
- route-gap report: `sdd/02_plan/99_generated/from_planning/ui_parity/`
|
|
90
|
+
- verification summary: `sdd/03_verify/10_test/ui_parity/`
|
|
91
|
+
- preview log: `sdd/03_verify/10_test/ui_parity/web-preview.log`
|
|
59
92
|
|
|
60
93
|
GitHub token 운영:
|
|
61
94
|
|
|
@@ -96,7 +129,7 @@ DB adapter 전환:
|
|
|
96
129
|
Agentic baseline:
|
|
97
130
|
|
|
98
131
|
- `.claude/agents/`: Claude role agent prompt surface
|
|
99
|
-
- `.claude/skills/sdd
|
|
100
|
-
- `.codex/skills/SKILL.md`:
|
|
132
|
+
- `.claude/skills/sdd`: Claude SDD canonical skill
|
|
133
|
+
- `.codex/skills/SKILL.md`: Codex root skill index
|
|
101
134
|
- `.codex/skills/sdd/`: Codex SDD canonical skill
|
|
102
135
|
- `.agent/ralph.sh`, `.agent/ralph-supervisor.sh`: bounded Ralph loop runner
|
package/SDD_SKILL.md
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
- 요구사항과 설계는 `sdd/01_planning`에서 확인한다.
|
|
22
22
|
- 지금 당장 수행 중인 작업 계획은 `sdd/02_plan`에 적는다.
|
|
23
23
|
- 실제 구현 결과는 `sdd/03_build`에 남긴다.
|
|
24
|
-
- 검증 근거와 residual risk는 `sdd/
|
|
24
|
+
- 검증 근거와 residual risk는 `sdd/03_verify`에 남긴다.
|
|
25
25
|
- 실제 배포와 운영 결과가 있었을 때만 `sdd/05_operate`를 갱신한다.
|
|
26
26
|
|
|
27
27
|
즉, 이 스킬의 핵심은 "코드 변경" 자체가 아니라 "코드 변경을 설명하고 검증 가능한 current-state trail"을 같이 만드는 것이다.
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
다음 조건이면 기본적으로 `sdd` 스킬 대상이다.
|
|
32
32
|
|
|
33
|
-
- 저장소가 `sdd/01_planning`, `02_plan`, `03_build`, `
|
|
33
|
+
- 저장소가 `sdd/01_planning`, `02_plan`, `03_build`, `03_verify`, `05_operate` 구조를 사용한다.
|
|
34
34
|
- 사용자가 구현, 수정, 리팩토링, 테스트, 배포, 화면 작업처럼 실제 개발 지시를 한다.
|
|
35
35
|
- 결과물이 코드 변경만으로 끝나면 안 되고, durable plan/build/verify 기록이 남아야 한다.
|
|
36
36
|
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
|
|
151
151
|
### 5. Verify 기록
|
|
152
152
|
|
|
153
|
-
`sdd/
|
|
153
|
+
`sdd/03_verify`는 단순히 "테스트 통과"를 적는 곳이 아니다. 어떤 검증을 했는지, 어떤 범위를 확인했는지, 무엇이 아직 residual risk인지 명확하게 남겨야 한다.
|
|
154
154
|
|
|
155
155
|
중요한 검증 규칙은 다음과 같다.
|
|
156
156
|
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
|
|
260
260
|
이 폴더의 역할은 "지금 구현이 어떤 상태인가"를 설명하는 것이다.
|
|
261
261
|
|
|
262
|
-
### `sdd/
|
|
262
|
+
### `sdd/03_verify`
|
|
263
263
|
|
|
264
264
|
검증 근거와 residual risk를 current-state로 남긴다.
|
|
265
265
|
|
|
@@ -297,7 +297,7 @@ section map은 단순 참고표가 아니라 "이번 작업이 어디에 기록
|
|
|
297
297
|
예를 들면 다음과 같다.
|
|
298
298
|
|
|
299
299
|
- 기능 요구사항이 바뀌면 `01_planning/01_feature`와 `02_plan/01_feature`를 본다.
|
|
300
|
-
- 화면 정렬이 핵심이면 `01_planning/02_screen`, `02_plan/02_screen`, `03_build/02_screen`, `
|
|
300
|
+
- 화면 정렬이 핵심이면 `01_planning/02_screen`, `02_plan/02_screen`, `03_build/02_screen`, `03_verify/02_screen` 축으로 간다.
|
|
301
301
|
- shared governance나 skill rule 정리는 `03_architecture` 축으로 간다.
|
|
302
302
|
- schema/API/integration 변화가 크면 data/api/integration planning과 verify를 함께 본다.
|
|
303
303
|
- rollout이 실제 범위면 `05_operate`까지 completion trail에 들어온다.
|
|
@@ -479,7 +479,7 @@ rollout이 범위일 때 보통 필요한 것은 다음이다.
|
|
|
479
479
|
- 관련 planning을 확인했음
|
|
480
480
|
- `sdd/02_plan`이 현재 작업 기준으로 갱신됨
|
|
481
481
|
- `sdd/03_build`가 구현 결과를 설명함
|
|
482
|
-
- `sdd/
|
|
482
|
+
- `sdd/03_verify`가 검증 근거와 residual risk를 설명함
|
|
483
483
|
- rollout이 실제로 있었다면 `sdd/05_operate`도 갱신됨
|
|
484
484
|
|
|
485
485
|
추가로 아래 조건이 붙을 수 있다.
|
|
@@ -508,7 +508,7 @@ rollout이 범위일 때 보통 필요한 것은 다음이다.
|
|
|
508
508
|
- asset recipe wrapper: `sdd/99_toolchain/01_automation/build_asset_recipes.py`
|
|
509
509
|
- screen spec generator: `sdd/99_toolchain/01_automation/build_screen_spec_pdf.py`
|
|
510
510
|
- capture tooling: `sdd/99_toolchain/01_automation/capture_screen_assets.mjs`
|
|
511
|
-
- verification harness baseline: `sdd/
|
|
511
|
+
- verification harness baseline: `sdd/03_verify/10_test/verification_harness.md`
|
|
512
512
|
- verification strategy baseline: `sdd/02_plan/10_test/verification_strategy.md`
|
|
513
513
|
- regression scope baseline: `sdd/02_plan/10_test/regression_verification.md`
|
|
514
514
|
|
package/bin/agentic-dev.mjs
CHANGED
|
@@ -4,17 +4,19 @@ import process from "node:process";
|
|
|
4
4
|
import { createInterface } from "node:readline/promises";
|
|
5
5
|
import {
|
|
6
6
|
ensureTargetDir,
|
|
7
|
-
|
|
7
|
+
fetchTemplateRepos,
|
|
8
|
+
installTemplateRepo,
|
|
8
9
|
parseArgs,
|
|
9
|
-
|
|
10
|
+
resolveTemplateRepo,
|
|
11
|
+
selectTemplateRepo,
|
|
10
12
|
usage,
|
|
11
|
-
validateTemplate,
|
|
12
13
|
} from "../lib/scaffold.mjs";
|
|
13
14
|
|
|
14
|
-
async function promptForMissing(options) {
|
|
15
|
+
async function promptForMissing(options, repos) {
|
|
15
16
|
if (options.yes && (!options.targetDir || !options.template)) {
|
|
16
|
-
throw new Error("`--yes` requires both target directory and template.");
|
|
17
|
+
throw new Error("`--yes` requires both target directory and template repo.");
|
|
17
18
|
}
|
|
19
|
+
|
|
18
20
|
if (options.targetDir && options.template) {
|
|
19
21
|
return options;
|
|
20
22
|
}
|
|
@@ -25,12 +27,31 @@ async function promptForMissing(options) {
|
|
|
25
27
|
});
|
|
26
28
|
|
|
27
29
|
try {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
while (!options.targetDir) {
|
|
31
|
+
const answer = await rl.question("Project directory: ");
|
|
32
|
+
options.targetDir = answer.trim();
|
|
33
|
+
if (!options.targetDir) {
|
|
34
|
+
console.log("Project directory cannot be empty.");
|
|
35
|
+
}
|
|
30
36
|
}
|
|
37
|
+
|
|
31
38
|
if (!options.template) {
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
console.log("");
|
|
40
|
+
console.log(`Public template repos from ${options.owner}:`);
|
|
41
|
+
repos.forEach((repo, index) => {
|
|
42
|
+
const summary = repo.description ? ` - ${repo.description}` : "";
|
|
43
|
+
console.log(` ${index + 1}. ${repo.name}${summary}`);
|
|
44
|
+
});
|
|
45
|
+
console.log("");
|
|
46
|
+
while (!options.template) {
|
|
47
|
+
const answer = await rl.question("Select template repo (number or repo name): ");
|
|
48
|
+
try {
|
|
49
|
+
options.template = selectTemplateRepo(answer, repos).name;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.log(error.message);
|
|
52
|
+
options.template = "";
|
|
53
|
+
}
|
|
54
|
+
}
|
|
34
55
|
}
|
|
35
56
|
} finally {
|
|
36
57
|
rl.close();
|
|
@@ -40,12 +61,20 @@ async function promptForMissing(options) {
|
|
|
40
61
|
}
|
|
41
62
|
|
|
42
63
|
function printSuccess(result) {
|
|
43
|
-
console.log(`Scaffolded agentic-dev template: ${result.template}`);
|
|
44
|
-
console.log(`Destination: ${result.destinationRoot}`);
|
|
45
64
|
console.log("");
|
|
46
|
-
console.log(
|
|
47
|
-
|
|
48
|
-
|
|
65
|
+
console.log(`Initialized template repo: ${result.templateRepo}`);
|
|
66
|
+
console.log(`Destination: ${result.destinationRoot}`);
|
|
67
|
+
if (result.executedSteps.length > 0) {
|
|
68
|
+
console.log("Completed:");
|
|
69
|
+
for (const step of result.executedSteps) {
|
|
70
|
+
console.log(` ${step}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (result.nextSteps.length > 0) {
|
|
74
|
+
console.log("Next steps:");
|
|
75
|
+
for (const step of result.nextSteps) {
|
|
76
|
+
console.log(` ${step}`);
|
|
77
|
+
}
|
|
49
78
|
}
|
|
50
79
|
}
|
|
51
80
|
|
|
@@ -80,12 +109,18 @@ async function main() {
|
|
|
80
109
|
}
|
|
81
110
|
|
|
82
111
|
try {
|
|
83
|
-
|
|
84
|
-
|
|
112
|
+
const repos = await fetchTemplateRepos({ owner: options.owner });
|
|
113
|
+
if (repos.length === 0) {
|
|
114
|
+
throw new Error(`No public template-* repos found for ${options.owner}.`);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
options = await promptForMissing(options, repos);
|
|
118
|
+
const selectedRepo = resolveTemplateRepo(options.template, repos);
|
|
85
119
|
const destinationRoot = ensureTargetDir(options.targetDir, { force: options.force });
|
|
86
|
-
const result =
|
|
120
|
+
const result = installTemplateRepo({
|
|
87
121
|
destinationRoot: path.resolve(destinationRoot),
|
|
88
|
-
|
|
122
|
+
templateRepo: selectedRepo,
|
|
123
|
+
skipBootstrap: options.skipBootstrap,
|
|
89
124
|
});
|
|
90
125
|
printSuccess(result);
|
|
91
126
|
} catch (error) {
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
id: screen.id,
|
|
24
24
|
title: screen.title,
|
|
25
25
|
route: routeMap.get(screen.id) ?? "/",
|
|
26
|
-
referenceImage: `sdd/
|
|
26
|
+
referenceImage: `sdd/03_verify/10_test/ui_parity/reference/${screen.id}.png`,
|
|
27
27
|
readySelector: "body",
|
|
28
28
|
readyTimeoutMs: 10000,
|
|
29
29
|
tags: ["template", "admin"],
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
id: screen.id,
|
|
24
24
|
title: screen.title,
|
|
25
25
|
route: routeMap.get(screen.id) ?? "/",
|
|
26
|
-
referenceImage: `sdd/
|
|
26
|
+
referenceImage: `sdd/03_verify/10_test/ui_parity/reference/${screen.id}.png`,
|
|
27
27
|
readySelector: "body",
|
|
28
28
|
readyTimeoutMs: 10000,
|
|
29
29
|
tags: ["template", "landing"],
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
id: screen.id,
|
|
24
24
|
title: screen.title,
|
|
25
25
|
route: routeMap.get(screen.id) ?? "/",
|
|
26
|
-
referenceImage: `sdd/
|
|
26
|
+
referenceImage: `sdd/03_verify/10_test/ui_parity/reference/${screen.id}.png`,
|
|
27
27
|
readySelector: "body",
|
|
28
28
|
readyTimeoutMs: 10000,
|
|
29
29
|
tags: ["template", "mobile"],
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
id: screen.id,
|
|
24
24
|
title: screen.title,
|
|
25
25
|
route: routeMap.get(screen.id) ?? "/",
|
|
26
|
-
referenceImage: `sdd/
|
|
26
|
+
referenceImage: `sdd/03_verify/10_test/ui_parity/reference/${screen.id}.png`,
|
|
27
27
|
readySelector: "body",
|
|
28
28
|
readyTimeoutMs: 10000,
|
|
29
29
|
tags: ["template", "web"],
|