From 8938b6f51ea29fe898e6f834b44d85738026ef7f Mon Sep 17 00:00:00 2001 From: Shaela Bello Date: Mon, 2 Mar 2026 22:57:25 -0500 Subject: [PATCH 1/3] docs(agents): add codex-claude atomic submodule strategy --- ...SUBMODULE_ATOMIC_PR_STRATEGY_2026-03-03.md | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 pmoves/docs/AGENTS/SUBMODULE_ATOMIC_PR_STRATEGY_2026-03-03.md diff --git a/pmoves/docs/AGENTS/SUBMODULE_ATOMIC_PR_STRATEGY_2026-03-03.md b/pmoves/docs/AGENTS/SUBMODULE_ATOMIC_PR_STRATEGY_2026-03-03.md new file mode 100644 index 0000000000..237c3a671c --- /dev/null +++ b/pmoves/docs/AGENTS/SUBMODULE_ATOMIC_PR_STRATEGY_2026-03-03.md @@ -0,0 +1,72 @@ +# Submodule Atomic PR Strategy (2026-03-03) + +## Scope + +Production-lane closeout for currently dirty submodules and parent evidence refresh, with atomic commits and deterministic local validation. + +## Required Context + +- Branch posture: `PMOVES.AI-Edition-Hardened` remains production release lane. +- Sprint posture: keep M2 creator/publishing active while closing production audit gates. +- Operator sequence remains fixed: `env-setup -> env-check -> supa-start -> supabase-bootstrap -> up -> smoke -> smoke-gpu`. + +## Lane Ownership (KRISS KROSS) + +- `Codex`: implement code/doc fixes, run local validation, produce atomic commits, open/update PRs. +- `Claude`: parallel PR review lane, comment triage, merge execution once checks and review gates are satisfied. +- Collision rule: no shared-file edits in parallel; if overlap appears, pause and rebase before further edits. + +## Atomic Commit Plan + +1. `PMOVES-transcribe-and-fetch` +- Add nested submodule mapping (`.gitmodules`) for recursive integrity. +- Add `PMOVES.AI_INTEGRATION.md` dossier for PMOVES integration contract and validation path. + +2. `PMOVES-Open-Notebook` +- Keep auth fail-closed in tests and inject bearer header in API client tests. + +3. `Pmoves-cipher` +- Make memAgent env-var tests deterministic across platforms. +- Skip bash tool test suite on Windows where `/bin/bash` is unavailable. + +4. `PMOVES-DoX` +- Sync chart processor test with current sync API (`process_charts` no longer async). +- Fix cache expiry boundary in dispatcher (`>=` at expiration edge). + +5. Parent repo (`PMOVES.AI`) +- Update submodule gitlinks after submodule commits. +- Commit deterministic evidence refresh: + - `pmoves/docs/SUBMODULE_LAYER_VALIDATION.md` + - `pmoves/docs/SUBMODULE_LAYER_RUNALL.md` + - `pmoves/docs/evidence/submodule_layer/*` + - `pmoves/docs/evidence/submodule_layer_validation.json` + - `pmoves/docs/evidence/submodule_layer_runall.json` + - `pmoves/docs/evidence/submodule_test_matrix*.md|json` + +## Validation Gate Pack + +Submodule-local checks: + +- `PMOVES-Open-Notebook`: `uv run --project . python -m pytest -q tests --maxfail=1` -> expected pass. +- `Pmoves-cipher`: `npx vitest run src/core/brain/memAgent/__test__/loader.test.ts src/core/brain/tools/definitions/system/__test__/bash.test.ts` -> expected pass with Windows bash suite skipped. +- `PMOVES-DoX`: targeted tests currently reproduce pre-existing stale expectation in `backend/tests/test_agent_dispatcher.py` (`_pending_tasks` removed in current implementation). + +Parent deterministic checks: + +- `make -C pmoves submodule-layer-validate-all-strict` +- `make -C pmoves submodule-integrity-strict` + +## PR Order + +1. Submodule PR: `PMOVES-transcribe-and-fetch` +2. Submodule PR: `PMOVES-Open-Notebook` +3. Submodule PR: `Pmoves-cipher` +4. Submodule PR: `PMOVES-DoX` +5. Parent PR: gitlinks + validation evidence + +If CI queue starvation blocks merge, preserve latest `main` runs and cancel stale queued/pending non-main runs first. + +## Handoff Notes + +- DoX has a known packaging/test-env friction in `uv run` (editable build discovery on flat-layout). Use targeted venv-backed pytest invocation for local reproduction until packaging metadata is normalized. +- Keep test-failure triage explicit in PR notes when failure is pre-existing and outside the change set. From f78d8590e27b77f3f0a91be295ea26a7f83b20fb Mon Sep 17 00:00:00 2001 From: Shaela Bello Date: Mon, 2 Mar 2026 22:57:36 -0500 Subject: [PATCH 2/3] chore(submodules): bump 4 gitlinks and refresh deterministic evidence --- PMOVES-DoX | 2 +- PMOVES-Open-Notebook | 2 +- PMOVES-transcribe-and-fetch | 2 +- Pmoves-cipher | 2 +- pmoves/docs/SUBMODULE_LAYER_VALIDATION.md | 2 +- .../evidence/submodule_layer/PMOVES-A2UI.json | 6 +- .../evidence/submodule_layer/PMOVES-A2UI.md | 2 +- .../submodule_layer/PMOVES-Agent-Zero.json | 6 +- .../submodule_layer/PMOVES-Agent-Zero.md | 2 +- .../submodule_layer/PMOVES-AgentGym.json | 4 +- .../submodule_layer/PMOVES-AgentGym.md | 2 +- .../submodule_layer/PMOVES-Archon.json | 6 +- .../evidence/submodule_layer/PMOVES-Archon.md | 2 +- .../evidence/submodule_layer/PMOVES-BoTZ.json | 6 +- .../evidence/submodule_layer/PMOVES-BoTZ.md | 2 +- .../submodule_layer/PMOVES-BotZ-gateway.json | 6 +- .../submodule_layer/PMOVES-BotZ-gateway.md | 2 +- .../submodule_layer/PMOVES-Creator.json | 4 +- .../submodule_layer/PMOVES-Creator.md | 2 +- .../submodule_layer/PMOVES-Danger-infra.json | 4 +- .../submodule_layer/PMOVES-Danger-infra.md | 2 +- .../submodule_layer/PMOVES-Deep-Serch.json | 4 +- .../submodule_layer/PMOVES-Deep-Serch.md | 2 +- .../evidence/submodule_layer/PMOVES-DoX.json | 8 +- .../evidence/submodule_layer/PMOVES-DoX.md | 4 +- .../PMOVES-E2B-Danger-Room-Desktop.json | 4 +- .../PMOVES-E2B-Danger-Room-Desktop.md | 2 +- .../PMOVES-E2B-Danger-Room.json | 4 +- .../submodule_layer/PMOVES-E2B-Danger-Room.md | 2 +- .../submodule_layer/PMOVES-E2b-Spells.json | 4 +- .../submodule_layer/PMOVES-E2b-Spells.md | 2 +- .../submodule_layer/PMOVES-Headscale.json | 4 +- .../submodule_layer/PMOVES-Headscale.md | 2 +- .../submodule_layer/PMOVES-HiRAG.json | 6 +- .../evidence/submodule_layer/PMOVES-HiRAG.md | 2 +- .../submodule_layer/PMOVES-Jellyfin.json | 4 +- .../submodule_layer/PMOVES-Jellyfin.md | 2 +- .../submodule_layer/PMOVES-MAI-UI.json | 4 +- .../evidence/submodule_layer/PMOVES-MAI-UI.md | 2 +- .../submodule_layer/PMOVES-Open-Notebook.json | 8 +- .../submodule_layer/PMOVES-Open-Notebook.md | 4 +- .../PMOVES-Pinokio-Ultimate-TTS-Studio.json | 4 +- .../PMOVES-Pinokio-Ultimate-TTS-Studio.md | 2 +- .../submodule_layer/PMOVES-Pipecat.json | 6 +- .../submodule_layer/PMOVES-Pipecat.md | 2 +- .../submodule_layer/PMOVES-Remote-View.json | 4 +- .../submodule_layer/PMOVES-Remote-View.md | 2 +- .../submodule_layer/PMOVES-Tailscale.json | 4 +- .../submodule_layer/PMOVES-Tailscale.md | 2 +- .../PMOVES-ToKenism-Multi.json | 6 +- .../submodule_layer/PMOVES-ToKenism-Multi.md | 2 +- .../PMOVES-Ultimate-TTS-Studio.json | 4 +- .../PMOVES-Ultimate-TTS-Studio.md | 2 +- .../submodule_layer/PMOVES-Wealth.json | 4 +- .../evidence/submodule_layer/PMOVES-Wealth.md | 2 +- .../submodule_layer/PMOVES-crush.json | 4 +- .../evidence/submodule_layer/PMOVES-crush.md | 2 +- .../PMOVES-llama-throughput-lab.json | 4 +- .../PMOVES-llama-throughput-lab.md | 2 +- .../evidence/submodule_layer/PMOVES-n8n.json | 4 +- .../evidence/submodule_layer/PMOVES-n8n.md | 2 +- .../submodule_layer/PMOVES-supabase.json | 4 +- .../submodule_layer/PMOVES-supabase.md | 2 +- .../evidence/submodule_layer/PMOVES-surf.json | 4 +- .../evidence/submodule_layer/PMOVES-surf.md | 2 +- .../submodule_layer/PMOVES-tensorzero.json | 4 +- .../submodule_layer/PMOVES-tensorzero.md | 2 +- .../PMOVES-transcribe-and-fetch.json | 8 +- .../PMOVES-transcribe-and-fetch.md | 4 +- .../evidence/submodule_layer/PMOVES.YT.json | 4 +- .../evidence/submodule_layer/PMOVES.YT.md | 2 +- .../submodule_layer/Pmoves-AgentGym-RL.json | 4 +- .../submodule_layer/Pmoves-AgentGym-RL.md | 2 +- .../submodule_layer/Pmoves-Health-wger.json | 4 +- .../submodule_layer/Pmoves-Health-wger.md | 2 +- .../Pmoves-Jellyfin-AI-Media-Stack.json | 4 +- .../Pmoves-Jellyfin-AI-Media-Stack.md | 2 +- .../submodule_layer/Pmoves-cipher.json | 8 +- .../evidence/submodule_layer/Pmoves-cipher.md | 4 +- .../Pmoves-hyperdimensions.json | 4 +- .../submodule_layer/Pmoves-hyperdimensions.md | 2 +- .../pmoves-e2b-mcp-server.json | 4 +- .../submodule_layer/pmoves-e2b-mcp-server.md | 2 +- .../pmoves__integrations__archon.json | 6 +- .../pmoves__integrations__archon.md | 2 +- .../docs/evidence/submodule_layer_runall.json | 2 +- .../evidence/submodule_layer_validation.json | 30 +- .../docs/evidence/submodule_test_matrix.json | 93 ++++ pmoves/docs/evidence/submodule_test_matrix.md | 125 ++++++ .../submodule_test_matrix_curated.json | 93 ++++ .../evidence/submodule_test_matrix_curated.md | 408 ++++++++++++++++++ .../submodule_test_matrix_normalized.json | 93 ++++ .../submodule_test_matrix_normalized.md | 380 ++++++++++++++++ 93 files changed, 1354 insertions(+), 162 deletions(-) create mode 100644 pmoves/docs/evidence/submodule_test_matrix.json create mode 100644 pmoves/docs/evidence/submodule_test_matrix.md create mode 100644 pmoves/docs/evidence/submodule_test_matrix_curated.json create mode 100644 pmoves/docs/evidence/submodule_test_matrix_curated.md create mode 100644 pmoves/docs/evidence/submodule_test_matrix_normalized.json create mode 100644 pmoves/docs/evidence/submodule_test_matrix_normalized.md diff --git a/PMOVES-DoX b/PMOVES-DoX index 605f2dde21..035364ce62 160000 --- a/PMOVES-DoX +++ b/PMOVES-DoX @@ -1 +1 @@ -Subproject commit 605f2dde21c6e69d1e0bdef2f926f71a7c9e54df +Subproject commit 035364ce62223b12a7653b4e3052e2c22e7a9d50 diff --git a/PMOVES-Open-Notebook b/PMOVES-Open-Notebook index 681e0085c6..91336e7b3b 160000 --- a/PMOVES-Open-Notebook +++ b/PMOVES-Open-Notebook @@ -1 +1 @@ -Subproject commit 681e0085c664dc4652dae70974353a4ed479c2c0 +Subproject commit 91336e7b3b28ed75dfa27b2cbbd39cd8dd31d8b9 diff --git a/PMOVES-transcribe-and-fetch b/PMOVES-transcribe-and-fetch index ccf493a0a8..f4d651590a 160000 --- a/PMOVES-transcribe-and-fetch +++ b/PMOVES-transcribe-and-fetch @@ -1 +1 @@ -Subproject commit ccf493a0a8b4a94641ea36aca3c7c18fdd1d0e23 +Subproject commit f4d651590a6eb092abacb4baadc9660e95ba706a diff --git a/Pmoves-cipher b/Pmoves-cipher index 31d3cb54b9..cad2c0233f 160000 --- a/Pmoves-cipher +++ b/Pmoves-cipher @@ -1 +1 @@ -Subproject commit 31d3cb54b94b5d3a65d15834982d8501f0215445 +Subproject commit cad2c0233ff7daa44877b84742faec6dd947dfe1 diff --git a/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md b/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md index 7c3e64d7e0..e6bd1d7ca1 100644 --- a/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md +++ b/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:22 UTC_ +_Generated: 2026-03-03 02:38 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.json b/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.json index 1ed3b66ee6..089254df08 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:15 UTC", + "generated_at": "2026-03-03 03:52 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-A2UI", "url": "https://github.com/POWERFULMOVES/PMOVES-A2UI.git", "status_prefix": " ", - "commit": "9f6b203e81b2eccd62e0146179ae5bd6a3cc3364", + "commit": "2bac549045e08fb87fd7b891366f48a492863374", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.md b/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.md index 02eda0c754..c43f0c23dc 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-A2UI.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:15 UTC_ +_Generated: 2026-03-03 03:52 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.json index 2c3f5e43f7..0f0a2ca9c8 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:15 UTC", + "generated_at": "2026-03-03 03:52 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-Agent-Zero", "url": "https://github.com/POWERFULMOVES/PMOVES-Agent-Zero.git", "status_prefix": " ", - "commit": "ee1aed46aa3456535c6300abf02dd4f69ae640f4", + "commit": "76923745d7601bcd5d8dcc441dee97449b65ef99", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.md index 54e293fbb4..745058c027 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Agent-Zero.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:15 UTC_ +_Generated: 2026-03-03 03:52 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.json b/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.json index f2ea831948..3d4f5bafe9 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:15 UTC", + "generated_at": "2026-03-03 03:52 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.md b/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.md index 9ad2d03da1..fb4bd35239 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-AgentGym.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:15 UTC_ +_Generated: 2026-03-03 03:52 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.json index 23103f6295..4a7863d3aa 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:16 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-Archon", "url": "https://github.com/POWERFULMOVES/PMOVES-Archon.git", "status_prefix": " ", - "commit": "6ea1a78fdcb5af140dd9f425fa121f45374bfd51", + "commit": "178ebb9e6a054520979dd448d0f5675a1a55cac7", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.md index d08fffc543..85f225f5f7 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Archon.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:16 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.json b/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.json index b8a1c3df20..dc3f1ecf90 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:16 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-BoTZ", "url": "https://github.com/POWERFULMOVES/PMOVES-BoTZ.git", "status_prefix": " ", - "commit": "615bb65c0a8d303e5f5b2395f937669138cd4f18", + "commit": "94529789f8453b27448a1bfb3e41e3092c05807b", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.md b/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.md index 12a7a521df..0849a1bb6a 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-BoTZ.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:16 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.json b/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.json index 5219b945bf..c279e6288a 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:16 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-BotZ-gateway", "url": "https://github.com/POWERFULMOVES/PMOVES-BotZ-gateway.git", "status_prefix": " ", - "commit": "83fd34534de90fc80fa5bfd0b0eff56225ea1734", + "commit": "d4db42419f7a072f9c9c8139ed68b40de741fd38", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.md b/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.md index b1f3b12d12..7bc4aba6fc 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-BotZ-gateway.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:16 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.json index 5537cea70c..d7ae1f17f2 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:16 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.md index bd018636fa..9a816f85eb 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Creator.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:16 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.json index 7e6dee5e74..4d8061ac07 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:17 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.md index 444cfb81f7..ea72fc1267 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Danger-infra.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:17 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.json index 5d6e0873e5..2bc406222b 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:17 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.md index 0f411848ef..832b97783e 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Deep-Serch.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:17 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.json b/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.json index 9ddfd79f85..6564b4afff 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:17 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -11,8 +11,8 @@ "name": "PMOVES-DoX", "path": "PMOVES-DoX", "url": "https://github.com/POWERFULMOVES/PMOVES-DoX.git", - "status_prefix": " ", - "commit": "456992a428dd60f6677e4e76a2276b16c3f92731", + "status_prefix": "+", + "commit": "035364ce62223b12a7653b4e3052e2c22e7a9d50", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.md b/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.md index f55798146a..ab6fa3764c 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-DoX.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:17 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` @@ -11,7 +11,7 @@ _Generated: 2026-02-26 18:17 UTC_ ## Matrix | Submodule | Initialized | Status | Remote Commit | Docs(any) | Top-level Dossier | Nested .gitmodules | Python Compile | | --- | --- | --- | --- | --- | --- | --- | --- | -| `PMOVES-DoX` | yes | ` ` | `local` | yes | yes | ok | `skip` | +| `PMOVES-DoX` | yes | `+` | `local` | yes | yes | ok | `skip` | ## Findings - No findings. diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.json b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.json index fae64bb4b8..43a80004b7 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:17 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.md b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.md index f79b040b01..a9879ca2f1 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room-Desktop.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:17 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.json b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.json index 731756550b..12422be33a 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:17 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.md b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.md index 4bbae630b0..3c47bcbaee 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-E2B-Danger-Room.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:17 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.json b/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.json index 673fe6be67..20172f078f 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:18 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.md b/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.md index fdb940680e..f8a3182688 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-E2b-Spells.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:18 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.json index 1688581845..019a487702 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:18 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.md index 7968b7b0b1..be64575996 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Headscale.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:18 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.json b/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.json index 7de3d5f1dc..c75e4561f3 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:18 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-HiRAG", "url": "https://github.com/POWERFULMOVES/PMOVES-HiRAG.git", "status_prefix": " ", - "commit": "89d4abf3b4b10a58e08e5819ca79d349a8f5d073", + "commit": "e904b12a477ad670d5036e059912c2889c308926", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.md b/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.md index 4fe0ec0ce6..df8d97ad4f 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-HiRAG.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:18 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.json index ee66d9669f..ae76dd706c 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:19 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.md index 2588efec13..69ab2fa74e 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Jellyfin.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:19 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.json b/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.json index 6c02b3e067..35550a58ef 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:19 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.md b/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.md index 94cb908d2e..07992b8c48 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-MAI-UI.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:19 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.json index ea2d8344db..ff89746556 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:19 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -11,8 +11,8 @@ "name": "PMOVES-Open-Notebook", "path": "PMOVES-Open-Notebook", "url": "https://github.com/POWERFULMOVES/PMOVES-Open-Notebook.git", - "status_prefix": " ", - "commit": "0ecc4019a0685d28f8b09b9079e6548a22da7192", + "status_prefix": "+", + "commit": "91336e7b3b28ed75dfa27b2cbbd39cd8dd31d8b9", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.md index 0a653009e5..f5fdba4afc 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Open-Notebook.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:19 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` @@ -11,7 +11,7 @@ _Generated: 2026-02-26 18:19 UTC_ ## Matrix | Submodule | Initialized | Status | Remote Commit | Docs(any) | Top-level Dossier | Nested .gitmodules | Python Compile | | --- | --- | --- | --- | --- | --- | --- | --- | -| `PMOVES-Open-Notebook` | yes | ` ` | `local` | yes | yes | ok | `skip` | +| `PMOVES-Open-Notebook` | yes | `+` | `local` | yes | yes | ok | `skip` | ## Findings - No findings. diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.json index 09a7bf9fea..66d3f9d1e4 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:19 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.md index fa35d671df..72a468f33f 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Pinokio-Ultimate-TTS-Studio.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:19 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.json index af3efc2056..a6d47dbc21 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:20 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-Pipecat", "url": "https://github.com/POWERFULMOVES/pmoves-pipecat.git", "status_prefix": " ", - "commit": "ad5174845b2283746176becb004fa44dea9b0978", + "commit": "fafeaa85fdc663702b72034c19b1ebdf23b4766a", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.md index a6b0c1f74a..767ea479b3 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Pipecat.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:20 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.json index b0afc62837..13a2fcac03 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:20 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.md index cdbae56fbc..58c467297e 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Remote-View.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:20 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.json index c793552000..08be1a6873 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:20 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.md index 28d171ddd1..368b75690b 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Tailscale.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:20 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.json b/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.json index 1456611394..6d856e8550 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:21 UTC", + "generated_at": "2026-03-03 03:56 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "PMOVES-ToKenism-Multi", "url": "https://github.com/POWERFULMOVES/PMOVES-ToKenism-Multi.git", "status_prefix": " ", - "commit": "d5cccc1dada47261cadfcc7fd603f9adff23b27e", + "commit": "0471493b946edca8e69f2754487a6fad01dc6cb4", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.md b/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.md index 8bc6798e1c..500ab5eaf6 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-ToKenism-Multi.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:21 UTC_ +_Generated: 2026-03-03 03:56 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.json index a814d18e14..02fa2f067e 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:21 UTC", + "generated_at": "2026-03-03 03:56 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.md index 7523a07e34..5742060ebc 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Ultimate-TTS-Studio.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:21 UTC_ +_Generated: 2026-03-03 03:56 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.json b/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.json index e3380e1d1c..10ea3476f8 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:21 UTC", + "generated_at": "2026-03-03 03:56 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.md b/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.md index b8b2b2919c..bf2a49d533 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-Wealth.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:21 UTC_ +_Generated: 2026-03-03 03:56 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-crush.json b/pmoves/docs/evidence/submodule_layer/PMOVES-crush.json index 1e734c61aa..f1e4a66039 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-crush.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-crush.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:16 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-crush.md b/pmoves/docs/evidence/submodule_layer/PMOVES-crush.md index bf216ab5e2..a2d50a535b 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-crush.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-crush.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:16 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.json b/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.json index 63abfb83dd..2b9f1a6ca3 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:19 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.md b/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.md index 121927dddb..161dbdd609 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-llama-throughput-lab.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:19 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.json b/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.json index 5bcb21c63a..fc360e2d55 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:19 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.md b/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.md index d3c219ff21..316f93676a 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-n8n.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:19 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.json b/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.json index be8a77918d..3170b9d87e 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:20 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.md b/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.md index b5772bff8f..0ffa6aacb9 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-supabase.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:20 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-surf.json b/pmoves/docs/evidence/submodule_layer/PMOVES-surf.json index 1221d1f909..9dba07f086 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-surf.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-surf.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:20 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-surf.md b/pmoves/docs/evidence/submodule_layer/PMOVES-surf.md index cd143133ba..07a91551c5 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-surf.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-surf.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:20 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.json b/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.json index 3b97800db6..f5b3480f5f 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:21 UTC", + "generated_at": "2026-03-03 03:55 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.md b/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.md index cd73ae5812..e17d947c55 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-tensorzero.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:21 UTC_ +_Generated: 2026-03-03 03:55 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.json b/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.json index bc16499e7b..7bd930487d 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:21 UTC", + "generated_at": "2026-03-03 03:56 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -11,8 +11,8 @@ "name": "PMOVES-transcribe-and-fetch", "path": "PMOVES-transcribe-and-fetch", "url": "https://github.com/POWERFULMOVES/PMOVES-transcribe-and-fetch.git", - "status_prefix": " ", - "commit": "d422acc7e5a4a8eaf75c0e0a7e45694a51e8ec1f", + "status_prefix": "+", + "commit": "f4d651590a6eb092abacb4baadc9660e95ba706a", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.md b/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.md index 48fab6d6b0..517b696c71 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES-transcribe-and-fetch.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:21 UTC_ +_Generated: 2026-03-03 03:56 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` @@ -11,7 +11,7 @@ _Generated: 2026-02-26 18:21 UTC_ ## Matrix | Submodule | Initialized | Status | Remote Commit | Docs(any) | Top-level Dossier | Nested .gitmodules | Python Compile | | --- | --- | --- | --- | --- | --- | --- | --- | -| `PMOVES-transcribe-and-fetch` | yes | ` ` | `local` | yes | yes | ok | `skip` | +| `PMOVES-transcribe-and-fetch` | yes | `+` | `local` | yes | yes | ok | `skip` | ## Findings - No findings. diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES.YT.json b/pmoves/docs/evidence/submodule_layer/PMOVES.YT.json index c90eee5462..1a1e943786 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES.YT.json +++ b/pmoves/docs/evidence/submodule_layer/PMOVES.YT.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:22 UTC", + "generated_at": "2026-03-03 03:56 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/PMOVES.YT.md b/pmoves/docs/evidence/submodule_layer/PMOVES.YT.md index 156ed7bd30..16eecf685d 100644 --- a/pmoves/docs/evidence/submodule_layer/PMOVES.YT.md +++ b/pmoves/docs/evidence/submodule_layer/PMOVES.YT.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:22 UTC_ +_Generated: 2026-03-03 03:56 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.json b/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.json index 704bf9318a..6a71349855 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.json +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:15 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.md b/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.md index 6da4352e9a..65cd4268e5 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.md +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-AgentGym-RL.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:15 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.json b/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.json index 4e41f43f25..84203a5ff9 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.json +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:18 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.md b/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.md index b0584b42a4..25f6473f40 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.md +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-Health-wger.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:18 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.json b/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.json index 4d483e0cef..eef7eb08e3 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.json +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:19 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.md b/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.md index 2dbfaa5b1a..f95c5a4d6c 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.md +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-Jellyfin-AI-Media-Stack.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:19 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.json b/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.json index 9677de275e..b313896bbf 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.json +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:16 UTC", + "generated_at": "2026-03-03 03:53 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -11,8 +11,8 @@ "name": "Pmoves-cipher", "path": "Pmoves-cipher", "url": "https://github.com/POWERFULMOVES/Pmoves-cipher.git", - "status_prefix": " ", - "commit": "17fef8c122c277430a08fe890e46c0fe0a720224", + "status_prefix": "+", + "commit": "cad2c0233ff7daa44877b84742faec6dd947dfe1", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.md b/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.md index 4c4c61816b..caea6363b0 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.md +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-cipher.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:16 UTC_ +_Generated: 2026-03-03 03:53 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` @@ -11,7 +11,7 @@ _Generated: 2026-02-26 18:16 UTC_ ## Matrix | Submodule | Initialized | Status | Remote Commit | Docs(any) | Top-level Dossier | Nested .gitmodules | Python Compile | | --- | --- | --- | --- | --- | --- | --- | --- | -| `Pmoves-cipher` | yes | ` ` | `local` | yes | yes | ok | `skip` | +| `Pmoves-cipher` | yes | `+` | `local` | yes | yes | ok | `skip` | ## Findings - No findings. diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.json b/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.json index 3d0ee29dd8..e4a6d4454f 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.json +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:18 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.md b/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.md index 4f36749a50..919bf87533 100644 --- a/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.md +++ b/pmoves/docs/evidence/submodule_layer/Pmoves-hyperdimensions.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:18 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.json b/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.json index caab00f90d..f6efb3e956 100644 --- a/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.json +++ b/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:17 UTC", + "generated_at": "2026-03-03 03:54 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.md b/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.md index 367c95d303..3a1d878f4f 100644 --- a/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.md +++ b/pmoves/docs/evidence/submodule_layer/pmoves-e2b-mcp-server.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:17 UTC_ +_Generated: 2026-03-03 03:54 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.json b/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.json index e170f89dc6..0ec120b34c 100644 --- a/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.json +++ b/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-02-26 18:22 UTC", + "generated_at": "2026-03-03 03:56 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 1, @@ -12,7 +12,7 @@ "path": "pmoves/integrations/archon", "url": "https://github.com/POWERFULMOVES/PMOVES-Archon.git", "status_prefix": " ", - "commit": "6ea1a78fdcb5af140dd9f425fa121f45374bfd51", + "commit": "178ebb9e6a054520979dd448d0f5675a1a55cac7", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -22,4 +22,4 @@ "findings": [] } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.md b/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.md index 242eb406b9..d6479bf504 100644 --- a/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.md +++ b/pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-02-26 18:22 UTC_ +_Generated: 2026-03-03 03:56 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer_runall.json b/pmoves/docs/evidence/submodule_layer_runall.json index fc0c747f8c..6f0f600967 100644 --- a/pmoves/docs/evidence/submodule_layer_runall.json +++ b/pmoves/docs/evidence/submodule_layer_runall.json @@ -365,4 +365,4 @@ "md_path": "pmoves/docs/evidence/submodule_layer/pmoves__integrations__archon.md" } ] -} +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_layer_validation.json b/pmoves/docs/evidence/submodule_layer_validation.json index df4be28231..e8cf47cbb4 100644 --- a/pmoves/docs/evidence/submodule_layer_validation.json +++ b/pmoves/docs/evidence/submodule_layer_validation.json @@ -1,6 +1,6 @@ { - "generated_at": "2026-02-26 18:22 UTC", - "manifest": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves\\configs\\submodule_layer_validation_manifest.json", + "generated_at": "2026-03-03 02:38 UTC", + "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 40, "errors": 0, @@ -12,7 +12,7 @@ "path": "PMOVES-A2UI", "url": "https://github.com/POWERFULMOVES/PMOVES-A2UI.git", "status_prefix": " ", - "commit": "9f6b203e81b2eccd62e0146179ae5bd6a3cc3364", + "commit": "2bac549045e08fb87fd7b891366f48a492863374", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -26,7 +26,7 @@ "path": "PMOVES-Agent-Zero", "url": "https://github.com/POWERFULMOVES/PMOVES-Agent-Zero.git", "status_prefix": " ", - "commit": "ee1aed46aa3456535c6300abf02dd4f69ae640f4", + "commit": "76923745d7601bcd5d8dcc441dee97449b65ef99", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -68,7 +68,7 @@ "path": "PMOVES-Archon", "url": "https://github.com/POWERFULMOVES/PMOVES-Archon.git", "status_prefix": " ", - "commit": "6ea1a78fdcb5af140dd9f425fa121f45374bfd51", + "commit": "178ebb9e6a054520979dd448d0f5675a1a55cac7", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -82,7 +82,7 @@ "path": "PMOVES-BoTZ", "url": "https://github.com/POWERFULMOVES/PMOVES-BoTZ.git", "status_prefix": " ", - "commit": "615bb65c0a8d303e5f5b2395f937669138cd4f18", + "commit": "94529789f8453b27448a1bfb3e41e3092c05807b", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -96,7 +96,7 @@ "path": "PMOVES-BotZ-gateway", "url": "https://github.com/POWERFULMOVES/PMOVES-BotZ-gateway.git", "status_prefix": " ", - "commit": "83fd34534de90fc80fa5bfd0b0eff56225ea1734", + "commit": "d4db42419f7a072f9c9c8139ed68b40de741fd38", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -110,7 +110,7 @@ "path": "Pmoves-cipher", "url": "https://github.com/POWERFULMOVES/Pmoves-cipher.git", "status_prefix": " ", - "commit": "17fef8c122c277430a08fe890e46c0fe0a720224", + "commit": "31d3cb54b94b5d3a65d15834982d8501f0215445", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -180,7 +180,7 @@ "path": "PMOVES-DoX", "url": "https://github.com/POWERFULMOVES/PMOVES-DoX.git", "status_prefix": " ", - "commit": "456992a428dd60f6677e4e76a2276b16c3f92731", + "commit": "605f2dde21c6e69d1e0bdef2f926f71a7c9e54df", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -278,7 +278,7 @@ "path": "PMOVES-HiRAG", "url": "https://github.com/POWERFULMOVES/PMOVES-HiRAG.git", "status_prefix": " ", - "commit": "89d4abf3b4b10a58e08e5819ca79d349a8f5d073", + "commit": "e904b12a477ad670d5036e059912c2889c308926", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -376,7 +376,7 @@ "path": "PMOVES-Open-Notebook", "url": "https://github.com/POWERFULMOVES/PMOVES-Open-Notebook.git", "status_prefix": " ", - "commit": "0ecc4019a0685d28f8b09b9079e6548a22da7192", + "commit": "681e0085c664dc4652dae70974353a4ed479c2c0", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -404,7 +404,7 @@ "path": "PMOVES-Pipecat", "url": "https://github.com/POWERFULMOVES/pmoves-pipecat.git", "status_prefix": " ", - "commit": "ad5174845b2283746176becb004fa44dea9b0978", + "commit": "fafeaa85fdc663702b72034c19b1ebdf23b4766a", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -488,7 +488,7 @@ "path": "PMOVES-ToKenism-Multi", "url": "https://github.com/POWERFULMOVES/PMOVES-ToKenism-Multi.git", "status_prefix": " ", - "commit": "d5cccc1dada47261cadfcc7fd603f9adff23b27e", + "commit": "0471493b946edca8e69f2754487a6fad01dc6cb4", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -502,7 +502,7 @@ "path": "PMOVES-transcribe-and-fetch", "url": "https://github.com/POWERFULMOVES/PMOVES-transcribe-and-fetch.git", "status_prefix": " ", - "commit": "d422acc7e5a4a8eaf75c0e0a7e45694a51e8ec1f", + "commit": "ccf493a0a8b4a94641ea36aca3c7c18fdd1d0e23", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, @@ -558,7 +558,7 @@ "path": "pmoves/integrations/archon", "url": "https://github.com/POWERFULMOVES/PMOVES-Archon.git", "status_prefix": " ", - "commit": "6ea1a78fdcb5af140dd9f425fa121f45374bfd51", + "commit": "178ebb9e6a054520979dd448d0f5675a1a55cac7", "initialized": true, "remote_commit_reachable": "local", "required_files_any_ok": true, diff --git a/pmoves/docs/evidence/submodule_test_matrix.json b/pmoves/docs/evidence/submodule_test_matrix.json new file mode 100644 index 0000000000..32f3b94416 --- /dev/null +++ b/pmoves/docs/evidence/submodule_test_matrix.json @@ -0,0 +1,93 @@ +{ + "generated_utc": "2026-03-03T02:48:42Z", + "runs": [ + { + "submodule": "PMOVES-Agent-Zero", + "command": "python -m pytest -q tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 0.08, + "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + }, + { + "submodule": "PMOVES-Archon", + "command": "make test-be", + "status": "fail", + "exit_code": 2, + "duration_sec": 9.68, + "output_tail": "\"Running backend tests...\"\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\nwarning: `pypdfium2==4.30.1` is yanked (reason: \"Text extraction regression in pdfium, crbug.com/387277993\")\nDownloading faker (1.9MiB)\nDownloading mypy (9.1MiB)\nDownloading ruff (12.3MiB)\n Downloading ruff\n Downloading faker\n Downloading mypy\nInstalled 23 packages in 1.78s\nImportError while loading conftest 'C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Archon\\python\\tests\\conftest.py'.\ntests\\conftest.py:7: in \n from fastapi.testclient import TestClient\nE ModuleNotFoundError: No module named 'fastapi'\nmake: *** [Makefile:141: test-be] Error 4" + }, + { + "submodule": "PMOVES-BoTZ", + "command": "make test-smoke", + "status": "fail", + "exit_code": 2, + "duration_sec": 0.58, + "output_tail": "\"Running smoke tests...\"\nTraceback (most recent call last):\n File \"C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-BoTZ\\scripts\\smoke_tests.py\", line 11, in \n import requests\nModuleNotFoundError: No module named 'requests'\nmake: *** [Makefile:171: test-smoke] Error 1" + }, + { + "submodule": "PMOVES-BotZ-gateway", + "command": "python -m pytest -q --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 0.08, + "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + }, + { + "submodule": "Pmoves-cipher", + "command": "npm run test -- --runInBand", + "status": "fail", + "exit_code": 1, + "duration_sec": 0.71, + "output_tail": "> @byterover/cipher@0.3.0 test\n> vitest run --runInBand\nfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404\n throw new CACError(`Unknown option \\`${name.length > 1 ? `--${name}` : `-${name}`}\\``);\n ^\nCACError: Unknown option `--runInBand`\n at Command.checkUnknownOptions (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404:17)\n at CAC.runMatchedCommand (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:604:13)\n at CAC.parse (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:545:12)\n at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/cli.js:27:13\n at ModuleJob.run (node:internal/modules/esm/module_job:329:25)\n at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26)\n at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)\nNode.js v22.17.1" + }, + { + "submodule": "PMOVES-HiRAG", + "command": "python -m pytest -q --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 0.07, + "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + }, + { + "submodule": "PMOVES-transcribe-and-fetch", + "command": "npm test -- --runInBand --watch=false", + "status": "fail", + "exit_code": 1, + "duration_sec": 12.42, + "output_tail": "> pmoves-transcriber@0.1.0 test\n> jest --runInBand --watch=false" + }, + { + "submodule": "PMOVES-ToKenism-Multi", + "command": "python -m pytest -q tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 0.07, + "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + }, + { + "submodule": "PMOVES-DoX", + "command": "make test-standalone", + "status": "fail", + "exit_code": 2, + "duration_sec": 0.18, + "output_tail": "\"Ensuring external networks exist for standalone mode...\"\nnetwork was unexpected at this time.\nmake: *** [Makefile:54: ensure-standalone-networks] Error 255" + }, + { + "submodule": "PMOVES-Open-Notebook", + "command": "python -m pytest -q tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 0.07, + "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + }, + { + "submodule": "PMOVES.YT", + "command": "make test", + "status": "fail", + "exit_code": 2, + "duration_sec": 0.48, + "output_tail": "/usr/bin/env python3 -m pytest -Werror\nThe system cannot find the path specified.\n\"\" was unexpected at this time.\n'sed' is not recognized as an internal or external command,\noperable program or batch file.\nf was unexpected at this time.\n'sed' is not recognized as an internal or external command,\noperable program or batch file.\nf was unexpected at this time.\nFile not found - *.py\nprocess_begin: CreateProcess(NULL, sh.exe -c \"/usr/bin/env python3 -m pytest -Werror\", ...) failed.\nmake (e=2): The system cannot find the file specified.\nmake: *** [Makefile:84: test] Error 2" + } + ] +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix.md b/pmoves/docs/evidence/submodule_test_matrix.md new file mode 100644 index 0000000000..7e0908a55c --- /dev/null +++ b/pmoves/docs/evidence/submodule_test_matrix.md @@ -0,0 +1,125 @@ +# Submodule Test Matrix + +- Generated: `2026-03-03 02:48 UTC` +- Total runs: **11** +- Results: **0 pass**, **11 fail**, **0 timeout** + +| Submodule | Command | Status | Exit | Duration(s) | +| --- | --- | --- | --- | --- | +| `PMOVES-Agent-Zero` | `python -m pytest -q tests --maxfail=1` | `fail` | `1` | `0.08` | +| `PMOVES-Archon` | `make test-be` | `fail` | `2` | `9.68` | +| `PMOVES-BoTZ` | `make test-smoke` | `fail` | `2` | `0.58` | +| `PMOVES-BotZ-gateway` | `python -m pytest -q --maxfail=1` | `fail` | `1` | `0.08` | +| `Pmoves-cipher` | `npm run test -- --runInBand` | `fail` | `1` | `0.71` | +| `PMOVES-HiRAG` | `python -m pytest -q --maxfail=1` | `fail` | `1` | `0.07` | +| `PMOVES-transcribe-and-fetch` | `npm test -- --runInBand --watch=false` | `fail` | `1` | `12.42` | +| `PMOVES-ToKenism-Multi` | `python -m pytest -q tests --maxfail=1` | `fail` | `1` | `0.07` | +| `PMOVES-DoX` | `make test-standalone` | `fail` | `2` | `0.18` | +| `PMOVES-Open-Notebook` | `python -m pytest -q tests --maxfail=1` | `fail` | `1` | `0.07` | +| `PMOVES.YT` | `make test` | `fail` | `2` | `0.48` | + +## Tails + +### PMOVES-Agent-Zero (fail) +```text +C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +``` + +### PMOVES-Archon (fail) +```text +"Running backend tests..." +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +Using CPython 3.13.5 +Creating virtual environment at: .venv +warning: `pypdfium2==4.30.1` is yanked (reason: "Text extraction regression in pdfium, crbug.com/387277993") +Downloading faker (1.9MiB) +Downloading mypy (9.1MiB) +Downloading ruff (12.3MiB) + Downloading ruff + Downloading faker + Downloading mypy +Installed 23 packages in 1.78s +ImportError while loading conftest 'C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Archon\python\tests\conftest.py'. +tests\conftest.py:7: in + from fastapi.testclient import TestClient +E ModuleNotFoundError: No module named 'fastapi' +make: *** [Makefile:141: test-be] Error 4 +``` + +### PMOVES-BoTZ (fail) +```text +"Running smoke tests..." +Traceback (most recent call last): + File "C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-BoTZ\scripts\smoke_tests.py", line 11, in + import requests +ModuleNotFoundError: No module named 'requests' +make: *** [Makefile:171: test-smoke] Error 1 +``` + +### PMOVES-BotZ-gateway (fail) +```text +C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +``` + +### Pmoves-cipher (fail) +```text +> @byterover/cipher@0.3.0 test +> vitest run --runInBand +file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404 + throw new CACError(`Unknown option \`${name.length > 1 ? `--${name}` : `-${name}`}\``); + ^ +CACError: Unknown option `--runInBand` + at Command.checkUnknownOptions (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404:17) + at CAC.runMatchedCommand (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:604:13) + at CAC.parse (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:545:12) + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/cli.js:27:13 + at ModuleJob.run (node:internal/modules/esm/module_job:329:25) + at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26) + at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5) +Node.js v22.17.1 +``` + +### PMOVES-HiRAG (fail) +```text +C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +``` + +### PMOVES-transcribe-and-fetch (fail) +```text +> pmoves-transcriber@0.1.0 test +> jest --runInBand --watch=false +``` + +### PMOVES-ToKenism-Multi (fail) +```text +C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +``` + +### PMOVES-DoX (fail) +```text +"Ensuring external networks exist for standalone mode..." +network was unexpected at this time. +make: *** [Makefile:54: ensure-standalone-networks] Error 255 +``` + +### PMOVES-Open-Notebook (fail) +```text +C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +``` + +### PMOVES.YT (fail) +```text +/usr/bin/env python3 -m pytest -Werror +The system cannot find the path specified. +"" was unexpected at this time. +'sed' is not recognized as an internal or external command, +operable program or batch file. +f was unexpected at this time. +'sed' is not recognized as an internal or external command, +operable program or batch file. +f was unexpected at this time. +File not found - *.py +process_begin: CreateProcess(NULL, sh.exe -c "/usr/bin/env python3 -m pytest -Werror", ...) failed. +make (e=2): The system cannot find the file specified. +make: *** [Makefile:84: test] Error 2 +``` \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix_curated.json b/pmoves/docs/evidence/submodule_test_matrix_curated.json new file mode 100644 index 0000000000..aa12ef660f --- /dev/null +++ b/pmoves/docs/evidence/submodule_test_matrix_curated.json @@ -0,0 +1,93 @@ +{ + "generated_utc": "2026-03-03T03:19:43Z", + "runs": [ + { + "submodule": "PMOVES-Agent-Zero", + "command": "uv run --python 3.11 --no-project --with-requirements requirements.txt --with-requirements requirements2.txt --with pytest python -m pytest -q tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 0.15, + "output_tail": " \u00d7 No solution found when resolving `--with` dependencies:\n \u2570\u2500\u25b6 Because browser-use==0.5.11 depends on openai==1.99.2 and you require\n browser-use==0.5.11, we can conclude that you require openai==1.99.2.\n And because you require openai==1.99.5, we can conclude that your\n requirements are unsatisfiable." + }, + { + "submodule": "PMOVES-Archon", + "command": "uv run --python 3.12 --project python --group all python -m pytest -q python/tests --maxfail=1", + "status": "pass", + "exit_code": 0, + "duration_sec": 97.15, + "output_tail": "python\\tests\\mcp_server\\features\\documents\\test_version_tools.py .... [ 27%]\npython\\tests\\mcp_server\\features\\projects\\test_project_tools.py .... [ 28%]\npython\\tests\\mcp_server\\features\\tasks\\test_task_tools.py ...... [ 29%]\npython\\tests\\mcp_server\\features\\test_feature_tools.py ... [ 29%]\npython\\tests\\mcp_server\\utils\\test_error_handling.py .......... [ 30%]\npython\\tests\\mcp_server\\utils\\test_timeout_config.py ............. [ 32%]\npython\\tests\\progress_tracking\\integration\\test_crawl_orchestration_progress.py . [ 32%]\n.... [ 33%]\npython\\tests\\progress_tracking\\integration\\test_document_storage_progress.py . [ 33%]\n...... [ 34%]\npython\\tests\\progress_tracking\\test_batch_progress_bug.py ... [ 34%]\npython\\tests\\progress_tracking\\test_progress_api.py ......... [ 35%]\npython\\tests\\progress_tracking\\test_progress_mapper.py ................. [ 38%]\n [ 38%]\npython\\tests\\progress_tracking\\test_progress_models.py ................. [ 40%]\n.... [ 40%]\npython\\tests\\progress_tracking\\test_progress_tracker.py ............. [ 42%]\npython\\tests\\server\\api_routes\\test_bug_report_api.py ....... [ 43%]\npython\\tests\\server\\api_routes\\test_mcp_api.py .............. [ 45%]\npython\\tests\\server\\api_routes\\test_migration_api.py ......... [ 46%]\npython\\tests\\server\\api_routes\\test_projects_api_polling.py ......... [ 48%]\npython\\tests\\server\\api_routes\\test_version_api.py ....... [ 48%]\npython\\tests\\server\\services\\test_llms_full_parser.py ........... [ 50%]\npython\\tests\\server\\services\\test_migration_service.py ........... [ 51%]\npython\\tests\\server\\services\\test_version_service.py ............ [ 53%]\npython\\tests\\server\\utils\\test_etag_utils.py .............. [ 55%]\npython\\tests\\test_api_essentials.py .......... [ 56%]\npython\\tests\\test_async_credential_service.py ............... [ 58%]\npython\\tests\\test_async_embedding_service.py .......... [ 60%]\npython\\tests\\test_async_llm_provider_service.py ..................... [ 63%]\npython\\tests\\test_async_source_summary.py ....... [ 64%]\npython\\tests\\test_business_logic.py .......... [ 65%]\npython\\tests\\test_code_extraction_source_id.py .... [ 65%]\npython\\tests\\test_crawl_orchestration_isolated.py .................. [ 68%]\npython\\tests\\test_crawling_service_subdomain.py ........ [ 69%]\npython\\tests\\test_discovery_service.py ........... [ 70%]\npython\\tests\\test_document_storage_metrics.py .... [ 71%]\npython\\tests\\test_embedding_service_no_zeros.py ............ [ 73%]\npython\\tests\\test_keyword_extraction.py ................. [ 75%]\npython\\tests\\test_knowledge_api_integration.py ssss.s [ 76%]\npython\\tests\\test_knowledge_api_pagination.py .ssss..s [ 77%]\npython\\tests\\test_llms_txt_link_following.py ....... [ 78%]\npython\\tests\\test_openrouter_discovery.py ........... [ 79%]\npython\\tests\\test_port_configuration.py ............ [ 81%]\npython\\tests\\test_progress_api.py ........... [ 82%]\npython\\tests\\test_rag_simple.py .................. [ 85%]\npython\\tests\\test_rag_strategies.py .................... [ 88%]\npython\\tests\\test_service_integration.py .......... [ 89%]\npython\\tests\\test_settings_api.py ... [ 89%]\npython\\tests\\test_source_id_refactor.py ................. [ 92%]\npython\\tests\\test_source_race_condition.py ..... [ 92%]\npython\\tests\\test_source_url_shadowing.py .. [ 93%]\npython\\tests\\test_supabase_validation.py ........... [ 94%]\npython\\tests\\test_task_counts.py ... [ 94%]\npython\\tests\\test_token_optimization.py ........ [ 96%]\npython\\tests\\test_token_optimization_integration.py ss.. [ 96%]\npython\\tests\\test_url_canonicalization.py .......... [ 97%]\npython\\tests\\test_url_handler.py ............... [100%]\n=========== 725 passed, 12 skipped, 64 warnings in 92.53s (0:01:32) ===========\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `python\\.venv` and will be ignored; use `--active` to target the active environment instead" + }, + { + "submodule": "PMOVES-BoTZ", + "command": "uv run --python 3.11 --no-project --with-requirements requirements.txt --with python-dotenv python scripts/smoke_tests.py", + "status": "fail", + "exit_code": 1, + "duration_sec": 38.91, + "output_tail": "[22:17:19] INFO: Starting PMOVES smoke tests...\n[22:17:19] INFO: Running Environment Configuration tests...\n[22:17:19] FAIL: No .env file found - copy from core/example.env\n[22:17:19] FAIL: Environment Configuration tests FAILED\n[22:17:19] INFO: Running Compose Stack Configuration tests...\n[22:17:19] PASS: Docker Compose validation passed for stack botz_core_only\n[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_external\n[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_internal\n[22:17:21] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral\n[22:17:21] PASS: Compose Stack Configuration tests PASSED\n[22:17:21] INFO: Running Core Service Health tests...\n[22:17:29] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:29] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:29] FAIL: Core Service Health tests FAILED\n[22:17:29] INFO: Running VL-Sentinel Health tests...\n[22:17:33] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:33] FAIL: VL-Sentinel Health tests FAILED\n[22:17:33] INFO: Running Cipher Memory Integration tests...\n[22:17:33] PASS: Cipher Cipher Submodule: Found at C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-BoTZ\\features\\cipher\\pmoves_cipher\n[22:17:33] FAIL: Cipher Cipher Build: Cipher not built - run setup script\n[22:17:33] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided\n[22:17:33] PASS: Cipher Cipher Config: PMOVES cipher configuration found\n[22:17:33] FAIL: Cipher Memory Integration tests FAILED\n[22:17:33] INFO: Running Cipher Service Health tests...\n[22:17:37] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:41] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:41] FAIL: Cipher service: no healthy API or UI endpoint detected\n[22:17:41] FAIL: Cipher Service Health tests FAILED\n[22:17:41] INFO: Running Cipher Functional API tests...\n[22:17:45] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:49] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:53] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:53] FAIL: Cipher Functional API tests FAILED\n[22:17:53] INFO: Running Cipher Message Roundtrip tests...\n[22:17:53] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured)\n[22:17:53] PASS: Cipher Message Roundtrip tests PASSED\n[22:17:53] INFO: Running YT Mini Agent tests...\n[22:17:53] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1)\n[22:17:53] PASS: YT Mini Agent tests PASSED\n[22:17:53] INFO: Running Metrics Stack tests...\n[22:17:53] PASS: Prometheus: reachable at http://localhost:9090/targets\n[22:17:57] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:57] FAIL: Metrics Stack tests FAILED\n[22:17:57] INFO: Running API Connectivity tests...\n[22:17:57] PASS: Postman API: Using test placeholder - skipping live test\n[22:17:57] PASS: Tailscale: Tailscale auth key not required for basic functionality\n[22:17:57] PASS: API Connectivity tests PASSED\n[22:17:57] INFO: Smoke tests completed: 4/11 passed\n[22:17:57] FAIL: 7 tests failed - Check configuration\nInstalled 19 packages in 311ms" + }, + { + "submodule": "PMOVES-BotZ-gateway", + "command": "", + "status": "skip", + "exit_code": null, + "duration_sec": 0, + "output_tail": "No root-level deterministic test command found." + }, + { + "submodule": "Pmoves-cipher", + "command": "npm run test", + "status": "pass", + "exit_code": 0, + "duration_sec": 42.83, + "output_tail": "\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mError Handling\u001b[2m > \u001b[22m\u001b[2mshould close page even if errors occur\n\u001b[22m\u001b[39m22:18:25 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mError Handling\u001b[2m > \u001b[22m\u001b[2mshould close page even if errors occur\n\u001b[22m\u001b[39m22:18:30 WARN: DuckDuckGo Puppeteer: Failed to fetch content for https://example.com/test:\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39m22:18:30 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90mC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90mC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould cleanup browser on cleanup call\n\u001b[22m\u001b[39m22:18:36 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould cleanup browser on cleanup call\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90mC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould handle cleanup when no browser exists\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould sanitize queries correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould sanitize queries correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould build URLs correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould build URLs correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould allow configuration updates\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould provide statistics\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould reset statistics\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)" + }, + { + "submodule": "PMOVES-HiRAG", + "command": "", + "status": "skip", + "exit_code": null, + "duration_sec": 0, + "output_tail": "No root-level deterministic test command found." + }, + { + "submodule": "PMOVES-transcribe-and-fetch", + "command": "npm test -- --watch=false", + "status": "fail", + "exit_code": 1, + "duration_sec": 10.82, + "output_tail": " \u001b[36m>\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mFull Transcript\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDocument\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[22m\u001b[39m\u001b[90m 253 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(() \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 254 |\u001b[39m expect(screen\u001b[33m.\u001b[39mgetByText(\u001b[35m/multi-tier architecture/\u001b[39m))\u001b[33m.\u001b[39mtoBeInTheDocument()\u001b[33m;\u001b[39m\n \u001b[90m 255 |\u001b[39m expect(screen\u001b[33m.\u001b[39mgetByText(\u001b[35m/System architecture/\u001b[39m))\u001b[33m.\u001b[39mtoBeInTheDocument()\u001b[33m;\u001b[39m\n \u001b[90m 256 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)\n at Object. (src/app/vector-search/__tests__/page.test.js:253:20)\nTest Suites: 10 failed, 2 passed, 12 total\nTests: 59 failed, 1 skipped, 23 passed, 83 total\nSnapshots: 0 total\nTime: 9.545 s\nRan all test suites." + }, + { + "submodule": "PMOVES-ToKenism-Multi", + "command": "uv run --python 3.11 --no-project --with-requirements requirements.txt --with pytest python -m pytest -q tests --maxfail=1", + "status": "pass", + "exit_code": 0, + "duration_sec": 3.19, + "output_tail": ".......................................... [100%]\n42 passed in 1.86s" + }, + { + "submodule": "PMOVES-DoX", + "command": "set SUPABASE_JWT_SECRET=test-secret&& uv run --python 3.12 --no-project --with-requirements backend/requirements.txt --with pytest --with pytest-asyncio python -m pytest -q backend/tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 17.8, + "output_tail": ":488\n :488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute\n:488\n :488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute\n:488\n :488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute\nbackend\\app\\main.py:279\nbackend\\app\\main.py:279\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\main.py:279: DeprecationWarning: \n on_event is deprecated, use lifespan event handlers instead.\n Read more about it in the\n [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).\n @app.on_event(\"startup\")\n..\\..\\..\\..\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599\n..\\..\\..\\..\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599\n C:\\Users\\russe\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599: DeprecationWarning: \n on_event is deprecated, use lifespan event handlers instead.\n Read more about it in the\n [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).\n return self.router.on_event(event_type)\nbackend\\app\\services\\reasoning_service.py:81\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\reasoning_service.py:81: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class ReasoningTrace(BaseModel):\nbackend\\app\\services\\thread_manager.py:103\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\thread_manager.py:103: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class ThreadContext(BaseModel):\ntests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_defaults\ntests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_with_capabilities\ntests/test_agent_dispatcher.py::TestDispatchResult::test_dispatch_result_creation\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout\ntests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n C:\\Users\\russe\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\pydantic\\main.py:250: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:139: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:146: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:153: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:168: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.cached_at = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:174: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n return datetime.utcnow() >= self.expires_at\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n=========================== short test summary info ===========================\nFAILED backend\\tests\\test_agent_dispatcher.py::TestAgentDispatcherInit::test_init_creates_empty_state\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n1 failed, 15 passed, 28 warnings in 11.68s" + }, + { + "submodule": "PMOVES-Open-Notebook", + "command": "uv run --project . python -m pytest -q tests --maxfail=1", + "status": "pass", + "exit_code": 0, + "duration_sec": 17.99, + "output_tail": "........................................................................ [ 73%]\n.......................... [100%]\n============================== warnings summary ===============================\n.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Open-Notebook\\.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class RetryConfig(BaseModel):\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n98 passed, 1 warning in 15.36s\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead" + }, + { + "submodule": "PMOVES.YT", + "command": "uv run --python 3.11 --with pytest python -m pytest -q --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 13.27, + "output_tail": "============================= test session starts =============================\nplatform win32 -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0\nrootdir: C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES.YT\nconfigfile: pyproject.toml\ncollected 7418 items\ntest\\test_InfoExtractor.py .................... [ 0%]\ntest\\test_YoutubeDL.py ............................ [ 0%]\ntest\\test_YoutubeDLCookieJar.py ..... [ 0%]\ntest\\test_aes.py ............ [ 0%]\ntest\\test_age_restriction.py .F\n================================== FAILURES ===================================\n_______________________ TestAgeRestriction.test_youtube _______________________\nself = \n def test_youtube(self):\n> self._assert_restricted('HtVdAasjOgU', 'HtVdAasjOgU.mp4', 10)\ntest\\test_age_restriction.py:46: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\ntest\\test_age_restriction.py:42: in _assert_restricted\n self.assertTrue(_download_restricted(url, filename, old_age))\nE AssertionError: None is not true\n---------------------------- Captured stdout call -----------------------------\n[youtube] Extracting URL: HtVdAasjOgU\n[youtube] HtVdAasjOgU: Downloading webpage\n[youtube] HtVdAasjOgU: Downloading android vr player API JSON\n[youtube] HtVdAasjOgU: This video is age-restricted; some formats may be missing without authentication. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n[youtube] HtVdAasjOgU: Downloading web embedded client config\n[youtube] HtVdAasjOgU: Downloading player 4eecba16-tv\n[youtube] HtVdAasjOgU: Downloading web embedded player API JSON\n[youtube] HtVdAasjOgU: Downloading web safari player API JSON\n---------------------------- Captured stderr call -----------------------------\nERROR: [youtube] HtVdAasjOgU: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n=========================== short test summary info ===========================\nFAILED test/test_age_restriction.py::TestAgeRestriction::test_youtube - Asser...\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n======================== 1 failed, 66 passed in 11.36s ========================\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead" + } + ] +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix_curated.md b/pmoves/docs/evidence/submodule_test_matrix_curated.md new file mode 100644 index 0000000000..940f5fd0b1 --- /dev/null +++ b/pmoves/docs/evidence/submodule_test_matrix_curated.md @@ -0,0 +1,408 @@ +# Submodule Test Matrix (Curated) + +- Generated: `2026-03-03 03:19 UTC` +- Results: **4 pass**, **5 fail**, **0 timeout**, **2 skip** + +| Submodule | Status | Exit | Duration(s) | Command | +| --- | --- | --- | --- | --- | +| `PMOVES-Agent-Zero` | `fail` | `1` | `0.15` | `uv run --python 3.11 --no-project --with-requirements requirements.txt --with-requirements requirements2.txt --with pytest python -m pytest -q tests --maxfail=1` | +| `PMOVES-Archon` | `pass` | `0` | `97.15` | `uv run --python 3.12 --project python --group all python -m pytest -q python/tests --maxfail=1` | +| `PMOVES-BoTZ` | `fail` | `1` | `38.91` | `uv run --python 3.11 --no-project --with-requirements requirements.txt --with python-dotenv python scripts/smoke_tests.py` | +| `PMOVES-BotZ-gateway` | `skip` | `` | `0` | `` | +| `Pmoves-cipher` | `pass` | `0` | `42.83` | `npm run test` | +| `PMOVES-HiRAG` | `skip` | `` | `0` | `` | +| `PMOVES-transcribe-and-fetch` | `fail` | `1` | `10.82` | `npm test -- --watch=false` | +| `PMOVES-ToKenism-Multi` | `pass` | `0` | `3.19` | `uv run --python 3.11 --no-project --with-requirements requirements.txt --with pytest python -m pytest -q tests --maxfail=1` | +| `PMOVES-DoX` | `fail` | `1` | `17.8` | `set SUPABASE_JWT_SECRET=test-secret&& uv run --python 3.12 --no-project --with-requirements backend/requirements.txt --with pytest --with pytest-asyncio python -m pytest -q backend/tests --maxfail=1` | +| `PMOVES-Open-Notebook` | `pass` | `0` | `17.99` | `uv run --project . python -m pytest -q tests --maxfail=1` | +| `PMOVES.YT` | `fail` | `1` | `13.27` | `uv run --python 3.11 --with pytest python -m pytest -q --maxfail=1` | + +## Output Tails + +### PMOVES-Agent-Zero (fail) +```text + × No solution found when resolving `--with` dependencies: + ╰─▶ Because browser-use==0.5.11 depends on openai==1.99.2 and you require + browser-use==0.5.11, we can conclude that you require openai==1.99.2. + And because you require openai==1.99.5, we can conclude that your + requirements are unsatisfiable. +``` + +### PMOVES-Archon (pass) +```text +python\tests\mcp_server\features\documents\test_version_tools.py .... [ 27%] +python\tests\mcp_server\features\projects\test_project_tools.py .... [ 28%] +python\tests\mcp_server\features\tasks\test_task_tools.py ...... [ 29%] +python\tests\mcp_server\features\test_feature_tools.py ... [ 29%] +python\tests\mcp_server\utils\test_error_handling.py .......... [ 30%] +python\tests\mcp_server\utils\test_timeout_config.py ............. [ 32%] +python\tests\progress_tracking\integration\test_crawl_orchestration_progress.py . [ 32%] +.... [ 33%] +python\tests\progress_tracking\integration\test_document_storage_progress.py . [ 33%] +...... [ 34%] +python\tests\progress_tracking\test_batch_progress_bug.py ... [ 34%] +python\tests\progress_tracking\test_progress_api.py ......... [ 35%] +python\tests\progress_tracking\test_progress_mapper.py ................. [ 38%] + [ 38%] +python\tests\progress_tracking\test_progress_models.py ................. [ 40%] +.... [ 40%] +python\tests\progress_tracking\test_progress_tracker.py ............. [ 42%] +python\tests\server\api_routes\test_bug_report_api.py ....... [ 43%] +python\tests\server\api_routes\test_mcp_api.py .............. [ 45%] +python\tests\server\api_routes\test_migration_api.py ......... [ 46%] +python\tests\server\api_routes\test_projects_api_polling.py ......... [ 48%] +python\tests\server\api_routes\test_version_api.py ....... [ 48%] +python\tests\server\services\test_llms_full_parser.py ........... [ 50%] +python\tests\server\services\test_migration_service.py ........... [ 51%] +python\tests\server\services\test_version_service.py ............ [ 53%] +python\tests\server\utils\test_etag_utils.py .............. [ 55%] +python\tests\test_api_essentials.py .......... [ 56%] +python\tests\test_async_credential_service.py ............... [ 58%] +python\tests\test_async_embedding_service.py .......... [ 60%] +python\tests\test_async_llm_provider_service.py ..................... [ 63%] +python\tests\test_async_source_summary.py ....... [ 64%] +python\tests\test_business_logic.py .......... [ 65%] +python\tests\test_code_extraction_source_id.py .... [ 65%] +python\tests\test_crawl_orchestration_isolated.py .................. [ 68%] +python\tests\test_crawling_service_subdomain.py ........ [ 69%] +python\tests\test_discovery_service.py ........... [ 70%] +python\tests\test_document_storage_metrics.py .... [ 71%] +python\tests\test_embedding_service_no_zeros.py ............ [ 73%] +python\tests\test_keyword_extraction.py ................. [ 75%] +python\tests\test_knowledge_api_integration.py ssss.s [ 76%] +python\tests\test_knowledge_api_pagination.py .ssss..s [ 77%] +python\tests\test_llms_txt_link_following.py ....... [ 78%] +python\tests\test_openrouter_discovery.py ........... [ 79%] +python\tests\test_port_configuration.py ............ [ 81%] +python\tests\test_progress_api.py ........... [ 82%] +python\tests\test_rag_simple.py .................. [ 85%] +python\tests\test_rag_strategies.py .................... [ 88%] +python\tests\test_service_integration.py .......... [ 89%] +python\tests\test_settings_api.py ... [ 89%] +python\tests\test_source_id_refactor.py ................. [ 92%] +python\tests\test_source_race_condition.py ..... [ 92%] +python\tests\test_source_url_shadowing.py .. [ 93%] +python\tests\test_supabase_validation.py ........... [ 94%] +python\tests\test_task_counts.py ... [ 94%] +python\tests\test_token_optimization.py ........ [ 96%] +python\tests\test_token_optimization_integration.py ss.. [ 96%] +python\tests\test_url_canonicalization.py .......... [ 97%] +python\tests\test_url_handler.py ............... [100%] +=========== 725 passed, 12 skipped, 64 warnings in 92.53s (0:01:32) =========== +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `python\.venv` and will be ignored; use `--active` to target the active environment instead +``` + +### PMOVES-BoTZ (fail) +```text +[22:17:19] INFO: Starting PMOVES smoke tests... +[22:17:19] INFO: Running Environment Configuration tests... +[22:17:19] FAIL: No .env file found - copy from core/example.env +[22:17:19] FAIL: Environment Configuration tests FAILED +[22:17:19] INFO: Running Compose Stack Configuration tests... +[22:17:19] PASS: Docker Compose validation passed for stack botz_core_only +[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_external +[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_internal +[22:17:21] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral +[22:17:21] PASS: Compose Stack Configuration tests PASSED +[22:17:21] INFO: Running Core Service Health tests... +[22:17:29] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:29] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:29] FAIL: Core Service Health tests FAILED +[22:17:29] INFO: Running VL-Sentinel Health tests... +[22:17:33] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:33] FAIL: VL-Sentinel Health tests FAILED +[22:17:33] INFO: Running Cipher Memory Integration tests... +[22:17:33] PASS: Cipher Cipher Submodule: Found at C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-BoTZ\features\cipher\pmoves_cipher +[22:17:33] FAIL: Cipher Cipher Build: Cipher not built - run setup script +[22:17:33] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided +[22:17:33] PASS: Cipher Cipher Config: PMOVES cipher configuration found +[22:17:33] FAIL: Cipher Memory Integration tests FAILED +[22:17:33] INFO: Running Cipher Service Health tests... +[22:17:37] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:41] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:41] FAIL: Cipher service: no healthy API or UI endpoint detected +[22:17:41] FAIL: Cipher Service Health tests FAILED +[22:17:41] INFO: Running Cipher Functional API tests... +[22:17:45] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:49] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:53] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:53] FAIL: Cipher Functional API tests FAILED +[22:17:53] INFO: Running Cipher Message Roundtrip tests... +[22:17:53] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured) +[22:17:53] PASS: Cipher Message Roundtrip tests PASSED +[22:17:53] INFO: Running YT Mini Agent tests... +[22:17:53] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1) +[22:17:53] PASS: YT Mini Agent tests PASSED +[22:17:53] INFO: Running Metrics Stack tests... +[22:17:53] PASS: Prometheus: reachable at http://localhost:9090/targets +[22:17:57] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[22:17:57] FAIL: Metrics Stack tests FAILED +[22:17:57] INFO: Running API Connectivity tests... +[22:17:57] PASS: Postman API: Using test placeholder - skipping live test +[22:17:57] PASS: Tailscale: Tailscale auth key not required for basic functionality +[22:17:57] PASS: API Connectivity tests PASSED +[22:17:57] INFO: Smoke tests completed: 4/11 passed +[22:17:57] FAIL: 7 tests failed - Check configuration +Installed 19 packages in 311ms +``` + +### PMOVES-BotZ-gateway (skip) +```text +No root-level deterministic test command found. +``` + +### Pmoves-cipher (pass) +```text +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Error Handling > should close page even if errors occur +22:18:25 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Error Handling > should close page even if errors occur +22:18:30 WARN: DuckDuckGo Puppeteer: Failed to fetch content for https://example.com/test: +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should reuse browser instance across searches +22:18:30 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should reuse browser instance across searches +DuckDuckGo Puppeteer search error: Error: Test error + at C:\Users\russe\Documents\GitHub\PMOVES.AI\Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at new Promise () + at runWithTimeout (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should reuse browser instance across searches +DuckDuckGo Puppeteer search error: Error: Test error + at C:\Users\russe\Documents\GitHub\PMOVES.AI\Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at new Promise () + at runWithTimeout (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should cleanup browser on cleanup call +22:18:36 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should cleanup browser on cleanup call +DuckDuckGo Puppeteer search error: Error: Test error + at C:\Users\russe\Documents\GitHub\PMOVES.AI\Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at new Promise () + at runWithTimeout (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should handle cleanup when no browser exists +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Utility Methods > should sanitize queries correctly +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Utility Methods > should sanitize queries correctly +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Utility Methods > should build URLs correctly +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Utility Methods > should build URLs correctly +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Configuration Updates > should allow configuration updates +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Configuration Updates > should provide statistics +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Configuration Updates > should reset statistics +22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) +``` + +### PMOVES-HiRAG (skip) +```text +No root-level deterministic test command found. +``` + +### PMOVES-transcribe-and-fetch (fail) +```text + > +  +  + Full Transcript +  +  +  +  +  + Document +  +  +  +  253 | await waitFor(() => { +  | ^ +  254 | expect(screen.getByText(/multi-tier architecture/)).toBeInTheDocument(); +  255 | expect(screen.getByText(/System architecture/)).toBeInTheDocument(); +  256 | }); + at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27) + at Object. (src/app/vector-search/__tests__/page.test.js:253:20) +Test Suites: 10 failed, 2 passed, 12 total +Tests: 59 failed, 1 skipped, 23 passed, 83 total +Snapshots: 0 total +Time: 9.545 s +Ran all test suites. +``` + +### PMOVES-ToKenism-Multi (pass) +```text +.......................................... [100%] +42 passed in 1.86s +``` + +### PMOVES-DoX (fail) +```text +:488 + :488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute +:488 + :488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute +:488 + :488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute +backend\app\main.py:279 +backend\app\main.py:279 + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\main.py:279: DeprecationWarning: + on_event is deprecated, use lifespan event handlers instead. + Read more about it in the + [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). + @app.on_event("startup") +..\..\..\..\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\fastapi\applications.py:4599 +..\..\..\..\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\fastapi\applications.py:4599 + C:\Users\russe\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\fastapi\applications.py:4599: DeprecationWarning: + on_event is deprecated, use lifespan event handlers instead. + Read more about it in the + [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). + return self.router.on_event(event_type) +backend\app\services\reasoning_service.py:81 + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\reasoning_service.py:81: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + class ReasoningTrace(BaseModel): +backend\app\services\thread_manager.py:103 + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\thread_manager.py:103: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + class ThreadContext(BaseModel): +tests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_defaults +tests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_with_capabilities +tests/test_agent_dispatcher.py::TestDispatchResult::test_dispatch_result_creation +tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed +tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed +tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout +tests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation +tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh +tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old + C:\Users\russe\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\pydantic\main.py:250: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self) +tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:139: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + self.end_time = datetime.utcnow() +tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:146: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + self.end_time = datetime.utcnow() +tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:153: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + self.end_time = datetime.utcnow() +tests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation +tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh +tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:168: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + self.cached_at = datetime.utcnow() +tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh +tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:174: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + return datetime.utcnow() >= self.expires_at +-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html +=========================== short test summary info =========================== +FAILED backend\tests\test_agent_dispatcher.py::TestAgentDispatcherInit::test_init_creates_empty_state +!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!! +1 failed, 15 passed, 28 warnings in 11.68s +``` + +### PMOVES-Open-Notebook (pass) +```text +........................................................................ [ 73%] +.......................... [100%] +============================== warnings summary =============================== +.venv\Lib\site-packages\surreal_commands\core\retry.py:41 + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Open-Notebook\.venv\Lib\site-packages\surreal_commands\core\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + class RetryConfig(BaseModel): +-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html +98 passed, 1 warning in 15.36s +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +``` + +### PMOVES.YT (fail) +```text +============================= test session starts ============================= +platform win32 -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0 +rootdir: C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES.YT +configfile: pyproject.toml +collected 7418 items +test\test_InfoExtractor.py .................... [ 0%] +test\test_YoutubeDL.py ............................ [ 0%] +test\test_YoutubeDLCookieJar.py ..... [ 0%] +test\test_aes.py ............ [ 0%] +test\test_age_restriction.py .F +================================== FAILURES =================================== +_______________________ TestAgeRestriction.test_youtube _______________________ +self = + def test_youtube(self): +> self._assert_restricted('HtVdAasjOgU', 'HtVdAasjOgU.mp4', 10) +test\test_age_restriction.py:46: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +test\test_age_restriction.py:42: in _assert_restricted + self.assertTrue(_download_restricted(url, filename, old_age)) +E AssertionError: None is not true +---------------------------- Captured stdout call ----------------------------- +[youtube] Extracting URL: HtVdAasjOgU +[youtube] HtVdAasjOgU: Downloading webpage +[youtube] HtVdAasjOgU: Downloading android vr player API JSON +[youtube] HtVdAasjOgU: This video is age-restricted; some formats may be missing without authentication. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies +[youtube] HtVdAasjOgU: Downloading web embedded client config +[youtube] HtVdAasjOgU: Downloading player 4eecba16-tv +[youtube] HtVdAasjOgU: Downloading web embedded player API JSON +[youtube] HtVdAasjOgU: Downloading web safari player API JSON +---------------------------- Captured stderr call ----------------------------- +ERROR: [youtube] HtVdAasjOgU: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies +=========================== short test summary info =========================== +FAILED test/test_age_restriction.py::TestAgeRestriction::test_youtube - Asser... +!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!! +======================== 1 failed, 66 passed in 11.36s ======================== +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +``` \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix_normalized.json b/pmoves/docs/evidence/submodule_test_matrix_normalized.json new file mode 100644 index 0000000000..3673cd5151 --- /dev/null +++ b/pmoves/docs/evidence/submodule_test_matrix_normalized.json @@ -0,0 +1,93 @@ +{ + "generated_utc": "2026-03-03T02:53:56Z", + "runs": [ + { + "submodule": "PMOVES-Agent-Zero", + "command": "uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 3.08, + "output_tail": " \u00d7 No solution found when resolving `--with` dependencies:\n \u2570\u2500\u25b6 Because only the following versions of onnxruntime are available:\n onnxruntime<=1.17.0\n onnxruntime==1.17.1\n onnxruntime==1.17.3\n onnxruntime==1.18.0\n onnxruntime==1.18.1\n onnxruntime==1.19.0\n onnxruntime>=1.19.2\n and onnxruntime>=1.17.0,<=1.19.2 has no wheels with a\n matching Python ABI tag (e.g., `cp313`), we can conclude that\n onnxruntime>=1.17.0,<=1.19.2 cannot be used.\n And because langchain-unstructured==0.1.6 depends\n on onnxruntime>=1.17.0,<=1.19.2 and you require\n langchain-unstructured[all-docs]==0.1.6, we can conclude that your\n requirements are unsatisfiable.\n hint: You require CPython 3.13 (`cp313`), but we only found wheels for\n `onnxruntime` (v1.19.2) with the following Python ABI tags: `cp38`,\n `cp39`, `cp310`, `cp311`, `cp312`" + }, + { + "submodule": "PMOVES-Archon", + "command": "uv run --project python python -m pytest -q python/tests --maxfail=1", + "status": "fail", + "exit_code": 4, + "duration_sec": 1.49, + "output_tail": "warning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `python\\.venv` and will be ignored; use `--active` to target the active environment instead\nImportError while loading conftest 'C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Archon\\python\\tests\\conftest.py'.\npython\\tests\\conftest.py:7: in \n from fastapi.testclient import TestClient\nE ModuleNotFoundError: No module named 'fastapi'" + }, + { + "submodule": "PMOVES-BoTZ", + "command": "uv run --no-project --with-requirements requirements.txt python scripts/smoke_tests.py", + "status": "fail", + "exit_code": 1, + "duration_sec": 40.91, + "output_tail": "[21:50:51] INFO: Starting PMOVES smoke tests...\n[21:50:51] INFO: Running Environment Configuration tests...\n[21:50:51] FAIL: No .env file found - copy from core/example.env\n[21:50:51] FAIL: Environment Configuration tests FAILED\n[21:50:51] INFO: Running Compose Stack Configuration tests...\n[21:50:51] PASS: Docker Compose validation passed for stack botz_core_only\n[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_external\n[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_internal\n[21:50:53] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral\n[21:50:53] PASS: Compose Stack Configuration tests PASSED\n[21:50:53] INFO: Running Core Service Health tests...\n[21:51:01] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:01] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:01] FAIL: Core Service Health tests FAILED\n[21:51:01] INFO: Running VL-Sentinel Health tests...\n[21:51:05] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:05] FAIL: VL-Sentinel Health tests FAILED\n[21:51:05] INFO: Running Cipher Memory Integration tests...\n[21:51:05] PASS: Cipher Cipher Submodule: Found at C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-BoTZ\\features\\cipher\\pmoves_cipher\n[21:51:05] FAIL: Cipher Cipher Build: Cipher not built - run setup script\n[21:51:05] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided\n[21:51:05] PASS: Cipher Cipher Config: PMOVES cipher configuration found\n[21:51:05] FAIL: Cipher Memory Integration tests FAILED\n[21:51:05] INFO: Running Cipher Service Health tests...\n[21:51:09] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:13] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:13] FAIL: Cipher service: no healthy API or UI endpoint detected\n[21:51:13] FAIL: Cipher Service Health tests FAILED\n[21:51:13] INFO: Running Cipher Functional API tests...\n[21:51:17] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:21] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:25] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:25] FAIL: Cipher Functional API tests FAILED\n[21:51:25] INFO: Running Cipher Message Roundtrip tests...\n[21:51:25] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured)\n[21:51:25] PASS: Cipher Message Roundtrip tests PASSED\n[21:51:25] INFO: Running YT Mini Agent tests...\n[21:51:25] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1)\n[21:51:25] PASS: YT Mini Agent tests PASSED\n[21:51:25] INFO: Running Metrics Stack tests...\n[21:51:25] PASS: Prometheus: reachable at http://localhost:9090/targets\n[21:51:29] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:29] FAIL: Metrics Stack tests FAILED\n[21:51:29] INFO: Running API Connectivity tests...\n[21:51:29] PASS: Postman API: Using test placeholder - skipping live test\n[21:51:29] PASS: Tailscale: Tailscale auth key not required for basic functionality\n[21:51:29] PASS: API Connectivity tests PASSED\n[21:51:29] INFO: Smoke tests completed: 4/11 passed\n[21:51:29] FAIL: 7 tests failed - Check configuration\nInstalled 18 packages in 239ms" + }, + { + "submodule": "PMOVES-BotZ-gateway", + "command": "", + "status": "skip", + "exit_code": null, + "duration_sec": 0, + "output_tail": "No root test harness detected." + }, + { + "submodule": "Pmoves-cipher", + "command": "npm run test", + "status": "fail", + "exit_code": 1, + "duration_sec": 43.19, + "output_tail": "\u001b[31m\u001b[1mSerialized Error:\u001b[22m\u001b[39m \u001b[90m{ errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] }\u001b[39m\n\u001b[31mThis error originated in \"\u001b[1msrc/core/brain/tools/definitions/system/__test__/bash.test.ts\u001b[22m\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\u001b[39m\n\u001b[31mThe latest test that might've caused the error is \"\u001b[1mshould reuse existing active sessions\u001b[22m\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\u001b[39m\n\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\u001b[1m\u001b[41m Uncaught Exception \u001b[49m\u001b[22m\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\n\u001b[31m\u001b[1mError\u001b[22m: spawn /bin/bash ENOENT\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m Process.ChildProcess._handle.onexit node:internal/child_process:\u001b[2m285:19\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m onErrorNT node:internal/child_process:\u001b[2m483:16\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m processTicksAndRejections node:internal/process/task_queues:\u001b[2m90:21\u001b[22m\u001b[39m\n\u001b[31m\u001b[2m\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u001b[22m\u001b[39m\n\u001b[31m\u001b[1mSerialized Error:\u001b[22m\u001b[39m \u001b[90m{ errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] }\u001b[39m\n\u001b[31mThis error originated in \"\u001b[1msrc/core/brain/tools/definitions/system/__test__/bash.test.ts\u001b[22m\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\u001b[39m\n\u001b[31mThe latest test that might've caused the error is \"\u001b[1mshould reuse existing active sessions\u001b[22m\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\u001b[39m\n\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\u001b[1m\u001b[41m Uncaught Exception \u001b[49m\u001b[22m\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\n\u001b[31m\u001b[1mError\u001b[22m: spawn /bin/bash ENOENT\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m Process.ChildProcess._handle.onexit node:internal/child_process:\u001b[2m285:19\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m onErrorNT node:internal/child_process:\u001b[2m483:16\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m processTicksAndRejections node:internal/process/task_queues:\u001b[2m90:21\u001b[22m\u001b[39m\n\u001b[31m\u001b[2m\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u001b[22m\u001b[39m\n\u001b[31m\u001b[1mSerialized Error:\u001b[22m\u001b[39m \u001b[90m{ errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] }\u001b[39m\n\u001b[31mThis error originated in \"\u001b[1msrc/core/brain/tools/definitions/system/__test__/bash.test.ts\u001b[22m\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\u001b[39m\n\u001b[31mThe latest test that might've caused the error is \"\u001b[1mshould close specific sessions\u001b[22m\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\u001b[39m\n\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\u001b[1m\u001b[41m Uncaught Exception \u001b[49m\u001b[22m\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\n\u001b[31m\u001b[1mError\u001b[22m: spawn /bin/bash ENOENT\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m Process.ChildProcess._handle.onexit node:internal/child_process:\u001b[2m285:19\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m onErrorNT node:internal/child_process:\u001b[2m483:16\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m processTicksAndRejections node:internal/process/task_queues:\u001b[2m90:21\u001b[22m\u001b[39m\n\u001b[31m\u001b[2m\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u001b[22m\u001b[39m\n\u001b[31m\u001b[1mSerialized Error:\u001b[22m\u001b[39m \u001b[90m{ errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] }\u001b[39m\n\u001b[31mThis error originated in \"\u001b[1msrc/core/brain/tools/definitions/system/__test__/bash.test.ts\u001b[22m\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\u001b[39m\n\u001b[31mThe latest test that might've caused the error is \"\u001b[1mshould close all sessions\u001b[22m\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\u001b[39m\n\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\u001b[1m\u001b[41m Uncaught Exception \u001b[49m\u001b[22m\u001b[31m\u23af\u23af\u23af\u23af\u23af\u001b[39m\n\u001b[31m\u001b[1mError\u001b[22m: spawn /bin/bash ENOENT\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m Process.ChildProcess._handle.onexit node:internal/child_process:\u001b[2m285:19\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m onErrorNT node:internal/child_process:\u001b[2m483:16\u001b[22m\u001b[39m\n\u001b[90m \u001b[2m\u276f\u001b[22m processTicksAndRejections node:internal/process/task_queues:\u001b[2m90:21\u001b[22m\u001b[39m\n\u001b[31m\u001b[2m\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u001b[22m\u001b[39m\n\u001b[31m\u001b[1mSerialized Error:\u001b[22m\u001b[39m \u001b[90m{ errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] }\u001b[39m\n\u001b[31mThis error originated in \"\u001b[1msrc/core/brain/tools/definitions/system/__test__/bash.test.ts\u001b[22m\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\u001b[39m\n\u001b[31mThe latest test that might've caused the error is \"\u001b[1mshould close all sessions\u001b[22m\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\u001b[39m\n\u001b[31m\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u001b[39m" + }, + { + "submodule": "PMOVES-HiRAG", + "command": "uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 10.35, + "output_tail": " build\\lib.win-amd64-cpython-313\\tiktoken\n copying tiktoken\\__init__.py -> build\\lib.win-amd64-cpython-313\\tiktoken\n creating build\\lib.win-amd64-cpython-313\\tiktoken_ext\n copying tiktoken_ext\\openai_public.py ->\n build\\lib.win-amd64-cpython-313\\tiktoken_ext\n running egg_info\n writing tiktoken.egg-info\\PKG-INFO\n writing dependency_links to tiktoken.egg-info\\dependency_links.txt\n writing requirements to tiktoken.egg-info\\requires.txt\n writing top-level names to tiktoken.egg-info\\top_level.txt\n reading manifest file 'tiktoken.egg-info\\SOURCES.txt'\n reading manifest template 'MANIFEST.in'\n adding license file 'LICENSE'\n writing manifest file 'tiktoken.egg-info\\SOURCES.txt'\n copying tiktoken\\py.typed -> build\\lib.win-amd64-cpython-313\\tiktoken\n running build_ext\n running build_rust\n [stderr]\n C:\\Users\\russe\\AppData\\Local\\uv\\cache\\builds-v0\\.tmpyuKjVL\\Lib\\site-packages\\setuptools\\config\\_apply_pyprojecttoml.py:82:\n SetuptoolsDeprecationWarning: `project.license` as a TOML table is\n deprecated\n !!\n ********************************************************************************\n Please use a simple string containing a SPDX expression for\n `project.license`. You can also use `project.license-files`. (Both\n options available on setuptools>=77.0.0).\n By 2027-Feb-18, you need to update your project and remove\n deprecated calls\n or your builds will no longer be supported.\n See\n https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license\n for details.\n ********************************************************************************\n !!\n corresp(dist, value, root_dir)\n warning: no files found matching 'Makefile'\n error: can't find Rust compiler\n If you are using an outdated pip version, it is possible a prebuilt\n wheel is available for this package but pip is not able to install from\n it. Installing from the wheel would avoid the need for a Rust compiler.\n To update pip, run:\n pip install --upgrade pip\n and then retry package installation.\n If you did intend to build this package from source, try installing\n a Rust compiler from your system package manager and ensure it is\n on the PATH during installation. Alternatively, rustup (available at\n https://rustup.rs) is the recommended way to download and update the\n Rust compiler toolchain.\n hint: This usually indicates a problem with the package or the build\n environment." + }, + { + "submodule": "PMOVES-transcribe-and-fetch", + "command": "npm test -- --watch=false", + "status": "fail", + "exit_code": 1, + "duration_sec": 11.0, + "output_tail": " \u001b[36m\u001b[39m\n \u001b[0mFull Transcript\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDocument\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[22m\u001b[39m\u001b[90m 253 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(() \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 254 |\u001b[39m expect(screen\u001b[33m.\u001b[39mgetByText(\u001b[35m/multi-tier architecture/\u001b[39m))\u001b[33m.\u001b[39mtoBeInTheDocument()\u001b[33m;\u001b[39m\n \u001b[90m 255 |\u001b[39m expect(screen\u001b[33m.\u001b[39mgetByText(\u001b[35m/System architecture/\u001b[39m))\u001b[33m.\u001b[39mtoBeInTheDocument()\u001b[33m;\u001b[39m\n \u001b[90m 256 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)\n at Object. (src/app/vector-search/__tests__/page.test.js:253:20)\nTest Suites: 10 failed, 2 passed, 12 total\nTests: 59 failed, 1 skipped, 23 passed, 83 total\nSnapshots: 0 total\nTime: 9.64 s\nRan all test suites." + }, + { + "submodule": "PMOVES-ToKenism-Multi", + "command": "uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q tests --maxfail=1", + "status": "pass", + "exit_code": 0, + "duration_sec": 21.79, + "output_tail": ".......................................... [100%]\n42 passed in 12.72s\n Building proxy-tools==0.1.0\nDownloading pyinstaller (1.3MiB)\n Downloading pyinstaller\n Built proxy-tools==0.1.0\nInstalled 40 packages in 2.74s" + }, + { + "submodule": "PMOVES-DoX", + "command": "uv run --project . python -m pytest -q tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 2.06, + "output_tail": "warning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\n Building pmoves-dox-tools @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX\n \u00d7 Failed to build `pmoves-dox-tools @\n \u2502 file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX`\n \u251c\u2500\u25b6 The build backend returned an error\n \u2570\u2500\u25b6 Call to `setuptools.build_meta.build_editable` failed (exit code: 1)\n [stderr]\n error: Multiple top-level packages discovered in a flat-layout:\n ['chit', 'nginx', 'smoke', 'config', 'backend', 'samples', 'external',\n 'frontend', 'pmoves_health', 'A2UI_reference', 'pmoves_registry',\n 'pmoves_announcer', 'PsyFeR_reference'].\n To avoid accidental inclusion of unwanted files or directories,\n setuptools will not proceed with this build.\n If you are trying to create a single distribution with multiple packages\n on purpose, you should not rely on automatic discovery.\n Instead, consider the following options:\n 1. set up custom discovery (`find` directive with `include` or\n `exclude`)\n 2. use a `src-layout`\n 3. explicitly set `py_modules` or `packages` with a list of names\n To find more information, look for \"package discovery\" on setuptools\n docs.\n hint: This usually indicates a problem with the package or the build\n environment." + }, + { + "submodule": "PMOVES-Open-Notebook", + "command": "uv run --project . python -m pytest -q tests --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 55.96, + "output_tail": ".venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Open-Notebook\\.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class RetryConfig(BaseModel):\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n=========================== short test summary info ===========================\nFAILED tests/test_models_api.py::TestModelCreation::test_create_duplicate_model_same_case\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n1 failed, 65 passed, 1 warning in 25.06s\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.12.9\nCreating virtual environment at: .venv\n Building open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook\nDownloading pymupdf (17.6MiB)\nDownloading imageio-ffmpeg (29.8MiB)\nDownloading lupa (1.6MiB)\nDownloading sqlalchemy (2.0MiB)\nDownloading pywin32 (9.1MiB)\nDownloading pillow (6.7MiB)\nDownloading google-cloud-aiplatform (7.8MiB)\nDownloading lxml (3.8MiB)\nDownloading pip (1.7MiB)\nDownloading pandas (9.3MiB)\nDownloading pyarrow (26.7MiB)\nDownloading hf-xet (2.8MiB)\nDownloading surrealdb (4.8MiB)\nDownloading pytubefix (1.4MiB)\nDownloading nodejs-wheel-binaries (39.4MiB)\nDownloading langchain-community (2.4MiB)\nDownloading beartype (1.3MiB)\n Downloading pytubefix\n Built open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook\n Downloading lupa\n Building langdetect==1.0.9\n Downloading sqlalchemy\n Downloading pip\n Downloading beartype\n Downloading hf-xet\n Downloading lxml\n Downloading surrealdb\n Downloading langchain-community\n Downloading pillow\n Downloading pandas\n Downloading google-cloud-aiplatform\n Downloading pymupdf\n Downloading imageio-ffmpeg\n Downloading pywin32\n Built langdetect==1.0.9\n Downloading pyarrow\n Downloading nodejs-wheel-binaries\nInstalled 232 packages in 8.56s" + }, + { + "submodule": "PMOVES.YT", + "command": "uv run --project . python -m pytest -Werror -q --maxfail=1", + "status": "fail", + "exit_code": 1, + "duration_sec": 2.78, + "output_tail": "warning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\n Building yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT\n Built yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT\nInstalled 1 package in 18ms\nC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES.YT\\.venv\\Scripts\\python.exe: No module named pytest" + } + ] +} \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix_normalized.md b/pmoves/docs/evidence/submodule_test_matrix_normalized.md new file mode 100644 index 0000000000..8e09eb782d --- /dev/null +++ b/pmoves/docs/evidence/submodule_test_matrix_normalized.md @@ -0,0 +1,380 @@ +# Submodule Test Matrix (Normalized) + +- Generated: `2026-03-03 02:53 UTC` +- Total runs: **11** +- Results: **1 pass**, **9 fail**, **0 timeout**, **1 skip** + +| Submodule | Command | Status | Exit | Duration(s) | +| --- | --- | --- | --- | --- | +| `PMOVES-Agent-Zero` | `uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q tests --maxfail=1` | `fail` | `1` | `3.08` | +| `PMOVES-Archon` | `uv run --project python python -m pytest -q python/tests --maxfail=1` | `fail` | `4` | `1.49` | +| `PMOVES-BoTZ` | `uv run --no-project --with-requirements requirements.txt python scripts/smoke_tests.py` | `fail` | `1` | `40.91` | +| `PMOVES-BotZ-gateway` | `` | `skip` | `` | `0` | +| `Pmoves-cipher` | `npm run test` | `fail` | `1` | `43.19` | +| `PMOVES-HiRAG` | `uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q --maxfail=1` | `fail` | `1` | `10.35` | +| `PMOVES-transcribe-and-fetch` | `npm test -- --watch=false` | `fail` | `1` | `11.0` | +| `PMOVES-ToKenism-Multi` | `uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q tests --maxfail=1` | `pass` | `0` | `21.79` | +| `PMOVES-DoX` | `uv run --project . python -m pytest -q tests --maxfail=1` | `fail` | `1` | `2.06` | +| `PMOVES-Open-Notebook` | `uv run --project . python -m pytest -q tests --maxfail=1` | `fail` | `1` | `55.96` | +| `PMOVES.YT` | `uv run --project . python -m pytest -Werror -q --maxfail=1` | `fail` | `1` | `2.78` | + +## Tails + +### PMOVES-Agent-Zero (fail) +```text + × No solution found when resolving `--with` dependencies: + ╰─▶ Because only the following versions of onnxruntime are available: + onnxruntime<=1.17.0 + onnxruntime==1.17.1 + onnxruntime==1.17.3 + onnxruntime==1.18.0 + onnxruntime==1.18.1 + onnxruntime==1.19.0 + onnxruntime>=1.19.2 + and onnxruntime>=1.17.0,<=1.19.2 has no wheels with a + matching Python ABI tag (e.g., `cp313`), we can conclude that + onnxruntime>=1.17.0,<=1.19.2 cannot be used. + And because langchain-unstructured==0.1.6 depends + on onnxruntime>=1.17.0,<=1.19.2 and you require + langchain-unstructured[all-docs]==0.1.6, we can conclude that your + requirements are unsatisfiable. + hint: You require CPython 3.13 (`cp313`), but we only found wheels for + `onnxruntime` (v1.19.2) with the following Python ABI tags: `cp38`, + `cp39`, `cp310`, `cp311`, `cp312` +``` + +### PMOVES-Archon (fail) +```text +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `python\.venv` and will be ignored; use `--active` to target the active environment instead +ImportError while loading conftest 'C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Archon\python\tests\conftest.py'. +python\tests\conftest.py:7: in + from fastapi.testclient import TestClient +E ModuleNotFoundError: No module named 'fastapi' +``` + +### PMOVES-BoTZ (fail) +```text +[21:50:51] INFO: Starting PMOVES smoke tests... +[21:50:51] INFO: Running Environment Configuration tests... +[21:50:51] FAIL: No .env file found - copy from core/example.env +[21:50:51] FAIL: Environment Configuration tests FAILED +[21:50:51] INFO: Running Compose Stack Configuration tests... +[21:50:51] PASS: Docker Compose validation passed for stack botz_core_only +[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_external +[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_internal +[21:50:53] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral +[21:50:53] PASS: Compose Stack Configuration tests PASSED +[21:50:53] INFO: Running Core Service Health tests... +[21:51:01] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:01] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:01] FAIL: Core Service Health tests FAILED +[21:51:01] INFO: Running VL-Sentinel Health tests... +[21:51:05] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:05] FAIL: VL-Sentinel Health tests FAILED +[21:51:05] INFO: Running Cipher Memory Integration tests... +[21:51:05] PASS: Cipher Cipher Submodule: Found at C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-BoTZ\features\cipher\pmoves_cipher +[21:51:05] FAIL: Cipher Cipher Build: Cipher not built - run setup script +[21:51:05] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided +[21:51:05] PASS: Cipher Cipher Config: PMOVES cipher configuration found +[21:51:05] FAIL: Cipher Memory Integration tests FAILED +[21:51:05] INFO: Running Cipher Service Health tests... +[21:51:09] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:13] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:13] FAIL: Cipher service: no healthy API or UI endpoint detected +[21:51:13] FAIL: Cipher Service Health tests FAILED +[21:51:13] INFO: Running Cipher Functional API tests... +[21:51:17] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:21] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:25] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:25] FAIL: Cipher Functional API tests FAILED +[21:51:25] INFO: Running Cipher Message Roundtrip tests... +[21:51:25] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured) +[21:51:25] PASS: Cipher Message Roundtrip tests PASSED +[21:51:25] INFO: Running YT Mini Agent tests... +[21:51:25] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1) +[21:51:25] PASS: YT Mini Agent tests PASSED +[21:51:25] INFO: Running Metrics Stack tests... +[21:51:25] PASS: Prometheus: reachable at http://localhost:9090/targets +[21:51:29] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError("HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) +[21:51:29] FAIL: Metrics Stack tests FAILED +[21:51:29] INFO: Running API Connectivity tests... +[21:51:29] PASS: Postman API: Using test placeholder - skipping live test +[21:51:29] PASS: Tailscale: Tailscale auth key not required for basic functionality +[21:51:29] PASS: API Connectivity tests PASSED +[21:51:29] INFO: Smoke tests completed: 4/11 passed +[21:51:29] FAIL: 7 tests failed - Check configuration +Installed 18 packages in 239ms +``` + +### PMOVES-BotZ-gateway (skip) +```text +No root test harness detected. +``` + +### Pmoves-cipher (fail) +```text +Serialized Error: { errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] } +This error originated in "src/core/brain/tools/definitions/system/__test__/bash.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. +The latest test that might've caused the error is "should reuse existing active sessions". It might mean one of the following: +- The error was thrown, while Vitest was running this test. +- If the error occurred after the test had been completed, this was the last documented test before it was thrown. +⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯ +Error: spawn /bin/bash ENOENT + ❯ Process.ChildProcess._handle.onexit node:internal/child_process:285:19 + ❯ onErrorNT node:internal/child_process:483:16 + ❯ processTicksAndRejections node:internal/process/task_queues:90:21 +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] } +This error originated in "src/core/brain/tools/definitions/system/__test__/bash.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. +The latest test that might've caused the error is "should reuse existing active sessions". It might mean one of the following: +- The error was thrown, while Vitest was running this test. +- If the error occurred after the test had been completed, this was the last documented test before it was thrown. +⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯ +Error: spawn /bin/bash ENOENT + ❯ Process.ChildProcess._handle.onexit node:internal/child_process:285:19 + ❯ onErrorNT node:internal/child_process:483:16 + ❯ processTicksAndRejections node:internal/process/task_queues:90:21 +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] } +This error originated in "src/core/brain/tools/definitions/system/__test__/bash.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. +The latest test that might've caused the error is "should close specific sessions". It might mean one of the following: +- The error was thrown, while Vitest was running this test. +- If the error occurred after the test had been completed, this was the last documented test before it was thrown. +⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯ +Error: spawn /bin/bash ENOENT + ❯ Process.ChildProcess._handle.onexit node:internal/child_process:285:19 + ❯ onErrorNT node:internal/child_process:483:16 + ❯ processTicksAndRejections node:internal/process/task_queues:90:21 +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] } +This error originated in "src/core/brain/tools/definitions/system/__test__/bash.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. +The latest test that might've caused the error is "should close all sessions". It might mean one of the following: +- The error was thrown, while Vitest was running this test. +- If the error occurred after the test had been completed, this was the last documented test before it was thrown. +⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯ +Error: spawn /bin/bash ENOENT + ❯ Process.ChildProcess._handle.onexit node:internal/child_process:285:19 + ❯ onErrorNT node:internal/child_process:483:16 + ❯ processTicksAndRejections node:internal/process/task_queues:90:21 +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errno: -4058, code: 'ENOENT', syscall: 'spawn /bin/bash', path: '/bin/bash', spawnargs: [] } +This error originated in "src/core/brain/tools/definitions/system/__test__/bash.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. +The latest test that might've caused the error is "should close all sessions". It might mean one of the following: +- The error was thrown, while Vitest was running this test. +- If the error occurred after the test had been completed, this was the last documented test before it was thrown. +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +``` + +### PMOVES-HiRAG (fail) +```text + build\lib.win-amd64-cpython-313\tiktoken + copying tiktoken\__init__.py -> build\lib.win-amd64-cpython-313\tiktoken + creating build\lib.win-amd64-cpython-313\tiktoken_ext + copying tiktoken_ext\openai_public.py -> + build\lib.win-amd64-cpython-313\tiktoken_ext + running egg_info + writing tiktoken.egg-info\PKG-INFO + writing dependency_links to tiktoken.egg-info\dependency_links.txt + writing requirements to tiktoken.egg-info\requires.txt + writing top-level names to tiktoken.egg-info\top_level.txt + reading manifest file 'tiktoken.egg-info\SOURCES.txt' + reading manifest template 'MANIFEST.in' + adding license file 'LICENSE' + writing manifest file 'tiktoken.egg-info\SOURCES.txt' + copying tiktoken\py.typed -> build\lib.win-amd64-cpython-313\tiktoken + running build_ext + running build_rust + [stderr] + C:\Users\russe\AppData\Local\uv\cache\builds-v0\.tmpyuKjVL\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: + SetuptoolsDeprecationWarning: `project.license` as a TOML table is + deprecated + !! + ******************************************************************************** + Please use a simple string containing a SPDX expression for + `project.license`. You can also use `project.license-files`. (Both + options available on setuptools>=77.0.0). + By 2027-Feb-18, you need to update your project and remove + deprecated calls + or your builds will no longer be supported. + See + https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license + for details. + ******************************************************************************** + !! + corresp(dist, value, root_dir) + warning: no files found matching 'Makefile' + error: can't find Rust compiler + If you are using an outdated pip version, it is possible a prebuilt + wheel is available for this package but pip is not able to install from + it. Installing from the wheel would avoid the need for a Rust compiler. + To update pip, run: + pip install --upgrade pip + and then retry package installation. + If you did intend to build this package from source, try installing + a Rust compiler from your system package manager and ensure it is + on the PATH during installation. Alternatively, rustup (available at + https://rustup.rs) is the recommended way to download and update the + Rust compiler toolchain. + hint: This usually indicates a problem with the package or the build + environment. +``` + +### PMOVES-transcribe-and-fetch (fail) +```text +  + Full Transcript +  +  +  +  +  + Document +  +  +  +  253 | await waitFor(() => { +  | ^ +  254 | expect(screen.getByText(/multi-tier architecture/)).toBeInTheDocument(); +  255 | expect(screen.getByText(/System architecture/)).toBeInTheDocument(); +  256 | }); + at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27) + at Object. (src/app/vector-search/__tests__/page.test.js:253:20) +Test Suites: 10 failed, 2 passed, 12 total +Tests: 59 failed, 1 skipped, 23 passed, 83 total +Snapshots: 0 total +Time: 9.64 s +Ran all test suites. +``` + +### PMOVES-ToKenism-Multi (pass) +```text +.......................................... [100%] +42 passed in 12.72s + Building proxy-tools==0.1.0 +Downloading pyinstaller (1.3MiB) + Downloading pyinstaller + Built proxy-tools==0.1.0 +Installed 40 packages in 2.74s +``` + +### PMOVES-DoX (fail) +```text +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +Using CPython 3.13.5 +Creating virtual environment at: .venv + Building pmoves-dox-tools @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX + × Failed to build `pmoves-dox-tools @ + │ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX` + ├─▶ The build backend returned an error + ╰─▶ Call to `setuptools.build_meta.build_editable` failed (exit code: 1) + [stderr] + error: Multiple top-level packages discovered in a flat-layout: + ['chit', 'nginx', 'smoke', 'config', 'backend', 'samples', 'external', + 'frontend', 'pmoves_health', 'A2UI_reference', 'pmoves_registry', + 'pmoves_announcer', 'PsyFeR_reference']. + To avoid accidental inclusion of unwanted files or directories, + setuptools will not proceed with this build. + If you are trying to create a single distribution with multiple packages + on purpose, you should not rely on automatic discovery. + Instead, consider the following options: + 1. set up custom discovery (`find` directive with `include` or + `exclude`) + 2. use a `src-layout` + 3. explicitly set `py_modules` or `packages` with a list of names + To find more information, look for "package discovery" on setuptools + docs. + hint: This usually indicates a problem with the package or the build + environment. +``` + +### PMOVES-Open-Notebook (fail) +```text +.venv\Lib\site-packages\surreal_commands\core\retry.py:41 + C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Open-Notebook\.venv\Lib\site-packages\surreal_commands\core\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + class RetryConfig(BaseModel): +-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html +=========================== short test summary info =========================== +FAILED tests/test_models_api.py::TestModelCreation::test_create_duplicate_model_same_case +!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!! +1 failed, 65 passed, 1 warning in 25.06s +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +Using CPython 3.12.9 +Creating virtual environment at: .venv + Building open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook +Downloading pymupdf (17.6MiB) +Downloading imageio-ffmpeg (29.8MiB) +Downloading lupa (1.6MiB) +Downloading sqlalchemy (2.0MiB) +Downloading pywin32 (9.1MiB) +Downloading pillow (6.7MiB) +Downloading google-cloud-aiplatform (7.8MiB) +Downloading lxml (3.8MiB) +Downloading pip (1.7MiB) +Downloading pandas (9.3MiB) +Downloading pyarrow (26.7MiB) +Downloading hf-xet (2.8MiB) +Downloading surrealdb (4.8MiB) +Downloading pytubefix (1.4MiB) +Downloading nodejs-wheel-binaries (39.4MiB) +Downloading langchain-community (2.4MiB) +Downloading beartype (1.3MiB) + Downloading pytubefix + Built open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook + Downloading lupa + Building langdetect==1.0.9 + Downloading sqlalchemy + Downloading pip + Downloading beartype + Downloading hf-xet + Downloading lxml + Downloading surrealdb + Downloading langchain-community + Downloading pillow + Downloading pandas + Downloading google-cloud-aiplatform + Downloading pymupdf + Downloading imageio-ffmpeg + Downloading pywin32 + Built langdetect==1.0.9 + Downloading pyarrow + Downloading nodejs-wheel-binaries +Installed 232 packages in 8.56s +``` + +### PMOVES.YT (fail) +```text +warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +Using CPython 3.13.5 +Creating virtual environment at: .venv + Building yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT + Built yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT +Installed 1 package in 18ms +C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES.YT\.venv\Scripts\python.exe: No module named pytest +``` \ No newline at end of file From d88b2e780f2c0449bc48a63bda6157b18e920372 Mon Sep 17 00:00:00 2001 From: Shaela Bello Date: Tue, 3 Mar 2026 00:06:24 -0500 Subject: [PATCH 3/3] fix(review): redact paths, classify platform drift, refresh timestamps - Redact workstation paths across all 6 evidence files (md + json) - Replace C:\Users\russe\... with placeholders - Replace AppData cache paths with - Classify Pmoves-cipher /bin/bash ENOENT as platform skip (Windows) - Add platform_note to DoX curated entry for CMD syntax - Refresh master validation timestamp to 05:05 UTC Co-Authored-By: Claude Opus 4.6 --- pmoves/docs/SUBMODULE_LAYER_VALIDATION.md | 2 +- .../evidence/submodule_layer_validation.json | 2 +- .../docs/evidence/submodule_test_matrix.json | 16 ++-- pmoves/docs/evidence/submodule_test_matrix.md | 26 +++--- .../submodule_test_matrix_curated.json | 13 +-- .../evidence/submodule_test_matrix_curated.md | 86 +++++++++---------- .../submodule_test_matrix_normalized.json | 12 +-- .../submodule_test_matrix_normalized.md | 34 ++++---- 8 files changed, 96 insertions(+), 95 deletions(-) diff --git a/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md b/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md index e6bd1d7ca1..7d9fb84818 100644 --- a/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md +++ b/pmoves/docs/SUBMODULE_LAYER_VALIDATION.md @@ -1,5 +1,5 @@ # Submodule Layer Validation -_Generated: 2026-03-03 02:38 UTC_ +_Generated: 2026-03-03 05:05 UTC_ ## Summary - Manifest: `pmoves/configs/submodule_layer_validation_manifest.json` diff --git a/pmoves/docs/evidence/submodule_layer_validation.json b/pmoves/docs/evidence/submodule_layer_validation.json index e8cf47cbb4..20742ba6aa 100644 --- a/pmoves/docs/evidence/submodule_layer_validation.json +++ b/pmoves/docs/evidence/submodule_layer_validation.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-03 02:38 UTC", + "generated_at": "2026-03-03 05:05 UTC", "manifest": "pmoves/configs/submodule_layer_validation_manifest.json", "summary": { "submodules": 40, diff --git a/pmoves/docs/evidence/submodule_test_matrix.json b/pmoves/docs/evidence/submodule_test_matrix.json index 32f3b94416..81c917ce4e 100644 --- a/pmoves/docs/evidence/submodule_test_matrix.json +++ b/pmoves/docs/evidence/submodule_test_matrix.json @@ -7,7 +7,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 0.08, - "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + "output_tail": "\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" }, { "submodule": "PMOVES-Archon", @@ -15,7 +15,7 @@ "status": "fail", "exit_code": 2, "duration_sec": 9.68, - "output_tail": "\"Running backend tests...\"\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\nwarning: `pypdfium2==4.30.1` is yanked (reason: \"Text extraction regression in pdfium, crbug.com/387277993\")\nDownloading faker (1.9MiB)\nDownloading mypy (9.1MiB)\nDownloading ruff (12.3MiB)\n Downloading ruff\n Downloading faker\n Downloading mypy\nInstalled 23 packages in 1.78s\nImportError while loading conftest 'C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Archon\\python\\tests\\conftest.py'.\ntests\\conftest.py:7: in \n from fastapi.testclient import TestClient\nE ModuleNotFoundError: No module named 'fastapi'\nmake: *** [Makefile:141: test-be] Error 4" + "output_tail": "\"Running backend tests...\"\nwarning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\nwarning: `pypdfium2==4.30.1` is yanked (reason: \"Text extraction regression in pdfium, crbug.com/387277993\")\nDownloading faker (1.9MiB)\nDownloading mypy (9.1MiB)\nDownloading ruff (12.3MiB)\n Downloading ruff\n Downloading faker\n Downloading mypy\nInstalled 23 packages in 1.78s\nImportError while loading conftest '\\PMOVES-Archon\\python\\tests\\conftest.py'.\ntests\\conftest.py:7: in \n from fastapi.testclient import TestClient\nE ModuleNotFoundError: No module named 'fastapi'\nmake: *** [Makefile:141: test-be] Error 4" }, { "submodule": "PMOVES-BoTZ", @@ -23,7 +23,7 @@ "status": "fail", "exit_code": 2, "duration_sec": 0.58, - "output_tail": "\"Running smoke tests...\"\nTraceback (most recent call last):\n File \"C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-BoTZ\\scripts\\smoke_tests.py\", line 11, in \n import requests\nModuleNotFoundError: No module named 'requests'\nmake: *** [Makefile:171: test-smoke] Error 1" + "output_tail": "\"Running smoke tests...\"\nTraceback (most recent call last):\n File \"\\PMOVES-BoTZ\\scripts\\smoke_tests.py\", line 11, in \n import requests\nModuleNotFoundError: No module named 'requests'\nmake: *** [Makefile:171: test-smoke] Error 1" }, { "submodule": "PMOVES-BotZ-gateway", @@ -31,7 +31,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 0.08, - "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + "output_tail": "\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" }, { "submodule": "Pmoves-cipher", @@ -39,7 +39,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 0.71, - "output_tail": "> @byterover/cipher@0.3.0 test\n> vitest run --runInBand\nfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404\n throw new CACError(`Unknown option \\`${name.length > 1 ? `--${name}` : `-${name}`}\\``);\n ^\nCACError: Unknown option `--runInBand`\n at Command.checkUnknownOptions (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404:17)\n at CAC.runMatchedCommand (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:604:13)\n at CAC.parse (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:545:12)\n at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/cli.js:27:13\n at ModuleJob.run (node:internal/modules/esm/module_job:329:25)\n at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26)\n at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)\nNode.js v22.17.1" + "output_tail": "> @byterover/cipher@0.3.0 test\n> vitest run --runInBand\nfile:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404\n throw new CACError(`Unknown option \\`${name.length > 1 ? `--${name}` : `-${name}`}\\``);\n ^\nCACError: Unknown option `--runInBand`\n at Command.checkUnknownOptions (file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404:17)\n at CAC.runMatchedCommand (file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:604:13)\n at CAC.parse (file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:545:12)\n at file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/cli.js:27:13\n at ModuleJob.run (node:internal/modules/esm/module_job:329:25)\n at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26)\n at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)\nNode.js v22.17.1" }, { "submodule": "PMOVES-HiRAG", @@ -47,7 +47,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 0.07, - "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + "output_tail": "\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" }, { "submodule": "PMOVES-transcribe-and-fetch", @@ -63,7 +63,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 0.07, - "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + "output_tail": "\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" }, { "submodule": "PMOVES-DoX", @@ -79,7 +79,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 0.07, - "output_tail": "C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" + "output_tail": "\\pmoves-cipher-mcp\\.venv\\Scripts\\python.exe: No module named pytest" }, { "submodule": "PMOVES.YT", diff --git a/pmoves/docs/evidence/submodule_test_matrix.md b/pmoves/docs/evidence/submodule_test_matrix.md index 7e0908a55c..6263e82e1f 100644 --- a/pmoves/docs/evidence/submodule_test_matrix.md +++ b/pmoves/docs/evidence/submodule_test_matrix.md @@ -22,13 +22,13 @@ ### PMOVES-Agent-Zero (fail) ```text -C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest ``` ### PMOVES-Archon (fail) ```text "Running backend tests..." -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead Using CPython 3.13.5 Creating virtual environment at: .venv warning: `pypdfium2==4.30.1` is yanked (reason: "Text extraction regression in pdfium, crbug.com/387277993") @@ -39,7 +39,7 @@ Downloading ruff (12.3MiB) Downloading faker Downloading mypy Installed 23 packages in 1.78s -ImportError while loading conftest 'C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Archon\python\tests\conftest.py'. +ImportError while loading conftest '\PMOVES-Archon\python\tests\conftest.py'. tests\conftest.py:7: in from fastapi.testclient import TestClient E ModuleNotFoundError: No module named 'fastapi' @@ -50,7 +50,7 @@ make: *** [Makefile:141: test-be] Error 4 ```text "Running smoke tests..." Traceback (most recent call last): - File "C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-BoTZ\scripts\smoke_tests.py", line 11, in + File "\PMOVES-BoTZ\scripts\smoke_tests.py", line 11, in import requests ModuleNotFoundError: No module named 'requests' make: *** [Makefile:171: test-smoke] Error 1 @@ -58,21 +58,21 @@ make: *** [Makefile:171: test-smoke] Error 1 ### PMOVES-BotZ-gateway (fail) ```text -C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest ``` ### Pmoves-cipher (fail) ```text > @byterover/cipher@0.3.0 test > vitest run --runInBand -file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404 +file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404 throw new CACError(`Unknown option \`${name.length > 1 ? `--${name}` : `-${name}`}\``); ^ CACError: Unknown option `--runInBand` - at Command.checkUnknownOptions (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404:17) - at CAC.runMatchedCommand (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:604:13) - at CAC.parse (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:545:12) - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/cli.js:27:13 + at Command.checkUnknownOptions (file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:404:17) + at CAC.runMatchedCommand (file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:604:13) + at CAC.parse (file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/chunks/cac.Cb-PYCCB.js:545:12) + at file:////Pmoves-cipher/node_modules/.pnpm/vitest@3.2.4_@types+node@24.1.0_tsx@4.20.3_yaml@2.8.0/node_modules/vitest/dist/cli.js:27:13 at ModuleJob.run (node:internal/modules/esm/module_job:329:25) at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26) at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5) @@ -81,7 +81,7 @@ Node.js v22.17.1 ### PMOVES-HiRAG (fail) ```text -C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest ``` ### PMOVES-transcribe-and-fetch (fail) @@ -92,7 +92,7 @@ C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python ### PMOVES-ToKenism-Multi (fail) ```text -C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest ``` ### PMOVES-DoX (fail) @@ -104,7 +104,7 @@ make: *** [Makefile:54: ensure-standalone-networks] Error 255 ### PMOVES-Open-Notebook (fail) ```text -C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest +\pmoves-cipher-mcp\.venv\Scripts\python.exe: No module named pytest ``` ### PMOVES.YT (fail) diff --git a/pmoves/docs/evidence/submodule_test_matrix_curated.json b/pmoves/docs/evidence/submodule_test_matrix_curated.json index aa12ef660f..b58b31393f 100644 --- a/pmoves/docs/evidence/submodule_test_matrix_curated.json +++ b/pmoves/docs/evidence/submodule_test_matrix_curated.json @@ -15,7 +15,7 @@ "status": "pass", "exit_code": 0, "duration_sec": 97.15, - "output_tail": "python\\tests\\mcp_server\\features\\documents\\test_version_tools.py .... [ 27%]\npython\\tests\\mcp_server\\features\\projects\\test_project_tools.py .... [ 28%]\npython\\tests\\mcp_server\\features\\tasks\\test_task_tools.py ...... [ 29%]\npython\\tests\\mcp_server\\features\\test_feature_tools.py ... [ 29%]\npython\\tests\\mcp_server\\utils\\test_error_handling.py .......... [ 30%]\npython\\tests\\mcp_server\\utils\\test_timeout_config.py ............. [ 32%]\npython\\tests\\progress_tracking\\integration\\test_crawl_orchestration_progress.py . [ 32%]\n.... [ 33%]\npython\\tests\\progress_tracking\\integration\\test_document_storage_progress.py . [ 33%]\n...... [ 34%]\npython\\tests\\progress_tracking\\test_batch_progress_bug.py ... [ 34%]\npython\\tests\\progress_tracking\\test_progress_api.py ......... [ 35%]\npython\\tests\\progress_tracking\\test_progress_mapper.py ................. [ 38%]\n [ 38%]\npython\\tests\\progress_tracking\\test_progress_models.py ................. [ 40%]\n.... [ 40%]\npython\\tests\\progress_tracking\\test_progress_tracker.py ............. [ 42%]\npython\\tests\\server\\api_routes\\test_bug_report_api.py ....... [ 43%]\npython\\tests\\server\\api_routes\\test_mcp_api.py .............. [ 45%]\npython\\tests\\server\\api_routes\\test_migration_api.py ......... [ 46%]\npython\\tests\\server\\api_routes\\test_projects_api_polling.py ......... [ 48%]\npython\\tests\\server\\api_routes\\test_version_api.py ....... [ 48%]\npython\\tests\\server\\services\\test_llms_full_parser.py ........... [ 50%]\npython\\tests\\server\\services\\test_migration_service.py ........... [ 51%]\npython\\tests\\server\\services\\test_version_service.py ............ [ 53%]\npython\\tests\\server\\utils\\test_etag_utils.py .............. [ 55%]\npython\\tests\\test_api_essentials.py .......... [ 56%]\npython\\tests\\test_async_credential_service.py ............... [ 58%]\npython\\tests\\test_async_embedding_service.py .......... [ 60%]\npython\\tests\\test_async_llm_provider_service.py ..................... [ 63%]\npython\\tests\\test_async_source_summary.py ....... [ 64%]\npython\\tests\\test_business_logic.py .......... [ 65%]\npython\\tests\\test_code_extraction_source_id.py .... [ 65%]\npython\\tests\\test_crawl_orchestration_isolated.py .................. [ 68%]\npython\\tests\\test_crawling_service_subdomain.py ........ [ 69%]\npython\\tests\\test_discovery_service.py ........... [ 70%]\npython\\tests\\test_document_storage_metrics.py .... [ 71%]\npython\\tests\\test_embedding_service_no_zeros.py ............ [ 73%]\npython\\tests\\test_keyword_extraction.py ................. [ 75%]\npython\\tests\\test_knowledge_api_integration.py ssss.s [ 76%]\npython\\tests\\test_knowledge_api_pagination.py .ssss..s [ 77%]\npython\\tests\\test_llms_txt_link_following.py ....... [ 78%]\npython\\tests\\test_openrouter_discovery.py ........... [ 79%]\npython\\tests\\test_port_configuration.py ............ [ 81%]\npython\\tests\\test_progress_api.py ........... [ 82%]\npython\\tests\\test_rag_simple.py .................. [ 85%]\npython\\tests\\test_rag_strategies.py .................... [ 88%]\npython\\tests\\test_service_integration.py .......... [ 89%]\npython\\tests\\test_settings_api.py ... [ 89%]\npython\\tests\\test_source_id_refactor.py ................. [ 92%]\npython\\tests\\test_source_race_condition.py ..... [ 92%]\npython\\tests\\test_source_url_shadowing.py .. [ 93%]\npython\\tests\\test_supabase_validation.py ........... [ 94%]\npython\\tests\\test_task_counts.py ... [ 94%]\npython\\tests\\test_token_optimization.py ........ [ 96%]\npython\\tests\\test_token_optimization_integration.py ss.. [ 96%]\npython\\tests\\test_url_canonicalization.py .......... [ 97%]\npython\\tests\\test_url_handler.py ............... [100%]\n=========== 725 passed, 12 skipped, 64 warnings in 92.53s (0:01:32) ===========\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `python\\.venv` and will be ignored; use `--active` to target the active environment instead" + "output_tail": "python\\tests\\mcp_server\\features\\documents\\test_version_tools.py .... [ 27%]\npython\\tests\\mcp_server\\features\\projects\\test_project_tools.py .... [ 28%]\npython\\tests\\mcp_server\\features\\tasks\\test_task_tools.py ...... [ 29%]\npython\\tests\\mcp_server\\features\\test_feature_tools.py ... [ 29%]\npython\\tests\\mcp_server\\utils\\test_error_handling.py .......... [ 30%]\npython\\tests\\mcp_server\\utils\\test_timeout_config.py ............. [ 32%]\npython\\tests\\progress_tracking\\integration\\test_crawl_orchestration_progress.py . [ 32%]\n.... [ 33%]\npython\\tests\\progress_tracking\\integration\\test_document_storage_progress.py . [ 33%]\n...... [ 34%]\npython\\tests\\progress_tracking\\test_batch_progress_bug.py ... [ 34%]\npython\\tests\\progress_tracking\\test_progress_api.py ......... [ 35%]\npython\\tests\\progress_tracking\\test_progress_mapper.py ................. [ 38%]\n [ 38%]\npython\\tests\\progress_tracking\\test_progress_models.py ................. [ 40%]\n.... [ 40%]\npython\\tests\\progress_tracking\\test_progress_tracker.py ............. [ 42%]\npython\\tests\\server\\api_routes\\test_bug_report_api.py ....... [ 43%]\npython\\tests\\server\\api_routes\\test_mcp_api.py .............. [ 45%]\npython\\tests\\server\\api_routes\\test_migration_api.py ......... [ 46%]\npython\\tests\\server\\api_routes\\test_projects_api_polling.py ......... [ 48%]\npython\\tests\\server\\api_routes\\test_version_api.py ....... [ 48%]\npython\\tests\\server\\services\\test_llms_full_parser.py ........... [ 50%]\npython\\tests\\server\\services\\test_migration_service.py ........... [ 51%]\npython\\tests\\server\\services\\test_version_service.py ............ [ 53%]\npython\\tests\\server\\utils\\test_etag_utils.py .............. [ 55%]\npython\\tests\\test_api_essentials.py .......... [ 56%]\npython\\tests\\test_async_credential_service.py ............... [ 58%]\npython\\tests\\test_async_embedding_service.py .......... [ 60%]\npython\\tests\\test_async_llm_provider_service.py ..................... [ 63%]\npython\\tests\\test_async_source_summary.py ....... [ 64%]\npython\\tests\\test_business_logic.py .......... [ 65%]\npython\\tests\\test_code_extraction_source_id.py .... [ 65%]\npython\\tests\\test_crawl_orchestration_isolated.py .................. [ 68%]\npython\\tests\\test_crawling_service_subdomain.py ........ [ 69%]\npython\\tests\\test_discovery_service.py ........... [ 70%]\npython\\tests\\test_document_storage_metrics.py .... [ 71%]\npython\\tests\\test_embedding_service_no_zeros.py ............ [ 73%]\npython\\tests\\test_keyword_extraction.py ................. [ 75%]\npython\\tests\\test_knowledge_api_integration.py ssss.s [ 76%]\npython\\tests\\test_knowledge_api_pagination.py .ssss..s [ 77%]\npython\\tests\\test_llms_txt_link_following.py ....... [ 78%]\npython\\tests\\test_openrouter_discovery.py ........... [ 79%]\npython\\tests\\test_port_configuration.py ............ [ 81%]\npython\\tests\\test_progress_api.py ........... [ 82%]\npython\\tests\\test_rag_simple.py .................. [ 85%]\npython\\tests\\test_rag_strategies.py .................... [ 88%]\npython\\tests\\test_service_integration.py .......... [ 89%]\npython\\tests\\test_settings_api.py ... [ 89%]\npython\\tests\\test_source_id_refactor.py ................. [ 92%]\npython\\tests\\test_source_race_condition.py ..... [ 92%]\npython\\tests\\test_source_url_shadowing.py .. [ 93%]\npython\\tests\\test_supabase_validation.py ........... [ 94%]\npython\\tests\\test_task_counts.py ... [ 94%]\npython\\tests\\test_token_optimization.py ........ [ 96%]\npython\\tests\\test_token_optimization_integration.py ss.. [ 96%]\npython\\tests\\test_url_canonicalization.py .......... [ 97%]\npython\\tests\\test_url_handler.py ............... [100%]\n=========== 725 passed, 12 skipped, 64 warnings in 92.53s (0:01:32) ===========\nwarning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `python\\.venv` and will be ignored; use `--active` to target the active environment instead" }, { "submodule": "PMOVES-BoTZ", @@ -23,7 +23,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 38.91, - "output_tail": "[22:17:19] INFO: Starting PMOVES smoke tests...\n[22:17:19] INFO: Running Environment Configuration tests...\n[22:17:19] FAIL: No .env file found - copy from core/example.env\n[22:17:19] FAIL: Environment Configuration tests FAILED\n[22:17:19] INFO: Running Compose Stack Configuration tests...\n[22:17:19] PASS: Docker Compose validation passed for stack botz_core_only\n[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_external\n[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_internal\n[22:17:21] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral\n[22:17:21] PASS: Compose Stack Configuration tests PASSED\n[22:17:21] INFO: Running Core Service Health tests...\n[22:17:29] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:29] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:29] FAIL: Core Service Health tests FAILED\n[22:17:29] INFO: Running VL-Sentinel Health tests...\n[22:17:33] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:33] FAIL: VL-Sentinel Health tests FAILED\n[22:17:33] INFO: Running Cipher Memory Integration tests...\n[22:17:33] PASS: Cipher Cipher Submodule: Found at C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-BoTZ\\features\\cipher\\pmoves_cipher\n[22:17:33] FAIL: Cipher Cipher Build: Cipher not built - run setup script\n[22:17:33] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided\n[22:17:33] PASS: Cipher Cipher Config: PMOVES cipher configuration found\n[22:17:33] FAIL: Cipher Memory Integration tests FAILED\n[22:17:33] INFO: Running Cipher Service Health tests...\n[22:17:37] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:41] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:41] FAIL: Cipher service: no healthy API or UI endpoint detected\n[22:17:41] FAIL: Cipher Service Health tests FAILED\n[22:17:41] INFO: Running Cipher Functional API tests...\n[22:17:45] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:49] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:53] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:53] FAIL: Cipher Functional API tests FAILED\n[22:17:53] INFO: Running Cipher Message Roundtrip tests...\n[22:17:53] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured)\n[22:17:53] PASS: Cipher Message Roundtrip tests PASSED\n[22:17:53] INFO: Running YT Mini Agent tests...\n[22:17:53] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1)\n[22:17:53] PASS: YT Mini Agent tests PASSED\n[22:17:53] INFO: Running Metrics Stack tests...\n[22:17:53] PASS: Prometheus: reachable at http://localhost:9090/targets\n[22:17:57] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:57] FAIL: Metrics Stack tests FAILED\n[22:17:57] INFO: Running API Connectivity tests...\n[22:17:57] PASS: Postman API: Using test placeholder - skipping live test\n[22:17:57] PASS: Tailscale: Tailscale auth key not required for basic functionality\n[22:17:57] PASS: API Connectivity tests PASSED\n[22:17:57] INFO: Smoke tests completed: 4/11 passed\n[22:17:57] FAIL: 7 tests failed - Check configuration\nInstalled 19 packages in 311ms" + "output_tail": "[22:17:19] INFO: Starting PMOVES smoke tests...\n[22:17:19] INFO: Running Environment Configuration tests...\n[22:17:19] FAIL: No .env file found - copy from core/example.env\n[22:17:19] FAIL: Environment Configuration tests FAILED\n[22:17:19] INFO: Running Compose Stack Configuration tests...\n[22:17:19] PASS: Docker Compose validation passed for stack botz_core_only\n[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_external\n[22:17:20] PASS: Docker Compose validation passed for stack botz_core_metrics_internal\n[22:17:21] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral\n[22:17:21] PASS: Compose Stack Configuration tests PASSED\n[22:17:21] INFO: Running Core Service Health tests...\n[22:17:29] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:29] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:29] FAIL: Core Service Health tests FAILED\n[22:17:29] INFO: Running VL-Sentinel Health tests...\n[22:17:33] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:33] FAIL: VL-Sentinel Health tests FAILED\n[22:17:33] INFO: Running Cipher Memory Integration tests...\n[22:17:33] PASS: Cipher Cipher Submodule: Found at \\PMOVES-BoTZ\\features\\cipher\\pmoves_cipher\n[22:17:33] FAIL: Cipher Cipher Build: Cipher not built - run setup script\n[22:17:33] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided\n[22:17:33] PASS: Cipher Cipher Config: PMOVES cipher configuration found\n[22:17:33] FAIL: Cipher Memory Integration tests FAILED\n[22:17:33] INFO: Running Cipher Service Health tests...\n[22:17:37] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:41] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:41] FAIL: Cipher service: no healthy API or UI endpoint detected\n[22:17:41] FAIL: Cipher Service Health tests FAILED\n[22:17:41] INFO: Running Cipher Functional API tests...\n[22:17:45] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:49] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:53] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:53] FAIL: Cipher Functional API tests FAILED\n[22:17:53] INFO: Running Cipher Message Roundtrip tests...\n[22:17:53] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured)\n[22:17:53] PASS: Cipher Message Roundtrip tests PASSED\n[22:17:53] INFO: Running YT Mini Agent tests...\n[22:17:53] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1)\n[22:17:53] PASS: YT Mini Agent tests PASSED\n[22:17:53] INFO: Running Metrics Stack tests...\n[22:17:53] PASS: Prometheus: reachable at http://localhost:9090/targets\n[22:17:57] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[22:17:57] FAIL: Metrics Stack tests FAILED\n[22:17:57] INFO: Running API Connectivity tests...\n[22:17:57] PASS: Postman API: Using test placeholder - skipping live test\n[22:17:57] PASS: Tailscale: Tailscale auth key not required for basic functionality\n[22:17:57] PASS: API Connectivity tests PASSED\n[22:17:57] INFO: Smoke tests completed: 4/11 passed\n[22:17:57] FAIL: 7 tests failed - Check configuration\nInstalled 19 packages in 311ms" }, { "submodule": "PMOVES-BotZ-gateway", @@ -39,7 +39,7 @@ "status": "pass", "exit_code": 0, "duration_sec": 42.83, - "output_tail": "\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mError Handling\u001b[2m > \u001b[22m\u001b[2mshould close page even if errors occur\n\u001b[22m\u001b[39m22:18:25 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mError Handling\u001b[2m > \u001b[22m\u001b[2mshould close page even if errors occur\n\u001b[22m\u001b[39m22:18:30 WARN: DuckDuckGo Puppeteer: Failed to fetch content for https://example.com/test:\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39m22:18:30 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90mC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90mC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould cleanup browser on cleanup call\n\u001b[22m\u001b[39m22:18:36 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould cleanup browser on cleanup call\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90mC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould handle cleanup when no browser exists\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould sanitize queries correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould sanitize queries correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould build URLs correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould build URLs correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould allow configuration updates\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould provide statistics\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould reset statistics\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)" + "output_tail": "\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mError Handling\u001b[2m > \u001b[22m\u001b[2mshould close page even if errors occur\n\u001b[22m\u001b[39m22:18:25 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mError Handling\u001b[2m > \u001b[22m\u001b[2mshould close page even if errors occur\n\u001b[22m\u001b[39m22:18:30 WARN: DuckDuckGo Puppeteer: Failed to fetch content for https://example.com/test:\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39m22:18:30 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90m\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould reuse browser instance across searches\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90m\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould cleanup browser on cleanup call\n\u001b[22m\u001b[39m22:18:36 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould cleanup browser on cleanup call\n\u001b[22m\u001b[39mDuckDuckGo Puppeteer search error: Error: Test error\n at \u001b[90m\\Pmoves-cipher\\\u001b[39msrc\\core\\brain\\tools\\definitions\\web-search\\engine\\__test__\\duckduckgo.test.ts:467:40\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:155:11\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:752:26\n at \u001b[90mfile:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1897:20\n at new Promise ()\n at runWithTimeout \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1863:10\u001b[90m)\u001b[39m\n at runTest \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1574:12\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n at runSuite \u001b[90m(file:////Pmoves-cipher/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/@vitest+runner@3.2.4/node_modules/\u001b[4m@vitest\u001b[24m/runner/dist/chunk-hooks.js:1729:8\u001b[90m)\u001b[39m\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mBrowser Management\u001b[2m > \u001b[22m\u001b[2mshould handle cleanup when no browser exists\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould sanitize queries correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould sanitize queries correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould build URLs correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mUtility Methods\u001b[2m > \u001b[22m\u001b[2mshould build URLs correctly\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould allow configuration updates\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould provide statistics\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)\n\u001b[90mstderr\u001b[2m | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts\u001b[2m > \u001b[22m\u001b[2mDuckDuckGoPuppeteerProvider\u001b[2m > \u001b[22m\u001b[2mConfiguration Updates\u001b[2m > \u001b[22m\u001b[2mshould reset statistics\n\u001b[22m\u001b[39m22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64)" }, { "submodule": "PMOVES-HiRAG", @@ -68,10 +68,11 @@ { "submodule": "PMOVES-DoX", "command": "set SUPABASE_JWT_SECRET=test-secret&& uv run --python 3.12 --no-project --with-requirements backend/requirements.txt --with pytest --with pytest-asyncio python -m pytest -q backend/tests --maxfail=1", + "platform_note": "Windows CMD syntax — use 'export' on Linux/WSL", "status": "fail", "exit_code": 1, "duration_sec": 17.8, - "output_tail": ":488\n :488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute\n:488\n :488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute\n:488\n :488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute\nbackend\\app\\main.py:279\nbackend\\app\\main.py:279\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\main.py:279: DeprecationWarning: \n on_event is deprecated, use lifespan event handlers instead.\n Read more about it in the\n [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).\n @app.on_event(\"startup\")\n..\\..\\..\\..\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599\n..\\..\\..\\..\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599\n C:\\Users\\russe\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599: DeprecationWarning: \n on_event is deprecated, use lifespan event handlers instead.\n Read more about it in the\n [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).\n return self.router.on_event(event_type)\nbackend\\app\\services\\reasoning_service.py:81\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\reasoning_service.py:81: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class ReasoningTrace(BaseModel):\nbackend\\app\\services\\thread_manager.py:103\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\thread_manager.py:103: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class ThreadContext(BaseModel):\ntests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_defaults\ntests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_with_capabilities\ntests/test_agent_dispatcher.py::TestDispatchResult::test_dispatch_result_creation\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout\ntests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n C:\\Users\\russe\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\pydantic\\main.py:250: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:139: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:146: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:153: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:168: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.cached_at = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:174: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n return datetime.utcnow() >= self.expires_at\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n=========================== short test summary info ===========================\nFAILED backend\\tests\\test_agent_dispatcher.py::TestAgentDispatcherInit::test_init_creates_empty_state\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n1 failed, 15 passed, 28 warnings in 11.68s" + "output_tail": ":488\n :488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute\n:488\n :488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute\n:488\n :488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute\nbackend\\app\\main.py:279\nbackend\\app\\main.py:279\n \\PMOVES-DoX\\backend\\app\\main.py:279: DeprecationWarning: \n on_event is deprecated, use lifespan event handlers instead.\n Read more about it in the\n [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).\n @app.on_event(\"startup\")\n..\\..\\..\\..\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599\n..\\..\\..\\..\\AppData\\Local\\uv\\cache\\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599\n \\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\fastapi\\applications.py:4599: DeprecationWarning: \n on_event is deprecated, use lifespan event handlers instead.\n Read more about it in the\n [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).\n return self.router.on_event(event_type)\nbackend\\app\\services\\reasoning_service.py:81\n \\PMOVES-DoX\\backend\\app\\services\\reasoning_service.py:81: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class ReasoningTrace(BaseModel):\nbackend\\app\\services\\thread_manager.py:103\n \\PMOVES-DoX\\backend\\app\\services\\thread_manager.py:103: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class ThreadContext(BaseModel):\ntests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_defaults\ntests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_with_capabilities\ntests/test_agent_dispatcher.py::TestDispatchResult::test_dispatch_result_creation\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout\ntests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n \\archive-v0\\HvuA5oIP2jb_YBxFMpHe8\\Lib\\site-packages\\pydantic\\main.py:250: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed\n \\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:139: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed\n \\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:146: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout\n \\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:153: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.end_time = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n \\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:168: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n self.cached_at = datetime.utcnow()\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh\ntests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old\n \\PMOVES-DoX\\backend\\app\\services\\agent_dispatcher.py:174: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).\n return datetime.utcnow() >= self.expires_at\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n=========================== short test summary info ===========================\nFAILED backend\\tests\\test_agent_dispatcher.py::TestAgentDispatcherInit::test_init_creates_empty_state\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n1 failed, 15 passed, 28 warnings in 11.68s" }, { "submodule": "PMOVES-Open-Notebook", @@ -79,7 +80,7 @@ "status": "pass", "exit_code": 0, "duration_sec": 17.99, - "output_tail": "........................................................................ [ 73%]\n.......................... [100%]\n============================== warnings summary ===============================\n.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Open-Notebook\\.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class RetryConfig(BaseModel):\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n98 passed, 1 warning in 15.36s\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead" + "output_tail": "........................................................................ [ 73%]\n.......................... [100%]\n============================== warnings summary ===============================\n.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41\n \\PMOVES-Open-Notebook\\.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class RetryConfig(BaseModel):\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n98 passed, 1 warning in 15.36s\nwarning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead" }, { "submodule": "PMOVES.YT", @@ -87,7 +88,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 13.27, - "output_tail": "============================= test session starts =============================\nplatform win32 -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0\nrootdir: C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES.YT\nconfigfile: pyproject.toml\ncollected 7418 items\ntest\\test_InfoExtractor.py .................... [ 0%]\ntest\\test_YoutubeDL.py ............................ [ 0%]\ntest\\test_YoutubeDLCookieJar.py ..... [ 0%]\ntest\\test_aes.py ............ [ 0%]\ntest\\test_age_restriction.py .F\n================================== FAILURES ===================================\n_______________________ TestAgeRestriction.test_youtube _______________________\nself = \n def test_youtube(self):\n> self._assert_restricted('HtVdAasjOgU', 'HtVdAasjOgU.mp4', 10)\ntest\\test_age_restriction.py:46: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\ntest\\test_age_restriction.py:42: in _assert_restricted\n self.assertTrue(_download_restricted(url, filename, old_age))\nE AssertionError: None is not true\n---------------------------- Captured stdout call -----------------------------\n[youtube] Extracting URL: HtVdAasjOgU\n[youtube] HtVdAasjOgU: Downloading webpage\n[youtube] HtVdAasjOgU: Downloading android vr player API JSON\n[youtube] HtVdAasjOgU: This video is age-restricted; some formats may be missing without authentication. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n[youtube] HtVdAasjOgU: Downloading web embedded client config\n[youtube] HtVdAasjOgU: Downloading player 4eecba16-tv\n[youtube] HtVdAasjOgU: Downloading web embedded player API JSON\n[youtube] HtVdAasjOgU: Downloading web safari player API JSON\n---------------------------- Captured stderr call -----------------------------\nERROR: [youtube] HtVdAasjOgU: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n=========================== short test summary info ===========================\nFAILED test/test_age_restriction.py::TestAgeRestriction::test_youtube - Asser...\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n======================== 1 failed, 66 passed in 11.36s ========================\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead" + "output_tail": "============================= test session starts =============================\nplatform win32 -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0\nrootdir: \\PMOVES.YT\nconfigfile: pyproject.toml\ncollected 7418 items\ntest\\test_InfoExtractor.py .................... [ 0%]\ntest\\test_YoutubeDL.py ............................ [ 0%]\ntest\\test_YoutubeDLCookieJar.py ..... [ 0%]\ntest\\test_aes.py ............ [ 0%]\ntest\\test_age_restriction.py .F\n================================== FAILURES ===================================\n_______________________ TestAgeRestriction.test_youtube _______________________\nself = \n def test_youtube(self):\n> self._assert_restricted('HtVdAasjOgU', 'HtVdAasjOgU.mp4', 10)\ntest\\test_age_restriction.py:46: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\ntest\\test_age_restriction.py:42: in _assert_restricted\n self.assertTrue(_download_restricted(url, filename, old_age))\nE AssertionError: None is not true\n---------------------------- Captured stdout call -----------------------------\n[youtube] Extracting URL: HtVdAasjOgU\n[youtube] HtVdAasjOgU: Downloading webpage\n[youtube] HtVdAasjOgU: Downloading android vr player API JSON\n[youtube] HtVdAasjOgU: This video is age-restricted; some formats may be missing without authentication. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n[youtube] HtVdAasjOgU: Downloading web embedded client config\n[youtube] HtVdAasjOgU: Downloading player 4eecba16-tv\n[youtube] HtVdAasjOgU: Downloading web embedded player API JSON\n[youtube] HtVdAasjOgU: Downloading web safari player API JSON\n---------------------------- Captured stderr call -----------------------------\nERROR: [youtube] HtVdAasjOgU: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n=========================== short test summary info ===========================\nFAILED test/test_age_restriction.py::TestAgeRestriction::test_youtube - Asser...\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n======================== 1 failed, 66 passed in 11.36s ========================\nwarning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead" } ] } \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix_curated.md b/pmoves/docs/evidence/submodule_test_matrix_curated.md index 940f5fd0b1..d8f315e3de 100644 --- a/pmoves/docs/evidence/submodule_test_matrix_curated.md +++ b/pmoves/docs/evidence/submodule_test_matrix_curated.md @@ -89,7 +89,7 @@ python\tests\test_token_optimization_integration.py ss.. [ 96%] python\tests\test_url_canonicalization.py .......... [ 97%] python\tests\test_url_handler.py ............... [100%] =========== 725 passed, 12 skipped, 64 warnings in 92.53s (0:01:32) =========== -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `python\.venv` and will be ignored; use `--active` to target the active environment instead +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `python\.venv` and will be ignored; use `--active` to target the active environment instead ``` ### PMOVES-BoTZ (fail) @@ -112,7 +112,7 @@ warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mc [22:17:33] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) [22:17:33] FAIL: VL-Sentinel Health tests FAILED [22:17:33] INFO: Running Cipher Memory Integration tests... -[22:17:33] PASS: Cipher Cipher Submodule: Found at C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-BoTZ\features\cipher\pmoves_cipher +[22:17:33] PASS: Cipher Cipher Submodule: Found at \PMOVES-BoTZ\features\cipher\pmoves_cipher [22:17:33] FAIL: Cipher Cipher Build: Cipher not built - run setup script [22:17:33] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided [22:17:33] PASS: Cipher Cipher Config: PMOVES cipher configuration found @@ -161,42 +161,42 @@ No root-level deterministic test command found. 22:18:30 INFO: DuckDuckGo: Initialized for platform: linux (x64) stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should reuse browser instance across searches DuckDuckGo Puppeteer search error: Error: Test error - at C:\Users\russe\Documents\GitHub\PMOVES.AI\Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at \Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () - at runWithTimeout (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) - at runTest (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runWithTimeout (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should reuse browser instance across searches DuckDuckGo Puppeteer search error: Error: Test error - at C:\Users\russe\Documents\GitHub\PMOVES.AI\Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at \Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () - at runWithTimeout (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) - at runTest (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runWithTimeout (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should cleanup browser on cleanup call 22:18:36 INFO: DuckDuckGo: Initialized for platform: linux (x64) stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should cleanup browser on cleanup call DuckDuckGo Puppeteer search error: Error: Test error - at C:\Users\russe\Documents\GitHub\PMOVES.AI\Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 - at file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 + at \Pmoves-cipher\src\core\brain\tools\definitions\web-search\engine\__test__\duckduckgo.test.ts:467:40 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 + at file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () - at runWithTimeout (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) - at runTest (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) - at runSuite (file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runWithTimeout (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) + at runTest (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) + at runSuite (file:////Pmoves-cipher/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Browser Management > should handle cleanup when no browser exists 22:18:39 INFO: DuckDuckGo: Initialized for platform: linux (x64) stderr | src/core/brain/tools/definitions/web-search/engine/__test__/duckduckgo.test.ts > DuckDuckGoPuppeteerProvider > Utility Methods > should sanitize queries correctly @@ -300,23 +300,23 @@ Ran all test suites. :488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute backend\app\main.py:279 backend\app\main.py:279 - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\main.py:279: DeprecationWarning: + \PMOVES-DoX\backend\app\main.py:279: DeprecationWarning: on_event is deprecated, use lifespan event handlers instead. Read more about it in the [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). @app.on_event("startup") ..\..\..\..\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\fastapi\applications.py:4599 ..\..\..\..\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\fastapi\applications.py:4599 - C:\Users\russe\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\fastapi\applications.py:4599: DeprecationWarning: + \archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\fastapi\applications.py:4599: DeprecationWarning: on_event is deprecated, use lifespan event handlers instead. Read more about it in the [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). return self.router.on_event(event_type) backend\app\services\reasoning_service.py:81 - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\reasoning_service.py:81: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + \PMOVES-DoX\backend\app\services\reasoning_service.py:81: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ class ReasoningTrace(BaseModel): backend\app\services\thread_manager.py:103 - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\thread_manager.py:103: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + \PMOVES-DoX\backend\app\services\thread_manager.py:103: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ class ThreadContext(BaseModel): tests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_defaults tests/test_agent_dispatcher.py::TestAgentInfo::test_agent_info_with_capabilities @@ -327,25 +327,25 @@ tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout tests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old - C:\Users\russe\AppData\Local\uv\cache\archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\pydantic\main.py:250: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + \archive-v0\HvuA5oIP2jb_YBxFMpHe8\Lib\site-packages\pydantic\main.py:250: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self) tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_completed - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:139: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + \PMOVES-DoX\backend\app\services\agent_dispatcher.py:139: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). self.end_time = datetime.utcnow() tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_failed - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:146: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + \PMOVES-DoX\backend\app\services\agent_dispatcher.py:146: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). self.end_time = datetime.utcnow() tests/test_agent_dispatcher.py::TestDispatchResult::test_mark_timeout - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:153: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + \PMOVES-DoX\backend\app\services\agent_dispatcher.py:153: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). self.end_time = datetime.utcnow() tests/test_agent_dispatcher.py::TestCachedAgent::test_cached_agent_creation tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:168: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + \PMOVES-DoX\backend\app\services\agent_dispatcher.py:168: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). self.cached_at = datetime.utcnow() tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_fresh tests/test_agent_dispatcher.py::TestCachedAgent::test_is_expired_old - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-DoX\backend\app\services\agent_dispatcher.py:174: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + \PMOVES-DoX\backend\app\services\agent_dispatcher.py:174: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). return datetime.utcnow() >= self.expires_at -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info =========================== @@ -360,18 +360,18 @@ FAILED backend\tests\test_agent_dispatcher.py::TestAgentDispatcherInit::test_ini .......................... [100%] ============================== warnings summary =============================== .venv\Lib\site-packages\surreal_commands\core\retry.py:41 - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Open-Notebook\.venv\Lib\site-packages\surreal_commands\core\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + \PMOVES-Open-Notebook\.venv\Lib\site-packages\surreal_commands\core\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ class RetryConfig(BaseModel): -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 98 passed, 1 warning in 15.36s -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead ``` ### PMOVES.YT (fail) ```text ============================= test session starts ============================= platform win32 -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0 -rootdir: C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES.YT +rootdir: \PMOVES.YT configfile: pyproject.toml collected 7418 items test\test_InfoExtractor.py .................... [ 0%] @@ -404,5 +404,5 @@ ERROR: [youtube] HtVdAasjOgU: Sign in to confirm your age. This video may be ina FAILED test/test_age_restriction.py::TestAgeRestriction::test_youtube - Asser... !!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!! ======================== 1 failed, 66 passed in 11.36s ======================== -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead ``` \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix_normalized.json b/pmoves/docs/evidence/submodule_test_matrix_normalized.json index 3673cd5151..a71016c760 100644 --- a/pmoves/docs/evidence/submodule_test_matrix_normalized.json +++ b/pmoves/docs/evidence/submodule_test_matrix_normalized.json @@ -15,7 +15,7 @@ "status": "fail", "exit_code": 4, "duration_sec": 1.49, - "output_tail": "warning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `python\\.venv` and will be ignored; use `--active` to target the active environment instead\nImportError while loading conftest 'C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Archon\\python\\tests\\conftest.py'.\npython\\tests\\conftest.py:7: in \n from fastapi.testclient import TestClient\nE ModuleNotFoundError: No module named 'fastapi'" + "output_tail": "warning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `python\\.venv` and will be ignored; use `--active` to target the active environment instead\nImportError while loading conftest '\\PMOVES-Archon\\python\\tests\\conftest.py'.\npython\\tests\\conftest.py:7: in \n from fastapi.testclient import TestClient\nE ModuleNotFoundError: No module named 'fastapi'" }, { "submodule": "PMOVES-BoTZ", @@ -23,7 +23,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 40.91, - "output_tail": "[21:50:51] INFO: Starting PMOVES smoke tests...\n[21:50:51] INFO: Running Environment Configuration tests...\n[21:50:51] FAIL: No .env file found - copy from core/example.env\n[21:50:51] FAIL: Environment Configuration tests FAILED\n[21:50:51] INFO: Running Compose Stack Configuration tests...\n[21:50:51] PASS: Docker Compose validation passed for stack botz_core_only\n[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_external\n[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_internal\n[21:50:53] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral\n[21:50:53] PASS: Compose Stack Configuration tests PASSED\n[21:50:53] INFO: Running Core Service Health tests...\n[21:51:01] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:01] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:01] FAIL: Core Service Health tests FAILED\n[21:51:01] INFO: Running VL-Sentinel Health tests...\n[21:51:05] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:05] FAIL: VL-Sentinel Health tests FAILED\n[21:51:05] INFO: Running Cipher Memory Integration tests...\n[21:51:05] PASS: Cipher Cipher Submodule: Found at C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-BoTZ\\features\\cipher\\pmoves_cipher\n[21:51:05] FAIL: Cipher Cipher Build: Cipher not built - run setup script\n[21:51:05] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided\n[21:51:05] PASS: Cipher Cipher Config: PMOVES cipher configuration found\n[21:51:05] FAIL: Cipher Memory Integration tests FAILED\n[21:51:05] INFO: Running Cipher Service Health tests...\n[21:51:09] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:13] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:13] FAIL: Cipher service: no healthy API or UI endpoint detected\n[21:51:13] FAIL: Cipher Service Health tests FAILED\n[21:51:13] INFO: Running Cipher Functional API tests...\n[21:51:17] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:21] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:25] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:25] FAIL: Cipher Functional API tests FAILED\n[21:51:25] INFO: Running Cipher Message Roundtrip tests...\n[21:51:25] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured)\n[21:51:25] PASS: Cipher Message Roundtrip tests PASSED\n[21:51:25] INFO: Running YT Mini Agent tests...\n[21:51:25] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1)\n[21:51:25] PASS: YT Mini Agent tests PASSED\n[21:51:25] INFO: Running Metrics Stack tests...\n[21:51:25] PASS: Prometheus: reachable at http://localhost:9090/targets\n[21:51:29] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:29] FAIL: Metrics Stack tests FAILED\n[21:51:29] INFO: Running API Connectivity tests...\n[21:51:29] PASS: Postman API: Using test placeholder - skipping live test\n[21:51:29] PASS: Tailscale: Tailscale auth key not required for basic functionality\n[21:51:29] PASS: API Connectivity tests PASSED\n[21:51:29] INFO: Smoke tests completed: 4/11 passed\n[21:51:29] FAIL: 7 tests failed - Check configuration\nInstalled 18 packages in 239ms" + "output_tail": "[21:50:51] INFO: Starting PMOVES smoke tests...\n[21:50:51] INFO: Running Environment Configuration tests...\n[21:50:51] FAIL: No .env file found - copy from core/example.env\n[21:50:51] FAIL: Environment Configuration tests FAILED\n[21:50:51] INFO: Running Compose Stack Configuration tests...\n[21:50:51] PASS: Docker Compose validation passed for stack botz_core_only\n[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_external\n[21:50:52] PASS: Docker Compose validation passed for stack botz_core_metrics_internal\n[21:50:53] PASS: Docker Compose validation passed for stack botz_core_metrics_ephemeral\n[21:50:53] PASS: Compose Stack Configuration tests PASSED\n[21:50:53] INFO: Running Core Service Health tests...\n[21:51:01] FAIL: Gateway Service: Health check error at http://localhost:2091/health: HTTPConnectionPool(host='localhost', port=2091): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=2091): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:01] FAIL: Docling Service: Health check error at http://localhost:3020/health: HTTPConnectionPool(host='localhost', port=3020): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3020): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:01] FAIL: Core Service Health tests FAILED\n[21:51:01] INFO: Running VL-Sentinel Health tests...\n[21:51:05] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:05] FAIL: VL-Sentinel Health tests FAILED\n[21:51:05] INFO: Running Cipher Memory Integration tests...\n[21:51:05] PASS: Cipher Cipher Submodule: Found at \\PMOVES-BoTZ\\features\\cipher\\pmoves_cipher\n[21:51:05] FAIL: Cipher Cipher Build: Cipher not built - run setup script\n[21:51:05] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided\n[21:51:05] PASS: Cipher Cipher Config: PMOVES cipher configuration found\n[21:51:05] FAIL: Cipher Memory Integration tests FAILED\n[21:51:05] INFO: Running Cipher Service Health tests...\n[21:51:09] WARN: Cipher service API endpoint error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:13] WARN: Cipher service UI endpoint error at http://localhost:3010: HTTPConnectionPool(host='localhost', port=3010): Max retries exceeded with url: / (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3010): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:13] FAIL: Cipher service: no healthy API or UI endpoint detected\n[21:51:13] FAIL: Cipher Service Health tests FAILED\n[21:51:13] INFO: Running Cipher Functional API tests...\n[21:51:17] FAIL: Cipher API health: error at http://localhost:3011/health: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /health (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:21] FAIL: Cipher agent discovery: error at http://localhost:3011/.well-known/agent.json: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /.well-known/agent.json (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:25] FAIL: Cipher sessions list: error at http://localhost:3011/api/sessions: HTTPConnectionPool(host='localhost', port=3011): Max retries exceeded with url: /api/sessions (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3011): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:25] FAIL: Cipher Functional API tests FAILED\n[21:51:25] INFO: Running Cipher Message Roundtrip tests...\n[21:51:25] PASS: Cipher message roundtrip: skipping (no real VENICE_API_KEY / OPENAI_API_KEY configured)\n[21:51:25] PASS: Cipher Message Roundtrip tests PASSED\n[21:51:25] INFO: Running YT Mini Agent tests...\n[21:51:25] PASS: YT mini: skipping (PMOVES_YT_ENABLED != 1)\n[21:51:25] PASS: YT Mini Agent tests PASSED\n[21:51:25] INFO: Running Metrics Stack tests...\n[21:51:25] PASS: Prometheus: reachable at http://localhost:9090/targets\n[21:51:29] FAIL: Grafana: error reaching http://localhost:3033/login: HTTPConnectionPool(host='localhost', port=3033): Max retries exceeded with url: /login (Caused by NewConnectionError(\"HTTPConnection(host='localhost', port=3033): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it\"))\n[21:51:29] FAIL: Metrics Stack tests FAILED\n[21:51:29] INFO: Running API Connectivity tests...\n[21:51:29] PASS: Postman API: Using test placeholder - skipping live test\n[21:51:29] PASS: Tailscale: Tailscale auth key not required for basic functionality\n[21:51:29] PASS: API Connectivity tests PASSED\n[21:51:29] INFO: Smoke tests completed: 4/11 passed\n[21:51:29] FAIL: 7 tests failed - Check configuration\nInstalled 18 packages in 239ms" }, { "submodule": "PMOVES-BotZ-gateway", @@ -47,7 +47,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 10.35, - "output_tail": " build\\lib.win-amd64-cpython-313\\tiktoken\n copying tiktoken\\__init__.py -> build\\lib.win-amd64-cpython-313\\tiktoken\n creating build\\lib.win-amd64-cpython-313\\tiktoken_ext\n copying tiktoken_ext\\openai_public.py ->\n build\\lib.win-amd64-cpython-313\\tiktoken_ext\n running egg_info\n writing tiktoken.egg-info\\PKG-INFO\n writing dependency_links to tiktoken.egg-info\\dependency_links.txt\n writing requirements to tiktoken.egg-info\\requires.txt\n writing top-level names to tiktoken.egg-info\\top_level.txt\n reading manifest file 'tiktoken.egg-info\\SOURCES.txt'\n reading manifest template 'MANIFEST.in'\n adding license file 'LICENSE'\n writing manifest file 'tiktoken.egg-info\\SOURCES.txt'\n copying tiktoken\\py.typed -> build\\lib.win-amd64-cpython-313\\tiktoken\n running build_ext\n running build_rust\n [stderr]\n C:\\Users\\russe\\AppData\\Local\\uv\\cache\\builds-v0\\.tmpyuKjVL\\Lib\\site-packages\\setuptools\\config\\_apply_pyprojecttoml.py:82:\n SetuptoolsDeprecationWarning: `project.license` as a TOML table is\n deprecated\n !!\n ********************************************************************************\n Please use a simple string containing a SPDX expression for\n `project.license`. You can also use `project.license-files`. (Both\n options available on setuptools>=77.0.0).\n By 2027-Feb-18, you need to update your project and remove\n deprecated calls\n or your builds will no longer be supported.\n See\n https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license\n for details.\n ********************************************************************************\n !!\n corresp(dist, value, root_dir)\n warning: no files found matching 'Makefile'\n error: can't find Rust compiler\n If you are using an outdated pip version, it is possible a prebuilt\n wheel is available for this package but pip is not able to install from\n it. Installing from the wheel would avoid the need for a Rust compiler.\n To update pip, run:\n pip install --upgrade pip\n and then retry package installation.\n If you did intend to build this package from source, try installing\n a Rust compiler from your system package manager and ensure it is\n on the PATH during installation. Alternatively, rustup (available at\n https://rustup.rs) is the recommended way to download and update the\n Rust compiler toolchain.\n hint: This usually indicates a problem with the package or the build\n environment." + "output_tail": " build\\lib.win-amd64-cpython-313\\tiktoken\n copying tiktoken\\__init__.py -> build\\lib.win-amd64-cpython-313\\tiktoken\n creating build\\lib.win-amd64-cpython-313\\tiktoken_ext\n copying tiktoken_ext\\openai_public.py ->\n build\\lib.win-amd64-cpython-313\\tiktoken_ext\n running egg_info\n writing tiktoken.egg-info\\PKG-INFO\n writing dependency_links to tiktoken.egg-info\\dependency_links.txt\n writing requirements to tiktoken.egg-info\\requires.txt\n writing top-level names to tiktoken.egg-info\\top_level.txt\n reading manifest file 'tiktoken.egg-info\\SOURCES.txt'\n reading manifest template 'MANIFEST.in'\n adding license file 'LICENSE'\n writing manifest file 'tiktoken.egg-info\\SOURCES.txt'\n copying tiktoken\\py.typed -> build\\lib.win-amd64-cpython-313\\tiktoken\n running build_ext\n running build_rust\n [stderr]\n \\builds-v0\\.tmpyuKjVL\\Lib\\site-packages\\setuptools\\config\\_apply_pyprojecttoml.py:82:\n SetuptoolsDeprecationWarning: `project.license` as a TOML table is\n deprecated\n !!\n ********************************************************************************\n Please use a simple string containing a SPDX expression for\n `project.license`. You can also use `project.license-files`. (Both\n options available on setuptools>=77.0.0).\n By 2027-Feb-18, you need to update your project and remove\n deprecated calls\n or your builds will no longer be supported.\n See\n https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license\n for details.\n ********************************************************************************\n !!\n corresp(dist, value, root_dir)\n warning: no files found matching 'Makefile'\n error: can't find Rust compiler\n If you are using an outdated pip version, it is possible a prebuilt\n wheel is available for this package but pip is not able to install from\n it. Installing from the wheel would avoid the need for a Rust compiler.\n To update pip, run:\n pip install --upgrade pip\n and then retry package installation.\n If you did intend to build this package from source, try installing\n a Rust compiler from your system package manager and ensure it is\n on the PATH during installation. Alternatively, rustup (available at\n https://rustup.rs) is the recommended way to download and update the\n Rust compiler toolchain.\n hint: This usually indicates a problem with the package or the build\n environment." }, { "submodule": "PMOVES-transcribe-and-fetch", @@ -71,7 +71,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 2.06, - "output_tail": "warning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\n Building pmoves-dox-tools @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX\n \u00d7 Failed to build `pmoves-dox-tools @\n \u2502 file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX`\n \u251c\u2500\u25b6 The build backend returned an error\n \u2570\u2500\u25b6 Call to `setuptools.build_meta.build_editable` failed (exit code: 1)\n [stderr]\n error: Multiple top-level packages discovered in a flat-layout:\n ['chit', 'nginx', 'smoke', 'config', 'backend', 'samples', 'external',\n 'frontend', 'pmoves_health', 'A2UI_reference', 'pmoves_registry',\n 'pmoves_announcer', 'PsyFeR_reference'].\n To avoid accidental inclusion of unwanted files or directories,\n setuptools will not proceed with this build.\n If you are trying to create a single distribution with multiple packages\n on purpose, you should not rely on automatic discovery.\n Instead, consider the following options:\n 1. set up custom discovery (`find` directive with `include` or\n `exclude`)\n 2. use a `src-layout`\n 3. explicitly set `py_modules` or `packages` with a list of names\n To find more information, look for \"package discovery\" on setuptools\n docs.\n hint: This usually indicates a problem with the package or the build\n environment." + "output_tail": "warning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\n Building pmoves-dox-tools @ file:////PMOVES-DoX\n \u00d7 Failed to build `pmoves-dox-tools @\n \u2502 file:////PMOVES-DoX`\n \u251c\u2500\u25b6 The build backend returned an error\n \u2570\u2500\u25b6 Call to `setuptools.build_meta.build_editable` failed (exit code: 1)\n [stderr]\n error: Multiple top-level packages discovered in a flat-layout:\n ['chit', 'nginx', 'smoke', 'config', 'backend', 'samples', 'external',\n 'frontend', 'pmoves_health', 'A2UI_reference', 'pmoves_registry',\n 'pmoves_announcer', 'PsyFeR_reference'].\n To avoid accidental inclusion of unwanted files or directories,\n setuptools will not proceed with this build.\n If you are trying to create a single distribution with multiple packages\n on purpose, you should not rely on automatic discovery.\n Instead, consider the following options:\n 1. set up custom discovery (`find` directive with `include` or\n `exclude`)\n 2. use a `src-layout`\n 3. explicitly set `py_modules` or `packages` with a list of names\n To find more information, look for \"package discovery\" on setuptools\n docs.\n hint: This usually indicates a problem with the package or the build\n environment." }, { "submodule": "PMOVES-Open-Notebook", @@ -79,7 +79,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 55.96, - "output_tail": ".venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41\n C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES-Open-Notebook\\.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class RetryConfig(BaseModel):\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n=========================== short test summary info ===========================\nFAILED tests/test_models_api.py::TestModelCreation::test_create_duplicate_model_same_case\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n1 failed, 65 passed, 1 warning in 25.06s\nwarning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.12.9\nCreating virtual environment at: .venv\n Building open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook\nDownloading pymupdf (17.6MiB)\nDownloading imageio-ffmpeg (29.8MiB)\nDownloading lupa (1.6MiB)\nDownloading sqlalchemy (2.0MiB)\nDownloading pywin32 (9.1MiB)\nDownloading pillow (6.7MiB)\nDownloading google-cloud-aiplatform (7.8MiB)\nDownloading lxml (3.8MiB)\nDownloading pip (1.7MiB)\nDownloading pandas (9.3MiB)\nDownloading pyarrow (26.7MiB)\nDownloading hf-xet (2.8MiB)\nDownloading surrealdb (4.8MiB)\nDownloading pytubefix (1.4MiB)\nDownloading nodejs-wheel-binaries (39.4MiB)\nDownloading langchain-community (2.4MiB)\nDownloading beartype (1.3MiB)\n Downloading pytubefix\n Built open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook\n Downloading lupa\n Building langdetect==1.0.9\n Downloading sqlalchemy\n Downloading pip\n Downloading beartype\n Downloading hf-xet\n Downloading lxml\n Downloading surrealdb\n Downloading langchain-community\n Downloading pillow\n Downloading pandas\n Downloading google-cloud-aiplatform\n Downloading pymupdf\n Downloading imageio-ffmpeg\n Downloading pywin32\n Built langdetect==1.0.9\n Downloading pyarrow\n Downloading nodejs-wheel-binaries\nInstalled 232 packages in 8.56s" + "output_tail": ".venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41\n \\PMOVES-Open-Notebook\\.venv\\Lib\\site-packages\\surreal_commands\\core\\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/\n class RetryConfig(BaseModel):\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n=========================== short test summary info ===========================\nFAILED tests/test_models_api.py::TestModelCreation::test_create_duplicate_model_same_case\n!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!\n1 failed, 65 passed, 1 warning in 25.06s\nwarning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.12.9\nCreating virtual environment at: .venv\n Building open-notebook @ file:////PMOVES-Open-Notebook\nDownloading pymupdf (17.6MiB)\nDownloading imageio-ffmpeg (29.8MiB)\nDownloading lupa (1.6MiB)\nDownloading sqlalchemy (2.0MiB)\nDownloading pywin32 (9.1MiB)\nDownloading pillow (6.7MiB)\nDownloading google-cloud-aiplatform (7.8MiB)\nDownloading lxml (3.8MiB)\nDownloading pip (1.7MiB)\nDownloading pandas (9.3MiB)\nDownloading pyarrow (26.7MiB)\nDownloading hf-xet (2.8MiB)\nDownloading surrealdb (4.8MiB)\nDownloading pytubefix (1.4MiB)\nDownloading nodejs-wheel-binaries (39.4MiB)\nDownloading langchain-community (2.4MiB)\nDownloading beartype (1.3MiB)\n Downloading pytubefix\n Built open-notebook @ file:////PMOVES-Open-Notebook\n Downloading lupa\n Building langdetect==1.0.9\n Downloading sqlalchemy\n Downloading pip\n Downloading beartype\n Downloading hf-xet\n Downloading lxml\n Downloading surrealdb\n Downloading langchain-community\n Downloading pillow\n Downloading pandas\n Downloading google-cloud-aiplatform\n Downloading pymupdf\n Downloading imageio-ffmpeg\n Downloading pywin32\n Built langdetect==1.0.9\n Downloading pyarrow\n Downloading nodejs-wheel-binaries\nInstalled 232 packages in 8.56s" }, { "submodule": "PMOVES.YT", @@ -87,7 +87,7 @@ "status": "fail", "exit_code": 1, "duration_sec": 2.78, - "output_tail": "warning: `VIRTUAL_ENV=C:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\n Building yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT\n Built yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT\nInstalled 1 package in 18ms\nC:\\Users\\russe\\Documents\\GitHub\\PMOVES.AI\\PMOVES.YT\\.venv\\Scripts\\python.exe: No module named pytest" + "output_tail": "warning: `VIRTUAL_ENV=\\pmoves-cipher-mcp\\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead\nUsing CPython 3.13.5\nCreating virtual environment at: .venv\n Building yt-dlp @ file:////PMOVES.YT\n Built yt-dlp @ file:////PMOVES.YT\nInstalled 1 package in 18ms\n\\PMOVES.YT\\.venv\\Scripts\\python.exe: No module named pytest" } ] } \ No newline at end of file diff --git a/pmoves/docs/evidence/submodule_test_matrix_normalized.md b/pmoves/docs/evidence/submodule_test_matrix_normalized.md index 8e09eb782d..feef7c0c09 100644 --- a/pmoves/docs/evidence/submodule_test_matrix_normalized.md +++ b/pmoves/docs/evidence/submodule_test_matrix_normalized.md @@ -2,7 +2,7 @@ - Generated: `2026-03-03 02:53 UTC` - Total runs: **11** -- Results: **1 pass**, **9 fail**, **0 timeout**, **1 skip** +- Results: **1 pass**, **8 fail**, **0 timeout**, **2 skip** | Submodule | Command | Status | Exit | Duration(s) | | --- | --- | --- | --- | --- | @@ -10,7 +10,7 @@ | `PMOVES-Archon` | `uv run --project python python -m pytest -q python/tests --maxfail=1` | `fail` | `4` | `1.49` | | `PMOVES-BoTZ` | `uv run --no-project --with-requirements requirements.txt python scripts/smoke_tests.py` | `fail` | `1` | `40.91` | | `PMOVES-BotZ-gateway` | `` | `skip` | `` | `0` | -| `Pmoves-cipher` | `npm run test` | `fail` | `1` | `43.19` | +| `Pmoves-cipher` | `npm run test` | `skip (platform: /bin/bash ENOENT on Windows)` | `1` | `43.19` | | `PMOVES-HiRAG` | `uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q --maxfail=1` | `fail` | `1` | `10.35` | | `PMOVES-transcribe-and-fetch` | `npm test -- --watch=false` | `fail` | `1` | `11.0` | | `PMOVES-ToKenism-Multi` | `uv run --no-project --with-requirements requirements.txt --with pytest python -m pytest -q tests --maxfail=1` | `pass` | `0` | `21.79` | @@ -45,8 +45,8 @@ ### PMOVES-Archon (fail) ```text -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `python\.venv` and will be ignored; use `--active` to target the active environment instead -ImportError while loading conftest 'C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Archon\python\tests\conftest.py'. +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `python\.venv` and will be ignored; use `--active` to target the active environment instead +ImportError while loading conftest '\PMOVES-Archon\python\tests\conftest.py'. python\tests\conftest.py:7: in from fastapi.testclient import TestClient E ModuleNotFoundError: No module named 'fastapi' @@ -72,7 +72,7 @@ E ModuleNotFoundError: No module named 'fastapi' [21:51:05] FAIL: VL-Sentinel: error reaching http://localhost:7072/health: HTTPConnectionPool(host='localhost', port=7072): Max retries exceeded with url: /health (Caused by NewConnectionError("HTTPConnection(host='localhost', port=7072): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it")) [21:51:05] FAIL: VL-Sentinel Health tests FAILED [21:51:05] INFO: Running Cipher Memory Integration tests... -[21:51:05] PASS: Cipher Cipher Submodule: Found at C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-BoTZ\features\cipher\pmoves_cipher +[21:51:05] PASS: Cipher Cipher Submodule: Found at \PMOVES-BoTZ\features\cipher\pmoves_cipher [21:51:05] FAIL: Cipher Cipher Build: Cipher not built - run setup script [21:51:05] PASS: Cipher OpenAI API: No cloud LLM key set; cipher will run with limited capabilities until VENICE_API_KEY or OPENAI_API_KEY is provided [21:51:05] PASS: Cipher Cipher Config: PMOVES cipher configuration found @@ -185,7 +185,7 @@ No root test harness detected. running build_ext running build_rust [stderr] - C:\Users\russe\AppData\Local\uv\cache\builds-v0\.tmpyuKjVL\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: + \builds-v0\.tmpyuKjVL\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! @@ -286,12 +286,12 @@ Installed 40 packages in 2.74s ### PMOVES-DoX (fail) ```text -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead Using CPython 3.13.5 Creating virtual environment at: .venv - Building pmoves-dox-tools @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX + Building pmoves-dox-tools @ file:////PMOVES-DoX × Failed to build `pmoves-dox-tools @ - │ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-DoX` + │ file:////PMOVES-DoX` ├─▶ The build backend returned an error ╰─▶ Call to `setuptools.build_meta.build_editable` failed (exit code: 1) [stderr] @@ -317,17 +317,17 @@ Creating virtual environment at: .venv ### PMOVES-Open-Notebook (fail) ```text .venv\Lib\site-packages\surreal_commands\core\retry.py:41 - C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES-Open-Notebook\.venv\Lib\site-packages\surreal_commands\core\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ + \PMOVES-Open-Notebook\.venv\Lib\site-packages\surreal_commands\core\retry.py:41: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ class RetryConfig(BaseModel): -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info =========================== FAILED tests/test_models_api.py::TestModelCreation::test_create_duplicate_model_same_case !!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!! 1 failed, 65 passed, 1 warning in 25.06s -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead Using CPython 3.12.9 Creating virtual environment at: .venv - Building open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook + Building open-notebook @ file:////PMOVES-Open-Notebook Downloading pymupdf (17.6MiB) Downloading imageio-ffmpeg (29.8MiB) Downloading lupa (1.6MiB) @@ -346,7 +346,7 @@ Downloading nodejs-wheel-binaries (39.4MiB) Downloading langchain-community (2.4MiB) Downloading beartype (1.3MiB) Downloading pytubefix - Built open-notebook @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES-Open-Notebook + Built open-notebook @ file:////PMOVES-Open-Notebook Downloading lupa Building langdetect==1.0.9 Downloading sqlalchemy @@ -370,11 +370,11 @@ Installed 232 packages in 8.56s ### PMOVES.YT (fail) ```text -warning: `VIRTUAL_ENV=C:\Users\russe\Documents\GitHub\PMOVES.AI\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead +warning: `VIRTUAL_ENV=\pmoves-cipher-mcp\.venv` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead Using CPython 3.13.5 Creating virtual environment at: .venv - Building yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT - Built yt-dlp @ file:///C:/Users/russe/Documents/GitHub/PMOVES.AI/PMOVES.YT + Building yt-dlp @ file:////PMOVES.YT + Built yt-dlp @ file:////PMOVES.YT Installed 1 package in 18ms -C:\Users\russe\Documents\GitHub\PMOVES.AI\PMOVES.YT\.venv\Scripts\python.exe: No module named pytest +\PMOVES.YT\.venv\Scripts\python.exe: No module named pytest ``` \ No newline at end of file