@captain_z/zsk 1.8.4 → 1.8.6
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/dist/bin.js +13 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/check.js +14 -575
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/config.js +4 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/demo.d.ts +5 -0
- package/dist/commands/demo.js +70 -297
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/doctor.js +9 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/gate.d.ts +1 -0
- package/dist/commands/gate.js +8 -2
- package/dist/commands/gate.js.map +1 -1
- package/dist/commands/prepare.js +14 -1
- package/dist/commands/prepare.js.map +1 -1
- package/dist/commands/project-init.js +31 -8
- package/dist/commands/project-init.js.map +1 -1
- package/dist/core/config.d.ts +68 -0
- package/dist/core/config.js +213 -17
- package/dist/core/config.js.map +1 -1
- package/dist/core/demo-auth.d.ts +30 -0
- package/dist/core/demo-auth.js +213 -0
- package/dist/core/demo-auth.js.map +1 -0
- package/dist/core/demo-scenarios.d.ts +62 -0
- package/dist/core/demo-scenarios.js +276 -0
- package/dist/core/demo-scenarios.js.map +1 -0
- package/dist/core/demo-sources.d.ts +37 -0
- package/dist/core/demo-sources.js +198 -0
- package/dist/core/demo-sources.js.map +1 -0
- package/dist/core/mcp-registry-discovery.d.ts +16 -0
- package/dist/core/mcp-registry-discovery.js +187 -0
- package/dist/core/mcp-registry-discovery.js.map +1 -0
- package/dist/core/origin-detection.js +1 -1
- package/dist/core/origin-detection.js.map +1 -1
- package/dist/core/prepare-artifacts.d.ts +16 -0
- package/dist/core/prepare-artifacts.js +25 -0
- package/dist/core/prepare-artifacts.js.map +1 -0
- package/dist/core/prepare-auth-helper.d.ts +8 -0
- package/dist/core/prepare-auth-helper.js +32 -0
- package/dist/core/prepare-auth-helper.js.map +1 -0
- package/dist/core/prepare-lifecycle.d.ts +2 -0
- package/dist/core/prepare-lifecycle.js +49 -0
- package/dist/core/prepare-lifecycle.js.map +1 -1
- package/dist/core/prepare-materialization.d.ts +8 -0
- package/dist/core/prepare-materialization.js +26 -0
- package/dist/core/prepare-materialization.js.map +1 -0
- package/dist/core/prepare-migration.d.ts +6 -0
- package/dist/core/prepare-migration.js +57 -0
- package/dist/core/prepare-migration.js.map +1 -0
- package/dist/core/prepare-reporting.d.ts +5 -0
- package/dist/core/prepare-reporting.js +106 -0
- package/dist/core/prepare-reporting.js.map +1 -0
- package/dist/core/prepare-routing.d.ts +12 -0
- package/dist/core/prepare-routing.js +182 -0
- package/dist/core/prepare-routing.js.map +1 -0
- package/dist/core/prepare-sync.d.ts +11 -22
- package/dist/core/prepare-sync.js +811 -260
- package/dist/core/prepare-sync.js.map +1 -1
- package/dist/core/prepare-utils.d.ts +6 -0
- package/dist/core/prepare-utils.js +35 -0
- package/dist/core/prepare-utils.js.map +1 -0
- package/dist/core/provider-policy.d.ts +26 -0
- package/dist/core/provider-policy.js +180 -0
- package/dist/core/provider-policy.js.map +1 -0
- package/dist/core/provider-readiness.d.ts +39 -0
- package/dist/core/provider-readiness.js +78 -0
- package/dist/core/provider-readiness.js.map +1 -0
- package/dist/core/source-adapter-normalization.d.ts +31 -0
- package/dist/core/source-adapter-normalization.js +235 -0
- package/dist/core/source-adapter-normalization.js.map +1 -0
- package/dist/core/source-snapshot-adapters.d.ts +3 -3
- package/dist/core/source-snapshot-adapters.js +2 -24
- package/dist/core/source-snapshot-adapters.js.map +1 -1
- package/dist/core/staffing-plan.d.ts +1 -0
- package/dist/core/staffing-plan.js +61 -3
- package/dist/core/staffing-plan.js.map +1 -1
- package/dist/core/stage-clarity-verification.js +21 -18
- package/dist/core/stage-clarity-verification.js.map +1 -1
- package/dist/core/stage-output-quality.d.ts +3 -0
- package/dist/core/stage-output-quality.js +122 -0
- package/dist/core/stage-output-quality.js.map +1 -0
- package/dist/core/stage-quality-contracts.d.ts +19 -0
- package/dist/core/stage-quality-contracts.js.map +1 -1
- package/dist/core/stage-quality-criteria.js +0 -37
- package/dist/core/stage-quality-criteria.js.map +1 -1
- package/dist/core/stage-quality-rendering.d.ts +4 -2
- package/dist/core/stage-quality-rendering.js +130 -12
- package/dist/core/stage-quality-rendering.js.map +1 -1
- package/dist/core/stage-quality.js +17 -6
- package/dist/core/stage-quality.js.map +1 -1
- package/dist/core/template-registry.js +12 -15
- package/dist/core/template-registry.js.map +1 -1
- package/dist/core/workspace-conformance.d.ts +39 -0
- package/dist/core/workspace-conformance.js +603 -0
- package/dist/core/workspace-conformance.js.map +1 -0
- package/package.json +2 -2
- package/schemas/providers.schema.json +74 -0
- package/schemas/zsk-config.schema.json +417 -1
- package/templates/project-init/.zsk/README.md +57 -0
- package/templates/project-init/.zsk/config.yaml +41 -33
- package/templates/project-init/.zsk/docs/CONFIG-SCHEMA.md +131 -0
- package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +49 -28
- package/templates/project-init/.zsk/docs/README.md +10 -0
- package/templates/project-init/.zsk/docs/SECURITY.md +34 -0
- package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +26 -9
- package/templates/project-init/.zsk/evidence/README.md +21 -0
- package/templates/project-init/.zsk/evidence/prepare/README.md +22 -0
- package/templates/project-init/.zsk/issues/README.md +10 -0
- package/templates/project-init/.zsk/modules/README.md +19 -0
- package/templates/project-init/.zsk/modules/index.md +9 -5
- package/templates/project-init/.zsk/raws/README.md +39 -0
- package/templates/project-init/.zsk/roles.yaml +36 -105
- package/templates/project-init/.zsk/templates/config.examples.yaml +104 -0
- package/templates/project-init/.zsk/templates/issue-card.md +23 -0
- package/templates/project-init/.zsk/templates/module/README.md +13 -0
- package/templates/project-init/.zsk/templates/module/design.md +22 -0
- package/templates/project-init/.zsk/templates/module/module.yaml +15 -0
- package/templates/project-init/.zsk/templates/module/proposal.md +20 -0
- package/templates/project-init/.zsk/templates/module/spec.md +22 -0
- package/templates/project-init/.zsk/templates/module/tasks.md +16 -0
- package/templates/project-init/.zsk/raws/index.md +0 -34
- package/templates/project-init/.zsk/raws/manifest.json +0 -4
- package/templates/project-init/.zsk/raws/prepare/backend/index.md +0 -4
- package/templates/project-init/.zsk/raws/prepare/design/index.md +0 -21
- package/templates/project-init/.zsk/raws/prepare/index.md +0 -37
- package/templates/project-init/.zsk/raws/prepare/product/index.md +0 -4
- package/templates/project-init/.zsk/raws/prepare/qa/index.md +0 -4
- package/templates/project-init/.zsk/raws/prepare/ux/index.md +0 -22
|
@@ -1,129 +1,60 @@
|
|
|
1
|
-
# ZSK role
|
|
2
|
-
#
|
|
3
|
-
#
|
|
1
|
+
# ZSK role pool.
|
|
2
|
+
#
|
|
3
|
+
# This file declares reusable staffing policy. It does not describe a specific
|
|
4
|
+
# run's chosen subagents; dispatch writes run-specific staffing evidence under
|
|
5
|
+
# .zsk/evidence/**.
|
|
4
6
|
|
|
5
7
|
version: 1
|
|
6
8
|
|
|
7
9
|
roles:
|
|
8
|
-
|
|
10
|
+
leader:
|
|
9
11
|
subagentType: planner
|
|
10
12
|
required: true
|
|
11
13
|
activation: required
|
|
12
|
-
reason:
|
|
13
|
-
|
|
14
|
-
product-owner:
|
|
15
|
-
subagentType: analyst
|
|
16
|
-
stages: [prepare, preproposal, proposal, spec, review, verify, acceptance]
|
|
17
|
-
lanes: [product, pm, requirement, requirements, srs, prd]
|
|
18
|
-
activation: when product or requirement evidence is configured or in scope
|
|
19
|
-
reason: Interpret product scope, requirement semantics, priorities, and acceptance gaps.
|
|
20
|
-
|
|
21
|
-
business-analyst:
|
|
22
|
-
subagentType: analyst
|
|
23
|
-
stages: [preproposal, proposal, spec]
|
|
24
|
-
lanes: [business, domain, process, rules]
|
|
25
|
-
activation: when domain process or business-rule evidence is configured or in scope
|
|
26
|
-
reason: Map domain process, terminology, business rules, and edge cases.
|
|
27
|
-
|
|
28
|
-
architect:
|
|
29
|
-
subagentType: architect
|
|
30
|
-
stages: [preproposal, proposal, spec, design, review]
|
|
31
|
-
activation: when architecture, API, system-boundary, or dependency decisions are in scope
|
|
32
|
-
reason: Review system boundaries, module relationships, contracts, and technical risks.
|
|
33
|
-
|
|
34
|
-
backend-engineer:
|
|
35
|
-
subagentType: executor
|
|
36
|
-
stages: [prepare, design]
|
|
37
|
-
lanes: [backend, api, service, server, repository, repo, repos]
|
|
38
|
-
activation: when backend, API, service, repository, or data sources are configured
|
|
39
|
-
reason: Inspect backend sources, API contracts, data models, and service-boundary gaps.
|
|
40
|
-
|
|
41
|
-
frontend-engineer:
|
|
42
|
-
subagentType: executor
|
|
43
|
-
stages: [preproposal, design]
|
|
44
|
-
lanes: [frontend, web, client, mobile]
|
|
45
|
-
activation: when frontend implementation, routing, state, or UI integration is in scope
|
|
46
|
-
reason: Map existing UI implementation surfaces, routing, state, candidate page/module-to-code mapping, and component integration risk.
|
|
47
|
-
|
|
48
|
-
design-specialist:
|
|
49
|
-
subagentType: designer
|
|
50
|
-
stages: [prepare, preproposal]
|
|
51
|
-
lanes: [design, ui, visual]
|
|
52
|
-
activation: when design, UI, visual, prototype, or asset sources are configured
|
|
53
|
-
reason: Inspect design assets, screens, visual states, and design-source gaps.
|
|
54
|
-
|
|
55
|
-
ux-specialist:
|
|
56
|
-
subagentType: designer
|
|
57
|
-
stages: [prepare, preproposal]
|
|
58
|
-
lanes: [ux, ue, user-experience, research]
|
|
59
|
-
activation: when UX, UE, user-flow, or research sources are configured
|
|
60
|
-
reason: Inspect user flows, interaction constraints, and usability ambiguity.
|
|
61
|
-
|
|
62
|
-
qa-engineer:
|
|
63
|
-
subagentType: test-engineer
|
|
64
|
-
stages: [prepare, preproposal, spec, task, coding, fix, review, verify]
|
|
65
|
-
lanes: [qa, test, testing, quality]
|
|
66
|
-
activation: when QA, test, acceptance, or quality evidence is configured or in scope
|
|
67
|
-
reason: Connect requirements to acceptance scenarios, test coverage, and verification evidence.
|
|
68
|
-
|
|
69
|
-
security-reviewer:
|
|
70
|
-
subagentType: security-reviewer
|
|
71
|
-
stages: [spec, design, review]
|
|
72
|
-
lanes: [security, sec, auth]
|
|
73
|
-
activation: when auth, permission, privacy, or data-safety boundaries are in scope
|
|
74
|
-
reason: Review trust boundaries, credentials, privacy, and abuse cases.
|
|
75
|
-
|
|
76
|
-
operations-engineer:
|
|
77
|
-
subagentType: executor
|
|
78
|
-
lanes: [ops, devops, release, deploy, platform]
|
|
79
|
-
activation: when environment, CI/CD, deployment, or platform risks are configured or in scope
|
|
80
|
-
reason: Review release, deployment, rollback, and operational risks.
|
|
81
|
-
|
|
82
|
-
auth-fetch-agent:
|
|
83
|
-
subagentType: researcher
|
|
84
|
-
stages: [prepare]
|
|
85
|
-
remoteSources: true
|
|
86
|
-
activation: when remote or provider-managed sources are configured
|
|
87
|
-
reason: Materialize remote/provider sources through explicit auth, session, and fetch contracts.
|
|
14
|
+
reason: Owns scope, sequencing, integration, and final evidence.
|
|
88
15
|
|
|
89
16
|
researcher:
|
|
90
17
|
subagentType: researcher
|
|
91
18
|
stages: [prepare, preproposal]
|
|
92
|
-
activation:
|
|
93
|
-
reason:
|
|
19
|
+
activation: when current external or provider evidence is required
|
|
20
|
+
reason: Fetches and validates source evidence without owning stage docs.
|
|
94
21
|
|
|
95
|
-
|
|
96
|
-
subagentType:
|
|
97
|
-
stages: [
|
|
98
|
-
activation: when
|
|
99
|
-
reason:
|
|
22
|
+
architect:
|
|
23
|
+
subagentType: architect
|
|
24
|
+
stages: [proposal, spec, design, review]
|
|
25
|
+
activation: when Module, Interface, Implementation, dependency, or system-boundary decisions are in scope
|
|
26
|
+
reason: Challenges Module/Interface/Implementation fit and long-horizon tradeoffs.
|
|
100
27
|
|
|
101
28
|
executor:
|
|
102
29
|
subagentType: executor
|
|
103
30
|
stages: [task, coding, fix]
|
|
104
|
-
activation: when
|
|
105
|
-
reason:
|
|
31
|
+
activation: when scoped implementation changes are approved
|
|
32
|
+
reason: Applies bounded implementation changes inside assigned write scopes.
|
|
106
33
|
|
|
107
|
-
|
|
108
|
-
subagentType: writer
|
|
109
|
-
stages: [proposal, archive]
|
|
110
|
-
activation: when documentation structure, decision records, or handoff clarity are in scope
|
|
111
|
-
reason: Preserve traceable docs, decisions, and reusable learning.
|
|
112
|
-
|
|
113
|
-
senior-engineering-reviewer:
|
|
34
|
+
reviewer:
|
|
114
35
|
subagentType: code-reviewer
|
|
115
36
|
stages: [review]
|
|
116
|
-
activation: when
|
|
117
|
-
reason:
|
|
118
|
-
|
|
119
|
-
ue-a11y-reviewer:
|
|
120
|
-
subagentType: designer
|
|
121
|
-
stages: [review]
|
|
122
|
-
activation: when UI, UX, accessibility, i18n, or visual behavior is touched
|
|
123
|
-
reason: Review UX, accessibility, i18n, and visual impacts when UI is touched.
|
|
37
|
+
activation: when risks, regressions, maintainability, or missing evidence need independent review
|
|
38
|
+
reason: Reviews behavioral risk, regressions, and missing tests or evidence.
|
|
124
39
|
|
|
125
40
|
verifier:
|
|
126
41
|
subagentType: verifier
|
|
127
42
|
required: true
|
|
128
43
|
activation: required
|
|
129
|
-
reason:
|
|
44
|
+
reason: Proves completion against acceptance criteria and fresh evidence.
|
|
45
|
+
|
|
46
|
+
# Project-specific examples:
|
|
47
|
+
#
|
|
48
|
+
# issue-curator:
|
|
49
|
+
# extends: reviewer
|
|
50
|
+
# stages: [prepare, triage]
|
|
51
|
+
# resources: [issues]
|
|
52
|
+
# artifacts: [issues]
|
|
53
|
+
# writeScopes:
|
|
54
|
+
# - .zsk/modules/*/_issues/**
|
|
55
|
+
# - .zsk/issues/**
|
|
56
|
+
#
|
|
57
|
+
# confluence-researcher:
|
|
58
|
+
# extends: researcher
|
|
59
|
+
# stages: [prepare]
|
|
60
|
+
# resources: [document]
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Example provider/entry-source/route shapes. Configure each platform once,
|
|
2
|
+
# then add only durable entry sources to .zsk/config.yaml. Let prepare produce
|
|
3
|
+
# .zsk/evidence/prepare/<run>/config-draft.yaml and
|
|
4
|
+
# source-promotion-suggestions.md for discovered child pages, nodes, issues, or
|
|
5
|
+
# files; promote selected candidates only after human review.
|
|
6
|
+
#
|
|
7
|
+
# Store secret values in the shell environment, not in config. If credentials
|
|
8
|
+
# live in ~/.zshrc, export them there, for example:
|
|
9
|
+
# export ACCESS_TOKEN=...
|
|
10
|
+
# export CONFLUENCE_USER=...
|
|
11
|
+
# export CONFLUENCE_PASSWORD=...
|
|
12
|
+
# ZSK reads process.env after the shell starts; it does not parse ~/.zshrc.
|
|
13
|
+
|
|
14
|
+
providers:
|
|
15
|
+
jira:
|
|
16
|
+
type: issues
|
|
17
|
+
adapter: jira
|
|
18
|
+
baseUrl: https://jira.example.com
|
|
19
|
+
auth:
|
|
20
|
+
env: ACCESS_TOKEN
|
|
21
|
+
defaults:
|
|
22
|
+
project: ZSK
|
|
23
|
+
assignee: me
|
|
24
|
+
confluence:
|
|
25
|
+
type: document
|
|
26
|
+
adapter: confluence
|
|
27
|
+
baseUrl: https://confluence.example.com
|
|
28
|
+
auth:
|
|
29
|
+
usernameEnv: CONFLUENCE_USER
|
|
30
|
+
passwordEnv: CONFLUENCE_PASSWORD
|
|
31
|
+
|
|
32
|
+
automation:
|
|
33
|
+
demo:
|
|
34
|
+
auth:
|
|
35
|
+
required: true
|
|
36
|
+
loginUrl: http://localhost:3000/login
|
|
37
|
+
storageState: .zsk/modules/{module}/_playwright/.auth/user.json
|
|
38
|
+
envFiles:
|
|
39
|
+
- ~/.zshrc
|
|
40
|
+
env:
|
|
41
|
+
username: DEMO_USERNAME
|
|
42
|
+
password: DEMO_PASSWORD
|
|
43
|
+
selectors:
|
|
44
|
+
username: input[name="username"]
|
|
45
|
+
password: input[type="password"]
|
|
46
|
+
submit: button[type="submit"]
|
|
47
|
+
|
|
48
|
+
resources:
|
|
49
|
+
- id: core-api-entry
|
|
50
|
+
type: repository
|
|
51
|
+
area: Backend Services
|
|
52
|
+
source:
|
|
53
|
+
kind: git-submodule
|
|
54
|
+
path: .zsk/raws/repositories/core-api-entry/repository
|
|
55
|
+
|
|
56
|
+
- id: assigned-bugs-entry
|
|
57
|
+
type: issues
|
|
58
|
+
provider: jira
|
|
59
|
+
query:
|
|
60
|
+
jql: assignee = currentUser() AND issuetype = Bug ORDER BY updated DESC
|
|
61
|
+
classify:
|
|
62
|
+
by: [priority, component, status]
|
|
63
|
+
|
|
64
|
+
- id: product-requirements-entry
|
|
65
|
+
type: document
|
|
66
|
+
area: Confluence
|
|
67
|
+
provider: confluence
|
|
68
|
+
source:
|
|
69
|
+
kind: confluence
|
|
70
|
+
pageId: "12345"
|
|
71
|
+
metadata:
|
|
72
|
+
note: Child Confluence pages should be reviewed in config-draft.yaml before promotion.
|
|
73
|
+
|
|
74
|
+
- id: public-product-entry
|
|
75
|
+
type: document
|
|
76
|
+
area: Product
|
|
77
|
+
source:
|
|
78
|
+
kind: url
|
|
79
|
+
url: https://example.com/prd
|
|
80
|
+
fallback:
|
|
81
|
+
acquisition: [playwright_cli]
|
|
82
|
+
observation: [computer_use]
|
|
83
|
+
|
|
84
|
+
# Compatibility prepare tree for projects that still use sources.* directly.
|
|
85
|
+
# Keep this entry-level too: one platform/domain entry here may fan out into
|
|
86
|
+
# many draft candidates under evidence before selected children are promoted.
|
|
87
|
+
sources:
|
|
88
|
+
prepare:
|
|
89
|
+
product:
|
|
90
|
+
product-requirements-entry:
|
|
91
|
+
type: prd
|
|
92
|
+
adapter: confluence
|
|
93
|
+
origin:
|
|
94
|
+
kind: confluence
|
|
95
|
+
url: https://confluence.example.com/pages/viewpage.action?pageId=12345
|
|
96
|
+
metadata:
|
|
97
|
+
provider: product_requirements_entry
|
|
98
|
+
promotionPolicy: review config-draft.yaml before adding child pages
|
|
99
|
+
|
|
100
|
+
routes:
|
|
101
|
+
- from: assigned-bugs-entry
|
|
102
|
+
to:
|
|
103
|
+
module: permission
|
|
104
|
+
artifact: issues
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "<issue-id>"
|
|
3
|
+
title: "<issue-title>"
|
|
4
|
+
status: open
|
|
5
|
+
priority: medium
|
|
6
|
+
module: "<module-id>"
|
|
7
|
+
source:
|
|
8
|
+
resource: "<resource-id>"
|
|
9
|
+
provider: "<provider-id>"
|
|
10
|
+
key: "<provider-issue-key>"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# <issue-title>
|
|
14
|
+
|
|
15
|
+
<!-- zsk:source:start -->
|
|
16
|
+
Provider source summary will be updated by `zsk prepare sync`.
|
|
17
|
+
<!-- zsk:source:end -->
|
|
18
|
+
|
|
19
|
+
## Local Notes
|
|
20
|
+
|
|
21
|
+
## Decision
|
|
22
|
+
|
|
23
|
+
## Next Action
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Module Template
|
|
2
|
+
|
|
3
|
+
Copy this template through `zsk module init`; do not create real module
|
|
4
|
+
directories by hand unless the same file contract is preserved.
|
|
5
|
+
|
|
6
|
+
Required files:
|
|
7
|
+
|
|
8
|
+
- `module.yaml`
|
|
9
|
+
- `README.md`
|
|
10
|
+
- `proposal.md`
|
|
11
|
+
- `spec.md`
|
|
12
|
+
- `design.md`
|
|
13
|
+
- `tasks.md`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Design
|
|
2
|
+
|
|
3
|
+
## Output Quality Check
|
|
4
|
+
|
|
5
|
+
status: NEEDS_CLARIFICATION
|
|
6
|
+
owner: design
|
|
7
|
+
source_basis: []
|
|
8
|
+
blocking_items:
|
|
9
|
+
- Map approved behavior to implementation surfaces.
|
|
10
|
+
next_action: Resolve Interface, data flow, rollout, and verification gaps.
|
|
11
|
+
|
|
12
|
+
## Module
|
|
13
|
+
|
|
14
|
+
## Interfaces
|
|
15
|
+
|
|
16
|
+
## Implementation
|
|
17
|
+
|
|
18
|
+
## Data Flow
|
|
19
|
+
|
|
20
|
+
## Risks
|
|
21
|
+
|
|
22
|
+
## Verification
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# yaml-language-server: $schema=__ZSK_MODULE_SCHEMA_URL__
|
|
2
|
+
|
|
3
|
+
module:
|
|
4
|
+
id: "<module-id>"
|
|
5
|
+
name: "<Module Name>"
|
|
6
|
+
|
|
7
|
+
outputs:
|
|
8
|
+
docs: .zsk/modules/<module-id>
|
|
9
|
+
issues: .zsk/modules/<module-id>/_issues
|
|
10
|
+
|
|
11
|
+
tests:
|
|
12
|
+
raw_cases: []
|
|
13
|
+
derived_cases: []
|
|
14
|
+
automated:
|
|
15
|
+
e2e: []
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Proposal
|
|
2
|
+
|
|
3
|
+
## Output Quality Check
|
|
4
|
+
|
|
5
|
+
status: NEEDS_CLARIFICATION
|
|
6
|
+
owner: proposal
|
|
7
|
+
source_basis: []
|
|
8
|
+
blocking_items:
|
|
9
|
+
- Fill the proposal from reviewed sources.
|
|
10
|
+
next_action: Record scope, non-goals, success criteria, and open questions.
|
|
11
|
+
|
|
12
|
+
## Problem
|
|
13
|
+
|
|
14
|
+
## Scope
|
|
15
|
+
|
|
16
|
+
## Non-Goals
|
|
17
|
+
|
|
18
|
+
## Success Criteria
|
|
19
|
+
|
|
20
|
+
## Open Questions
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Spec
|
|
2
|
+
|
|
3
|
+
## Output Quality Check
|
|
4
|
+
|
|
5
|
+
status: NEEDS_CLARIFICATION
|
|
6
|
+
owner: spec
|
|
7
|
+
source_basis: []
|
|
8
|
+
blocking_items:
|
|
9
|
+
- Fill observable behavior and acceptance criteria from reviewed sources.
|
|
10
|
+
next_action: Resolve missing behavior questions before design.
|
|
11
|
+
|
|
12
|
+
## Functional Requirements
|
|
13
|
+
|
|
14
|
+
## Non-Functional Requirements
|
|
15
|
+
|
|
16
|
+
## Acceptance Criteria
|
|
17
|
+
|
|
18
|
+
## Scenarios
|
|
19
|
+
|
|
20
|
+
## Edge Cases
|
|
21
|
+
|
|
22
|
+
## Open Questions
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Tasks
|
|
2
|
+
|
|
3
|
+
## Output Quality Check
|
|
4
|
+
|
|
5
|
+
status: NEEDS_CLARIFICATION
|
|
6
|
+
owner: task
|
|
7
|
+
source_basis: []
|
|
8
|
+
blocking_items:
|
|
9
|
+
- Convert design into executable tasks.
|
|
10
|
+
next_action: Add ordered tasks with dependencies, owners, and evidence hooks.
|
|
11
|
+
|
|
12
|
+
## Task Queue
|
|
13
|
+
|
|
14
|
+
- [ ] Define the first implementation task.
|
|
15
|
+
|
|
16
|
+
## Evidence Hooks
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Raw Source Index
|
|
2
|
-
|
|
3
|
-
Immutable fact sources for this project. Generated and refreshed by `zsk prep`.
|
|
4
|
-
|
|
5
|
-
Active source snapshots should be organized by prepare responsibility lane:
|
|
6
|
-
|
|
7
|
-
- `prepare/product/` for SRS, PRD, business process, acceptance semantics, and work items.
|
|
8
|
-
- `prepare/product/{topic}/product-brief.md` and `roadmap.md` for preproposal-generated product direction and MVP/phase decomposition after checkpoint review.
|
|
9
|
-
- `prepare/backend/` for backend repositories, API contracts, data model, and service-boundary evidence.
|
|
10
|
-
- `prepare/design/` for design/prototype sources, screen maps, and visual assets.
|
|
11
|
-
- `prepare/design/{topic}/design-source-needs.md` for preproposal design-source readiness gaps after checkpoint review.
|
|
12
|
-
- `prepare/design/{topic}/design-source-map.md` for provider-backed design source coverage and missing Figma/prototype metadata.
|
|
13
|
-
- `prepare/ux/` for user flows, interaction notes, IA, and usability evidence.
|
|
14
|
-
- `prepare/ux/{topic}/ux-readiness.md` for preproposal journey/flow/IA/readiness seeds after checkpoint review.
|
|
15
|
-
- `prepare/ux/{topic}/interaction-handoff.md` for sourced interaction matrices, state coverage, accessibility contract, and unresolved interaction gaps. For module-targeted preproposal work, `{topic}` defaults to the module id.
|
|
16
|
-
- `prepare/qa/` for test cases, acceptance scenarios, regression matrices, and QA evidence.
|
|
17
|
-
|
|
18
|
-
Interaction handoff files are living raw artifacts owned by `preproposal`, not
|
|
19
|
-
inline sections of module `proposal.md` or `design.md`. Downstream module stages
|
|
20
|
-
should reference a reviewed revision, for example:
|
|
21
|
-
|
|
22
|
-
```md
|
|
23
|
-
Interaction source:
|
|
24
|
-
- `.zsk/raws/prepare/ux/{topic}/interaction-handoff.md`
|
|
25
|
-
- Accepted revision: <review evidence or commit/date>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
If later UX changes alter scope or behavior, revise the raw artifact first,
|
|
29
|
-
record source/status/impact, then route affected module stages back through
|
|
30
|
-
`proposal`, `spec`, `design`, or `task` as needed.
|
|
31
|
-
|
|
32
|
-
| Provider | Type | Status | Snapshot / Origin |
|
|
33
|
-
| --- | --- | --- | --- |
|
|
34
|
-
| | | | |
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Design Sources
|
|
2
|
-
|
|
3
|
-
Design handoff files, wireframes, prototype exports, visual assets, design tokens, and platform snapshots.
|
|
4
|
-
|
|
5
|
-
Use `prepare/design/{topic}/design-source-map.md` for provider-backed design
|
|
6
|
-
sources such as Figma, MasterGo, exports, screenshots, and assets.
|
|
7
|
-
|
|
8
|
-
Rules:
|
|
9
|
-
|
|
10
|
-
- Preserve provider URL, file/page/frame/node ids, capture method, raw payload,
|
|
11
|
-
screenshots/assets, capture time, and tool/auth limits.
|
|
12
|
-
- Record prototype links, annotations, variables/tokens, components, variants,
|
|
13
|
-
and missing source data when available.
|
|
14
|
-
- Treat design files as source evidence, not complete interaction truth.
|
|
15
|
-
- Pair source maps with `prepare/ux/{topic}/interaction-handoff.md` when visual
|
|
16
|
-
sources need page/module interaction detail.
|
|
17
|
-
- For module-targeted preproposal work, `{topic}` defaults to the module id so
|
|
18
|
-
the design-source map and interaction handoff can be consumed by the same
|
|
19
|
-
module proposal/spec/design chain.
|
|
20
|
-
- Code design remains owned by module `design.md`; this lane provides source
|
|
21
|
-
evidence and gaps only.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Prepare Source Lanes
|
|
2
|
-
|
|
3
|
-
Reusable source snapshots for prepare. Iterations and releases should reference these snapshots instead of copying source content.
|
|
4
|
-
|
|
5
|
-
## Responsibility
|
|
6
|
-
|
|
7
|
-
`prepare` is the source acquisition and evidence stage. It owns:
|
|
8
|
-
|
|
9
|
-
- source origin registration from `.zsk/config.yaml#sources`;
|
|
10
|
-
- repository inventory and draft source discovery;
|
|
11
|
-
- acquisition planning, blocked-source questions, and correspondence prompts;
|
|
12
|
-
- auth preflight and reusable Playwright storageState helpers;
|
|
13
|
-
- raw snapshot materialization through local, provider, URL, browser, or
|
|
14
|
-
metadata-only strategies;
|
|
15
|
-
- `.zsk/raws/manifest.json`, raw indexes, adapter results, and downstream impact
|
|
16
|
-
evidence.
|
|
17
|
-
|
|
18
|
-
`prepare` does not own product decisions, formal FR/NFR, interaction decisions,
|
|
19
|
-
code design, or task planning. If a source is missing or private, preserve the
|
|
20
|
-
previous snapshot when present, write a blocked/gap artifact, and route the
|
|
21
|
-
missing decision to the owning stage.
|
|
22
|
-
|
|
23
|
-
## Capture Strategy
|
|
24
|
-
|
|
25
|
-
Use the least lossy acquisition method that is explicit and repeatable:
|
|
26
|
-
|
|
27
|
-
| Source Kind | Preferred Strategy | Notes |
|
|
28
|
-
| --- | --- | --- |
|
|
29
|
-
| Local docs/contracts/exports | `origin.kind: local` + `zsk prepare sync` | Best default for PRD, API, QA, Figma JSON exports, screenshots, and manually reviewed handoffs. |
|
|
30
|
-
| Provider APIs | `origin.provider` + API/export URL + `--allow-network` | Use Confluence/Jira/GitLab/design-source adapters when provider payloads are available. |
|
|
31
|
-
| Private web pages | `zsk prepare auth-check`, then `zsk prepare sync --browser --auth-state ... --allow-network` | Browser capture is fallback evidence, not a replacement for provider exports. |
|
|
32
|
-
| Repository roots | metadata-only snapshot | Do not crawl broad repositories; configure concrete contracts/files instead. |
|
|
33
|
-
| Figma/design URLs | provider export or local raw payload first; browser URL only as fallback | Pair with `prepare/ux/{topic}/interaction-handoff.md` for interaction details. |
|
|
34
|
-
|
|
35
|
-
Record incomplete provider coverage as a source gap. A successful prepare run is
|
|
36
|
-
allowed to say "blocked" or "needs confirmation"; that is expected behavior, not
|
|
37
|
-
a silent failure.
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# UX Sources
|
|
2
|
-
|
|
3
|
-
User flows, interaction maps, screen behavior notes, usability findings, and experience research artifacts.
|
|
4
|
-
|
|
5
|
-
Use `prepare/ux/{topic}/interaction-handoff.md` when UI, UX, or design-source
|
|
6
|
-
interaction needs clarification before formal proposal/spec/design work. When
|
|
7
|
-
the brief targets a module, `{topic}` defaults to the module id.
|
|
8
|
-
|
|
9
|
-
Rules:
|
|
10
|
-
|
|
11
|
-
- `preproposal` owns this file as a living source artifact.
|
|
12
|
-
- Generate an AI brief from available Figma/design/source/code evidence before
|
|
13
|
-
asking humans to fill gaps.
|
|
14
|
-
- Separate sourced facts, accepted decisions, inferred assumptions, missing
|
|
15
|
-
details, recommended answers, and human confirmation status.
|
|
16
|
-
- Record revisions and impact. Downstream module docs consume only reviewed or
|
|
17
|
-
accepted revisions.
|
|
18
|
-
- For module-targeted work, name the target module, module path, reviewed module
|
|
19
|
-
artifacts, scope boundary, terminology alignment, and any page/frame split
|
|
20
|
-
rationale in the interaction handoff.
|
|
21
|
-
- Do not use this lane for final code design, formal FR/NFR, or task execution
|
|
22
|
-
planning.
|