@laitszkin/apollo-toolkit 2.14.15 → 2.14.16
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/CHANGELOG.md +9 -0
- package/generate-spec/README.md +3 -3
- package/generate-spec/SKILL.md +8 -3
- package/generate-spec/agents/openai.yaml +1 -1
- package/generate-spec/references/templates/coordination.md +22 -0
- package/generate-spec/references/templates/design.md +2 -0
- package/generate-spec/references/templates/tasks.md +1 -0
- package/generate-spec/scripts/create-specs +4 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,15 @@ All notable changes to this repository are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
### Changed
|
|
8
|
+
- None yet.
|
|
9
|
+
|
|
10
|
+
## [v2.14.16] - 2026-04-11
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Strengthen `generate-spec` so batch planning now requires spec sets to be truly parallel-implementable, not merely independently scoped.
|
|
14
|
+
- Update `generate-spec` templates and prompts so `coordination.md` captures parallel-readiness gates, collision-resolution records, and pre-agreed ownership rules before concurrent implementation starts.
|
|
15
|
+
|
|
7
16
|
## [v2.14.15] - 2026-04-11
|
|
8
17
|
|
|
9
18
|
### Changed
|
package/generate-spec/README.md
CHANGED
|
@@ -5,7 +5,7 @@ A shared planning skill for feature work. It centralizes creation and maintenanc
|
|
|
5
5
|
## Core capabilities
|
|
6
6
|
|
|
7
7
|
- Generates single-spec plans under `docs/plans/{YYYY-MM-DD}/{change_name}/`.
|
|
8
|
-
- Generates multi-spec parallel batches under `docs/plans/{YYYY-MM-DD}/{batch_name}/{change_name}/` with a shared `coordination.md`, while keeping every batch spec independently completable.
|
|
8
|
+
- Generates multi-spec parallel batches under `docs/plans/{YYYY-MM-DD}/{batch_name}/{change_name}/` with a shared `coordination.md`, while keeping every batch spec independently completable and safe to implement concurrently.
|
|
9
9
|
- Uses shared templates so spec-first and brownfield workflows follow the same planning structure.
|
|
10
10
|
- Requires clarification handling and explicit user approval before implementation starts.
|
|
11
11
|
- Backfills task and checklist status after implementation and testing.
|
|
@@ -84,11 +84,11 @@ docs/plans/<today>/membership-cutover/
|
|
|
84
84
|
- `checklist.md`: use `- [ ]` only, adapt items to real scope, and record actual results.
|
|
85
85
|
- `contract.md`: when external dependencies materially shape the change, record their official-source-backed invocation surface, constraints, and caller obligations in the standard dependency-record format.
|
|
86
86
|
- `design.md`: record the architecture/design delta in the standard format, including affected modules, flow, invariants, tradeoffs, and validation plan.
|
|
87
|
-
- `coordination.md`: for multi-spec batches only, record shared preparation, ownership boundaries, replacement direction, file ownership guardrails, shared API/schema freeze or additive-only rules, compatibility-shim retention rules, merge order, and cross-spec integration checkpoints, but never use it to make one spec depend on another spec's implementation before it can be completed.
|
|
87
|
+
- `coordination.md`: for multi-spec batches only, record shared preparation, ownership boundaries, replacement direction, file ownership guardrails, known collision candidates, pre-agreed edit rules for shared surfaces, shared API/schema freeze or additive-only rules, compatibility-shim retention rules, merge order, and cross-spec integration checkpoints, but never use it to make one spec depend on another spec's implementation before it can be completed.
|
|
88
88
|
- If clarification responses change the plan, update the docs and obtain approval again before coding.
|
|
89
89
|
|
|
90
90
|
## Notes
|
|
91
91
|
|
|
92
92
|
- `scripts/...` and `references/...` are skill-folder paths, not project-folder paths.
|
|
93
93
|
- The generator replaces `[YYYY-MM-DD]`, `[Feature Name]`, `[功能名稱]`, `[change_name]`, and `[batch_name]` placeholders.
|
|
94
|
-
- If a batch split produces specs that must land in a functional sequence, re-slice the work so each spec becomes independently implementable, testable, and
|
|
94
|
+
- If a batch split produces specs that must land in a functional sequence, or still leaves unresolved shared-file collisions, re-slice the work so each spec becomes independently implementable, testable, mergeable, and parallel-safe before coding starts.
|
package/generate-spec/SKILL.md
CHANGED
|
@@ -15,9 +15,9 @@ description: Generate and maintain shared feature planning artifacts (`spec.md`,
|
|
|
15
15
|
## Standards
|
|
16
16
|
|
|
17
17
|
- Evidence: Review the relevant code, configs, and authoritative docs before filling requirements or test plans; when external dependencies, libraries, frameworks, APIs, or platforms are involved, checking their official documentation is mandatory during spec creation.
|
|
18
|
-
- Execution: Generate the planning files first, keep each spec set tightly scoped, split broader work into multiple independent spec sets when needed, ensure every batch spec is independently completable without depending on another spec set to land first, complete them with traceable requirements and risks, handle clarification updates, then wait for explicit approval before implementation.
|
|
18
|
+
- Execution: Generate the planning files first, keep each spec set tightly scoped, split broader work into multiple independent spec sets when needed, ensure every batch spec is independently completable and truly parallel-implementable without depending on another spec set to land first, surface shared-file or shared-contract collision risks during planning, resolve those coordination rules before implementation starts, complete them with traceable requirements and risks, handle clarification updates, then wait for explicit approval before implementation.
|
|
19
19
|
- Quality: Keep `spec.md`, `tasks.md`, `checklist.md`, `contract.md`, and `design.md` synchronized, map each planned test to a concrete risk or requirement, and tailor the templates so only applicable items remain active.
|
|
20
|
-
- Output: Store planning artifacts under `docs/plans/{YYYY-MM-DD}/{change_name}/` for single-spec work, or `docs/plans/{YYYY-MM-DD}/{batch_name}/{change_name}/` plus `coordination.md` for multi-spec parallel work whose member specs remain independently approvable
|
|
20
|
+
- Output: Store planning artifacts under `docs/plans/{YYYY-MM-DD}/{change_name}/` for single-spec work, or `docs/plans/{YYYY-MM-DD}/{batch_name}/{change_name}/` plus `coordination.md` for multi-spec parallel work whose member specs remain independently approvable, independently implementable, and ready for concurrent worktree execution with pre-agreed collision rules, and keep them concise, executable, and easy to update.
|
|
21
21
|
|
|
22
22
|
## Goal
|
|
23
23
|
|
|
@@ -47,6 +47,8 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
|
|
|
47
47
|
- Define those spec sets so they do not conflict with each other and do not require another spec set to land first in order to be approved or implemented safely.
|
|
48
48
|
- For batch generation, treat cross-spec implementation dependency as a planning bug: if Spec B cannot be completed safely until Spec A lands, they should be one spec set or be re-sliced so each spec has its own self-contained outcome.
|
|
49
49
|
- Allow shared preparation in `coordination.md` only when each spec can still complete that preparation or operate against an already-existing baseline without waiting for another spec's code changes.
|
|
50
|
+
- Treat any unresolved shared-file collision, overlapping ownership, or incompatible contract change across spec sets as a planning bug to resolve before approval, not an implementation-time surprise.
|
|
51
|
+
- If two candidate spec sets would still need to edit the same non-additive surface, either merge them into one spec set or record a concrete ownership split plus additive-only rule that makes parallel work safe.
|
|
50
52
|
- Use:
|
|
51
53
|
- `SKILL_ROOT=<path_to_generate-spec_skill>`
|
|
52
54
|
- `WORKSPACE_ROOT=<target_project_root>`
|
|
@@ -93,7 +95,7 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
|
|
|
93
95
|
- Identify the affected modules, current baseline, proposed architecture, component responsibilities, control flow, data/state impact, and risk/tradeoff decisions.
|
|
94
96
|
- Cross-reference relevant requirement IDs from `spec.md` and any external dependency records from `contract.md`.
|
|
95
97
|
- Make architecture boundaries, invariants, and rollback/fallback expectations explicit when they matter to safe implementation.
|
|
96
|
-
- When the spec belongs to a parallel batch, add a short reference to the parent `coordination.md
|
|
98
|
+
- When the spec belongs to a parallel batch, add a short reference to the parent `coordination.md`, state the exact assumptions that let this spec be implemented in parallel, and keep `design.md` focused on the single-spec delta rather than duplicating cross-spec ownership rules.
|
|
97
99
|
|
|
98
100
|
### 6.5) Fill `coordination.md` for parallel multi-spec batches
|
|
99
101
|
|
|
@@ -102,10 +104,12 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
|
|
|
102
104
|
- Use it as the batch-level source of truth for shared preparation, ownership boundaries, merge order, and cross-spec constraints.
|
|
103
105
|
- Record explicitly that each spec set must remain independently completable and must not rely on another spec set's code changes, unfinished tasks, or merge order to achieve its own approved outcome.
|
|
104
106
|
- Record shared fields, shared contracts, or shared data-shape preparation that multiple spec sets must align on before implementation starts.
|
|
107
|
+
- Record whether the batch is ready for parallel implementation now; if not, list the blocking coordination items that must be settled before any spec starts.
|
|
105
108
|
- When one spec set replaces or removes legacy behavior, state that direction explicitly so all worktrees implement toward the same target rather than preserving the old behavior accidentally.
|
|
106
109
|
- Capture which spec set may touch which modules, which files require coordination, and whether any landing order or cutover sequence must be respected.
|
|
107
110
|
- Treat `coordination.md` as a merge-conflict prevention contract, not just a planning summary.
|
|
108
111
|
- Record the concrete file ownership map, forbidden touch points, and shared files that require explicit coordination before edits begin.
|
|
112
|
+
- For every known collision candidate, record the conflict shape, the pre-agreed owner or additive-only edit rule, and the trigger that requires re-coordination before implementation continues.
|
|
109
113
|
- For shared APIs, event schemas, config shapes, manifests, or artifact fields, record whether changes are additive-only during the batch and which spec set owns the canonical naming.
|
|
110
114
|
- When temporary compatibility shims, adapters, or legacy bridges must survive until the whole batch lands, record that retention rule explicitly so one worktree does not remove a path another still depends on.
|
|
111
115
|
- Record the post-merge integration checkpoints that must be re-verified after multiple worktrees land, especially when text merges may succeed while behavior still drifts.
|
|
@@ -152,6 +156,7 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
|
|
|
152
156
|
- Never allow one spec set to cover more than three modules.
|
|
153
157
|
- When a request exceeds that scope, split it into independent, non-conflicting, non-dependent spec sets before approval.
|
|
154
158
|
- For batch specs, independence is mandatory: each spec must describe a complete slice that can be implemented, tested, reviewed, and merged without waiting for another spec in the same batch.
|
|
159
|
+
- For batch specs, parallel readiness is also mandatory: each spec must be safe to implement concurrently, with shared-file collisions and ownership rules settled in `coordination.md` before coding begins.
|
|
155
160
|
- When multiple spec sets are created for one batch, keep their shared implementation direction in one `coordination.md` instead of duplicating cross-spec rules in every `design.md`.
|
|
156
161
|
- For parallel worktree batches, make `coordination.md` specific enough that another engineer can tell which files they may edit, which shared contracts are frozen or additive-only, which shims must remain in place, and what combined behaviors need verification after merge.
|
|
157
162
|
- Prefer realistic coverage over boilerplate: add or remove checklist items based on actual risk.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "generate-spec"
|
|
3
3
|
short_description: "Generate shared feature spec, task, and checklist docs before coding"
|
|
4
|
-
default_prompt: "Use $generate-spec to create or update single-spec plans under docs/plans/<date>/<change_name>/ or parallel batches under docs/plans/<date>/<batch_name>/<change_name>/ with a shared coordination.md, but ensure every spec in a batch remains independently approvable
|
|
4
|
+
default_prompt: "Use $generate-spec to create or update single-spec plans under docs/plans/<date>/<change_name>/ or parallel batches under docs/plans/<date>/<batch_name>/<change_name>/ with a shared coordination.md, but ensure every spec in a batch remains independently approvable, independently implementable, and safe for true parallel execution without depending on another batch spec landing first; surface shared-file or shared-contract collision risks during planning, settle ownership and additive-only rules in coordination.md before implementation starts, fill BDD requirements and risk-driven test planning, document external dependency contracts in contract.md when they materially constrain the change, write the architecture/design delta in design.md, process clarification updates, and wait for explicit approval before implementation."
|
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
## Coordination Goal
|
|
7
7
|
[Describe the shared implementation goal across this batch of parallel spec sets.]
|
|
8
8
|
|
|
9
|
+
## Parallel Readiness Gate
|
|
10
|
+
- Ready for parallel implementation now: [Yes / No]
|
|
11
|
+
- Blocking coordination items before coding: [None / list concrete ownership or contract decisions that must be settled first]
|
|
12
|
+
- Re-coordination trigger: [what kind of new overlap or contract change forces the batch to stop and re-align]
|
|
13
|
+
|
|
9
14
|
## Batch Scope
|
|
10
15
|
- Included spec sets: [[spec-name-1], [spec-name-2]]
|
|
11
16
|
- Shared outcome: [what the batch delivers when all spec sets land]
|
|
@@ -23,6 +28,7 @@
|
|
|
23
28
|
- Shared fields to introduce or reuse: [field / config / API shape / event schema]
|
|
24
29
|
- Canonical source of truth: [which module or data owner defines them]
|
|
25
30
|
- Required preparation before implementation: [migration, adapter, stub, flag, fallback, fixture]
|
|
31
|
+
- Additive-only rule during batch: [what may be added safely without breaking parallel work, or `None`]
|
|
26
32
|
|
|
27
33
|
### Replacement / Legacy Direction
|
|
28
34
|
- Legacy behavior being replaced: [feature / flow / module / endpoint / UI]
|
|
@@ -54,6 +60,22 @@
|
|
|
54
60
|
- Merge order / landing order: [independent / optional convenience order only, never a functional prerequisite]
|
|
55
61
|
- Worktree notes: [branch naming, rebase expectations, or `None`]
|
|
56
62
|
|
|
63
|
+
## Collision Resolution Records
|
|
64
|
+
|
|
65
|
+
### Collision 1: [Shared file / schema / manifest / contract]
|
|
66
|
+
- Involved spec sets: [[spec-name-1], [spec-name-2]]
|
|
67
|
+
- Conflict shape: [same file / same symbol / same schema field / same generated artifact]
|
|
68
|
+
- Pre-agreed resolution: [single owner / additive-only edits / split by section / move into one spec]
|
|
69
|
+
- Allowed edits per spec: [exact ownership boundary]
|
|
70
|
+
- Escalation rule: [when engineers must stop and re-coordinate]
|
|
71
|
+
|
|
72
|
+
### Collision 2: [Shared file / schema / manifest / contract]
|
|
73
|
+
- Involved spec sets: [[spec-name-1], [spec-name-2]]
|
|
74
|
+
- Conflict shape: [same file / same symbol / same schema field / same generated artifact]
|
|
75
|
+
- Pre-agreed resolution: [single owner / additive-only edits / split by section / move into one spec]
|
|
76
|
+
- Allowed edits per spec: [exact ownership boundary]
|
|
77
|
+
- Escalation rule: [when engineers must stop and re-coordinate]
|
|
78
|
+
|
|
57
79
|
## Integration Checkpoints
|
|
58
80
|
- Combined behaviors to verify after merge: [cross-spec outcome]
|
|
59
81
|
- Required final test scope: [integration / E2E / migration / rollback]
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
- Affected modules: [module/file/service list]
|
|
18
18
|
- External contracts involved: [dependency names from `contract.md`, or `None`]
|
|
19
19
|
- Coordination reference: [`../coordination.md` or `None`]
|
|
20
|
+
- Parallel implementation assumption: [why this spec can be implemented concurrently, or `None` for single-spec work]
|
|
20
21
|
|
|
21
22
|
## Current Architecture
|
|
22
23
|
[Describe the relevant current components, data flow, control flow, and boundaries.]
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
- Key risks: [failure, concurrency, authorization, partial-write, dependency risk]
|
|
55
56
|
- Rejected alternatives: [alternative + why it was not chosen]
|
|
56
57
|
- Operational constraints: [performance, quota, observability, deployment coupling]
|
|
58
|
+
- Cross-spec collision notes: [known shared-file/shared-contract collision avoided by ownership rules, or `None`]
|
|
57
59
|
|
|
58
60
|
## Validation Plan
|
|
59
61
|
- Tests: [UT / PBT / IT / E2E / adversarial]
|
|
@@ -31,5 +31,6 @@
|
|
|
31
31
|
- Task order should reflect actual implementation sequence.
|
|
32
32
|
- Every main task must map back to `spec.md` requirement IDs.
|
|
33
33
|
- Include explicit tasks for required test coverage (unit, regression, property-based, integration/E2E as applicable), mock scenario setup, and adversarial/edge-case hardening.
|
|
34
|
+
- For batch specs, tasks must never include "wait for Spec X to land first" as a prerequisite; if such a dependency appears, re-slice the plan or move the coordination rule into `coordination.md`.
|
|
34
35
|
- After execution, the agent must update each checkbox (`[x]` for done, `[ ]` for not done).
|
|
35
36
|
- Remove all placeholder guidance text in square brackets after filling.
|
|
@@ -48,7 +48,8 @@ def main() -> int:
|
|
|
48
48
|
description=(
|
|
49
49
|
"Create planning docs (spec.md, tasks.md, checklist.md, contract.md, design.md) "
|
|
50
50
|
"from templates with folder format docs/plans/{date}/{change_name} "
|
|
51
|
-
"or docs/plans/{date}/{batch_name}/{change_name}
|
|
51
|
+
"or docs/plans/{date}/{batch_name}/{change_name}, including coordination "
|
|
52
|
+
"templates for truly parallel-safe batch specs."
|
|
52
53
|
),
|
|
53
54
|
)
|
|
54
55
|
parser.add_argument("feature_name", help="Display name used in generated documents")
|
|
@@ -73,7 +74,8 @@ def main() -> int:
|
|
|
73
74
|
action="store_true",
|
|
74
75
|
help=(
|
|
75
76
|
"When used with --batch-name, also create or update "
|
|
76
|
-
"docs/plans/{date}/{batch_name}/coordination.md from the shared template
|
|
77
|
+
"docs/plans/{date}/{batch_name}/coordination.md from the shared template "
|
|
78
|
+
"for up-front ownership and collision coordination."
|
|
77
79
|
),
|
|
78
80
|
)
|
|
79
81
|
parser.add_argument(
|
package/package.json
CHANGED