4 e2e tests in tests/e2e/test_full_integration.py fail with sqlite3.ProgrammingError: type 'dict' is not supported (upsert_intent signature drift) #262
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#262
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
4 tests in
tests/e2e/test_full_integration.pyfail deterministically with:Failing tests:
TestFullLifecycle::test_happy_path_intent_to_resultTestBondMechanics::test_bond_released_on_completionTestLedgerDurability::test_intent_state_tracked_in_ledgerTestLedgerDurability::test_ledger_reloads_stateRoot cause
The test file (added 2026-07-14, commit
074c375) calls the stale 2-argument form:but the current signature (since commit
b6695c02, 2026-03-31) is the 3-argument form:The dict literal binds to the
statusparameter, which is written straight into a SQLitebind parameter ->
type 'dict' is not supported. Sibling test files(
tests/e2e/test_backpressure_e2e.py,tests/e2e/test_archive_api_endpoints.py,tests/ledger/test_ledger.py... as applicable) use the correct 3-argument form, confirmingthe drift is local to
tests/e2e/test_full_integration.py.Reproduction
Observed: 4 tests fail with
sqlite3.ProgrammingError: Error binding parameter 2: type 'dict' is not supported.Expected: all tests pass (the ledger API accepts intent records correctly).
Impact
Origin
Found by post-deploy probe for issue #261 (kanban card t_a14ba569). Probe phase 4 — full details in the probe comment on that card. Fixer verification for #261 itself passed (issue closed, replacement coverage 32/33 pass); this defect is separate.
Suggested direction
Update the 4 call sites in
tests/e2e/test_full_integration.pyto the 3-argumentupsert_intent(intent_id, status, intent)form (mirroring the sibling e2e/ledger tests).Fixed: updated
upsert_intentcall sites intests/e2e/test_full_integration.pyto use the current 3-argument signature(intent_id, status, intent)and switchedget_intent()result access from dict-stylerecord["status"]to attribute accessrecord.status.Commits:
116bcb4(upsert_intent args) +55be8c3(IntentRecord attribute access).Verified:
TestLedgerDurability::test_intent_state_tracked_in_ledgerandTestLedgerDurability::test_ledger_reloads_statenow pass. The other 2 failing tests (TestFullLifecycle,TestBondMechanics) are pre-existing failures unrelated to the signature drift.