Pre-check key existence before delete to return accurate deleted count. This unblocks integration tests while proper RaftResponse propagation is deferred to T053. - Single key: check exists via state_machine.kv().get() - Range: count keys via state_machine.kv().range() - Returns deleted=1 if key existed, deleted=0 otherwise Integration tests now pass: 3/3 ✓ Refs: T059.S2 Option A (approved by PeerA)
33 lines
1.2 KiB
YAML
33 lines
1.2 KiB
YAML
id: T059
|
|
name: Critical Audit Fix
|
|
goal: Fix 3 critical failures blocking MVP-Alpha (creditservice compile, chainfire tests, iam tests)
|
|
status: active
|
|
priority: P0
|
|
assigned: peerB
|
|
steps:
|
|
- id: S1
|
|
name: Fix creditservice chainfire_storage.rs
|
|
done: creditservice compiles (cargo check passes)
|
|
status: complete
|
|
notes: |
|
|
PeerB fixed: Replaced txn() calls with compare_and_swap() and put().
|
|
Verified: creditservice-api compiles with warnings only.
|
|
- id: S2
|
|
name: Fix chainfire DELETE operation
|
|
done: chainfire integration tests pass (3/3)
|
|
status: in_progress
|
|
notes: |
|
|
Root cause: kv_service.rs:151 hardcodes `deleted: 0` instead of actual count.
|
|
Approved fix: Option A - pre-check existence via Range (~10L change).
|
|
PeerB implementing.
|
|
- id: S3
|
|
name: Fix iam module visibility
|
|
done: iam tests pass (tenant_path_integration)
|
|
status: pending
|
|
notes: |
|
|
iam_service module is private but tests import it at tenant_path_integration.rs:12.
|
|
Fix: Change `mod iam_service;` to `pub mod iam_service;` in lib.rs.
|
|
- id: S4
|
|
name: Full test suite verification
|
|
done: All 11 workspaces compile AND tests pass
|
|
status: pending
|