@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
|
@@ -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.
|
|
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
|