E2E provisioning tests from fix commit a25a277 deleted from codebase #261

Closed
opened 2026-07-22 18:34:29 +00:00 by Mark · 1 comment
Owner

Finding from post-deploy probe (kanban task t_d1c34183)

The fix commit a25a277 (feat: Complete Phase 2.1 provisioning loop closure, landed 2026-07-16) added E2E provisioning tests at tests/e2e/test_provisioning_loop.py to verify the ephemeral worker lifecycle. However, during a post-deploy probe on 2026-07-22, this file no longer exists in the working tree.

Repository: Mark/mesh-seed

Actual behavior: tests/e2e/test_provisioning_loop.py is missing from the repository — it does not appear in git ls-tree HEAD tests/e2e/ and cannot be found by file search on origin/master.

Expected behavior: The E2E provisioning tests should still exist in the codebase to provide regression coverage for the Phase 2.1 ephemeral worker provisioning loop. Removing verification tests reduces confidence that the fix continues to work as the codebase evolves.

Reproduction steps:

  1. Check out origin/master of Mark/mesh-seed
  2. Run ls tests/e2e/test_provisioning_loop.py
  3. Observe that the file does not exist
  4. Check git log --all -- tests/e2e/test_provisioning_loop.py — confirm the file was part of commit a25a277 but has since been deleted

Suggested action:

  • Investigate whether the tests were intentionally removed (perhaps replaced by different test coverage) or accidentally lost during a rebase/merge conflict resolution
  • If intentionally removed, document the replacement coverage or rationale
  • If accidentally lost, restore the tests from commit a25a277 and ensure they pass

Kanban card: t_d1c34183

**Finding from post-deploy probe (kanban task t_d1c34183)** The fix commit `a25a277` (feat: Complete Phase 2.1 provisioning loop closure, landed 2026-07-16) added E2E provisioning tests at `tests/e2e/test_provisioning_loop.py` to verify the ephemeral worker lifecycle. However, during a post-deploy probe on 2026-07-22, this file no longer exists in the working tree. **Repository:** Mark/mesh-seed **Actual behavior:** `tests/e2e/test_provisioning_loop.py` is missing from the repository — it does not appear in `git ls-tree HEAD tests/e2e/` and cannot be found by file search on `origin/master`. **Expected behavior:** The E2E provisioning tests should still exist in the codebase to provide regression coverage for the Phase 2.1 ephemeral worker provisioning loop. Removing verification tests reduces confidence that the fix continues to work as the codebase evolves. **Reproduction steps:** 1. Check out `origin/master` of Mark/mesh-seed 2. Run `ls tests/e2e/test_provisioning_loop.py` 3. Observe that the file does not exist 4. Check `git log --all -- tests/e2e/test_provisioning_loop.py` — confirm the file was part of commit a25a277 but has since been deleted **Suggested action:** - Investigate whether the tests were intentionally removed (perhaps replaced by different test coverage) or accidentally lost during a rebase/merge conflict resolution - If intentionally removed, document the replacement coverage or rationale - If accidentally lost, restore the tests from commit a25a277 and ensure they pass **Kanban card:** t_d1c34183
Author
Owner

Investigation complete (tasker-worker via kanban t_03a4e422): the tests were INTENTIONALLY removed, not lost.

What happened: tests/e2e/test_provisioning_loop.py was added in a25a277 (2026-03-21) and deleted in commit ee5b7db (2026-04-10, "Fix: Worker process spawning and Docker-based E2E test"). That commit's message explicitly says "Deleted 64 fake tests that gave false confidence" — this file was part of that deliberate cleanup. It was not lost in a rebase/merge conflict.

