@laitszkin/apollo-toolkit 2.14.17 → 2.14.18

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,12 @@ All notable changes to this repository are documented in this file.
7
7
  ### Changed
8
8
  - None yet.
9
9
 
10
+ ## [v2.14.18] - 2026-04-13
11
+
12
+ ### Changed
13
+ - Update `review-codebases` so issue-publishing runs must search for overlapping open or recent issues first and skip publishing duplicates when the root cause already has a tracker.
14
+ - Tighten `implement-specs-with-worktree` so archived or already-landed spec requests must verify whether the work is already present before creating a fresh worktree, and report a no-op with evidence when appropriate.
15
+
10
16
  ## [v2.14.17] - 2026-04-12
11
17
 
12
18
  ### Changed
@@ -23,8 +23,8 @@ description: >-
23
23
 
24
24
  ## Standards
25
25
 
26
- - Evidence: Read and understand the complete specs set before starting implementation, identify the authoritative parent branch that the worktree should inherit from, 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, 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, follow the implementation standards from the dependent skills, and commit to a local branch when done.
26
+ - 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, follow the implementation standards from the dependent skills, and commit to a local branch when done.
28
28
  - Quality: Complete all planned tasks, run relevant tests, backfill the spec documents with actual completion status, and avoid dragging unrelated sibling specs into the worktree just because they share a batch directory.
29
29
  - Output: Keep the worktree branch clean with only the intended implementation commits.
30
30
 
@@ -63,10 +63,14 @@ Implement approved spec planning sets in an isolated git worktree, ensuring the
63
63
  - if the current checkout already comes from a branch, reuse that branch as the base
64
64
  - if the current session is inside a detached worktree, identify the parent branch that owns that worktree before creating another branch from it
65
65
  - do not default to `main` unless `main` is actually the parent branch of the worktree you are extending
66
+ - Before creating a new worktree, inspect the parent branch and current main working tree for evidence that the requested spec is already implemented:
67
+ - search the codebase, tests, and recent git history for the exact feature boundary or cutover named by the spec
68
+ - if the requested plan is archived, treat that as a signal to verify whether the implementation already landed before starting any new branch
69
+ - 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
66
70
 
67
71
  ### 3) Create a new worktree if needed
68
72
 
69
- If not already in a worktree, or if the user explicitly requests a fresh worktree:
73
+ If not already in a worktree, or if the user explicitly requests a fresh worktree, and the spec is not already implemented:
70
74
 
71
75
  - Derive the canonical spec name from the requested `change_name` directory.
72
76
  - Use that spec name as the shared branch/worktree identifier:
@@ -132,6 +136,7 @@ After implementation and testing:
132
136
  ## Working Rules
133
137
 
134
138
  - Always work in an isolated worktree to keep the parent checkout clean.
139
+ - Treat an already-landed spec as complete work, not as a reason to recreate a duplicate worktree.
135
140
  - Keep the new branch based on the same parent branch as the worktree base; do not silently rebase the workflow onto a different branch.
136
141
  - Use the spec-set name as the canonical identifier for the branch and worktree unless the user explicitly asks for a different naming scheme.
137
142
  - Complete all planned tasks before committing; do not stop with partial work.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "2.14.17",
3
+ "version": "2.14.18",
4
4
  "description": "Apollo Toolkit npm installer for managed skill copying across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",
@@ -8,7 +8,7 @@ description: Repository-wide code review workflow that requires reading the full
8
8
  ## Dependencies
9
9
 
10
10
  - Required: none.
11
- - Conditional: `open-github-issue` when confirmed findings should be tracked as GitHub issues.
11
+ - Conditional: `read-github-issue` when issue publication requires duplicate checks; `open-github-issue` when confirmed findings should be tracked as GitHub issues.
12
12
  - Optional: none.
13
13
  - Fallback: If publication is needed and `open-github-issue` is unavailable, return draft issue bodies instead of inventing another publisher.
14
14
 
@@ -58,7 +58,11 @@ Only continue to the next level when the current level has no confirmed findings
58
58
  5. Review edge cases last
59
59
  - Run this step only when there are no architecture or code-quality findings.
60
60
  - Check null or empty inputs, boundary values, partial failures, retries, concurrency, ordering assumptions, idempotency, and invalid state transitions.
61
- 6. Publish each confirmed finding
61
+ 6. Check for duplicate issues before publication
62
+ - When findings will be published, use `read-github-issue` to search the target repository for open and recently closed issues that match the same module, failure mode, or architectural boundary.
63
+ - Treat an existing issue as a duplicate when the underlying root cause, affected boundary, and requested outcome materially overlap, even if the wording differs.
64
+ - If a duplicate exists, cite it in the final report and do not publish a new issue for that finding.
65
+ 7. Publish each confirmed non-duplicate finding
62
66
  - Invoke `open-github-issue` once per finding.
63
67
  - Use a tier-specific title prefix:
64
68
  - `[Architecture] <short finding>`
@@ -99,6 +103,7 @@ Use this structure in responses:
99
103
  - impact
100
104
  - confidence
101
105
  4. GitHub issue publication status
106
+ - duplicate-check status and any matching existing issue URLs
102
107
  - publication mode (`gh-cli` / `github-token` / `draft-only`)
103
108
  - created issue URL or draft output per finding
104
109
  5. Deferred follow-up