@captain_z/zsk 1.8.6 → 1.8.8

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.
Files changed (108) hide show
  1. package/README.md +34 -16
  2. package/dist/bin.js +134 -0
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/add-flow.js +7 -1
  5. package/dist/commands/add-flow.js.map +1 -1
  6. package/dist/commands/add.js +22 -5
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/dispatch.d.ts +4 -0
  9. package/dist/commands/dispatch.js +483 -7
  10. package/dist/commands/dispatch.js.map +1 -1
  11. package/dist/commands/doctor.js +21 -5
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/issue.d.ts +1 -0
  14. package/dist/commands/issue.js +2 -2
  15. package/dist/commands/issue.js.map +1 -1
  16. package/dist/commands/prepare.js +3 -0
  17. package/dist/commands/prepare.js.map +1 -1
  18. package/dist/commands/project-init.js +14 -8
  19. package/dist/commands/project-init.js.map +1 -1
  20. package/dist/commands/work.d.ts +34 -0
  21. package/dist/commands/work.js +1769 -0
  22. package/dist/commands/work.js.map +1 -0
  23. package/dist/commands/workflow.d.ts +32 -0
  24. package/dist/commands/workflow.js +270 -0
  25. package/dist/commands/workflow.js.map +1 -0
  26. package/dist/core/anchor-drift.d.ts +79 -0
  27. package/dist/core/anchor-drift.js +198 -0
  28. package/dist/core/anchor-drift.js.map +1 -0
  29. package/dist/core/config.d.ts +29 -0
  30. package/dist/core/config.js +157 -1
  31. package/dist/core/config.js.map +1 -1
  32. package/dist/core/decoupling-eval.d.ts +53 -0
  33. package/dist/core/decoupling-eval.js +260 -0
  34. package/dist/core/decoupling-eval.js.map +1 -0
  35. package/dist/core/issue-publish-adapter.d.ts +50 -0
  36. package/dist/core/issue-publish-adapter.js +371 -0
  37. package/dist/core/issue-publish-adapter.js.map +1 -0
  38. package/dist/core/prepare-artifacts.d.ts +2 -0
  39. package/dist/core/prepare-artifacts.js +2 -0
  40. package/dist/core/prepare-artifacts.js.map +1 -1
  41. package/dist/core/prepare-readiness.d.ts +40 -0
  42. package/dist/core/prepare-readiness.js +268 -0
  43. package/dist/core/prepare-readiness.js.map +1 -0
  44. package/dist/core/prepare-sync.d.ts +2 -0
  45. package/dist/core/prepare-sync.js +8 -16
  46. package/dist/core/prepare-sync.js.map +1 -1
  47. package/dist/core/review-skill-policy.d.ts +74 -0
  48. package/dist/core/review-skill-policy.js +278 -0
  49. package/dist/core/review-skill-policy.js.map +1 -0
  50. package/dist/core/skill-classification.d.ts +13 -0
  51. package/dist/core/skill-classification.js +50 -0
  52. package/dist/core/skill-classification.js.map +1 -0
  53. package/dist/core/source-snapshot-adapters.d.ts +3 -0
  54. package/dist/core/source-snapshot-adapters.js.map +1 -1
  55. package/dist/core/stage-clarity-verification.js +58 -7
  56. package/dist/core/stage-clarity-verification.js.map +1 -1
  57. package/dist/core/task-decomposition.d.ts +64 -0
  58. package/dist/core/task-decomposition.js +325 -0
  59. package/dist/core/task-decomposition.js.map +1 -0
  60. package/dist/core/task-plan-adapter.d.ts +57 -0
  61. package/dist/core/task-plan-adapter.js +298 -0
  62. package/dist/core/task-plan-adapter.js.map +1 -0
  63. package/dist/core/template-registry.js +26 -7
  64. package/dist/core/template-registry.js.map +1 -1
  65. package/dist/core/validation-packet.d.ts +86 -0
  66. package/dist/core/validation-packet.js +313 -0
  67. package/dist/core/validation-packet.js.map +1 -0
  68. package/dist/core/work-ledger.d.ts +44 -0
  69. package/dist/core/work-ledger.js +88 -0
  70. package/dist/core/work-ledger.js.map +1 -0
  71. package/dist/core/work-provider-adapters.d.ts +110 -0
  72. package/dist/core/work-provider-adapters.js +484 -0
  73. package/dist/core/work-provider-adapters.js.map +1 -0
  74. package/dist/core/workflow-graph.d.ts +100 -0
  75. package/dist/core/workflow-graph.js +655 -0
  76. package/dist/core/workflow-graph.js.map +1 -0
  77. package/dist/core/workflow-orchestration-policy.d.ts +92 -0
  78. package/dist/core/workflow-orchestration-policy.js +215 -0
  79. package/dist/core/workflow-orchestration-policy.js.map +1 -0
  80. package/dist/core/workspace-conformance.js +55 -0
  81. package/dist/core/workspace-conformance.js.map +1 -1
  82. package/dist/core/workspace-layout.d.ts +3 -1
  83. package/dist/core/workspace-layout.js +4 -0
  84. package/dist/core/workspace-layout.js.map +1 -1
  85. package/package.json +2 -2
  86. package/schemas/zsk-config.schema.json +112 -1
  87. package/templates/module/frontend-module/CONTEXT.md +22 -0
  88. package/templates/module/frontend-module/design.md +1 -1
  89. package/templates/module/frontend-module/proposal.md +1 -1
  90. package/templates/module/frontend-module/spec.md +1 -1
  91. package/templates/module/frontend-module/tasks.md +14 -1
  92. package/templates/project-init/.zsk/CONTEXT.md +35 -0
  93. package/templates/project-init/.zsk/README.md +94 -10
  94. package/templates/project-init/.zsk/config.yaml +2 -0
  95. package/templates/project-init/.zsk/docs/CONFIG-SCHEMA.md +13 -1
  96. package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +25 -7
  97. package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +1 -0
  98. package/templates/project-init/.zsk/team.yaml +218 -0
  99. package/templates/project-init/.zsk/work.yaml +75 -0
  100. package/templates/project-init/.zsk/evidence/README.md +0 -21
  101. package/templates/project-init/.zsk/evidence/prepare/README.md +0 -22
  102. package/templates/project-init/.zsk/issues/README.md +0 -10
  103. package/templates/project-init/.zsk/templates/module/README.md +0 -13
  104. package/templates/project-init/.zsk/templates/module/design.md +0 -22
  105. package/templates/project-init/.zsk/templates/module/module.yaml +0 -15
  106. package/templates/project-init/.zsk/templates/module/proposal.md +0 -20
  107. package/templates/project-init/.zsk/templates/module/spec.md +0 -22
  108. package/templates/project-init/.zsk/templates/module/tasks.md +0 -16
