You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ISSUES.md
+25-12Lines changed: 25 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,9 +30,9 @@ Usage rules:
30
30
## Active live validation issues
31
31
32
32
### LV-084 — `/explore` and `/api/exploration/status` ignore persisted exploration artifacts and always report the global disabled contract
33
-
- Status: OPEN
33
+
- Status: FIXED
34
34
- Validation target: real `test/.live` TUI `/explore` output and real web `/api/exploration/status` / bootstrap state for a run that already has `experiment_tree/tree.json`, `manager_state.json`, `baseline_lock.json`, and `figure_audit/figure_audit_summary.json`
35
-
- Environment/session context: repo head on 2026-04-02, live fixture workspace `/home/hanyong/AutoLabOS/test/.live/autolabos-live-explore-uhei2J`, run `run-explore-live`, launched with real `node /home/hanyong/AutoLabOS/dist/cli/main.js` and `node /home/hanyong/AutoLabOS/dist/cli/main.js web --host 127.0.0.1 --port 4318`
35
+
- Environment/session context: repo head on 2026-04-02. Original failing repro used `/home/hanyong/AutoLabOS/test/.live/autolabos-live-explore-uhei2J`. Post-fix revalidation used `/home/hanyong/AutoLabOS/test/.live/autolabos-live-explore-enabled-dNua2B`, run `run-explore-live`, launched with real `node /home/hanyong/AutoLabOS/dist/cli/main.js` and `node /home/hanyong/AutoLabOS/dist/cli/main.js web --host 127.0.0.1 --port 4318`.
36
36
- Reproduction steps:
37
37
1. Create a real `test/.live` workspace containing a paused review run plus persisted exploration artifacts under `.autolabos/runs/run-explore-live/experiment_tree/` and `figure_audit/`.
38
38
2. Launch a fresh TUI rooted at that workspace and run `/explore`.
@@ -44,20 +44,33 @@ Usage rules:
44
44
-`GET /api/exploration/status?run_id=run-explore-live` returned `{\"enabled\":false,...,\"baseline_lock_status\":\"not_applicable\"}`.
45
45
-`GET /api/bootstrap` still anchored to the correct active run and showed the run graph paused at `review`, so the disabled exploration result was not caused by selecting the wrong run.
46
46
- Fresh vs existing session comparison:
47
-
- Fresh session: the first real TUI process showed the disabled exploration contract.
48
-
- Existing/reopened session: reopening the same persisted workspace in a second TUI process produced the same disabled exploration contract.
49
-
- Divergence: none observed; the behavior appears stable across fresh and reopened sessions.
47
+
- Fresh session before fix: the first real TUI process showed the disabled exploration contract.
48
+
- Existing session before fix: reopening the same persisted workspace in a second TUI process produced the same disabled exploration contract.
- Existing session after fix: reopening the same persisted workspace in a second TUI process produced the same enabled exploration snapshot.
51
+
- Divergence: none observed after the fix; fresh and reopened sessions now agree.
50
52
- Root cause hypothesis:
51
53
- Type: `in_memory_projection_bug`
52
-
- Hypothesis: `src/core/exploration/status.ts` short-circuits on `loadExplorationConfig().enabled === false`, and `loadExplorationConfig()` currently reads only the repo-default YAML (`src/config/exploration.default.yaml`) instead of any run/workspace/runtime seam. That prevents the live status surfaces from reading persisted exploration artifacts even when they exist.
53
-
- Code/test changes: none yet; this entry records the first real live-validation reproduction after the exploration status surfaces landed.
54
+
- Hypothesis: `src/core/exploration/status.ts` short-circuited on the repo-default `loadExplorationConfig().enabled === false` path, so the live TUI/web surfaces ignored workspace config and runtime config even when persisted `experiment_tree/` artifacts existed.
55
+
- Code/test changes:
56
+
- Added `resolveExplorationConfig(...)` in `src/core/exploration/explorationConfig.ts` so exploration enablement resolves from workspace `.autolabos/config.yaml` and in-memory runtime config instead of the repo default only.
57
+
- Updated `src/core/exploration/status.ts`, `src/core/nodes/designExperiments.ts`, `src/core/nodes/analyzeResults.ts`, `src/core/nodes/figureAudit.ts`, `src/tui/TerminalApp.ts`, `src/interaction/InteractionSession.ts`, `src/web/server.ts`, `src/runtime/createRuntime.ts`, and `src/types.ts` to use the same seam.
58
+
- Updated regressions in `tests/explorationConfig.test.ts`, `tests/explorationStatus.test.ts`, `tests/figureAuditNode.test.ts`, and `tests/newSlashCommands.test.ts`.
54
59
- Regression status:
55
-
- Automated regression coverage exists for the enabled path via mocked config in `tests/explorationStatus.test.ts`, `tests/newSlashCommands.test.ts`, and `web/src/App.test.tsx`.
56
-
- Real live revalidation result: still reproduces.
60
+
- Automated regression coverage:
61
+
-`npm run build`
62
+
-`npm test`
63
+
-`npm run validate:harness`
64
+
-`npm run test:web`
65
+
- Real live revalidation result:
66
+
- Fresh TUI `/doctor` still surfaces the expected fixture-scope missing artifacts.
67
+
- Fresh TUI `/explore` now reports the enabled exploration snapshot from persisted artifacts.
68
+
- Reopened TUI `/explore` reports the same enabled snapshot.
69
+
-`GET /api/exploration/status?run_id=run-explore-live` now returns `{\"enabled\":true,\"current_stage\":\"main_agenda\",...}`.
70
+
-`GET /api/bootstrap` remains anchored to the same active run.
57
71
- Follow-up risks:
58
-
- Operators can be misled into thinking exploration never ran, even when `experiment_tree/` and `figure_audit/` artifacts are present.
59
-
- The current tests only verify the enabled path through explicit config mocking, so this runtime configuration seam can drift unnoticed.
60
-
- Direct browser rendering of the web card was not rechecked because the Playwright navigation approval was rejected during this validation loop; the live API behavior was verified instead.
72
+
- Direct browser rendering of the web card was not rechecked in this loop; the real web API contract was verified instead.
73
+
- The live fixture still lacks several full-run artifacts, so `/doctor` continues to show expected fixture-scope missing-artifact findings unrelated to the exploration projection fix.
0 commit comments