@captain_z/zsk 1.6.1 → 1.8.1
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/README.md +24 -32
- package/dist/bin.js +22 -15
- package/dist/bin.js.map +1 -1
- package/dist/commands/check.d.ts +1 -0
- package/dist/commands/check.js +209 -12
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/demo.d.ts +1 -0
- package/dist/commands/demo.js +341 -36
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/doctor.d.ts +4 -0
- package/dist/commands/doctor.js +102 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/issue.d.ts +2 -1
- package/dist/commands/issue.js +75 -30
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/module.js +42 -27
- package/dist/commands/module.js.map +1 -1
- package/dist/commands/prep.js +100 -6
- package/dist/commands/prep.js.map +1 -1
- package/dist/commands/project-init.js +63 -11
- package/dist/commands/project-init.js.map +1 -1
- package/dist/core/config.d.ts +14 -2
- package/dist/core/config.js +91 -12
- package/dist/core/config.js.map +1 -1
- package/dist/core/raw-manifest.d.ts +10 -0
- package/dist/core/raw-manifest.js +48 -1
- package/dist/core/raw-manifest.js.map +1 -1
- package/dist/core/scaffolder.js +5 -2
- package/dist/core/scaffolder.js.map +1 -1
- package/dist/core/workspace-layout.d.ts +53 -0
- package/dist/core/workspace-layout.js +108 -0
- package/dist/core/workspace-layout.js.map +1 -0
- package/package.json +2 -2
- package/schemas/zsk-config.schema.json +141 -11
- package/templates/issue/default/issue.md +9 -5
- package/templates/module/frontend-module/design.md +22 -0
- package/templates/module/frontend-module/module.yaml +4 -3
- package/templates/module/frontend-module/proposal.md +26 -1
- package/templates/module/frontend-module/spec.md +13 -0
- package/templates/module/frontend-module/tasks.md +15 -2
- package/templates/project-init/.zsk/config.yaml +41 -29
- package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +62 -0
- package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +59 -0
- package/templates/project-init/.zsk/modules/index.md +7 -0
- package/templates/project-init/.zsk/raws/backend/index.md +3 -0
- package/templates/project-init/.zsk/raws/index.md +7 -0
- package/templates/project-init/.zsk/raws/jira/index.md +3 -0
- package/templates/project-init/.zsk/raws/manual/index.md +3 -0
- package/templates/project-init/.zsk/raws/product/index.md +3 -0
- package/templates/project-init/.zsk/raws/qa/index.md +3 -0
- package/templates/project-init/.zsk/raws/ue/index.md +3 -0
- package/templates/module/frontend-module/acceptance.md +0 -18
- package/templates/module/frontend-module/archive.md +0 -17
- package/templates/module/frontend-module/commit.md +0 -15
- package/templates/module/frontend-module/demo-outline.md +0 -59
- package/templates/module/frontend-module/demo-report.md +0 -23
- package/templates/module/frontend-module/deploy.md +0 -18
- package/templates/module/frontend-module/ready.md +0 -12
- package/templates/module/frontend-module/review.md +0 -12
- package/templates/module/frontend-module/scenarios/index.md +0 -21
- package/templates/module/frontend-module/scenarios/p0-happy-path.spec.ts +0 -13
- package/templates/module/frontend-module/smoke.md +0 -21
- package/templates/module/frontend-module/verification.md +0 -6
- package/templates/module/frontend-module/verify.md +0 -12
- package/templates/project-init/.issues/README.md +0 -57
- package/templates/project-init/.issues/_taxonomy.md +0 -35
- package/templates/project-init/.issues/index.md +0 -7
- package/templates/project-init/.raws/README.md +0 -27
- package/templates/project-init/.raws/api-contracts/index.md +0 -22
- package/templates/project-init/.raws/backend-repositories/index.md +0 -12
- package/templates/project-init/.raws/design-assets/index.md +0 -25
- package/templates/project-init/.raws/design-sources/index.md +0 -24
- package/templates/project-init/.raws/index.md +0 -56
- package/templates/project-init/.raws/issues/index.md +0 -4
- package/templates/project-init/.raws/requirements/index.md +0 -23
- package/templates/project-init/.raws/testing/index.md +0 -22
- package/templates/project-init/.zsk/checkpoints/index.md +0 -4
- package/templates/project-init/.zsk/learning/index.md +0 -14
- package/templates/project-init/.zsk/learning/proposals/.gitkeep +0 -1
- package/templates/project-init/.zsk/resource-manifest.json +0 -55
- package/templates/project-init/.zsk/workflow-state.json +0 -6
- package/templates/project-init/docs/SYSTEM-SPEC.md +0 -53
- package/templates/project-init/docs/_module-index.md +0 -15
- package/templates/project-init/project-config.md +0 -154
- /package/templates/project-init/{.raws → .zsk/raws}/manifest.json +0 -0
|
@@ -1,7 +1,32 @@
|
|
|
1
1
|
# __MODULE_NAME__ Proposal
|
|
2
2
|
|
|
3
|
+
## Problem
|
|
4
|
+
|
|
5
|
+
- Target user / stakeholder:
|
|
6
|
+
- Problem:
|
|
7
|
+
- Why now:
|
|
8
|
+
- Source evidence:
|
|
9
|
+
|
|
10
|
+
## Scope
|
|
11
|
+
|
|
12
|
+
- In scope:
|
|
13
|
+
- Out of scope:
|
|
14
|
+
- Assumptions:
|
|
15
|
+
- Open questions / blockers:
|
|
16
|
+
|
|
17
|
+
## Success Criteria
|
|
18
|
+
|
|
19
|
+
| Criterion | Evidence Source | Owner / Next Stage |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| | | |
|
|
22
|
+
|
|
23
|
+
## Risks And Rejected Alternatives
|
|
24
|
+
|
|
25
|
+
| Item | Decision | Rationale / Evidence |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| | | |
|
|
28
|
+
|
|
3
29
|
## Documentation Feedback
|
|
4
30
|
|
|
5
31
|
- No-update rationale:
|
|
6
32
|
- Created from the ZSK module template; no proposal has been drafted yet.
|
|
7
|
-
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# __MODULE_NAME__ Spec
|
|
2
2
|
|
|
3
|
+
## Behavior Contract
|
|
4
|
+
|
|
5
|
+
| ID | Requirement | Type | Source / Decision | Priority | Observable Outcome |
|
|
6
|
+
| --- | --- | --- | --- | --- | --- |
|
|
7
|
+
| FR-001 | | FR | | P0 | |
|
|
8
|
+
|
|
9
|
+
## Acceptance Criteria
|
|
10
|
+
|
|
11
|
+
| AC | Linked Requirement | Given / When / Then | Evidence Route |
|
|
12
|
+
| --- | --- | --- | --- |
|
|
13
|
+
| AC-001 | FR-001 | Given / When / Then | |
|
|
14
|
+
|
|
3
15
|
## Scenario Contracts
|
|
4
16
|
|
|
5
17
|
| Scenario | User Goal | Entry | Preconditions | Observable Result | PRD/SRS / FR/AC | Automate |
|
|
@@ -13,6 +25,7 @@ Rules:
|
|
|
13
25
|
- Mark unclear or conflicting facts as blockers instead of choosing behavior silently.
|
|
14
26
|
- Do not write brittle selectors in spec.
|
|
15
27
|
- Mark which P0/P1 scenarios must become Playwright cases.
|
|
28
|
+
- Keep implementation choices out unless they are part of the product contract.
|
|
16
29
|
|
|
17
30
|
## Documentation Feedback
|
|
18
31
|
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
# __MODULE_NAME__ Tasks
|
|
2
2
|
|
|
3
|
+
## Execution Plan
|
|
4
|
+
|
|
5
|
+
| ID | Task | Depends On | Scope / Files | Linked FR/AC | Evidence Hook | Status |
|
|
6
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
7
|
+
| T-001 | | | | FR-001 / AC-001 | | TODO |
|
|
8
|
+
|
|
9
|
+
## Coverage Matrix
|
|
10
|
+
|
|
11
|
+
| FR/AC | Implementation Task | Test / Scenario Task | Docs / Issue / Evidence Task |
|
|
12
|
+
| --- | --- | --- | --- |
|
|
13
|
+
| FR-001 / AC-001 | T-001 | | |
|
|
14
|
+
|
|
3
15
|
## Playwright Case Tasks
|
|
4
16
|
|
|
5
17
|
| Task | Scenario Contract | Case File | Fixture/Auth | Reuse Target | Status |
|
|
6
18
|
| --- | --- | --- | --- | --- | --- |
|
|
7
|
-
| Create P0 happy path skeleton | P0 happy path | `
|
|
19
|
+
| Create P0 happy path skeleton | P0 happy path | `__PLAYWRIGHT_SPECS__/p0-happy-path.spec.ts` | | demo, verify, regression | TODO |
|
|
8
20
|
|
|
9
21
|
Rules:
|
|
10
22
|
|
|
11
|
-
- Create Playwright skeletons before demo.
|
|
23
|
+
- Create Playwright skeletons under `__PLAYWRIGHT_SPECS__` before demo.
|
|
12
24
|
- Create or update source-aligned tests/scenarios before implementation for testable behavior changes.
|
|
13
25
|
- Tag cases as smoke/demo/verify/regression.
|
|
14
26
|
- Include tasks for labels/test ids required by stable locators.
|
|
27
|
+
- Do not create vague tasks such as "implement feature"; each task needs scope, dependency, and evidence.
|
|
15
28
|
|
|
16
29
|
## Documentation Feedback
|
|
17
30
|
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
# yaml-language-server: $schema=__ZSK_CONFIG_SCHEMA_URL__
|
|
2
2
|
|
|
3
|
+
layoutVersion: 2
|
|
4
|
+
|
|
3
5
|
project:
|
|
4
6
|
name: "<project-name>"
|
|
5
7
|
|
|
6
8
|
paths:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
docs: .zsk/docs
|
|
10
|
+
modules: .zsk/modules
|
|
11
|
+
raws: .zsk/raws
|
|
12
|
+
issues: .zsk/issues
|
|
13
|
+
evidence: .zsk/evidence
|
|
14
|
+
playwright: .zsk/playwright
|
|
10
15
|
|
|
11
|
-
#
|
|
12
|
-
# git repositories,
|
|
13
|
-
# Optional snapshots should land under paths.raws
|
|
16
|
+
# Raw source origins. AI or zsk config setup should fill these with online URLs,
|
|
17
|
+
# git repositories, design-platform links/assets, OpenAPI locations, or local files.
|
|
18
|
+
# Optional snapshots should land under paths.raws with stable role/provider paths.
|
|
19
|
+
# Dates belong in manifest metadata such as syncedAt, not in path authority.
|
|
14
20
|
#
|
|
15
21
|
# sources:
|
|
16
22
|
# srs:
|
|
@@ -18,26 +24,27 @@ paths:
|
|
|
18
24
|
# origin:
|
|
19
25
|
# kind: url
|
|
20
26
|
# url: https://example.com/srs
|
|
21
|
-
# snapshot: .raws/
|
|
22
|
-
#
|
|
27
|
+
# snapshot: .zsk/raws/product/srs.md
|
|
28
|
+
# design_main:
|
|
23
29
|
# type: design
|
|
24
30
|
# origin:
|
|
25
|
-
# kind:
|
|
31
|
+
# kind: design
|
|
32
|
+
# provider: figma
|
|
26
33
|
# url: https://www.figma.com/file/...
|
|
27
|
-
# snapshot: .raws/design-
|
|
34
|
+
# snapshot: .zsk/raws/ue/design-main.json
|
|
28
35
|
# backend_api:
|
|
29
|
-
# type:
|
|
36
|
+
# type: api_contract
|
|
30
37
|
# origin:
|
|
31
38
|
# kind: git
|
|
32
39
|
# repository: https://github.com/example/backend-api.git
|
|
33
40
|
# path: openapi.yaml
|
|
34
|
-
# snapshot: .raws/backend
|
|
41
|
+
# snapshot: .zsk/raws/backend/api-contract.yaml
|
|
35
42
|
# acceptance_cases:
|
|
36
43
|
# type: test_case
|
|
37
44
|
# origin:
|
|
38
45
|
# kind: url
|
|
39
46
|
# url: https://example.com/qa-cases
|
|
40
|
-
# snapshot: .raws/testing/acceptance-cases.md
|
|
47
|
+
# snapshot: .zsk/raws/qa/testing/acceptance-cases.md
|
|
41
48
|
sources: {}
|
|
42
49
|
|
|
43
50
|
tools:
|
|
@@ -45,14 +52,15 @@ tools:
|
|
|
45
52
|
- playwright_cli
|
|
46
53
|
- playwright_mcp
|
|
47
54
|
- playwright
|
|
48
|
-
- browser_use
|
|
49
55
|
- computer_use
|
|
56
|
+
- browser_use
|
|
50
57
|
design:
|
|
58
|
+
- manual
|
|
51
59
|
- figma_mcp
|
|
52
60
|
|
|
53
61
|
modules:
|
|
54
|
-
index:
|
|
55
|
-
root:
|
|
62
|
+
index: .zsk/modules/index.md
|
|
63
|
+
root: .zsk/modules
|
|
56
64
|
|
|
57
65
|
automation:
|
|
58
66
|
smoke:
|
|
@@ -63,17 +71,20 @@ automation:
|
|
|
63
71
|
deploy:
|
|
64
72
|
command: pnpm deploy:staging
|
|
65
73
|
demo:
|
|
66
|
-
# Default
|
|
67
|
-
# -
|
|
68
|
-
# - Playwright
|
|
69
|
-
# -
|
|
70
|
-
# -
|
|
71
|
-
# -
|
|
72
|
-
|
|
74
|
+
# Default optimized lane:
|
|
75
|
+
# - Formal test cases come from module tests.raw_cases or sources.testing, normally snapshots under .zsk/raws/qa/testing.
|
|
76
|
+
# - Playwright storageState is the preferred way to reuse login/session state without stopping on login pages.
|
|
77
|
+
# - Computer Use is the preferred visual/current-page observation lane when it is available and authorized.
|
|
78
|
+
# - Browser Use is optional and runtime-specific; use it only where the agent platform supports it and permissions are available.
|
|
79
|
+
# - If neither Computer Use nor Browser Use exists, use Playwright MCP/ARIA/CDP snapshots or documented manual evidence as the compatible handoff.
|
|
80
|
+
# - zsk/agent generation writes test-plan.json, then Playwright CLI/Skills generate executable .spec.ts cases.
|
|
81
|
+
# - Playwright Test executes/debugs and records evidence. No MCP or bridge fallback is used in optimized mode.
|
|
82
|
+
# - Use --hybrid explicitly for the legacy bridge lane.
|
|
83
|
+
defaultMode: optimized
|
|
73
84
|
baseUrl: http://localhost:3000
|
|
74
85
|
command: pnpm dev
|
|
75
|
-
evidenceDir: .
|
|
76
|
-
scenarioDir:
|
|
86
|
+
evidenceDir: .zsk/modules/{module}/_evidence/demo
|
|
87
|
+
scenarioDir: .zsk/modules/{module}/_playwright/specs
|
|
77
88
|
playwright:
|
|
78
89
|
config: playwright.config.ts
|
|
79
90
|
project: chromium
|
|
@@ -83,12 +94,13 @@ automation:
|
|
|
83
94
|
role: understand-and-decide
|
|
84
95
|
bridge:
|
|
85
96
|
enabled: true
|
|
86
|
-
#
|
|
87
|
-
#
|
|
97
|
+
# Legacy hybrid-only bridge. Not used by defaultMode: optimized.
|
|
98
|
+
# Prefer computer_use for visual/system-level understanding when available.
|
|
99
|
+
# Fall back to playwright_mcp for structured accessibility snapshots, or browser_use only on runtimes that support it.
|
|
88
100
|
decisionTool: playwright_mcp
|
|
89
101
|
executionTool: playwright
|
|
90
|
-
planFile: .zsk/
|
|
91
|
-
executionFile: .zsk/
|
|
102
|
+
planFile: .zsk/modules/{module}/_playwright/execution/operation-plan.json
|
|
103
|
+
executionFile: .zsk/modules/{module}/_playwright/execution/playwright-execution.json
|
|
92
104
|
verify:
|
|
93
105
|
commands:
|
|
94
106
|
- pnpm test:e2e
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Project Config
|
|
2
|
+
|
|
3
|
+
This file is the human-readable companion to `.zsk/config.yaml`.
|
|
4
|
+
|
|
5
|
+
## Halcyon Layer
|
|
6
|
+
|
|
7
|
+
This `.zsk/` workspace is project-specific. It is the Halcyon operating layer for this project: the place where AI agents read raw facts, produce stage documents, route issues/evidence, and prove stage completion. It is not a generic docs folder and it is not a replacement for the application's source tree.
|
|
8
|
+
|
|
9
|
+
Use this layer to answer three questions before execution:
|
|
10
|
+
|
|
11
|
+
- What facts and decisions are authoritative for this project?
|
|
12
|
+
- Which module/stage owns the next artifact?
|
|
13
|
+
- What evidence or issue update proves the stage is complete?
|
|
14
|
+
|
|
15
|
+
## Workspace Layout
|
|
16
|
+
|
|
17
|
+
`zsk init` owns only the `.zsk/` workspace by default:
|
|
18
|
+
|
|
19
|
+
| Path | Purpose |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| `.zsk/config.yaml` | Machine-readable project config and path authority |
|
|
22
|
+
| `.zsk/docs/` | Project-level docs such as this file and `SYSTEM-SPEC.md` |
|
|
23
|
+
| `.zsk/modules/{module}/` | Module `module.yaml`, `proposal.md`, `spec.md`, `design.md`, `tasks.md` |
|
|
24
|
+
| `.zsk/raws/` | Immutable raw fact sources and manifest/index files |
|
|
25
|
+
| `.zsk/modules/{module}/_issues/` | Module-private issue records, created on demand |
|
|
26
|
+
| `.zsk/modules/{module}/_evidence/` | Module-private evidence, screenshots, traces, logs, and verification artifacts, created on demand |
|
|
27
|
+
| `.zsk/modules/{module}/_playwright/` | Module-specific Playwright specs, plans, auth state, results, reports, and execution records, created on demand |
|
|
28
|
+
| `.zsk/playwright/` | Shared Playwright config/auth/helpers only, created on demand |
|
|
29
|
+
|
|
30
|
+
Root `docs/`, `.raws/`, `.issues/`, and `.playwright/` are not default write targets. Use explicit export or migration tooling when you need project-root copies.
|
|
31
|
+
|
|
32
|
+
## Source Priorities
|
|
33
|
+
|
|
34
|
+
1. `.zsk/config.yaml`
|
|
35
|
+
2. `.zsk/docs/SYSTEM-SPEC.md`
|
|
36
|
+
3. Project resource origins listed under `.zsk/config.yaml#sources`
|
|
37
|
+
4. `.zsk/raws/manifest.json` and `.zsk/raws/index.md`
|
|
38
|
+
5. `.zsk/modules/{module}/module.yaml`
|
|
39
|
+
6. `.zsk/modules/{module}/spec.md`
|
|
40
|
+
7. `.zsk/modules/{module}/design.md`
|
|
41
|
+
8. Runtime evidence under module `_evidence` / `_playwright` or shared `.zsk/evidence` / `.zsk/playwright`
|
|
42
|
+
|
|
43
|
+
When sources conflict, record the conflict under the module `_issues` directory, or shared `.zsk/issues` only for cross-module/global issues, and update the affected module docs with a Documentation Feedback note or an explicit no-update rationale.
|
|
44
|
+
|
|
45
|
+
## Authoring Rule
|
|
46
|
+
|
|
47
|
+
Every module stage document is a handoff contract:
|
|
48
|
+
|
|
49
|
+
- `proposal.md` explains why the work exists, who it serves, what is in scope, what is out of scope, and how success will be recognized.
|
|
50
|
+
- `spec.md` defines observable behavior, scenarios, acceptance criteria, edge cases, and source-linked assumptions.
|
|
51
|
+
- `design.md` maps approved behavior to implementation surfaces, interfaces, state, data flow, risks, and verification strategy.
|
|
52
|
+
- `tasks.md` breaks the design into ordered work with owners/scope, dependencies, FR/AC coverage, and evidence hooks.
|
|
53
|
+
|
|
54
|
+
If a document cannot answer its stage questions, stop and record the missing source, decision, blocker, or issue instead of filling the template.
|
|
55
|
+
|
|
56
|
+
## Maintenance Checklist
|
|
57
|
+
|
|
58
|
+
- Update `.zsk/config.yaml` when paths, tools, or source origins change.
|
|
59
|
+
- Keep project-wide reusable rules in `.zsk/docs/SYSTEM-SPEC.md`.
|
|
60
|
+
- Keep module-specific decisions in `.zsk/modules/{module}/`.
|
|
61
|
+
- Keep shared raw source facts under `.zsk/raws/`.
|
|
62
|
+
- Keep runtime outputs out of docs and under module-private `_evidence` / `_playwright` unless they are deliberately shared under `.zsk/evidence` / `.zsk/playwright`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# System Spec
|
|
2
|
+
|
|
3
|
+
This document captures project-wide rules that should guide module work.
|
|
4
|
+
|
|
5
|
+
## Operating Model
|
|
6
|
+
|
|
7
|
+
The `.zsk/` workspace is this project's Halcyon layer. It keeps AI execution grounded by separating:
|
|
8
|
+
|
|
9
|
+
- raw facts under `paths.raws`;
|
|
10
|
+
- project-wide rules under `paths.docs`;
|
|
11
|
+
- module-owned stage contracts under `paths.modules`;
|
|
12
|
+
- runtime evidence under module `_evidence` or shared `paths.evidence`;
|
|
13
|
+
- issue records under module `_issues` or shared/global `paths.issues`;
|
|
14
|
+
- Playwright plans/specs/results under module `_playwright` or shared `paths.playwright`.
|
|
15
|
+
|
|
16
|
+
Agents must use the smallest sufficient lane: read local sources first, run deterministic CLI checks when possible, delegate only when the work has independent expert lanes, and record blockers instead of filling missing facts from chat memory.
|
|
17
|
+
|
|
18
|
+
## Path Boundaries
|
|
19
|
+
|
|
20
|
+
- `paths.docs` stores project-level docs only.
|
|
21
|
+
- `paths.modules` stores module source-of-truth docs.
|
|
22
|
+
- `paths.raws` stores immutable shared source snapshots and manually provided fact sources.
|
|
23
|
+
- Module `_issues` stores module-specific actionable issue records; `paths.issues` is created on demand only for shared/global indexes or cross-module issues.
|
|
24
|
+
- Module `_evidence` stores module-specific runtime evidence and verification artifacts; `paths.evidence` is created on demand only for shared/global evidence.
|
|
25
|
+
- Module `_playwright` stores module-specific Playwright specs, plans, auth state, results, reports, and execution records; `paths.playwright` is created on demand only for shared Playwright assets.
|
|
26
|
+
|
|
27
|
+
Root `docs/`, `.raws/`, `.issues/`, and `.playwright/` are legacy or export surfaces, not default zsk write targets.
|
|
28
|
+
|
|
29
|
+
## Testing Assets
|
|
30
|
+
|
|
31
|
+
Original QA, acceptance, release, and manually supplied test cases belong in configured project sources and may be snapshotted under `paths.raws`, normally `.zsk/raws/qa/testing`. Module-derived test plans and Playwright specs belong under module `_playwright` unless they are intentionally shared under `paths.playwright`.
|
|
32
|
+
|
|
33
|
+
## Completion Feedback
|
|
34
|
+
|
|
35
|
+
Every stage document that changes durable behavior should include Documentation Feedback with either:
|
|
36
|
+
|
|
37
|
+
- a concrete update to project/module docs, or
|
|
38
|
+
- an explicit no-update rationale.
|
|
39
|
+
|
|
40
|
+
Runtime evidence should be linked from docs, not embedded in docs.
|
|
41
|
+
|
|
42
|
+
## Stage Document Standards
|
|
43
|
+
|
|
44
|
+
ZSK stage documents are decision artifacts. They are complete only when the next stage can act without hidden chat context.
|
|
45
|
+
|
|
46
|
+
| Stage | Document Mode | Must Prove |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| `prepare` | Evidence report | Source origins, freshness, conflicts, and raw snapshot paths are known before planning. |
|
|
49
|
+
| `proposal` | Decision brief | Problem, user/business outcome, scope, non-goals, risks, and success criteria are explicit. |
|
|
50
|
+
| `spec` | Behavior contract | FR/NFR, scenarios, edge cases, and acceptance criteria are observable and source-linked. |
|
|
51
|
+
| `design` | Implementation contract | Behavior maps to files/modules/interfaces/state/data flow, with risks and verification strategy. |
|
|
52
|
+
| `task` | Execution plan | Work is ordered, owned, independently reviewable, and tied to FR/AC plus evidence hooks. |
|
|
53
|
+
| `coding` | Implementation evidence | Changed files, behavior, tests, and residual risks are tied back to tasks. |
|
|
54
|
+
| `smoke` | Evidence report | Local proof names the claim, command/scenario, result, artifacts, and failures. |
|
|
55
|
+
| `review` | Evidence report | Findings are severity-ranked, traceable, and cover scope, correctness, tests, risk, and harness compliance. |
|
|
56
|
+
| `ready` | Verification handoff | Fixed issues, AC, evidence, replay steps, version, and residual risks are mapped. |
|
|
57
|
+
| `verify` | Independent evidence | The ready claim is replayed with fresh evidence and pass/fail issue status updates. |
|
|
58
|
+
|
|
59
|
+
Each stage document must separate facts, decisions, assumptions, open questions, evidence, and next action. Do not leave template filler, untraceable "best practice" claims, vague tasks, or unresolved contradictions in a stage artifact.
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Acceptance
|
|
2
|
-
|
|
3
|
-
## Verdict
|
|
4
|
-
|
|
5
|
-
- Result: NOT_STARTED
|
|
6
|
-
- Accepted by:
|
|
7
|
-
- Date:
|
|
8
|
-
|
|
9
|
-
## Evidence Summary
|
|
10
|
-
|
|
11
|
-
| Source | Conclusion | Link |
|
|
12
|
-
| --- | --- | --- |
|
|
13
|
-
|
|
14
|
-
## Documentation Feedback
|
|
15
|
-
|
|
16
|
-
- No-update rationale:
|
|
17
|
-
- Created from the ZSK module template; no acceptance has been performed yet.
|
|
18
|
-
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Archive
|
|
2
|
-
|
|
3
|
-
## Closure
|
|
4
|
-
|
|
5
|
-
| Item | Link |
|
|
6
|
-
| --- | --- |
|
|
7
|
-
|
|
8
|
-
## Learning Proposals
|
|
9
|
-
|
|
10
|
-
| Finding | Target | Evidence |
|
|
11
|
-
| --- | --- | --- |
|
|
12
|
-
|
|
13
|
-
## Documentation Feedback
|
|
14
|
-
|
|
15
|
-
- No-update rationale:
|
|
16
|
-
- Created from the ZSK module template; archive has not run yet.
|
|
17
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Commit
|
|
2
|
-
|
|
3
|
-
## Commit Evidence
|
|
4
|
-
|
|
5
|
-
| Item | Evidence |
|
|
6
|
-
| --- | --- |
|
|
7
|
-
| Review gate | |
|
|
8
|
-
| Smoke gate | |
|
|
9
|
-
| Commit | |
|
|
10
|
-
|
|
11
|
-
## Documentation Feedback
|
|
12
|
-
|
|
13
|
-
- No-update rationale:
|
|
14
|
-
- Created from the ZSK module template; no commit evidence has been captured yet.
|
|
15
|
-
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Demo Outline
|
|
2
|
-
|
|
3
|
-
## Demo Flow
|
|
4
|
-
|
|
5
|
-
Use this section as the speaking order. The audience should be able to follow the demo from top to bottom without reading any appendix.
|
|
6
|
-
|
|
7
|
-
| Step | Show | Function / Business Point | Scenario | Source Alignment | Playwright Case | Presenter Line | Expected Visible Result | Next |
|
|
8
|
-
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
9
|
-
| 1 | Starting state and primary goal | | | PRD/SRS + Spec + Task + Test | `scenarios/<case>.spec.ts` | | | 2 |
|
|
10
|
-
| 2 | Core happy path / main value | | | PRD/SRS + Spec + Task + Test | `scenarios/<case>.spec.ts` | | | 3 |
|
|
11
|
-
| 3 | Required branch / role / validation / edge | | | PRD/SRS + Spec + Task + Test | `scenarios/<case>.spec.ts` | | | Final |
|
|
12
|
-
| Final | Final state, evidence, and known gaps | | | PRD/SRS + Spec + Task + Test | | summarize evidence and known gaps | | close |
|
|
13
|
-
|
|
14
|
-
## Opening
|
|
15
|
-
|
|
16
|
-
- Audience:
|
|
17
|
-
- One-sentence goal:
|
|
18
|
-
- Starting state:
|
|
19
|
-
- Primary user journey:
|
|
20
|
-
- What this demo proves:
|
|
21
|
-
|
|
22
|
-
## Coverage Alignment
|
|
23
|
-
|
|
24
|
-
Every required function point in the PRD/SRS should appear here, either as a demo step or as a known gap.
|
|
25
|
-
|
|
26
|
-
| Function / Business Point | PRD / SRS Need | Spec / Design Contract | Task Scope | Test Case / Assertion | Demo Step | Status |
|
|
27
|
-
| --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
-
| | | | | | 1 | covered |
|
|
29
|
-
| | | | | | 2 | covered |
|
|
30
|
-
| | | | | | 3 | covered |
|
|
31
|
-
|
|
32
|
-
## Rehearsal Checklist
|
|
33
|
-
|
|
34
|
-
| Demo Step | Browser Use Handoff | Playwright Case | Rehearsed | Evidence | Ready |
|
|
35
|
-
| --- | --- | --- | --- | --- | --- |
|
|
36
|
-
| 1 | | | no | trace/report/screenshot | no |
|
|
37
|
-
| 2 | | | no | trace/report/screenshot | no |
|
|
38
|
-
| 3 | | | no | trace/report/screenshot | no |
|
|
39
|
-
|
|
40
|
-
## Pause Rules
|
|
41
|
-
|
|
42
|
-
- Pause if login/session state is lost.
|
|
43
|
-
- Pause if the UI no longer matches the prepared Playwright case.
|
|
44
|
-
- Pause if a P0/P1 function point cannot be shown.
|
|
45
|
-
- Do not improvise new clicks during the external demo; record the blocker and return to Demo Prep.
|
|
46
|
-
|
|
47
|
-
## Appendix: Prep Sources
|
|
48
|
-
|
|
49
|
-
| Source | Path / Link | Used For |
|
|
50
|
-
| --- | --- | --- |
|
|
51
|
-
| SRS / PRD | | user goal and scope |
|
|
52
|
-
| Spec / AC | | observable pass criteria |
|
|
53
|
-
| Test cases | | scenario steps and expected result |
|
|
54
|
-
| Browser Use handoff | | login state, visible target, candidate locators |
|
|
55
|
-
|
|
56
|
-
## Documentation Feedback
|
|
57
|
-
|
|
58
|
-
- No-update rationale:
|
|
59
|
-
- Created from the ZSK module template; no demo outline has been generated yet.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Demo Report
|
|
2
|
-
|
|
3
|
-
## Session
|
|
4
|
-
|
|
5
|
-
- Session id:
|
|
6
|
-
- Status: NOT_STARTED
|
|
7
|
-
- Mode:
|
|
8
|
-
|
|
9
|
-
## Coverage
|
|
10
|
-
|
|
11
|
-
| Function Point | FR/AC | Scenario | Result | Evidence | Issues |
|
|
12
|
-
| --- | --- | --- | --- | --- | --- |
|
|
13
|
-
|
|
14
|
-
## Reusable Scenarios
|
|
15
|
-
|
|
16
|
-
| Scenario | Source | Reuse Target | Evidence |
|
|
17
|
-
| --- | --- | --- | --- |
|
|
18
|
-
|
|
19
|
-
## Documentation Feedback
|
|
20
|
-
|
|
21
|
-
- No-update rationale:
|
|
22
|
-
- Created from the ZSK module template; no demo has been performed yet.
|
|
23
|
-
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Deploy
|
|
2
|
-
|
|
3
|
-
## Deployment
|
|
4
|
-
|
|
5
|
-
| Environment | URL | Version | Result | Evidence |
|
|
6
|
-
| --- | --- | --- | --- | --- |
|
|
7
|
-
|
|
8
|
-
## Rollback
|
|
9
|
-
|
|
10
|
-
- Owner:
|
|
11
|
-
- Command:
|
|
12
|
-
- Notes:
|
|
13
|
-
|
|
14
|
-
## Documentation Feedback
|
|
15
|
-
|
|
16
|
-
- No-update rationale:
|
|
17
|
-
- Created from the ZSK module template; no deployment has been performed yet.
|
|
18
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Ready
|
|
2
|
-
|
|
3
|
-
## Gate
|
|
4
|
-
|
|
5
|
-
| Issue | Fix Evidence | Deployment | Ready |
|
|
6
|
-
| --- | --- | --- | --- |
|
|
7
|
-
|
|
8
|
-
## Documentation Feedback
|
|
9
|
-
|
|
10
|
-
- No-update rationale:
|
|
11
|
-
- Created from the ZSK module template; no fixes have been marked ready for verify yet.
|
|
12
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Scenarios
|
|
2
|
-
|
|
3
|
-
Reusable demo, verify, and regression scenarios for this module.
|
|
4
|
-
|
|
5
|
-
Use this index to keep human test cases, Playwright scenarios, and evidence links aligned with module FR/AC IDs. Scenario files should stay module-local and should be referenced from `module.yaml` when they become part of the verification baseline.
|
|
6
|
-
|
|
7
|
-
## Scenario Lifecycle
|
|
8
|
-
|
|
9
|
-
| Stage | Responsibility |
|
|
10
|
-
| --- | --- |
|
|
11
|
-
| Spec | Define scenario contract and FR/AC linkage |
|
|
12
|
-
| Design | Define locator/state/auth/evidence strategy |
|
|
13
|
-
| Task | Create Playwright skeleton and fixture work |
|
|
14
|
-
| Demo | Execute, record, and promote scenarios |
|
|
15
|
-
| Verify | Reuse scenarios for fix verification |
|
|
16
|
-
|
|
17
|
-
## Scenario Index
|
|
18
|
-
|
|
19
|
-
| Scenario | FR/AC Link | Automation | Evidence | Status |
|
|
20
|
-
| --- | --- | --- | --- | --- |
|
|
21
|
-
| `<scenario-name>` | `<FR/AC id>` | manual / Playwright / other | `<relative evidence path>` | draft / active / blocked / retired |
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
test.describe("__MODULE_NAME__ demo scenarios", () => {
|
|
4
|
-
test("P0 happy path", async ({ page }) => {
|
|
5
|
-
test.skip(!process.env.ZSK_DEMO_BASE_URL, "Set ZSK_DEMO_BASE_URL to run this scenario.");
|
|
6
|
-
|
|
7
|
-
await page.goto(process.env.ZSK_DEMO_BASE_URL);
|
|
8
|
-
|
|
9
|
-
// Replace this with the scenario contract from spec.md and locator strategy from design.md.
|
|
10
|
-
await expect(page).toHaveURL(/.+/);
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# __MODULE_NAME__ Smoke
|
|
2
|
-
|
|
3
|
-
## Resource Contract
|
|
4
|
-
|
|
5
|
-
| Resource | Required | Source | Status | Used For | Blocker If Missing |
|
|
6
|
-
| --- | --- | --- | --- | --- | --- |
|
|
7
|
-
|
|
8
|
-
## Checks
|
|
9
|
-
|
|
10
|
-
| Check | Command | Result | Evidence |
|
|
11
|
-
| --- | --- | --- | --- |
|
|
12
|
-
|
|
13
|
-
## Test Alignment
|
|
14
|
-
|
|
15
|
-
| Test / Scenario | Source Requirement / Design / Issue | Expected Behavior | Accurate | Evidence |
|
|
16
|
-
| --- | --- | --- | --- | --- |
|
|
17
|
-
|
|
18
|
-
## Documentation Feedback
|
|
19
|
-
|
|
20
|
-
- No-update rationale:
|
|
21
|
-
- Created from the ZSK module template; no smoke has been performed yet.
|