@laitszkin/apollo-toolkit 2.14.8 → 2.14.10
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 +12 -0
- package/generate-spec/README.md +1 -1
- package/generate-spec/SKILL.md +6 -0
- package/generate-spec/references/templates/coordination.md +3 -0
- package/implement-specs-with-worktree/SKILL.md +2 -0
- package/merge-changes-from-local-branches/SKILL.md +14 -3
- package/merge-changes-from-local-branches/agents/openai.yaml +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to this repository are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [v2.14.10] - 2026-04-09
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- Strengthen `generate-spec` coordination guidance and template so parallel worktree batches must record file ownership guardrails, shared API or schema freeze rules, compatibility-shim retention rules, and post-merge integration checkpoints that reduce functional merge conflicts.
|
|
11
|
+
- Update `implement-specs-with-worktree` so engineers executing batch specs must treat those `coordination.md` guardrails as blocking constraints during implementation instead of optional notes.
|
|
12
|
+
|
|
13
|
+
## [v2.14.9] - 2026-04-08
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- Update `merge-changes-from-local-branches` so it must inspect active batch-spec `coordination.md` files under `docs/plans/` and follow their documented merge order when one is explicitly provided.
|
|
17
|
+
- Clarify that merge-order guidance from active batch specs is authoritative unless the plan is stale, conflicting, or cannot be mapped safely to the current branches.
|
|
18
|
+
|
|
7
19
|
## [v2.14.8] - 2026-04-08
|
|
8
20
|
|
|
9
21
|
### Changed
|
package/generate-spec/README.md
CHANGED
|
@@ -84,7 +84,7 @@ 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, 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, 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
|
package/generate-spec/SKILL.md
CHANGED
|
@@ -104,6 +104,11 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
|
|
|
104
104
|
- Record shared fields, shared contracts, or shared data-shape preparation that multiple spec sets must align on before implementation starts.
|
|
105
105
|
- 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
106
|
- Capture which spec set may touch which modules, which files require coordination, and whether any landing order or cutover sequence must be respected.
|
|
107
|
+
- Treat `coordination.md` as a merge-conflict prevention contract, not just a planning summary.
|
|
108
|
+
- Record the concrete file ownership map, forbidden touch points, and shared files that require explicit coordination before edits begin.
|
|
109
|
+
- 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
|
+
- 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
|
+
- 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.
|
|
107
112
|
- If the batch still needs a recommended merge order, make that order operationally convenient rather than functionally required for any single spec to work correctly.
|
|
108
113
|
- Keep single-spec concerns in that spec's own `design.md`; reserve `coordination.md` for batch-wide rules only.
|
|
109
114
|
|
|
@@ -148,6 +153,7 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
|
|
|
148
153
|
- When a request exceeds that scope, split it into independent, non-conflicting, non-dependent spec sets before approval.
|
|
149
154
|
- 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.
|
|
150
155
|
- 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
|
+
- 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.
|
|
151
157
|
- Prefer realistic coverage over boilerplate: add or remove checklist items based on actual risk.
|
|
152
158
|
- When external dependencies materially shape the change, `contract.md` is required and must capture the official-source-backed contract in the standardized record format.
|
|
153
159
|
- `design.md` is required and must describe the architecture/design delta for the spec in the standardized format, even when the final design is intentionally minimal.
|
|
@@ -48,6 +48,9 @@
|
|
|
48
48
|
|
|
49
49
|
## Conflict Boundaries
|
|
50
50
|
- Shared files requiring coordination: [file/module list or `None`]
|
|
51
|
+
- File ownership / edit guardrails: [which spec set owns which shared files or `None`]
|
|
52
|
+
- Shared API / schema freeze: [frozen owner + additive-only rule, or `None`]
|
|
53
|
+
- Compatibility shim retention rules: [which adapters/flags/tests must remain until batch completion, or `None`]
|
|
51
54
|
- Merge order / landing order: [independent / optional convenience order only, never a functional prerequisite]
|
|
52
55
|
- Worktree notes: [branch naming, rebase expectations, or `None`]
|
|
53
56
|
|
|
@@ -75,6 +75,7 @@ Use branch naming from `references/branch-naming.md`.
|
|
|
75
75
|
- Verify latest authoritative docs for involved stacks/integrations.
|
|
76
76
|
- When `coordination.md` exists, respect its shared-field preparation, legacy-replacement direction, and allowed touch-point boundaries before editing.
|
|
77
77
|
- Implement each task in `tasks.md` systematically.
|
|
78
|
+
- When `coordination.md` defines file ownership guardrails, additive-only shared-contract rules, or compatibility-shim retention requirements, treat them as blocking execution constraints rather than optional guidance.
|
|
78
79
|
- For each implemented change, add appropriate tests:
|
|
79
80
|
- Unit tests for changed logic
|
|
80
81
|
- Regression tests for bug-prone behavior
|
|
@@ -119,6 +120,7 @@ After implementation and testing:
|
|
|
119
120
|
- Complete all planned tasks before committing; do not stop with partial work.
|
|
120
121
|
- Treat the specs as the source of truth for scope — do not deviate without user approval.
|
|
121
122
|
- When `coordination.md` exists, treat it as the source of truth for batch-level ownership and cutover direction.
|
|
123
|
+
- Never remove a shared shim, rename a shared field, or rewrite a shared file outside the ownership map unless `coordination.md` explicitly allows that change or the user approves a coordination update first.
|
|
122
124
|
- Follow the testing standards from `enhance-existing-features` and `develop-new-features`.
|
|
123
125
|
- Do not push to remote unless the user explicitly requests it.
|
|
124
126
|
|
|
@@ -22,8 +22,8 @@ description: >-
|
|
|
22
22
|
|
|
23
23
|
## Standards
|
|
24
24
|
|
|
25
|
-
- Evidence: Inspect the current branch state, local branches, ahead/behind status,
|
|
26
|
-
- Execution: Merge only the relevant local branches into `main` sequentially, resolve conflicts by reading both sides and editing the merged result to preserve shipped behavior, verify the merged state, delete each successfully merged branch and its detached worktree only after the merged result is confirmed, then hand the final local branch state to `commit-and-push` so commit/changelog/spec-archival work happens through the shared submission workflow.
|
|
25
|
+
- Evidence: Inspect the current branch state, local branches, ahead/behind status, actual conflicting files, and any active batch-spec `coordination.md` merge-order guidance before deciding what to merge.
|
|
26
|
+
- Execution: Merge only the relevant local branches into `main` sequentially, read any active batch-spec `coordination.md` and honor its documented merge order when present, resolve conflicts by reading both sides and editing the merged result to preserve shipped behavior, verify the merged state, delete each successfully merged branch and its detached worktree only after the merged result is confirmed, then hand the final local branch state to `commit-and-push` so commit/changelog/spec-archival work happens through the shared submission workflow.
|
|
27
27
|
- Quality: Never use blanket timestamp rules or default `-X ours/theirs` conflict resolution as the primary merge strategy, and do not declare success until the final `main` state has been checked and verified.
|
|
28
28
|
- Output: Produce a clean local main branch with all local changes integrated and ready for the shared submit workflow.
|
|
29
29
|
|
|
@@ -37,19 +37,29 @@ Consolidate all local branch changes into the local main branch with automatic c
|
|
|
37
37
|
|
|
38
38
|
- Run `git branch` to list all local branches.
|
|
39
39
|
- Check the current branch with `git branch --show-current` and capture `git status -sb`.
|
|
40
|
+
- Inspect active planning artifacts under `docs/plans/` and look for batch roots that still contain live spec sets plus a `coordination.md`.
|
|
41
|
+
- When an active batch is present, read its `coordination.md` before deciding merge order.
|
|
40
42
|
- Compare each candidate branch against `main` with `git log --oneline main..branch`, `git diff --stat main...branch`, or equivalent evidence so empty or already-merged branches are skipped.
|
|
41
43
|
- For each branch, note:
|
|
42
44
|
- Branch name
|
|
43
45
|
- Commits ahead of main
|
|
44
46
|
- Last commit message (via `git log -1 --oneline`)
|
|
45
47
|
|
|
48
|
+
### 1.5) Resolve merge order from active batch specs
|
|
49
|
+
|
|
50
|
+
- Treat active batch specs as authoritative merge-order guidance when they include a concrete `Merge order / landing order` entry in `coordination.md`.
|
|
51
|
+
- Map branch names to the corresponding spec sets or worktrees using the batch folder names, spec-set names, and current git evidence; do not guess when the mapping is ambiguous.
|
|
52
|
+
- Merge branches in the documented order when that order is explicit.
|
|
53
|
+
- If multiple active batches exist, reconcile their merge-order guidance before merging; if the orders conflict or the branch-to-spec mapping is unclear, stop and report the ambiguity instead of choosing an arbitrary sequence.
|
|
54
|
+
- If no active batch spec provides an explicit merge order, fall back to the normal branch inventory evidence and merge the relevant branches sequentially based on the safest verified order.
|
|
55
|
+
|
|
46
56
|
### 2) Ensure clean state on main
|
|
47
57
|
|
|
48
58
|
- Check `git status` on `main`.
|
|
49
59
|
- If `main` has uncommitted changes that are unrelated to the merge request, stop and report them instead of stashing automatically.
|
|
50
60
|
- Only proceed once you can state which branch or branches actually need to be merged.
|
|
51
61
|
|
|
52
|
-
### 3) Merge branches sequentially
|
|
62
|
+
### 3) Merge branches sequentially in the resolved order
|
|
53
63
|
|
|
54
64
|
For each local branch (excluding main):
|
|
55
65
|
|
|
@@ -139,6 +149,7 @@ For each local branch (excluding main):
|
|
|
139
149
|
- If a branch's merge breaks tests, resolve the conflict differently before committing.
|
|
140
150
|
- Do not stash or discard unrelated work automatically; stop when the working tree state makes the merge ambiguous.
|
|
141
151
|
- Delete merged source branches and their detached worktrees only after the merge commit and verification both succeed.
|
|
152
|
+
- When active batch specs provide merge-order guidance, follow that order unless new evidence proves the plan is stale or inapplicable; if so, stop and report the mismatch instead of silently overriding the batch plan.
|
|
142
153
|
|
|
143
154
|
## Conflict Resolution Examples
|
|
144
155
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Merge Changes from Local Branches"
|
|
3
3
|
short_description: "Merge relevant local branches into main with verified conflict resolution"
|
|
4
|
-
default_prompt: "Use $merge-changes-from-local-branches to inventory local branches, merge only the relevant ones into local main, resolve conflicts by reading and composing the correct behavior instead of relying on blanket merge strategies, run targeted verification after conflictful merges, delete successfully merged source branches and detached worktrees only after verification succeeds, and leave remote state untouched."
|
|
4
|
+
default_prompt: "Use $merge-changes-from-local-branches to inventory local branches, inspect active batch-spec `coordination.md` files under docs/plans and follow their documented merge order when present, merge only the relevant ones into local main, resolve conflicts by reading and composing the correct behavior instead of relying on blanket merge strategies, run targeted verification after conflictful merges, delete successfully merged source branches and detached worktrees only after verification succeeds, and leave remote state untouched."
|
package/package.json
CHANGED