Private
Public Access
0
0
Commit Graph

2855 Commits

Author SHA1 Message Date
ed aa776224f2 test(workspace): update fixture test to assert tests/artifacts/ not tmp dir 2026-06-09 21:06:06 -04:00
ed ccc2aa0be9 test(workspace): verify per-run workspace path and gitignore status 2026-06-09 20:45:24 -04:00
ed b8c15f8d92 fix(test): per-run workspace under tests/artifacts/ (replaces tmp_path_factory) 2026-06-09 20:42:43 -04:00
ed 93ec28097c docs(styleguide): add workspace_paths.md — hard rule for test workspace paths 2026-06-09 20:36:41 -04:00
ed b95410c565 wip: pre-workspace-path-finalize 2026-06-09 20:32:43 -04:00
ed 39c97cb365 conductor(track): workspace_path_finalize_20260609 - plan with 3 phases, 4-step execution 2026-06-09 20:29:55 -04:00
ed c725270b99 conductor(track): workspace_path_finalize_20260609 - per-run workspace under tests/artifacts/ 2026-06-09 20:27:20 -04:00
ed fe240db410 fix(reset): clear mma_tier_usage and RAG state in _handle_reset_session 2026-06-09 19:44:10 -04:00
ed 9128db5e48 ci(gitea): add test-on-tag workflow for tagged commits (tier-1 + tier-2) 2026-06-09 18:47:59 -04:00
ed 34290e5d1a test(watchdog): update PYTEST_FINISHED_TIMEOUT_SECONDS to 600 to match conftest 2026-06-09 18:42:53 -04:00
ed c3af1b8a2e chore(test): double smart_watchdog timeout from 300s to 600s for tier-3 2026-06-09 18:37:34 -04:00
ed 3b0e63124a fix(mma): process global mma_state_update when no track in payload 2026-06-09 17:45:13 -04:00
ed 7a946544ff test(mma): mark test_visual_mma_components with clean_baseline 2026-06-09 17:14:23 -04:00
ed e7da7e0d6a test(rag): update test for Phase 4 coalescing state 2026-06-09 17:10:33 -04:00
ed 5656957622 conductor(plan): Phase 8 complete - docs + audit extended 2026-06-09 17:05:35 -04:00
ed 719fe9abe7 conductor(checkpoint): Checkpoint end of Phase 8 2026-06-09 17:04:17 -04:00
ed cb525519cf docs(testing): document _LiveGuiHandle + live_gui_workspace + clean_baseline marker 2026-06-09 17:03:26 -04:00
ed 749120d239 feat(audit): flag hardcoded workspace and project-root paths in tests 2026-06-09 17:01:14 -04:00
ed d2ff6ffcf9 conductor(plan): Phase 7 complete - test_bed_health report 2026-06-09 16:59:16 -04:00
ed 84edb20038 docs(report): test_bed_health_20260609 - post-track batch status 2026-06-09 16:58:33 -04:00
ed 1cd3444e4c test(rag): mark RAG tests with clean_baseline for batch isolation 2026-06-09 16:56:55 -04:00
ed 3ed52be4bf conductor(plan): Phase 6 complete - clean_baseline marker 2026-06-09 16:42:48 -04:00
ed 7b87bbf5ec feat(test): clean_baseline marker resets controller state before test 2026-06-09 16:40:18 -04:00
ed afc8600800 conductor(plan): Phase 5 complete - set_value hook verified 2026-06-09 16:35:18 -04:00
ed 33d5caceaf fix(api_hooks): verified set_value('ai_input') works in batch 2026-06-09 16:33:55 -04:00
ed 6764c9e12f conductor(plan): Phase 4 complete - coalesce _sync_rag_engine 2026-06-09 16:27:15 -04:00
ed b8fcd9d6f5 fix(rag): coalesce _sync_rag_engine calls via token + dirty flag 2026-06-09 16:25:44 -04:00
ed 45b4497a66 conductor(plan): Phase 3 complete - tmp_path_factory + live_gui_workspace fixture 2026-06-09 16:15:50 -04:00
ed 006bb11488 refactor(test): 5 test files use live_gui_workspace fixture instead of hardcoded path 2026-06-09 16:14:40 -04:00
ed 91313451a2 feat(test): expose live_gui_workspace as a separate fixture 2026-06-09 15:53:06 -04:00
ed c64da95ef5 refactor(test): live_gui workspace via tmp_path_factory 2026-06-09 15:51:35 -04:00
ed c32ae33817 wip: pre-Phase 3 checkpoint 2026-06-09 15:49:12 -04:00
ed c3cb3c6e44 feat(test): autouse _check_live_gui_health recovers from degraded subprocess 2026-06-09 15:47:28 -04:00
ed 05ddb45236 conductor(plan): Phase 2 complete - FR1 handle + autouse fixture 2026-06-09 15:43:38 -04:00
ed 67d0211e56 feat(test): autouse _check_live_gui_health recovers from degraded subprocess 2026-06-09 15:42:00 -04:00
ed 16bd3d3a47 refactor(test): wrap live_gui subprocess in _LiveGuiHandle class 2026-06-09 15:37:47 -04:00
ed 30c04860c7 conductor(plan): Phase 1 audit complete - ready for user review 2026-06-09 15:30:31 -04:00
ed 5df22fa8d5 conductor(audit): trace set_value('ai_input') flow to find routing bug 2026-06-09 15:29:27 -04:00
ed 5e13fa9ba7 conductor(audit): document _sync_rag_engine race in controller 2026-06-09 15:29:17 -04:00
ed aebbd66836 conductor(audit): document hardcoded workspace paths in test suite 2026-06-09 15:29:06 -04:00
ed d1c6c6c327 conductor(audit): catalog live_gui test cross-file state dependencies 2026-06-09 15:28:56 -04:00
ed fcb161fd2e conductor(tracks): add test_infrastructure_hardening_20260609 as foundation track + supersede 4 placeholder test tracks 2026-06-09 15:18:20 -04:00
ed 566cf08cb8 conductor(track): test_infrastructure_hardening_20260609 - spec to kill the test regression nightmare 2026-06-09 15:15:26 -04:00
ed b4d240a9f3 docs(rag): final report on dim-mismatch recursion fix 2026-06-09 15:04:42 -04:00
ed 40f905d14b test(rag): update dim-mismatch test to assert rmtree behavior
The fix in 644d88ab changed the recovery path from client.delete_collection
to shutil.rmtree (chromadb 1.5.x delete_collection is broken on corrupted
state). The test still asserted the old behavior.
2026-06-09 14:50:55 -04:00
ed 644d88ab93 fix(rag): break recursion in _validate_collection_dim
The wipe path called self._init_vector_store() which re-invoked
_validate_collection_dim, causing infinite recursion (RecursionError)
when the dim mismatch test ran with the mock embedding provider.

