@laitszkin/apollo-toolkit 3.3.3 → 3.3.5

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 CHANGED
@@ -7,6 +7,16 @@ All notable changes to this repository are documented in this file.
7
7
  ### Added
8
8
  - (None yet)
9
9
 
10
+ ## [v3.3.5] - 2026-04-28
11
+
12
+ ### Changed
13
+ - Tighten `implement-specs-with-worktree` so parallel batch implementations must inspect active sibling worktrees before editing shared runtime, config, or contract boundaries that may already be in flight elsewhere.
14
+
15
+ ## [v3.3.4] - 2026-04-27
16
+
17
+ ### Changed
18
+ - Tighten `implement-specs-with-worktree` so the skill must verify it is operating inside the intended isolated worktree before any edits, and never mutate product files from the parent checkout.
19
+
10
20
  ## [v3.3.3] - 2026-04-27
11
21
 
12
22
  ### Changed
@@ -4,12 +4,13 @@ description: >-
4
4
  Read a specs planning set (spec.md, tasks.md, checklist.md, contract.md, design.md)
5
5
  from `docs/plans/{YYYY-MM-DD}/{change_name}/` or `docs/plans/{YYYY-MM-DD}/{batch_name}/{change_name}/`
6
6
  plus parent `coordination.md` when present, and implement the approved tasks
7
- within an isolated git worktree. Use when the user asks to implement from an
8
- existing spec set, execute a spec plan, or work on a feature branch without
9
- affecting the parent working tree. If not already in a worktree, create a new
10
- worktree with a spec-named branch from the same parent branch as the worktree
11
- base, implement all planned tasks, then commit the changes to that local
12
- branch when complete.
7
+ within an isolated git worktree, with every code, test, and spec edit made
8
+ inside that worktree rather than the parent checkout. Use when the user asks
9
+ to implement from an existing spec set, execute a spec plan, or work on a
10
+ feature branch without affecting the parent working tree. If not already in a
11
+ worktree, create a new worktree with a spec-named branch from the same parent
12
+ branch as the worktree base, implement all planned tasks, then commit the
13
+ changes to that local branch when complete.
13
14
  ---
14
15
 
15
16
  # Implement Specs with Worktree
@@ -24,8 +25,8 @@ description: >-
24
25
  ## Standards
25
26
 
26
27
  - Evidence: Read and understand the complete specs set before starting implementation, identify the authoritative parent branch that the worktree should inherit from, verify whether the requested scope is already implemented on that parent branch or current main working tree, and when the requested plan path is missing from the current worktree verify where the authoritative copy actually lives before substituting any nearby spec.
27
- - Execution: Create or use an isolated worktree for implementation only when the requested spec still needs work, sync the exact approved plan set into that worktree when it is missing there, create the worktree branch from the same parent branch as the worktree base, use the spec-set name as the canonical branch/worktree name, prefer direct `git` ref checks over brittle shell inference when deciding whether a branch or worktree already exists, and commit to a local branch when done.
28
- - Quality: Complete all planned tasks, run relevant tests, backfill the spec documents with actual completion status, avoid dragging unrelated sibling specs into the worktree just because they share a batch directory, revert unrelated formatter-only noise outside the spec-owned scope before committing, if branch/worktree creation reports ambiguous state re-check the actual git refs and worktree list before retrying, and when using targeted Rust `cargo test` selectors remember Cargo accepts only one positional test filter so each distinct selector needs its own confirmed command.
28
+ - Execution: Create or use an isolated worktree for implementation only when the requested spec still needs work, sync the exact approved plan set into that worktree when it is missing there, create the worktree branch from the same parent branch as the worktree base, use the spec-set name as the canonical branch/worktree name, inspect sibling worktrees for the same batch before editing shared files when parallel implementations may already be active, prefer direct `git` ref checks over brittle shell inference when deciding whether a branch or worktree already exists, and commit to a local branch when done. Do not edit product files from the parent checkout; every implementation, test, and spec backfill change must happen inside the active worktree directory after verifying `git rev-parse --show-toplevel` and `pwd` point at the same worktree root.
29
+ - Quality: Complete all planned tasks, run relevant tests, backfill the spec documents with actual completion status, avoid dragging unrelated sibling specs into the worktree just because they share a batch directory, inspect overlapping runtime/config/shared touch points before diverging from another active sibling worktree in the same batch, revert unrelated formatter-only noise outside the spec-owned scope before committing, if branch/worktree creation reports ambiguous state re-check the actual git refs and worktree list before retrying, and when using targeted Rust `cargo test` selectors remember Cargo accepts only one positional test filter so each distinct selector needs its own confirmed command.
29
30
  - Output: Keep the worktree branch clean with only the intended implementation commits.
