2.9 KiB
QA Results: Community Policy Engine (m10-community-policy-engine)
Test Execution
Unit Tests (lib)
- Result: PASS
- Count: 1355 passed, 0 failed
- Command:
cargo test --manifest-path tidal/Cargo.toml --lib
Integration Tests: M10 Community Policy
- Result: PASS
- Count: 10/10 passed
- Command:
cargo test --manifest-path tidal/Cargo.toml --test m10_community_policy - Tests: I1–I10 (all spec scenarios from the QA plan)
Integration Tests: M5 UAT
- Result: PASS
- Count: 9/9 passed
Integration Tests: M6 UAT
- Result: PASS
- Count: 9/9 passed
Integration Tests: M7 UAT
- Result: PASS
- Count: 10/10 passed
- Flag:
--features test-utils
Integration Tests: M8 UAT
- Result: PASS
- Count: 8/8 passed
- Flag:
--features test-utils
Code Quality
cargo fmt
- Result: PASS — no formatting diffs after
cargo fmtapplied
cargo clippy -D warnings
- Result: PASS — one collapsible-if in
db/from_parts.rswas collapsed as suggested; no warnings or errors remain
Issues Encountered and Resolved
-
read_decay_scoredecay_rate_idx bug (I1): Test was callingread_decay_score(entity, "view", ts.as_nanos())wherets.as_nanos()is1_000_000_000— used as a decay rate index instead of0. Fixed by using0andTimestamp::now()for the signal write so exponential decay does not reduce the score to zero. -
Universe bitmap not populated (I5, I6):
Retrieve::builder().profile("new")scans the universe bitmap, which only contains entities registered viawrite_item_with_metadata. Tests were writing signals without registering items. Fixed by addingwrite_item_with_metadatacalls before retrieve queries. -
Module ambiguity (
entities/revocation.rsvsentities/revocation/): Both a flatrevocation.rsand arevocation/directory withmod.rs+tests.rsexisted simultaneously. The flat file was the stale version; it was removed. No functional impact. -
Collapsible-if lint (
db/from_parts.rs:88): Nestedif let Some+if .is_none()blocks collapsed to a singleif let Some(...) && .is_none()expression per clippy suggestion. -
m7_uat.rs AgentPolicy struct literal missing new fields:
AgentPolicygained new fields (allowed_read_signals,denied_read_signals,allowed_user_attributes,denied_user_attributes,allowed_profile_overrides) during M10 agent capability boundary work. The m7_uat.rs tests used explicit struct literal syntax without these fields. Fixed by adding..AgentPolicy::default()spread to both struct literals — no behavioral change.
Summary
All quality gates pass. The implementation is complete, correct, and production-ready.
| Gate | Result |
|---|---|
| lib tests (1355) | PASS |
| M10 integration (10) | PASS |
| M5 UAT (9) | PASS |
| M6 UAT (9) | PASS |
| M7 UAT (10) | PASS |
| M8 UAT (8) | PASS |
| cargo fmt | PASS |
| cargo clippy -D warnings | PASS |