@@ -0,0 +1,218 @@
1
+ # ZSK talent pool.
2
+ #
3
+ # Roles describe responsibility. Agents describe concrete execution capacity.
4
+ # Squads group agents behind a leader for cross-functional or ambiguous work.
5
+ # Provider-specific ids are adapter references, not ZSK role names.
6
+
7
+ version: 1
8
+
9
+ roles:
10
+ product-owner:
11
+ responsibilities:
12
+ - Own product outcome, scope, priority, and acceptance intent.
13
+ - Keep proposal/spec/task claims tied to sourced product evidence.
14
+ stages: [prepare, preproposal, proposal, spec, task, acceptance]
15
+ subagentTypes: [analyst]
16
+
17
+ business-analyst:
18
+ responsibilities:
19
+ - Convert product, policy, and workflow material into requirements and edge cases.
20
+ - Preserve open questions and conflicts as issues instead of assumptions.
21
+ stages: [prepare, preproposal, proposal, spec]
22
+ subagentTypes: [analyst]
23
+
24
+ researcher:
25
+ responsibilities:
26
+ - Gather and validate external or provider-backed evidence when local sources are insufficient.
27
+ - Record source freshness, uncertainty, and gaps.
28
+ stages: [prepare, preproposal, proposal]
29
+ subagentTypes: [researcher]
30
+
31
+ architect:
32
+ responsibilities:
33
+ - Own module boundaries, interfaces, data flow, integration risks, and ADR-worthy decisions.
34
+ - Keep implementation tasks aligned with design decisions.
35
+ stages: [design, task, review]
36
+ subagentTypes: [architect]
37
+
38
+ frontend-engineer:
39
+ responsibilities:
40
+ - Own browser-facing implementation, UI state, accessibility, and visual/runtime evidence.
41
+ - Preserve TDD and demo evidence for assigned work items.
42
+ stages: [task, coding, demo, smoke]
43
+ subagentTypes: [executor]
44
+
45
+ backend-engineer:
46
+ responsibilities:
47
+ - Own API, data, integration, permission, and service behavior.
48
+ - Preserve contract, migration, and rollback evidence for assigned work items.
49
+ stages: [task, coding, smoke]
50
+ subagentTypes: [executor]
51
+
52
+ test-engineer:
53
+ responsibilities:
54
+ - Define RED/GREEN/REFACTOR expectations, regression coverage, and verification strategy.
55
+ - Reject untestable acceptance criteria or missing evidence hooks.
56
+ stages: [spec, design, task, coding, smoke, verify]
57
+ subagentTypes: [test-engineer, verifier]
58
+
59
+ reviewer:
60
+ responsibilities:
61
+ - Review behavioral risk, maintainability, regressions, and missing evidence.
62
+ - Report findings without taking implementation ownership.
63
+ stages: [review]
64
+ subagentTypes: [code-reviewer, reviewer]
65
+
66
+ verifier:
67
+ responsibilities:
68
+ - Prove or block completion claims against acceptance criteria and fresh evidence.
69
+ - Keep provider done status separate from ZSK verified status.
70
+ stages: [verify, acceptance]
71
+ subagentTypes: [verifier]
72
+
73
+ agents:
74
+ solo-lead:
75
+ roles: [product-owner, architect, reviewer, verifier]
76
+ route: leader-sequential
77
+ capacity: primary
78
+
79
+ product-agent:
80
+ roles: [product-owner, business-analyst, researcher]
81
+ stages: [prepare, preproposal, proposal, spec]
82
+ subagentTypes: [analyst, researcher]
83
+ route: native-or-provider
84
+ capacity: high
85
+ priority: 4
86
+ providerRefs:
87
+ multica:
88
+ agent: product-agent
89
+
90
+ architecture-agent:
91
+ roles: [architect, reviewer]
92
+ stages: [design, task, review]
93
+ subagentTypes: [architect, code-reviewer]
94
+ route: native-or-provider
95
+ capacity: high
96
+ priority: 4
97
+ providerRefs:
98
+ multica:
99
+ agent: architecture-agent
100
+
101
+ frontend-agent:
102
+ roles: [frontend-engineer, test-engineer]
103
+ stages: [task, coding, demo, smoke]
104
+ subagentTypes: [executor, test-engineer]
105
+ route: native-or-provider
106
+ capacity: high
107
+ priority: 4
108
+ providerRefs:
109
+ multica:
110
+ agent: frontend-agent
111
+
112
+ backend-agent:
113
+ roles: [backend-engineer, test-engineer]
114
+ stages: [task, coding, smoke]
115
+ subagentTypes: [executor, test-engineer]
116
+ route: native-or-provider
117
+ capacity: high
118
+ priority: 4
119
+ providerRefs:
120
+ multica:
121
+ agent: backend-agent
122
+
123
+ verification-agent:
124
+ roles: [test-engineer, reviewer, verifier]
125
+ stages: [smoke, review, verify, acceptance]
126
+ subagentTypes: [test-engineer, code-reviewer, verifier]
127
+ route: native-or-provider
128
+ capacity: high
129
+ priority: 4
130
+ providerRefs:
131
+ multica:
132
+ agent: verification-agent
133
+
134
+ squads:
135
+ product:
136
+ leader: product-agent
137
+ members: [product-agent, architecture-agent, verification-agent]
138
+ useWhen:
139
+ - Product direction, resource readiness, or acceptance intent is unclear.
140
+ - External research or source conflict resolution is required.
141
+
142
+ design:
143
+ leader: architecture-agent
144
+ members: [architecture-agent, frontend-agent, backend-agent, verification-agent]
145
+ useWhen:
146
+ - Interfaces, data flow, UX, integration, security, or rollback decisions are coupled.
147
+ - A design decision affects more than one module or implementation lane.
148
+
149
+ delivery:
150
+ leader: solo-lead
151
+ members: [frontend-agent, backend-agent, verification-agent]
152
+ useWhen:
153
+ - Approved task work needs implementation, tests, and verification evidence.
154
+ - Multiple implementation lanes can proceed without write-scope conflict.
155
+
156
+ # Optional provider expert catalogs can enrich the local talent pool without
157
+ # making the work ledger provider-specific. A Multica export can be normalized
158
+ # into a generic experts.yaml with id/providerAgent/roles/stages/modules.
159
+ # `zsk work import-experts` writes `.zsk/providers/<provider>/experts.yaml`,
160
+ # and dispatch auto-discovers that default path when the file exists.
161
+ providerCatalogs:
162
+ # multica:
163
+ # path: .zsk/providers/multica/experts.yaml
164
+
165
+ assignmentPolicy:
166
+ defaultMode: squad-for-ambiguous-direct-for-clear
167
+ directWhen:
168
+ - Work item has a single module, clear role, clear write scope, and test contract.
169
+ squadWhen:
170
+ - Work item crosses product, design, implementation, or verification concerns.
171
+ - Required source, acceptance, or evidence ownership is uncertain.
172
+ neverAutoStartFromStages:
173
+ - task
174
+ requiresDispatchBeforeProviderAssignment: true
175
+ dispatch:
176
+ assignmentMode: agent
177
+ ownerRoleHints:
178
+ enabledForStaffingRoles: [executor, planner]
179
+ stageRoutes:
180
+ prepare:
181
+ roles: [product-owner, business-analyst, researcher, test-engineer]
182
+ subagentTypes: [analyst, researcher, test-engineer]
183
+ proposal:
184
+ roles: [product-owner, business-analyst, architect, researcher]
185
+ subagentTypes: [analyst, architect, researcher]
186
+ spec:
187
+ roles: [product-owner, business-analyst, architect, test-engineer]
188
+ subagentTypes: [analyst, architect, test-engineer]
189
+ design:
190
+ roles: [architect, frontend-engineer, backend-engineer, test-engineer]
191
+ subagentTypes: [architect, executor, test-engineer]
192
+ task:
193
+ roles: [architect, frontend-engineer, backend-engineer, test-engineer]
194
+ subagentTypes: [planner, architect, executor, test-engineer]
195
+ coding:
196
+ roles: [frontend-engineer, backend-engineer, test-engineer]
197
+ subagentTypes: [executor, test-engineer]
198
+ demo:
199
+ roles: [frontend-engineer, test-engineer]
200
+ subagentTypes: [executor, test-engineer]
201
+ review:
202
+ roles: [reviewer, architect, test-engineer]
203
+ subagentTypes: [code-reviewer, architect, test-engineer]
204
+ verify:
205
+ roles: [verifier, test-engineer]
206
+ subagentTypes: [verifier, test-engineer]
207
+ roleMappings:
208
+ auth-fetch-agent: [researcher]
209
+ design-specialist: [frontend-engineer]
210
+ executor: [frontend-engineer, backend-engineer]
211
+ lead-integrator: [verifier, architect, product-owner]
212
+ market-researcher: [researcher]
213
+ planner: [architect, product-owner]
214
+ qa-engineer: [test-engineer]
215
+ senior-engineering-reviewer: [reviewer]
216
+ technical-writer: [product-owner]
217
+ ue-a11y-reviewer: [reviewer, frontend-engineer]
218
+ ux-specialist: [frontend-engineer]
@@ -0,0 +1,75 @@
1
+ # ZSK work management policy.
2
+ #
3
+ # This file maps provider-agnostic ZSK Work Events to external work systems.
4
+ # Multica is the default adapter reference, but .zsk/work.jsonl remains generic
5
+ # and can be translated to Jira, GitHub Issues, GitLab, Linear, or local Markdown.
6
+
7
+ version: 1
8
+
9
+ ledger:
10
+ path: .zsk/work.jsonl
11
+ format: jsonl
12
+ createWhen: first-work-event
13
+ providerAgnostic: true
14
+
15
+ defaultProvider: multica
16
+
17
+ providers:
18
+ multica:
19
+ adapter: multica
20
+ mode: dry-run-until-explicit-sync
21
+ workspace: "<workspace-slug>"
22
+ # Optional generic expert catalog exported or normalized from the provider.
23
+ # Dispatch also auto-discovers .zsk/providers/<provider>/experts.yaml when
24
+ # `zsk work import-experts` creates it.
25
+ # Prefer `.zsk/team.yaml providerCatalogs` when the catalog is part of the
26
+ # local talent-pool contract.
27
+ # expertCatalog:
28
+ # path: .zsk/providers/multica/experts.yaml
29
+ commandPlan:
30
+ executable: multica
31
+ mode: dry-run-template
32
+ projectMapping:
33
+ strategy: module-to-project
34
+ projects: {}
35
+ statusMapping:
36
+ draft: backlog
37
+ ready: todo
38
+ implementing: in_progress
39
+ review: in_review
40
+ verified: done
41
+ blocked: blocked
42
+ cancelled: cancelled
43
+ assignment:
44
+ taskCreatesIssuesOnly: true
45
+ dispatchAssignsAgentsOrSquads: true
46
+ verifyControlsDone: true
47
+
48
+ events:
49
+ accepted:
50
+ - work.item.upserted
51
+ - work.item.linked
52
+ - work.item.status_changed
53
+ - work.provider_status.imported
54
+ - work.assignment.requested
55
+ - work.assignment.accepted
56
+ - work.comment.added
57
+ - work.item.verified
58
+ - work.item.blocked
59
+
60
+ syncPolicy:
61
+ idempotency:
62
+ localKey: workItem.id
63
+ remoteRefPath: externalRefs
64
+ dryRunFirst: true
65
+ createRemoteWhen:
66
+ - provider is configured
67
+ - work item has project, module, stage, local id, title, status, and source artifacts
68
+ updateRemoteWhen:
69
+ - local work item has an existing remote reference
70
+ - status, source links, assignment, comments, or evidence changed
71
+ neverSync:
72
+ - secrets
73
+ - raw credential values
74
+ - provider cookies
75
+ - private auth state paths
@@ -1,21 +0,0 @@
1
- # Shared Evidence
2
-
3
- Use this directory for shared evidence and reports that are not owned by a single
4
- module.
5
-
6
- `zsk prepare sync` writes human-readable preparation reports here, such as:
7
-
8
- ```text
9
- .zsk/evidence/prepare/<run>/config-draft.yaml
10
- .zsk/evidence/prepare/<run>/source-promotion-suggestions.md
11
- .zsk/evidence/prepare/sync-report.md
12
- .zsk/evidence/prepare/blocked-resources.md
13
- ```
14
-
15
- `config-draft.yaml` and `source-promotion-suggestions.md` are review artifacts.
16
- They do not mutate `.zsk/config.yaml`; selected entries must be applied only
17
- after human confirmation.
18
-
19
- Runtime state, temporary files, traces, videos, and raw provider payloads must
20
- stay out of committed evidence unless a workflow explicitly promotes a redacted
21
- artifact.
@@ -1,22 +0,0 @@
1
- # Prepare Evidence
2
-
3
- Prepare runs write per-run artifacts here:
4
-
5
- ```text
6
- .zsk/evidence/prepare/<run>/
7
- repo-inventory.json
8
- config-draft.yaml
9
- source-promotion-suggestions.md
10
- acquisition-plan.json
11
- blocked-sources.md
12
- correspondence-questions.md
13
- ```
14
-
15
- Default collaboration rule:
16
-
17
- - `config-draft.yaml` is a candidate tree, not an applied config.
18
- - `source-promotion-suggestions.md` explains which candidates are ready or need
19
- review.
20
- - `.zsk/config.yaml` changes only after human confirmation.
21
- - `sync-report.md` summarizes actual materialization results after
22
- `zsk prepare sync`.
@@ -1,10 +0,0 @@
1
- # Global Issues
2
-
3
- Use this directory for global or cross-module issues:
4
-
5
- - missing provider credentials;
6
- - blocked resource preparation;
7
- - route conflicts across multiple modules;
8
- - architecture or governance blockers that are not owned by one module.
9
-
10
- Module-specific work belongs in `.zsk/modules/<module>/_issues/**`.
@@ -1,13 +0,0 @@
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`
@@ -1,22 +0,0 @@
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
@@ -1,15 +0,0 @@
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: []
@@ -1,20 +0,0 @@
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
@@ -1,22 +0,0 @@
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
@@ -1,16 +0,0 @@
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