Replacement coverage exists and is more comprehensive:

  • tests/integration/test_provisioning_flow.py (1079 lines, 33 tests): reliability guard (idempotency, retry budget, deadline, cooldown, lease — 17 tests), full provisioning flow (starvation → provision intent → bid/claim → spawn → result, 5 tests), edge cases (duplicate intent, spawn failure, deadline exceeded, worker crash, backoff, bond forfeiture — 8 tests), bone registration (4 tests).
  • tests/e2e/test_full_integration.py: test_starvation_emitted_when_no_workers + test_no_starvation_when_worker_exists.
  • tests/e2e/test_mesh_node_e2e.py: real intent→result flow with actual process spawn.

The old file's key scenario (factory defines, router finds eligible after provisioning) is covered by TestProvisioningFlow::test_full_lifecycle_with_spawn and test_starvation_emits_provision_intent.

The old file cannot be restored as-is: it imports capabilities._muscle.worker_factory.run — the capabilities/ tree was renamed to primitives/ (factory now lives at primitives/_muscle/worker_factory/run.py). Restoring verbatim would fail collection.

Verification on clean origin/master: 32/33 tests in the replacement integration suite pass. The 1 failure (test_full_lifecycle_with_spawn) and the analogous test_mesh_node_e2e.py::test_full_intent_to_result_flow failure are caused by a pre-existing schema-drift bug — agents table missing the embedding column that AgentView.__getitem__ (substrate/ledger/core.py:4506) reads → IndexError: No item with that key on every claim validation. That bug is already tracked separately in #260 and #258.

Conclusion: regression coverage for the Phase 2.1 provisioning loop exists and is stronger than the deleted file's. No restore needed. The remaining red test is the separately-tracked schema drift, not a gap from this deletion.

**Investigation complete (tasker-worker via kanban t_03a4e422): the tests were INTENTIONALLY removed, not lost.** **What happened:** `tests/e2e/test_provisioning_loop.py` was added in a25a277 (2026-03-21) and deleted in commit `ee5b7db` (2026-04-10, "Fix: Worker process spawning and Docker-based E2E test"). That commit's message explicitly says "Deleted 64 fake tests that gave false confidence" — this file was part of that deliberate cleanup. It was not lost in a rebase/merge conflict. **Replacement coverage exists and is more comprehensive:** - `tests/integration/test_provisioning_flow.py` (1079 lines, 33 tests): reliability guard (idempotency, retry budget, deadline, cooldown, lease — 17 tests), full provisioning flow (starvation → provision intent → bid/claim → spawn → result, 5 tests), edge cases (duplicate intent, spawn failure, deadline exceeded, worker crash, backoff, bond forfeiture — 8 tests), bone registration (4 tests). - `tests/e2e/test_full_integration.py`: `test_starvation_emitted_when_no_workers` + `test_no_starvation_when_worker_exists`. - `tests/e2e/test_mesh_node_e2e.py`: real intent→result flow with actual process spawn. The old file's key scenario (factory defines, router finds eligible after provisioning) is covered by `TestProvisioningFlow::test_full_lifecycle_with_spawn` and `test_starvation_emits_provision_intent`. **The old file cannot be restored as-is:** it imports `capabilities._muscle.worker_factory.run` — the `capabilities/` tree was renamed to `primitives/` (factory now lives at `primitives/_muscle/worker_factory/run.py`). Restoring verbatim would fail collection. **Verification on clean origin/master:** 32/33 tests in the replacement integration suite pass. The 1 failure (`test_full_lifecycle_with_spawn`) and the analogous `test_mesh_node_e2e.py::test_full_intent_to_result_flow` failure are caused by a pre-existing schema-drift bug — `agents` table missing the `embedding` column that `AgentView.__getitem__` (substrate/ledger/core.py:4506) reads → `IndexError: No item with that key` on every claim validation. That bug is already tracked separately in #260 and #258. **Conclusion:** regression coverage for the Phase 2.1 provisioning loop exists and is stronger than the deleted file's. No restore needed. The remaining red test is the separately-tracked schema drift, not a gap from this deletion.
Mark closed this issue 2026-07-31 03:58:33 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/mesh-seed#261
No description provided.