Re-initialize the vector store INLINE after the rmtree wipe so the
fresh collection is created without going through the validator
again.
2026-06-09 14:47:01 -04:00
ed f207d297a3 docs(rag): final fix report and next steps 2026-06-09 14:38:30 -04:00
ed 64bc04a6b8 fix(rag): wipe chroma dir on dim mismatch instead of delete_collection
When the existing collection has embeddings from a different
embedding provider (e.g. Gemini 3072-dim vs local 384-dim), the
prior approach of calling client.delete_collection() fails with
'RustBindingsAPI object has no attribute bindings' in chromadb 1.5.x
when the underlying state is corrupted. rmtree is reliable and
re-creates a fresh empty collection.

Also fixes:
- 'The truth value of an empty array is ambiguous' on numpy 2.x
  by using try/except around len() instead of truthiness check
- WinError 32 on rmtree by closing the chroma client first

Verified: tests/test_rag_phase4_final_verify.py passes in isolation
in 7.75s after this fix. The test still fails in batch context due
to a separate io_pool race condition (multiple _sync_rag_engine
calls collide when the test sets rag_enabled, rag_source, and
rag_emb_provider in sequence). The race is in app_controller.py
and is out of scope for this defensive fix.

Note: tests/test_rag_engine.py has explicit unit tests for
test_rag_collection_dim_mismatch_recreates_collection and
test_rag_collection_dim_match_preserves_collection which
exercise this code path.
2026-06-09 14:37:19 -04:00
conductor-tier2 ac0c0cbe73 docs(styleguide): add No-Diagnostic-Noise rule to AI-Agent Conventions
One addition to conductor/code_styleguides/python.md §8
"AI-Agent Specific Conventions":

- **No diagnostic noise in production code (Added
  2026-06-09).** `sys.stderr.write(f"[XYZ_DIAG] ...") lines
  in src/*.py are technical debt. The right place for
  one-time investigation output is tests/artifacts/<test>.diag.log
  (a log file) or a standalone /tmp/diag_<name>.py script.
  If you must instrument production code, the diag lines
  are part of the same atomic commit as the fix.

- **Test files ARE allowed to be diagnostic.** The rule
  applies to src/*.py only; tests/test_*.py may use
  print(..., file=sys.stderr) freely.

Markdown only. No code modified.
2026-06-09 14:03:18 -04:00
conductor-tier2 631c40c9c4 docs(workflow): add Process Anti-Patterns section + Isolated-Pass rule
Two additions to conductor/workflow.md §"Known Pitfalls":

1. **Isolated-Pass Verification Fallacy (Added 2026-06-09)** —
   the rule that a test passing in isolation but failing in
   batch is FAILING. The only verification that matters for
   live_gui tests is the batch run. This is the flip side of
   the existing "Live_gui Test Fragility (Authoring-Side)"
   rule. Cross-references that rule.

2. **Process Anti-Patterns (Added 2026-06-09)** — 8-rule
   summary list, with cross-reference to AGENTS.md for the
   full ruleset. The 8 patterns are: Deduction Loop,
   Report-Instead-of-Fix, Scope-Creep Track-Doc,
   Inherited-Cruft, Diagnostic Noise in Production, Premature
   Surrender, Verbose Commit Message, Isolated-Pass
   Verification Fallacy.

Markdown only. No code modified. Cross-references
AGENTS.md (the load-bearing agent doc) for the full text
of each pattern.
2026-06-09 14:03:00 -04:00