30
31
 
31
32
  ## Goal
@@ -59,6 +60,7 @@ Implement approved spec planning sets in an isolated git worktree, ensuring the
59
60
  - Run `git worktree list` to see existing worktrees and branches.
60
61
  - Determine if the current session is already inside a worktree (check `git rev-parse --show-toplevel` and compare with `git worktree list`).
61
62
  - If the current worktree is missing the exact requested plan set, sync that plan into the worktree before coding and re-read the synced files there so implementation happens against the same plan snapshot that will be backfilled later.
63
+ - Before making any edits, confirm the active shell is inside the intended worktree directory; if not, stop editing, create or enter the required worktree first, and only then continue.
62
64
  - Determine the authoritative parent branch for the new worktree:
63
65
  - if the current checkout already comes from a branch, reuse that branch as the base
64
66
  - if the current session is inside a detached worktree, identify the parent branch that owns that worktree before creating another branch from it
@@ -67,6 +69,10 @@ Implement approved spec planning sets in an isolated git worktree, ensuring the
67
69
  - search the codebase, tests, and recent git history for the exact feature boundary or cutover named by the spec
68
70
  - if the requested plan is archived, treat that as a signal to verify whether the implementation already landed before starting any new branch
69
71
  - when the requested behavior is already present and verified, report a `no-op` result with concrete evidence instead of recreating the same work in a fresh worktree
72
+ - When the spec belongs to a parallel batch and other local worktrees for sibling specs already exist, inspect those sibling worktrees before editing any shared boundary module (for example shared runtime, config, or contract files):
73
+ - use `git worktree list --porcelain` plus the batch ownership map in `coordination.md` to identify likely sibling worktrees
74
+ - if a sibling worktree already touches the same shared file, read that diff first and either stay within your owned additive boundary or update the coordination evidence before proceeding
75
+ - do not assume coordination is collision-free just because the plan scopes differ at the directory level
70
76
 
71
77
  ### 3) Create a new worktree if needed
72
78
 
@@ -85,6 +91,7 @@ If not already in a worktree, or if the user explicitly requests a fresh worktre
85
91
  git worktree add ../<spec-name> <branch-name>
86
92
  ```
87
93
  - Move into the new worktree directory and begin work there.
94
+ - Do not start editing until the shell is operating inside the new worktree directory and the worktree root has been verified.
88
95
  - When checking whether the target branch or worktree already exists, use direct git evidence instead of shell heuristics:
89
96
  ```bash
90
97
  git show-ref --verify --quiet refs/heads/<branch-name>
@@ -144,6 +151,7 @@ After implementation and testing:
144
151
  ## Working Rules
145
152
 
146
153
  - Always work in an isolated worktree to keep the parent checkout clean.
154
+ - Treat the parent checkout as read-only for implementation work; use it only for inspection, worktree creation, or verification, never for file edits.
147
155
  - Treat an already-landed spec as complete work, not as a reason to recreate a duplicate worktree.
148
156
  - Keep the new branch based on the same parent branch as the worktree base; do not silently rebase the workflow onto a different branch.
149
157
  - Use the spec-set name as the canonical identifier for the branch and worktree unless the user explicitly asks for a different naming scheme.
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Implement Specs with Worktree"
3
3
  short_description: "Implement an approved spec set inside an isolated git worktree"
4
- default_prompt: "Use $implement-specs-with-worktree to read the full plan set under docs/plans, including parent coordination.md when the spec belongs to a parallel batch, identify the parent branch that the worktree should inherit from, create or reuse an isolated git worktree whose branch and directory names are derived from the spec name, implement all approved tasks within the shared ownership and replacement-direction constraints, backfill completion status into the planning docs, and commit the result to the local worktree branch without affecting the parent branch."
4
+ default_prompt: "Use $implement-specs-with-worktree to read the full plan set under docs/plans, including parent coordination.md when the spec belongs to a parallel batch, identify the parent branch that the worktree should inherit from, inspect sibling worktrees when shared runtime/config boundaries may overlap, create or reuse an isolated git worktree whose branch and directory names are derived from the spec name, implement all approved tasks within the shared ownership and replacement-direction constraints, backfill completion status into the planning docs, and commit the result to the local worktree branch without affecting the parent branch."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "3.3.3",
3
+ "version": "3.3.5",
4
4
  "description": "Apollo Toolkit npm installer for managed skill copying across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",