@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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "4.1.1",
3
+ "version": "4.1.2",
4
4
  "description": "Apollo Toolkit npm installer for managed skill copying across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",
@@ -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 → can run in parallel workers
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
- Perform file overlap detection across all task units:
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. File-overlapping task units must not run in parallel and cannot be assigned to different workers
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 no file overlap and no logical dependency can dispatch workers in parallel
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
 
@@ -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 area of the same file must be sequential
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. Overlapping work must not run in parallel and cannot be assigned to different workers
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:**
@@ -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
- Create one subagent per requirement (Requirement N). All subagents can review source code in parallel.
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
- If the same code corresponds to multiple requirements, cross-agent findings are handled in the synthesis phase.
61
+ ### 3. Identify Cross-requirement Connections
62
62
 
63
- ### 3. Synthesize Review Results
63
+ After all per-requirement subagents have completed, analyze the collected findings and requirement scopes to detect interactions:
64
64
 
65
- Collect all subagent findings and synthesize:
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 (not per-agent order).
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. **Cross-requirement interaction check**: Identify code introduced for one requirement that modifies shared modules or data structures used by another requirement. Flag these as potential interaction risks (P2).
71
- 5. **Conditional dimension summary**: If total findings exceed 5, include a one-line summary of finding counts per dimension. Otherwise omit — the findings table itself is sufficient.
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
- ### 4. Generate REPORT.md
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