feat(engine): integrate ADR-135..141 into an end-to-end trust pipeline

- signal/calibration.rs: BaselineCalibration gains calibration_id()/
  calibration_uuid()/apply() — the ADR-135->136 link that stamps
  FrameMeta.calibration_id (deterministic id, no serialization change). +1 test.
- NEW crate wifi-densepose-engine: StreamingEngine::process_cycle() composes
  fuse_scored (137) -> calibration provenance (135/136) -> privacy demotion on
  contradiction (141) -> WorldGraph SemanticState with mandatory provenance +
  DerivedFrom edge (139). Returns TrustedOutput (the trust chain made concrete).
- Validates the throughline: every output names evidence + model + calibration
  + privacy decision; calibration_id flows input->QualityScore->provenance;
  contradiction demotes class; deterministic; privacy mode attested.
- 4 integration tests; workspace 0 errors; signal 410 lib tests pass.

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
ruv
2026-05-29 08:21:48 -04:00
parent f2e9e2f2bd
commit 2eada40e3b
6 changed files with 413 additions and 0 deletions
Generated
+12
View File
@@ -10652,6 +10652,17 @@ dependencies = [
"uuid",
]
[[package]]
name = "wifi-densepose-engine"
version = "0.3.0"
dependencies = [
"wifi-densepose-bfld",
"wifi-densepose-core",
"wifi-densepose-geo",
"wifi-densepose-signal",
"wifi-densepose-worldgraph",
]
[[package]]
name = "wifi-densepose-geo"
version = "0.1.0"
@@ -10826,6 +10837,7 @@ dependencies = [
"serde_json",
"sha2",
"thiserror 2.0.18",
"uuid",
"wifi-densepose-core",
"wifi-densepose-ruvector",
]