@laitszkin/apollo-toolkit 3.1.7 → 3.2.0
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/AGENTS.md +1 -0
- package/CHANGELOG.md +13 -0
- package/README.md +1 -0
- package/analyse-app-logs/scripts/__pycache__/filter_logs_by_time.cpython-312.pyc +0 -0
- package/analyse-app-logs/scripts/__pycache__/log_cli_utils.cpython-312.pyc +0 -0
- package/analyse-app-logs/scripts/__pycache__/search_logs.cpython-312.pyc +0 -0
- package/docs-to-voice/scripts/__pycache__/docs_to_voice.cpython-312.pyc +0 -0
- package/generate-spec/scripts/__pycache__/create-specscpython-312.pyc +0 -0
- package/iterative-code-performance/LICENSE +21 -0
- package/iterative-code-performance/README.md +34 -0
- package/iterative-code-performance/SKILL.md +116 -0
- package/iterative-code-performance/agents/openai.yaml +4 -0
- package/iterative-code-performance/references/algorithmic-complexity.md +58 -0
- package/iterative-code-performance/references/allocation-and-hot-loops.md +53 -0
- package/iterative-code-performance/references/caching-and-memoization.md +64 -0
- package/iterative-code-performance/references/concurrency-and-pipelines.md +61 -0
- package/iterative-code-performance/references/coupled-hot-path-strategy.md +78 -0
- package/iterative-code-performance/references/io-batching-and-queries.md +55 -0
- package/iterative-code-performance/references/iteration-gates.md +133 -0
- package/iterative-code-performance/references/job-selection.md +92 -0
- package/iterative-code-performance/references/measurement-and-benchmarking.md +78 -0
- package/iterative-code-performance/references/module-coverage.md +133 -0
- package/iterative-code-performance/references/repository-scan.md +69 -0
- package/iterative-code-quality/README.md +2 -0
- package/iterative-code-quality/SKILL.md +6 -4
- package/iterative-code-quality/agents/openai.yaml +1 -1
- package/iterative-code-quality/references/coupled-core-file-strategy.md +2 -2
- package/iterative-code-quality/references/iteration-gates.md +8 -2
- package/iterative-code-quality/references/job-selection.md +6 -1
- package/iterative-code-quality/references/module-coverage.md +18 -5
- package/iterative-code-quality/references/repository-scan.md +3 -1
- package/iterative-code-quality/references/testing-strategy.md +3 -1
- package/katex/scripts/__pycache__/render_katex.cpython-312.pyc +0 -0
- package/open-github-issue/scripts/__pycache__/open_github_issue.cpython-312.pyc +0 -0
- package/package.json +1 -1
- package/read-github-issue/scripts/__pycache__/find_issues.cpython-312.pyc +0 -0
- package/read-github-issue/scripts/__pycache__/read_issue.cpython-312.pyc +0 -0
- package/resolve-review-comments/scripts/__pycache__/review_threads.cpython-312.pyc +0 -0
- package/text-to-short-video/scripts/__pycache__/enforce_video_aspect_ratio.cpython-312.pyc +0 -0
|
@@ -8,6 +8,8 @@ These are job-selection rules for Step 2 of the main skill loop. They are not wo
|
|
|
8
8
|
|
|
9
9
|
The goal is not to force one permanent order. The goal is to choose the next job that most safely improves the selected module or module cluster and unlocks later work.
|
|
10
10
|
|
|
11
|
+
Before choosing, the agent should first scan the selected module through every available job lens. Job selection happens after that scan; it is not a substitute for that scan.
|
|
12
|
+
|
|
11
13
|
## Available jobs
|
|
12
14
|
|
|
13
15
|
- naming cleanup
|
|
@@ -64,10 +66,13 @@ If multiple jobs are plausible, prefer the one that:
|
|
|
64
66
|
2. reduces cognitive load fastest,
|
|
65
67
|
3. removes the strongest blocker to a deeper future refactor,
|
|
66
68
|
4. helps an unvisited module reach deep-read coverage,
|
|
67
|
-
5.
|
|
69
|
+
5. matches the agent's self-assessed ability to understand, execute, and repair the change under current evidence,
|
|
70
|
+
6. preserves behavior with the clearest available guardrails.
|
|
68
71
|
|
|
69
72
|
## Hard rule
|
|
70
73
|
|
|
71
74
|
If a high-risk area lacks enough guardrails, `test addition` or another guardrail-building job should usually win before a deeper structural refactor.
|
|
72
75
|
|
|
76
|
+
If the area is difficult but the agent can explain the behavior, affected contracts, rollback path, and available tests clearly, do not downgrade confidence just because the refactor is non-trivial. Strong guardrails mean accidental breakage should be repaired by returning the test suite to green, not avoided by leaving an actionable quality issue in place.
|
|
77
|
+
|
|
73
78
|
If any in-scope module remains unvisited, choose jobs that help the next easiest useful unvisited module become deeply read, improved, or validated-clear before spending another round on already-familiar areas.
|
|
@@ -6,6 +6,8 @@ Prevent the agent from repeatedly improving only familiar or easy files while un
|
|
|
6
6
|
|
|
7
7
|
Use this reference in Step 1 to build the module inventory and in Step 2 to choose which module or module cluster receives the next deep-read iteration.
|
|
8
8
|
|
|
9
|
+
Deep-read here does not mean generic reading. It means scanning the module through each available job lens so the agent can identify whether naming cleanup, simplification, module-boundary cleanup, logging alignment, test addition, or staged unlock work is justified.
|
|
10
|
+
|
|
9
11
|
## Module inventory
|
|
10
12
|
|
|
11
13
|
List every meaningful in-scope module before completion. A module may be:
|
|
@@ -33,7 +35,7 @@ Exclude generated, vendored, lock, build-output, snapshot, fixture-only, or expl
|
|
|
33
35
|
Use simple statuses so stopping conditions are auditable:
|
|
34
36
|
|
|
35
37
|
- `unvisited`: inventoried but not deeply read yet.
|
|
36
|
-
- `deep-read`: callers, callees, tests, logs, contracts,
|
|
38
|
+
- `deep-read`: callers, callees, tests, logs, contracts, core files, and all available job lenses were inspected with enough context to judge quality.
|
|
37
39
|
- `refactored`: at least one behavior-neutral improvement landed for this module.
|
|
38
40
|
- `validated-clear`: deep read found no actionable in-scope quality issue worth changing now.
|
|
39
41
|
- `deferred`: an issue exists but is blocked, unsafe, speculative, approval-dependent, or requires macro-architecture/product scope.
|
|
@@ -68,7 +70,17 @@ A module iteration is not deep-read until the agent inspects:
|
|
|
68
70
|
- configuration, persistence, and external-service contracts when relevant,
|
|
69
71
|
- known TODOs, comments, or docs that describe current behavior.
|
|
70
72
|
|
|
73
|
+
It also must inspect the module through each available job lens:
|
|
74
|
+
|
|
75
|
+
- `naming cleanup`: are names hiding ownership, units, state, lifecycle, or intent?
|
|
76
|
+
- `function simplification / extraction`: are there duplicated flows, hard-coded orchestration paths, or overly mixed functions?
|
|
77
|
+
- `module-boundary cleanup`: are responsibilities mixed in ways that can be split safely?
|
|
78
|
+
- `logging alignment`: are logs stale, misleading, or missing at important branch/outcome points?
|
|
79
|
+
- `test addition`: are important behaviors, edges, or invariants weakly guarded?
|
|
80
|
+
- `staged unlock work`: if the module is too coupled for direct cleanup, what is the next smaller unlock step?
|
|
81
|
+
|
|
71
82
|
Do not mark a module `validated-clear` from a shallow file skim.
|
|
83
|
+
Do not mark a module `validated-clear` until every available job lens has been checked and classified as one of: actionable now, unlock-first, deferred, excluded, or no meaningful issue found.
|
|
72
84
|
|
|
73
85
|
## Choosing the next module
|
|
74
86
|
|
|
@@ -77,9 +89,10 @@ After every iteration:
|
|
|
77
89
|
1. Re-scan the module ledger.
|
|
78
90
|
2. Prefer an `unvisited` module unless a just-touched module must be stabilized before moving on.
|
|
79
91
|
3. Choose the easiest useful `unvisited` module that can be deeply read and improved or validated now.
|
|
80
|
-
4.
|
|
81
|
-
5. If the next unvisited module is
|
|
82
|
-
6.
|
|
92
|
+
4. Scan that module through every available job lens before deciding what "this round" means.
|
|
93
|
+
5. If the next unvisited module is high-risk and under-guarded, choose guardrail-building jobs first.
|
|
94
|
+
6. If the next unvisited module is too coupled for direct cleanup, choose staged unlock work rather than skipping it.
|
|
95
|
+
7. Return to the full-codebase scan after validation and update the ledger.
|
|
83
96
|
|
|
84
97
|
Revisiting a familiar module is valid only when:
|
|
85
98
|
|
|
@@ -104,7 +117,7 @@ Keep clusters bounded. Do not use clustering to claim full-repository coverage w
|
|
|
104
117
|
At the end of each iteration, answer:
|
|
105
118
|
|
|
106
119
|
- Which module or module cluster was deeply read?
|
|
107
|
-
- Which jobs were selected and why?
|
|
120
|
+
- Which job lenses were checked, and which jobs were selected and why?
|
|
108
121
|
- What quality issue was fixed, or why is the module validated-clear?
|
|
109
122
|
- Which guardrails prove behavior was preserved?
|
|
110
123
|
- Which modules remain `unvisited`?
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
4
|
|
|
5
|
-
Build a factual map before changing code, then choose the highest-value quality improvements while tracking module-by-module deep-read coverage.
|
|
5
|
+
Build a factual map before changing code, then choose the highest-value quality improvements while tracking module-by-module job-oriented deep-read coverage.
|
|
6
6
|
|
|
7
7
|
## Required scan
|
|
8
8
|
|
|
@@ -10,6 +10,7 @@ Build a factual map before changing code, then choose the highest-value quality
|
|
|
10
10
|
- List entrypoints: CLI commands, servers, workers, jobs, frontend routes, scripts, libraries, or public packages.
|
|
11
11
|
- Identify core domain modules, external integrations, persistence boundaries, logging utilities, and test helpers.
|
|
12
12
|
- Create a module inventory and coverage ledger using `references/module-coverage.md`.
|
|
13
|
+
- For each module, scan through the available job lenses instead of treating scan as generic code reading.
|
|
13
14
|
- Inspect current git state before editing so unrelated user changes are not overwritten.
|
|
14
15
|
- Identify generated, vendored, lock, snapshot, build-output, and fixture files; exclude them from refactoring unless they are human-maintained source.
|
|
15
16
|
|
|
@@ -31,6 +32,7 @@ For each candidate record:
|
|
|
31
32
|
|
|
32
33
|
- file path and symbol name,
|
|
33
34
|
- owning module or module cluster,
|
|
35
|
+
- job lens that exposed the issue,
|
|
34
36
|
- observed quality problem,
|
|
35
37
|
- why it matters to maintainability or correctness confidence,
|
|
36
38
|
- expected behavior-neutral change,
|
|
@@ -8,6 +8,8 @@ For every non-trivial pass, ask what could regress silently if the cleanup were
|
|
|
8
8
|
|
|
9
9
|
Use the resulting guardrails aggressively: when tests or equivalent verification can prove behavior preservation, they should unlock bolder refactors rather than merely justify small cosmetic edits.
|
|
10
10
|
|
|
11
|
+
Confidence decisions must include the agent's own ability to understand and complete the refactor, not only the apparent difficulty of the code. Strong tests, characterization coverage, narrow rollback points, and clear validation commands are objective support: if the refactor breaks behavior, the agent should use the failing guardrails to repair the true owner and return the suite to green instead of treating the task as impossible.
|
|
12
|
+
|
|
11
13
|
Do not require pre-existing tests before every refactor. Instead:
|
|
12
14
|
|
|
13
15
|
- if existing guardrails are already sufficient, proceed;
|
|
@@ -89,5 +91,5 @@ Consider:
|
|
|
89
91
|
- Preserve failing seeds or examples from property-based tests.
|
|
90
92
|
- Do not weaken existing tests to fit the refactor.
|
|
91
93
|
- If old tests asserted implementation details, rewrite them around stable behavior while preserving the business invariant.
|
|
92
|
-
- Once stable guardrails exist, do not refuse a maintainability-improving refactor purely because confidence feels lower than ideal; let the guardrails decide.
|
|
94
|
+
- Once stable guardrails exist, do not refuse a maintainability-improving refactor purely because confidence feels lower than ideal; combine self-assessed ability with the objective safety net and let the guardrails decide.
|
|
93
95
|
- If stable guardrails do not yet exist for a high-risk area, create them as the next execution direction instead of treating the refactor as blocked forever.
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|