@laitszkin/apollo-toolkit 2.14.21 → 2.14.23
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,18 @@ All notable changes to this repository are documented in this file.
|
|
|
7
7
|
### Changed
|
|
8
8
|
- None yet.
|
|
9
9
|
|
|
10
|
+
## [v2.14.23] - 2026-04-18
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Strengthen `scheduled-runtime-health-check` so bounded runtime investigations must explicitly choose and report the highest-fidelity execution mode that matches the user's claim, instead of silently substituting a lower-fidelity harness for production-like behavior.
|
|
14
|
+
- Strengthen `systematic-debug` so runtime bug investigations must reproduce failures in the same runtime mode as the observed claim, and treat scenario or harness reruns as lower-fidelity evidence unless that limitation is made explicit.
|
|
15
|
+
- Strengthen `improve-observability` so aggregate success counters must stay reconcilable with per-entity detail records across harness and production paths, treating missing detail rows as an observability bug.
|
|
16
|
+
|
|
17
|
+
## [v2.14.22] - 2026-04-17
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Strengthen `systematic-debug` so failing-test investigations must classify each symptom as stale test contract, test-harness interference, or real product bug, and must treat isolated-only passes as evidence to inspect shared-state and parallel-test interference before changing product code.
|
|
21
|
+
|
|
10
22
|
## [v2.14.21] - 2026-04-16
|
|
11
23
|
|
|
12
24
|
### Changed
|
|
@@ -15,7 +15,7 @@ description: Add focused observability to an existing system so opaque workflows
|
|
|
15
15
|
## Standards
|
|
16
16
|
|
|
17
17
|
- Evidence: Read the real execution path and current telemetry before deciding where visibility actually disappears.
|
|
18
|
-
- Execution: Add the smallest useful instrumentation around decision points, scope contracts, outcomes, and
|
|
18
|
+
- Execution: Add the smallest useful instrumentation around decision points, scope contracts, outcomes, failure reasons, and any cross-path lifecycle gaps between summary counters and detailed outcome records.
|
|
19
19
|
- Quality: Keep changes behavior-neutral, use structured high-signal telemetry, avoid secrets, and lock the signals with tests.
|
|
20
20
|
- Output: Report which stages are now observable, which fields or metrics to inspect, and which tests validate the instrumentation.
|
|
21
21
|
|
|
@@ -41,6 +41,7 @@ Do not use this skill for generic bug fixing when the main request is behavior c
|
|
|
41
41
|
|
|
42
42
|
- Read the relevant entrypoints, orchestration layers, and current telemetry before editing.
|
|
43
43
|
- Identify the exact stages where information disappears: validation, branching, external calls, persistence, retries, settlement, cleanup, or error handling.
|
|
44
|
+
- When the same business event can flow through multiple execution paths such as harness, replay, batch worker, or production runtime, compare those paths explicitly and find where their observability contract diverges.
|
|
44
45
|
- Reuse the project's existing logger, tracing library, metric naming style, and error taxonomy.
|
|
45
46
|
|
|
46
47
|
### 2. Choose the smallest useful signals
|
|
@@ -53,6 +54,7 @@ Add instrumentation only where it helps answer a concrete debugging question. Pr
|
|
|
53
54
|
- explicit logs for skipped paths and early returns
|
|
54
55
|
- metrics or counters for outcome classes when aggregates matter
|
|
55
56
|
- trace spans only when the project already uses tracing or timing data is necessary
|
|
57
|
+
- paired detail records or structured child events when an aggregate success counter would otherwise hide which entities actually completed downstream follow-up work
|
|
56
58
|
|
|
57
59
|
Avoid logging secrets, full payload dumps, or highly volatile text that breaks searchability.
|
|
58
60
|
|
|
@@ -69,6 +71,15 @@ For each critical stage, make these states observable when relevant:
|
|
|
69
71
|
|
|
70
72
|
If a failure is already logged, improve its context instead of duplicating another generic error line.
|
|
71
73
|
|
|
74
|
+
### 3.2 Keep aggregate and detail telemetry in lockstep
|
|
75
|
+
|
|
76
|
+
When a system reports aggregate counts such as `success_count`, `processed_count`, or `remediation_success_count`, ensure operators can reconcile those counts back to detailed records.
|
|
77
|
+
|
|
78
|
+
- emit or persist one detail record per counted entity when feasible
|
|
79
|
+
- carry the same identifiers and outcome stage across both aggregate and detailed telemetry
|
|
80
|
+
- treat "aggregate says success but detail table is empty" as an observability bug, not as an acceptable reporting gap
|
|
81
|
+
- if multiple runtime modes claim the same business event, keep the critical observability fields aligned across those modes unless the output contract intentionally differs
|
|
82
|
+
|
|
72
83
|
### 3.1 Preserve cross-stage scope contracts
|
|
73
84
|
|
|
74
85
|
When a workflow derives scope in one stage and consumes it later, make that contract observable end-to-end.
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ description: Use a background terminal to run a user-specified command immediate
|
|
|
15
15
|
## Standards
|
|
16
16
|
|
|
17
17
|
- Evidence: Anchor every conclusion to the requested command, execution window, startup/shutdown timestamps, one canonical run folder or artifact root, captured logs, and concrete runtime signals.
|
|
18
|
-
- Execution: Collect the run contract, verify the real stop mechanism before launch, use a background terminal, optionally update the code only when the user asks, execute the requested command immediately or in the requested window, record the canonical run folder once the process materializes it, capture logs, stop cleanly when bounded, then delegate log review to `analyse-app-logs` only when findings are requested or needed.
|
|
18
|
+
- Execution: Collect the run contract, verify the real stop mechanism before launch, choose the highest-fidelity execution mode that matches the user's intent, use a background terminal, optionally update the code only when the user asks, execute the requested command immediately or in the requested window, record the canonical run folder once the process materializes it, capture logs, stop cleanly when bounded, then delegate log review to `analyse-app-logs` only when findings are requested or needed.
|
|
19
19
|
- Quality: Keep scheduling, execution, and shutdown deterministic; separate confirmed findings from hypotheses; and mark each assessed module healthy/degraded/failed/unknown with reasons.
|
|
20
20
|
- Output: Return the run configuration, execution status, log locations, optional code-update result, optional module health by area, confirmed issues, potential issues, observability gaps, and scheduler status when applicable.
|
|
21
21
|
|
|
@@ -46,6 +46,7 @@ This skill is an orchestration layer. It owns the background terminal session, o
|
|
|
46
46
|
- Prefer one bounded observation window over open-ended monitoring.
|
|
47
47
|
- Use one dedicated background terminal session per requested run so execution and logs stay correlated.
|
|
48
48
|
- Record the canonical run directory, artifact root, or other generated output location as soon as it exists, and use that as the source of truth for later analysis.
|
|
49
|
+
- When a repository exposes both synthetic harnesses and production-like runtime entrypoints, prefer the production-like path for claims about real runtime, market, or operator behavior; use the lower-fidelity harness only when the user explicitly asked for it or when it is the only safe reproduction surface.
|
|
49
50
|
- Treat code update as optional and only perform it when the user explicitly requests it.
|
|
50
51
|
- Treat startup, steady-state, and shutdown as part of the same investigation.
|
|
51
52
|
- Do not call a module healthy unless there is at least one positive signal for it.
|
|
@@ -58,6 +59,7 @@ This skill is an orchestration layer. It owns the background terminal session, o
|
|
|
58
59
|
1. Define the run contract
|
|
59
60
|
- Confirm or derive the workspace, execution command, optional code-update step, optional schedule, optional duration, readiness signal, log locations, and whether post-run findings are required.
|
|
60
61
|
- Derive commands from trustworthy sources first: `package.json`, `Makefile`, `docker-compose.yml`, `Procfile`, scripts, or project docs.
|
|
62
|
+
- If multiple commands exist for the same workflow, rank them by fidelity and state explicitly which mode you are choosing: production-like runtime, bounded integration harness, or synthetic scenario replay.
|
|
61
63
|
- If no trustworthy execution command or stop method can be found, stop and ask only for the missing command rather than guessing.
|
|
62
64
|
2. Prepare the background terminal run
|
|
63
65
|
- Use a dedicated background terminal session for the whole workflow.
|
|
@@ -77,6 +79,7 @@ This skill is an orchestration layer. It owns the background terminal session, o
|
|
|
77
79
|
5. Run and capture readiness
|
|
78
80
|
- Execute the requested command in the same background terminal.
|
|
79
81
|
- As soon as the command emits or creates its canonical run directory, artifact root, or equivalent output location, record that path and reuse it for every later check.
|
|
82
|
+
- Report the exact runtime mode used in the evidence record so later analysis does not accidentally treat synthetic-harness results as proof about production behavior.
|
|
80
83
|
- Wait for a concrete readiness signal when the command is expected to stay up, such as a health endpoint, listening-port log, worker boot line, or queue-consumer ready message.
|
|
81
84
|
- If readiness never arrives, stop the run, preserve logs, and treat it as a failed startup window.
|
|
82
85
|
6. Observe and stop when bounded
|
|
@@ -15,9 +15,9 @@ description: "Systematic debugging workflow for program issues: understand obser
|
|
|
15
15
|
## Standards
|
|
16
16
|
|
|
17
17
|
- Evidence: Gather expected versus observed behavior from code and runtime facts before deciding on a cause, and when the issue involves a runtime pipeline or bounded run, anchor the investigation to one canonical artifact root or run directory instead of mixed terminal snippets from multiple runs.
|
|
18
|
-
- Execution: Inspect the relevant paths, reproduce every plausible cause with tests or bounded reruns, map each observed failure to a concrete pipeline stage, distinguish toolchain/platform faults from application-logic faults, then apply the minimal fix.
|
|
19
|
-
- Quality: Keep scope focused on the bug, prefer existing test patterns,
|
|
20
|
-
- Output: Deliver the plausible-cause list, the canonical evidence source, reproduction tests or reruns, validated fix summary, and passing-test confirmation.
|
|
18
|
+
- Execution: Inspect the relevant paths, reproduce every plausible cause with tests or bounded reruns, choose a reproduction mode whose fidelity matches the user's claim, map each observed failure to a concrete pipeline stage, distinguish toolchain/platform faults from application-logic faults, classify failing tests as stale test contract vs test-harness interference vs real product bug, then apply the minimal fix at the true owner.
|
|
19
|
+
- Quality: Keep scope focused on the bug, prefer existing test patterns, explicitly rule out hypotheses that could not be reproduced, and when failures disappear in isolated reruns treat shared-state or parallel-test interference as a first-class hypothesis instead of silently dismissing the original failure.
|
|
20
|
+
- Output: Deliver the plausible-cause list, the canonical evidence source, reproduction tests or reruns, the final failure classification for each investigated symptom, validated fix summary, and passing-test confirmation.
|
|
21
21
|
|
|
22
22
|
## Core Principles
|
|
23
23
|
|
|
@@ -25,7 +25,10 @@ description: "Systematic debugging workflow for program issues: understand obser
|
|
|
25
25
|
- Cover all plausible causes with reproducible tests instead of guessing a single cause.
|
|
26
26
|
- Keep fixes minimal, focused, and validated by passing tests.
|
|
27
27
|
- When logs or runtime artifacts exist, treat one run as canonical and compare every conclusion against that same run's generated artifacts, not against ad hoc console recollection.
|
|
28
|
+
- When a repository has both scenario or harness runs and a production-like runtime, do not treat the lower-fidelity mode as proof about the higher-fidelity mode unless you explicitly state that limitation and the user agrees.
|
|
28
29
|
- When the failing flow crosses multiple layers, identify the last confirmed successful stage before assigning blame.
|
|
30
|
+
- When tests fail, separate stale assertions and fixture drift from real implementation regressions before changing product code.
|
|
31
|
+
- If failures only appear under parallel execution or shared shell-out paths, investigate test isolation, shared locks, temp directories, run-name collisions, and environment leakage before blaming the product.
|
|
29
32
|
|
|
30
33
|
## Trigger Conditions
|
|
31
34
|
|
|
@@ -43,8 +46,8 @@ Also auto-invoke this skill when mismatch evidence appears during normal executi
|
|
|
43
46
|
|
|
44
47
|
1. **Understand and inspect**: Parse expected vs observed behavior, explore relevant code paths, record the canonical failing run or artifact root when runtime output is involved, and build a list of plausible root causes.
|
|
45
48
|
2. **Map the failure boundary**: Break the flow into concrete stages such as setup, startup, readiness, steady-state execution, persistence, and shutdown, then identify the last stage that is confirmed to have succeeded.
|
|
46
|
-
3. **Reproduce with tests or bounded reruns**: Write or extend tests that reproduce every plausible cause, and when the bug depends on runtime orchestration rerun the same bounded command or
|
|
47
|
-
4. **Diagnose and confirm**: Use reproduction evidence to confirm the true root cause, explicitly rule out non-causes, and classify whether
|
|
49
|
+
3. **Reproduce with tests or bounded reruns**: Write or extend tests that reproduce every plausible cause, and when the bug depends on runtime orchestration rerun the same bounded command or the same runtime mode instead of switching contexts mid-investigation. If the user is asking about real runtime or market behavior, prefer the production-like bounded run over a synthetic scenario replay unless safety or tooling constraints make that impossible. When a failing test passes in isolation, rerun it under the original suite shape to determine whether the real cause is stale expectations, fixture drift, or shared-state interference.
|
|
50
|
+
4. **Diagnose and confirm**: Use reproduction evidence to confirm the true root cause, explicitly rule out non-causes, and classify whether each investigated failure belongs to the toolchain/platform layer, test contract drift, test-harness interference, orchestration, or application logic.
|
|
48
51
|
5. **Fix and validate**: Implement focused fixes and iterate until all reproduction tests or bounded reruns pass.
|
|
49
52
|
|
|
50
53
|
## Implementation Guidelines
|
|
@@ -55,11 +58,14 @@ Also auto-invoke this skill when mismatch evidence appears during normal executi
|
|
|
55
58
|
- If a hypothesized cause cannot be reproduced, document why and deprioritize it explicitly.
|
|
56
59
|
- For long-running or generated-artifact workflows, record the exact command, timestamps, and artifact paths before inspecting outputs so later comparisons stay on the same evidence set.
|
|
57
60
|
- Do not mix baseline data and rerun data casually; compare the same scenario or command across runs and call out when a conclusion comes from a rerun rather than the original failure.
|
|
61
|
+
- When test fixtures or assertions no longer match the implemented contract, update the tests instead of weakening the product behavior to satisfy stale expectations.
|
|
62
|
+
- When tests shell out to shared local infrastructure, add deterministic isolation such as mutexes, unique temp roots, or serialized sections before accepting flakes as inevitable.
|
|
58
63
|
|
|
59
64
|
## Deliverables
|
|
60
65
|
|
|
61
66
|
- Plausible root-cause list tied to concrete code paths
|
|
62
67
|
- Canonical failing run or artifact root when runtime evidence exists
|
|
63
68
|
- Reproduction tests or bounded reruns for each plausible cause
|
|
69
|
+
- Failure classification for each symptom: stale contract, harness interference, or real bug
|
|
64
70
|
- Fix summary mapped to failing-then-passing tests
|
|
65
71
|
- Final confirmation that all related tests pass
|