@laitszkin/apollo-toolkit 4.1.1 → 4.1.2
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 +8 -0
- package/package.json +1 -1
- package/skills/plan/SKILL.md +7 -7
- package/skills/qa/SKILL.md +9 -8
- package/skills/review/SKILL.md +40 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this repository are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [v4.1.2] - 2026-06-04
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- **review skill**: Added cross-requirement connection analysis and group review agents. Per-requirement review is now mandatory; connected requirements are grouped for dedicated interaction-level review.
|
|
10
|
+
- **plan skill**: File overlap is now a hard gate for parallel workers — only tasks with zero file overlap may run in parallel.
|
|
11
|
+
- **qa skill**: File overlap is now a hard gate for parallel fix workers — only fixes with zero file overlap may run in parallel.
|
|
12
|
+
|
|
5
13
|
## [v4.1.1] - 2026-06-04
|
|
6
14
|
|
|
7
15
|
### Added
|
package/package.json
CHANGED
package/skills/plan/SKILL.md
CHANGED
|
@@ -53,7 +53,7 @@ Decompose the architecture design from DESIGN.md into tasks precise to the file
|
|
|
53
53
|
|
|
54
54
|
**Decide whether each task needs an independent worker:**
|
|
55
55
|
- Touches ≥2 files → needs independent worker
|
|
56
|
-
- No file overlap between tasks →
|
|
56
|
+
- **No file overlap between tasks → workers may run in parallel.** This is permitted ONLY when file lists have ZERO overlap across all workers within the same batch. Any shared file between tasks means sequential execution — this is a hard constraint to prevent overwrite conflicts.
|
|
57
57
|
- File overlap or logical dependency between tasks → must run sequentially
|
|
58
58
|
- Purely procedural operations (lockfile update, merge, commit) → no worker needed; coordinator handles directly
|
|
59
59
|
|
|
@@ -78,13 +78,13 @@ Analyze dependencies between specs:
|
|
|
78
78
|
|
|
79
79
|
Output: Spec DAG.
|
|
80
80
|
|
|
81
|
-
### 5. Detect File Overlap
|
|
81
|
+
### 5. Detect File Overlap (Parallelism Gate)
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
File overlap detection is the **gate that determines parallelism**. Perform this across all task units:
|
|
84
84
|
|
|
85
85
|
1. Collect the file list each task unit is expected to modify
|
|
86
|
-
2. Compare file lists and mark overlaps
|
|
87
|
-
3.
|
|
86
|
+
2. Compare file lists and mark overlaps — zero overlap is the **only** condition for parallel execution
|
|
87
|
+
3. Any file overlap at all → must be sequential. This is a hard constraint — never dispatch parallel workers for tasks sharing a file
|
|
88
88
|
|
|
89
89
|
### 6. Write Worker Prompts (One Per Dispatchable Task)
|
|
90
90
|
|
|
@@ -114,8 +114,8 @@ Tasks that do not need a worker (purely procedural operations) do not get a work
|
|
|
114
114
|
|
|
115
115
|
Based on dependency analysis and file overlap detection, build the batch schedule → PROMPT.md Section 7 (Batch Schedule).
|
|
116
116
|
|
|
117
|
-
**Batch partitioning principles:**
|
|
118
|
-
- Within the same batch: tasks have
|
|
117
|
+
**Batch partitioning principles (file overlap is the hard gate):**
|
|
118
|
+
- Within the same batch: tasks must have ZERO file overlap — only then may they dispatch workers in parallel. File-overlapping tasks must be placed in separate sequential batches regardless of dependency
|
|
119
119
|
- Between batches: the previous batch must complete and pass its gate before the next batch begins
|
|
120
120
|
- A final integration batch handles housekeeping tasks (lockfile update, final test suite)
|
|
121
121
|
|
package/skills/qa/SKILL.md
CHANGED
|
@@ -84,17 +84,18 @@ Design principles:
|
|
|
84
84
|
|
|
85
85
|
### 5. Analyze Fix Dependencies → FIX.md Section 4
|
|
86
86
|
|
|
87
|
-
- **File overlap dependency**: Multiple issues touch the same
|
|
87
|
+
- **File overlap dependency**: Multiple issues touch the same file → must be sequential. This is a hard constraint — parallel workers are only permitted when file sets have ZERO overlap, regardless of logical independence
|
|
88
88
|
- **Logical dependency**: Fix B depends on Fix A being completed first
|
|
89
89
|
- **Independent issues**: No file overlap and no logical dependency → can be parallel
|
|
90
90
|
- **Regression test dependency**: Regression tests must run after their corresponding fix is complete (tests verify the fixed code)
|
|
91
91
|
|
|
92
|
-
### 6. Detect File Overlap
|
|
92
|
+
### 6. Detect File Overlap (Parallelism Gate)
|
|
93
|
+
|
|
94
|
+
File overlap detection is the **gate that determines parallel vs sequential execution**. Perform this across all fixes and regression tests:
|
|
93
95
|
|
|
94
|
-
Perform file overlap detection across all fixes and regression tests:
|
|
95
96
|
1. Collect the file list for each fix and regression test
|
|
96
|
-
2. Compare file lists and mark overlaps
|
|
97
|
-
3.
|
|
97
|
+
2. Compare file lists and mark overlaps — zero overlap is the only condition for parallel execution
|
|
98
|
+
3. Any file overlap at all → must be sequential. This is a hard constraint — never dispatch parallel workers for overlapping files
|
|
98
99
|
|
|
99
100
|
### 7. Write Worker Prompts
|
|
100
101
|
|
|
@@ -144,9 +145,9 @@ Each regression test worker prompt must include:
|
|
|
144
145
|
|
|
145
146
|
### 8. Create Batch Schedule → FIX.md Section 7
|
|
146
147
|
|
|
147
|
-
**Batch partitioning principles:**
|
|
148
|
-
- Fix batches: Ordered by dependencies. P0 issues first.
|
|
149
|
-
- Regression test batches: Dispatched **after all fixes are complete**, because tests verify the fixed code. Regression tests without file overlap can run in parallel
|
|
148
|
+
**Batch partitioning principles (file overlap is the hard gate):**
|
|
149
|
+
- Fix batches: Ordered by dependencies. P0 issues first. Within each batch, workers require ZERO file overlap to run in parallel — overlapping fixes must be sequentialized across sub-batches
|
|
150
|
+
- Regression test batches: Dispatched **after all fixes are complete**, because tests verify the fixed code. Regression tests without file overlap can run in parallel; those sharing files must be sequential
|
|
150
151
|
- Final batch: Full test suite + lint + confirmation that all issues are resolved.
|
|
151
152
|
|
|
152
153
|
**Typical schedule:**
|
package/skills/review/SKILL.md
CHANGED
|
@@ -32,7 +32,7 @@ Using each requirement's implementation scope and affected files (from DESIGN.md
|
|
|
32
32
|
|
|
33
33
|
### 2. Dispatch Per-requirement Subagents
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
**Mandatory: one agent per requirement.** Every `### Requirement N` must have its own dedicated review agent. Never merge requirements or skip any requirement. All subagents can review source code in parallel.
|
|
36
36
|
|
|
37
37
|
**If a previous REPORT.md exists**: Condense its verdict and key findings into one history entry. Prepend it to the Review History section, keeping all past rounds. Then perform a fresh review — do not let prior results bias the new assessment.
|
|
38
38
|
|
|
@@ -58,19 +58,51 @@ Each subagent's task:
|
|
|
58
58
|
| **P2 — Requirement Risk** | Functionality is correct but there are potential risks (architecture deviation, security weakness, performance bottleneck). This finding does **NOT** affect current requirement satisfaction. | → Needs Attention |
|
|
59
59
|
| **P3 — Suggestion** | Functionality is fully correct. Code can be improved but nothing is blocking. This finding does **NOT** affect any requirement's satisfaction. | → Ready to Merge |
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
### 3. Identify Cross-requirement Connections
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
After all per-requirement subagents have completed, analyze the collected findings and requirement scopes to detect interactions:
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
- **Shared modules**: Multiple requirements touch the same code modules or utilities
|
|
66
|
+
- **Shared data structures**: Multiple requirements read/write the same data structures or state
|
|
67
|
+
- **Functional coupling**: One requirement's output feeds into another's input path
|
|
68
|
+
- **Same-file modifications**: Multiple requirements modify the same file (merge conflict risk)
|
|
69
|
+
- **Findings cross-references**: Individual agents flagged code that affects multiple requirements
|
|
70
|
+
|
|
71
|
+
Group connected requirements into **Requirement Groups**:
|
|
72
|
+
|
|
73
|
+
- Two requirements are connected if they share any interaction type above
|
|
74
|
+
- Connections are transitive: if A connects to B and B connects to C, all three form one group
|
|
75
|
+
- An isolated requirement (no connections to any other) is its own group of size 1
|
|
76
|
+
|
|
77
|
+
Output: Requirement Groups list, each with:
|
|
78
|
+
- Grouped requirement IDs
|
|
79
|
+
- Interaction type (shared module, shared data, functional coupling, file overlap)
|
|
80
|
+
- Interaction summary for group-level review
|
|
81
|
+
|
|
82
|
+
### 4. Dispatch Group Subagents
|
|
83
|
+
|
|
84
|
+
Create one review agent per Requirement Group. Each group agent reviews the **interactions between requirements** within its group:
|
|
85
|
+
|
|
86
|
+
1. Read the individual review findings for all requirements in the group
|
|
87
|
+
2. Focus on interaction-level concerns:
|
|
88
|
+
- **Interface mismatch**: One requirement's output consumed by another — does the contract align?
|
|
89
|
+
- **Side effect risk**: Changes for one requirement break assumptions of another
|
|
90
|
+
- **Merge conflict potential**: Same-file modifications require careful ordering
|
|
91
|
+
- **Architecture consistency**: Combined changes maintain DESIGN.md integrity
|
|
92
|
+
3. Classify interaction findings using the same severity scale (P0-P3)
|
|
93
|
+
4. Report findings scoped to the group interaction
|
|
94
|
+
|
|
95
|
+
### 5. Synthesize Review Results
|
|
96
|
+
|
|
97
|
+
Collect findings from both per-requirement and group subagents:
|
|
66
98
|
|
|
67
99
|
1. **Dedup overlapping findings**: Merge identical issues found by multiple agents into a single finding. Preserve dimension-specific notes from each agent.
|
|
68
|
-
2. **Resort by severity**: Reorder all findings by P0 → P3 across the entire list
|
|
100
|
+
2. **Resort by severity**: Reorder all findings by P0 → P3 across the entire list.
|
|
69
101
|
3. **Collapse empty severity levels**: If a severity level has zero findings, do NOT generate its table header or column labels.
|
|
70
|
-
4. **
|
|
71
|
-
5. **Conditional dimension summary**: If total findings exceed 5, include a one-line summary of finding counts per dimension. Otherwise omit
|
|
102
|
+
4. **Include group-level findings**: Cross-requirement interaction findings sit alongside individual findings.
|
|
103
|
+
5. **Conditional dimension summary**: If total findings exceed 5, include a one-line summary of finding counts per dimension. Otherwise omit.
|
|
72
104
|
|
|
73
|
-
###
|
|
105
|
+
### 6. Generate REPORT.md
|
|
74
106
|
|
|
75
107
|
Use `assets/templates/REPORT.md` and populate accordingly.
|
|
76
108
|
|
|
@@ -88,8 +120,6 @@ Include the following sections:
|
|
|
88
120
|
| No P0/P1, has P2 findings | Needs Attention |
|
|
89
121
|
| Only P3 or no findings | Ready to Merge |
|
|
90
122
|
|
|
91
|
-
The verdict is derived directly from the severity of findings. P0 and P1 are defined as "requirement not satisfied" — if they exist, the review must fail. If only P3 exists, requirements are satisfied and no P3 finding can block a merge.
|
|
92
|
-
|
|
93
123
|
**The report must NOT contain** fix suggestions, root cause analysis, or verification methods. These are handled by the `qa` skill.
|
|
94
124
|
|
|
95
125
|
## References
|