ciris-server 0.5.83__tar.gz → 0.5.85__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. {ciris_server-0.5.83 → ciris_server-0.5.85}/Cargo.lock +6 -5
  2. {ciris_server-0.5.83 → ciris_server-0.5.85}/Cargo.toml +25 -5
  3. {ciris_server-0.5.83 → ciris_server-0.5.85}/PKG-INFO +3 -3
  4. {ciris_server-0.5.83 → ciris_server-0.5.85}/README.md +2 -2
  5. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/Cargo.toml +2 -2
  6. {ciris_server-0.5.83 → ciris_server-0.5.85}/evidence/cc_impl.tsv +57 -57
  7. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/accord.rs +49 -180
  8. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/accord_provision.rs +18 -29
  9. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/compose.rs +150 -1
  10. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/identity.rs +64 -4
  11. ciris_server-0.5.85/src/memory_api.rs +1288 -0
  12. ciris_server-0.5.85/src/safety/infohazard.rs +904 -0
  13. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/safety/mod.rs +20 -2
  14. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/accord.rs +9 -3
  15. ciris_server-0.5.85/tests/ceg_graph_projection.rs +213 -0
  16. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/support.rs +2 -2
  17. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/safety.rs +560 -1
  18. ciris_server-0.5.83/src/memory_api.rs +0 -670
  19. {ciris_server-0.5.83 → ciris_server-0.5.85}/.cargo/config.toml +0 -0
  20. {ciris_server-0.5.83 → ciris_server-0.5.85}/.claude/workflows/localize-ui.js +0 -0
  21. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/bench.yml +0 -0
  22. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/build-wheels.yml +0 -0
  23. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/ci.yml +0 -0
  24. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/client-artifacts.yml +0 -0
  25. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/conformance.yml +0 -0
  26. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/localization.yml +0 -0
  27. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/publish-pypi.yml +0 -0
  28. {ciris_server-0.5.83 → ciris_server-0.5.85}/.github/workflows/release.yml +0 -0
  29. {ciris_server-0.5.83 → ciris_server-0.5.85}/.gitignore +0 -0
  30. {ciris_server-0.5.83 → ciris_server-0.5.85}/CHANGELOG.md +0 -0
  31. {ciris_server-0.5.83 → ciris_server-0.5.85}/LICENSE +0 -0
  32. {ciris_server-0.5.83 → ciris_server-0.5.85}/MISSION.md +0 -0
  33. {ciris_server-0.5.83 → ciris_server-0.5.85}/WIRE_VOCABULARY_KINDS.md +0 -0
  34. {ciris_server-0.5.83 → ciris_server-0.5.85}/bench-site/bench_results.json +0 -0
  35. {ciris_server-0.5.83 → ciris_server-0.5.85}/bench-site/index.html +0 -0
  36. {ciris_server-0.5.83 → ciris_server-0.5.85}/bench_results.json +0 -0
  37. {ciris_server-0.5.83 → ciris_server-0.5.85}/benches/alm_chain.rs +0 -0
  38. {ciris_server-0.5.83 → ciris_server-0.5.85}/benches/erasure_survival.rs +0 -0
  39. {ciris_server-0.5.83 → ciris_server-0.5.85}/benches/n_eff_scoring.rs +0 -0
  40. {ciris_server-0.5.83 → ciris_server-0.5.85}/benches/pqc_av_streaming.rs +0 -0
  41. {ciris_server-0.5.83 → ciris_server-0.5.85}/benches/replication_ingest.rs +0 -0
  42. {ciris_server-0.5.83 → ciris_server-0.5.85}/benches/sig_overhead.rs +0 -0
  43. {ciris_server-0.5.83 → ciris_server-0.5.85}/benches/stream_fanout.rs +0 -0
  44. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/.github/workflows/bench.yml +0 -0
  45. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/.github/workflows/ci.yml +0 -0
  46. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/.gitignore +0 -0
  47. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/.pre-commit-config.yaml +0 -0
  48. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/FSD/CIRIS_LENS_CORE.md +0 -0
  49. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/FSD/LENS_CORE_V0_5.md +0 -0
  50. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/FSD/OPEN_QUESTIONS.md +0 -0
  51. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/LICENSE +0 -0
  52. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/MISSION.md +0 -0
  53. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/README.md +0 -0
  54. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/benches/aggregate.rs +0 -0
  55. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/benches/canonicalize.rs +0 -0
  56. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/benches/project.rs +0 -0
  57. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/deny.toml +0 -0
  58. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/BENCHMARKS.md +0 -0
  59. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/COHABITATION.md +0 -0
  60. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/PRE_COMMIT.md +0 -0
  61. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/PUBLIC_SCHEMA_CONTRACT.md +0 -0
  62. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/PYPI_PUBLISH.md +0 -0
  63. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/RELEASE_NOTES.md +0 -0
  64. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/STANDARDS_COMPARISON.md +0 -0
  65. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/docs/THREAT_MODEL.md +0 -0
  66. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/extraction/json_path.rs +0 -0
  67. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/extraction/metadata.rs +0 -0
  68. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/extraction/mod.rs +0 -0
  69. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/distilbert_loader.rs +0 -0
  70. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/fields.rs +0 -0
  71. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/mod.rs +0 -0
  72. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/ner.rs +0 -0
  73. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/ort_loader.rs +0 -0
  74. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/proptests.rs +0 -0
  75. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/regex.rs +0 -0
  76. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/walker.rs +0 -0
  77. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/xlm_r_loader.rs +0 -0
  78. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/pyproject.toml +0 -0
  79. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/python/ciris_lens_core/__init__.py +0 -0
  80. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/audit/api.rs +0 -0
  81. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/audit/delegate.rs +0 -0
  82. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/audit/mod.rs +0 -0
  83. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/audit/pyo3.rs +0 -0
  84. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/canonical/ceg_egress.rs +0 -0
  85. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/canonical/mod.rs +0 -0
  86. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capacity/attestation.rs +0 -0
  87. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capacity/mod.rs +0 -0
  88. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capacity/score.rs +0 -0
  89. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/batch.rs +0 -0
  90. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/client.rs +0 -0
  91. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/consent.rs +0 -0
  92. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/correlation.rs +0 -0
  93. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/event.rs +0 -0
  94. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/mod.rs +0 -0
  95. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/partial.rs +0 -0
  96. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/py_engine.rs +0 -0
  97. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/capture/seal.rs +0 -0
  98. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/cohort/declared.rs +0 -0
  99. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/cohort/mod.rs +0 -0
  100. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/cohort/resourcing.rs +0 -0
  101. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/config/egress.rs +0 -0
  102. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/config/mod.rs +0 -0
  103. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/config/node.rs +0 -0
  104. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/config/retention.rs +0 -0
  105. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/config/upstream.rs +0 -0
  106. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/detector/axis_metrics.rs +0 -0
  107. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/detector/coherence_ratchet.rs +0 -0
  108. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/detector/correlated_action.rs +0 -0
  109. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/detector/distributive_access.rs +0 -0
  110. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/detector/manifold.rs +0 -0
  111. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/detector/mod.rs +0 -0
  112. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/extract/mod.rs +0 -0
  113. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/extract/projection.rs +0 -0
  114. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/ffi/mod.rs +0 -0
  115. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/ffi/pyo3.rs +0 -0
  116. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/lib.rs +0 -0
  117. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/observability/mod.rs +0 -0
  118. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/pipeline/lifecycle.rs +0 -0
  119. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/pipeline/mod.rs +0 -0
  120. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/retention/eviction.rs +0 -0
  121. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/retention/mod.rs +0 -0
  122. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/retention/summary.rs +0 -0
  123. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/role/handler.rs +0 -0
  124. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/role/mod.rs +0 -0
  125. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/role/node.rs +0 -0
  126. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/role/relay.rs +0 -0
  127. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/role/ret_relay.rs +0 -0
  128. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scores/aggregate.rs +0 -0
  129. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scores/mod.rs +0 -0
  130. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scores/oracle.rs +0 -0
  131. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scoring/assembly.rs +0 -0
  132. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scoring/axis_calibration.rs +0 -0
  133. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scoring/calibration.rs +0 -0
  134. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scoring/capacity.rs +0 -0
  135. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scoring/mod.rs +0 -0
  136. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scoring/n_eff.rs +0 -0
  137. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/scoring/result.rs +0 -0
  138. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/signing/event.rs +0 -0
  139. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/signing/mod.rs +0 -0
  140. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/wire/mod.rs +0 -0
  141. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/src/wire/signer.rs +0 -0
  142. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/tests/parity/README.md +0 -0
  143. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/tests/parity/canonical_fixtures.json +0 -0
  144. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/tests/parity/generate_canonical_fixtures.py +0 -0
  145. {ciris_server-0.5.83 → ciris_server-0.5.85}/crates/ciris-lens-core/tests/sovereign_rlib.rs +0 -0
  146. {ciris_server-0.5.83 → ciris_server-0.5.85}/data/live_mesh_2026-06-22.json +0 -0
  147. {ciris_server-0.5.83 → ciris_server-0.5.85}/docs/SCOPE_PRIVACY.md +0 -0
  148. {ciris_server-0.5.83 → ciris_server-0.5.85}/evidence/README.md +0 -0
  149. {ciris_server-0.5.83 → ciris_server-0.5.85}/examples/mesh_propagation/main.rs +0 -0
  150. {ciris_server-0.5.83 → ciris_server-0.5.85}/examples/qa_runner/accord.rs +0 -0
  151. {ciris_server-0.5.83 → ciris_server-0.5.85}/examples/qa_runner/common.rs +0 -0
  152. {ciris_server-0.5.83 → ciris_server-0.5.85}/examples/qa_runner/family.rs +0 -0
  153. {ciris_server-0.5.83 → ciris_server-0.5.85}/examples/qa_runner/main.rs +0 -0
  154. {ciris_server-0.5.83 → ciris_server-0.5.85}/examples/qa_runner/verify.rs +0 -0
  155. {ciris_server-0.5.83 → ciris_server-0.5.85}/installers/windows/README.md +0 -0
  156. {ciris_server-0.5.83 → ciris_server-0.5.85}/installers/windows/bundle-jre.ps1 +0 -0
  157. {ciris_server-0.5.83 → ciris_server-0.5.85}/installers/windows/ciris-server-entry.py +0 -0
  158. {ciris_server-0.5.83 → ciris_server-0.5.85}/installers/windows/ciris-server-installer.iss +0 -0
  159. {ciris_server-0.5.83 → ciris_server-0.5.85}/installers/windows/ciris-server.spec +0 -0
  160. {ciris_server-0.5.83 → ciris_server-0.5.85}/pyproject.toml +0 -0
  161. {ciris_server-0.5.83 → ciris_server-0.5.85}/python/ciris_server/__init__.py +0 -0
  162. {ciris_server-0.5.83 → ciris_server-0.5.85}/python/ciris_server/__main__.py +0 -0
  163. {ciris_server-0.5.83 → ciris_server-0.5.85}/python/ciris_server/cli.py +0 -0
  164. {ciris_server-0.5.83 → ciris_server-0.5.85}/python/ciris_server/desktop_launcher.py +0 -0
  165. {ciris_server-0.5.83 → ciris_server-0.5.85}/rust-toolchain.toml +0 -0
  166. {ciris_server-0.5.83 → ciris_server-0.5.85}/scripts/bench_report.py +0 -0
  167. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/accord_custody.rs +0 -0
  168. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/accord_halt.rs +0 -0
  169. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/accord_pki/yubico_attestation_root_1.der +0 -0
  170. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/accord_pki/yubico_attestation_root_1.pem +0 -0
  171. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/accord_reactivate.rs +0 -0
  172. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/adapter.rs +0 -0
  173. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/ABSORPTION.md +0 -0
  174. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/api_keys.rs +0 -0
  175. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/attestation.rs +0 -0
  176. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/bootstrap.rs +0 -0
  177. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/consent.rs +0 -0
  178. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/device_auth.rs +0 -0
  179. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/device_grant.rs +0 -0
  180. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/erasure.rs +0 -0
  181. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/gate.rs +0 -0
  182. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/loopback.rs +0 -0
  183. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/mod.rs +0 -0
  184. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/oauth.rs +0 -0
  185. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/occurrence.rs +0 -0
  186. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/ownership.rs +0 -0
  187. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/portable_occurrence.rs +0 -0
  188. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/roles.rs +0 -0
  189. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/self_login.rs +0 -0
  190. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/session.rs +0 -0
  191. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/store.rs +0 -0
  192. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/auth/verify.rs +0 -0
  193. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/benchmarks/bench_results.rs +0 -0
  194. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/benchmarks/mesh.rs +0 -0
  195. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/benchmarks/mod.rs +0 -0
  196. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/benchmarks/scoreboard.rs +0 -0
  197. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/claim_remote.rs +0 -0
  198. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/config.rs +0 -0
  199. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/config_api.rs +0 -0
  200. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/config_reconcile.rs +0 -0
  201. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/delegation_transparency.rs +0 -0
  202. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/family.rs +0 -0
  203. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/federation_admin.rs +0 -0
  204. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/federation_nodecode.rs +0 -0
  205. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/federation_peers.rs +0 -0
  206. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/graph_config.rs +0 -0
  207. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/health.rs +0 -0
  208. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/holonomic.rs +0 -0
  209. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/http_log.rs +0 -0
  210. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/ids.rs +0 -0
  211. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/import.rs +0 -0
  212. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/ingest_http.rs +0 -0
  213. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/lib.rs +0 -0
  214. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/main.rs +0 -0
  215. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/mesh_relay.rs +0 -0
  216. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/nodecode.rs +0 -0
  217. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/peer.rs +0 -0
  218. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/proxy.rs +0 -0
  219. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/py_adapter.rs +0 -0
  220. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/quorum.rs +0 -0
  221. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/radio.rs +0 -0
  222. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/replication_reconcile.rs +0 -0
  223. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/safety/age.rs +0 -0
  224. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/safety/moderation.rs +0 -0
  225. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/safety/named.rs +0 -0
  226. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/safety/watchlist.rs +0 -0
  227. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/scorer/n_eff.rs +0 -0
  228. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/scorer.rs +0 -0
  229. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/system_data.rs +0 -0
  230. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/telemetry_logs.rs +0 -0
  231. {ciris_server-0.5.83 → ciris_server-0.5.85}/src/yubico_attestation_ca.pem +0 -0
  232. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/accord_admit_node.rs +0 -0
  233. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/alm_chain.rs +0 -0
  234. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/audit_chain.rs +0 -0
  235. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/capacity_scorer.rs +0 -0
  236. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/chaos_mesh.rs +0 -0
  237. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/claim_remote.rs +0 -0
  238. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/config_reconcile.rs +0 -0
  239. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/device_grant.rs +0 -0
  240. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/federation_admin.rs +0 -0
  241. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/federation_session_kex.rs +0 -0
  242. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/graph_config.rs +0 -0
  243. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/ingest_http.rs +0 -0
  244. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/mesh_seed_e2e.rs +0 -0
  245. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/mesh_seed_keyplane_e2e.rs +0 -0
  246. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/nat_traversal.rs +0 -0
  247. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/nodecode.rs +0 -0
  248. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/noise_floor.rs +0 -0
  249. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/noise_floor_verdicts.rs +0 -0
  250. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/occurrence.rs +0 -0
  251. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/ownership.rs +0 -0
  252. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/peer_replication.rs +0 -0
  253. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/portable_occurrence.rs +0 -0
  254. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage1.rs +0 -0
  255. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage2.rs +0 -0
  256. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage3.rs +0 -0
  257. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage4.rs +0 -0
  258. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage5.rs +0 -0
  259. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage6.rs +0 -0
  260. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage7.rs +0 -0
  261. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates/stage8.rs +0 -0
  262. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/release_gates.rs +0 -0
  263. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/replication.rs +0 -0
  264. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/replication_reconcile.rs +0 -0
  265. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/root_bootstrap.rs +0 -0
  266. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/stream_sth_consistency.rs +0 -0
  267. {ciris_server-0.5.83 → ciris_server-0.5.85}/tests/wire_vocabulary_gate.rs +0 -0
  268. {ciris_server-0.5.83 → ciris_server-0.5.85}/tools/audit_cohort_scope_callers.py +0 -0
  269. {ciris_server-0.5.83 → ciris_server-0.5.85}/tools/check_evidence.py +0 -0
@@ -793,8 +793,8 @@ dependencies = [
793
793
 
794
794
  [[package]]
795
795
  name = "ciris-edge"
796
- version = "9.1.2"
797
- source = "git+https://github.com/CIRISAI/CIRISEdge?tag=v9.1.2#f045e0ce73dda711dbbd65faf3e4f9dbb3283c3e"
796
+ version = "9.1.4"
797
+ source = "git+https://github.com/CIRISAI/CIRISEdge?tag=v9.1.4#7eb24431004e7a49aad950855fd5c4836c622918"
798
798
  dependencies = [
799
799
  "async-trait",
800
800
  "axum",
@@ -911,8 +911,8 @@ dependencies = [
911
911
 
912
912
  [[package]]
913
913
  name = "ciris-persist"
914
- version = "13.2.0"
915
- source = "git+https://github.com/CIRISAI/CIRISPersist?tag=v13.2.0#3f1506d42b67332a7fdcd3a6eca7d10dd25b9b83"
914
+ version = "13.3.1"
915
+ source = "git+https://github.com/CIRISAI/CIRISPersist?tag=v13.3.1#abb45050b7fa64cfa05295224e69135780acb925"
916
916
  dependencies = [
917
917
  "async-trait",
918
918
  "base64 0.22.1",
@@ -949,7 +949,7 @@ dependencies = [
949
949
 
950
950
  [[package]]
951
951
  name = "ciris-server"
952
- version = "0.5.83"
952
+ version = "0.5.85"
953
953
  dependencies = [
954
954
  "anyhow",
955
955
  "async-trait",
@@ -970,6 +970,7 @@ dependencies = [
970
970
  "hex",
971
971
  "http-body-util",
972
972
  "jsonwebtoken",
973
+ "libsqlite3-sys",
973
974
  "pbkdf2",
974
975
  "pyo3",
975
976
  "reqwest",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "ciris-server"
3
- version = "0.5.83" # 0.5.83 = BAKED-FAMILY RECOGNITION + RAISE-A-HALT. Same substrate (edge v9.1.2 / persist v13.2.0 / verify v8.9.0). Fixes "No accord family established on this node yet" on a node that has the BAKED genesis but no entrenched federation_families row (persist seeds the 3 holder KEY rows, not the family row — durable fix filed CIRISPersist#386): GET /v1/accord/family + the co-scrub quorum_needed now fall back to verify's baked humanity_accord_genesis() (the 2/3 family + 3 seats, entrenched=false, recognized_via=baked-genesis) — the same recognition resolve_kill_switch_roster already uses. PLUS raise-a-halt: POST /v1/accord/halt (initiate_halt, the binding twin of /drill — one opener signature is sub-quorum and cannot latch; 2-of-3 concur latches) + the client "Halt the mesh" action (was a disabled placeholder). 0.5.82 = CO-SCRUB END-TO-END. Same substrate lockstep edge v9.1.2 / persist v13.2.0 / verify v8.9.0 (no triple change). The cross-device m-of-n seed now works from the app: the co-scrub partial GOSSIPS over the accord peer-plane (the same HTTP set the kill-switch uses) — propose on A1's box → the partial surfaces under "Pending co-signs (canonical)" on B1's box → cosign → conferred, no manual transfer. Server (src/accord_provision.rs): ProvisionState gains an ephemeral bounded pending store + a (target,scrub-count) seen-set; ingest_partial validates structurally + upserts + gossips; NEW open (non-loopback) POST /v1/accord/canonical/gossip-partial peer-receive + GET /v1/accord/canonical/pending; router() split into build()→{loopback,gossip}. Client (#174): proposeCanonical/cosignCanonical/listPendingCoscrubs, the "Pending co-signs (canonical)" section + CanonicalCosignSheet (pending-entry or pasted-partial fallback), "[+ New] Add"→"Propose a canonical server". Bundled: #117 (Delegations loads on screen entry, not VM init → no pre-login 401) + #134 (existing-key offer no longer gated on a typed label; label auto-populates from the picked key_id). 0.5.81 = M-OF-N TRUST ROOT. Substrate lockstep edge v9.1.2 / persist v13.2.0 / verify v8.9.0 (CIRISPersist#383: KeyRecord.additional_scrubs + the DYNAMIC m-of-n admission gate via verify's verify_quorum_policy — canonical is conferred iff distinct_scrub_count() ≥ the family's entrenched quorum:M/N, NOT a hardcoded 2; the 1-of-N genesis is no longer auto-baked). Trust Root co-scrub ceremony (server-side, hardware-signed via the shared open_holder_identity custody path): POST /v1/accord/canonical/{propose,cosign} (scrub #1 → gossip/transfer the partial → append_scrub over the byte-identical envelope → adopt_scrub_upgrade lets the m-of-n gate confer/hold), plus /withdraw + /supersede (#377, 2-of-3 via proposal_digest) and IP-in-envelope TransportHint. Accord ops drill + announce (/v1/accord/{drill,announce}, node-synth'd invocation, gossiped, recorded pre-latch) + /halt-status. DRY audit landed (recipes routed through the substrate: build_self_key_record→produce_self_key_record, CANONICAL_BOOTSTRAP_PEERS→Engine::canonical_bootstrap_hints, owner_binding consts aliased). CEG-native Trust Root card redesign (one AttestationCard + ⋮ hamburger; concur now hardware-signs). KNOWN → 0.5.82 (#174): the client "Add canonical" still posts /add (1-scrub partial under m-of-n) — wire the propose→cosign buttons. 0.5.80 = THE MESH-SEED RELEASE. Substrate lockstep edge v9.1.0 / persist v13.0.1 / verify v8.7.0 (CC 1.0 RC1: KeyRecord.consent_role, the accord-conferred `canonical` identity_type role + admission gate CIRISPersist#372, single-owner owner_of #162, CIRISEdge#277 upgrade-aware Key-plane apply → KERI publish-own end-to-end). Trust Root canonical ops (#164): POST /v1/accord/canonical/add — the 1-of-N hardware-scrub SEED op (scrub-sign w/ the canonical role + adopt onto own row + publish address) + GET /v1/accord/canonical/servers + the client "Canonical servers" card (update-address shipped #165; supersede/withdraw → 0.5.81, need a persist role-removal primitive). ci.yml revived (my #155 evidence-step colon had broken the Rust gate repo-wide). 0.5.79 = substrate triple edge v8.7.2 / persist v12.5.0 / verify v8.7.0 (cross-cdylib block_on-deadlock/SIGABRT fix + CC 0.9.3 gates + dep-trims landed: hickory 0.25 de-dup, dead openssl/qrcodegen/bip39 gone) + REMOTE adopt-scrubbed endpoint (#150 — POST /v1/federation/adopt-scrubbed applies an A1-scrubbed record onto a node's own row so it roots; the seed producer's remote leg, keys live off-node) + server-local dep-trims (#152: drop hmac/pyo3-async-runtimes, lens-core async-trait/opentelemetry, base64 0.21→0.22). 0.5.78 = edge v8.6.1 / persist v12.2.0 adoption — the COMPLETE admit-node → mesh-seed loop. (1) #144 KEY-PLANE replication (KERI publish-own): the ReplicationRuntime converges an EnvelopeKind::Key coordinator per consent peer + a key_selector publishing the node's OWN key_id. (2) #150 PRODUCER: admit-node now calls persist v12.2.0 Engine::adopt_scrub_upgrade (CIRISPersist#351) to upgrade the node's own self-signed row to the accord-holder-scrubbed record — so the Key plane publishes an ANCHORED, rootable record → peers root it. Producer (server upgrades the row) + publish-own (edge advertises it) = the seed closes in place, no wipe. (3) #147 §Q B5: persist FountainHeldMeta.{content_bytes,cohort_scope} adopted (server has no fountain-content admit path; import.rs already sets cohort_scope). Verify unchanged v8.5.0. 0.5.77 = persist v12.0.2 anchor seed + accord-card UX.
3
+ version = "0.5.85" # 0.5.85 = SEED-UX cut (no substrate change; edge v9.1.4 / persist v13.3.1 / verify v8.9.0). The fixes that let the operator + a second holder seed the canonical mesh cleanly from the desktop UI: (1) OS-AWARE ykcs11 module path — the node's default PKCS#11 module now resolves per-OS (macOS Homebrew .dylib Apple-Silicon/Intel; Windows Yubico PIV Tool .dll / PATH; Linux .so) via identity.rs::default_ykcs11_module, wired into Pkcs11Options + the accord propose/cosign/admit paths, so a macOS/Windows holder's YubiKey cosign works (was hardcoded Linux → dlopen failure). Optional per-request "PKCS#11 module path (advanced)" field in the hardware-scrub sheet as an override. (2) COPY/EXPORT the co-scrub partial + finished record from the Trust Root card (Propose/Cosign/Pending) — Copy-to-clipboard + Save-to-file; no more pulling JSON off disk. (3) NAV label "Accord" → "Trust Root". (4) CIRISServer#127++ — the memory graph now PROJECTS persist's CEG state (seed_ceg_graph): ~40+ nodes (identity, owner, owned nodes, HUMANITY_ACCORD family + holders, canonical servers, config:*, delegations/consent/structural attestations) with CEG-native typed edges (delegates_to owner-binding, has_member family→holder seat, scrub_conferral holder→canonical, has_config, replicates_to, authored, supersedes/withdraws/recants); each node carries kind·subject·status·record so the client can render it as an AttestationCard. Follow-ups: wire the Trust Root ⋮ hamburger onto graph nodes (client); 28-language fan-out for the 7 new strings; pending-co-scrub graph node. 0.5.84 = THE FULL SAFE-MESH-SEED CUT. Substrate lockstep bumped edge v9.1.2→v9.1.4 / persist v13.2.0→v13.3.1 (v13.3.1 #387 adds the test-only with_signer_no_genesis_seed seam so the accord ceremony tests get a clean engine) (verify v8.9.0 unchanged). (1) CIRISPersist#386: the HUMANITY_ACCORD federation_families row (quorum:2/3, A1/B1/C1) is now SEEDED at boot on every node (idempotent) — lookup_family resolves durably, so the 0.5.83 baked-genesis fallbacks are RETIRED (recognized_family_from_baked_genesis + family_quorum_m fallback deleted; get_family reads the real entrenched row; V097 drops the family_key_id→federation_keys FK — a constitutional family is keyless). (2) CIRISServer#181 producer hook: POST /v1/safety/flag (duty-gated: verify_request + admit_moderation_action(Moderate)) emits the substrate-reserved content_class:{infohazard|reported} flag via a NEW node-scoped substrate_persist identity (sealed Ed25519 <alias>-substrate + software ML-DSA seed, registered through register_federation_key) — the duty-holder authorizes, the substrate signs; action:clear supersedes. This makes the #161 infohazard reveal gate actually FIRE (flag → GET /v1/safety/reveal 403 interstitial for a non-consented viewer). (3) CIRISServer#161 (already on main): POST /v1/safety/reveal — the CC 4.5.13 consent gate. #378 single-owner marker gate rides the persist bump (no server action). Follow-ups: retire ensure_accord_family_anchor throwaway key (low-risk, legacy assemble path); infohazard consent lifecycle + interstitial UX (#180 umbrella / #182-#185). 0.5.83 = BAKED-FAMILY RECOGNITION + RAISE-A-HALT. Same substrate (edge v9.1.2 / persist v13.2.0 / verify v8.9.0). Fixes "No accord family established on this node yet" on a node that has the BAKED genesis but no entrenched federation_families row (persist seeds the 3 holder KEY rows, not the family row — durable fix filed CIRISPersist#386): GET /v1/accord/family + the co-scrub quorum_needed now fall back to verify's baked humanity_accord_genesis() (the 2/3 family + 3 seats, entrenched=false, recognized_via=baked-genesis) — the same recognition resolve_kill_switch_roster already uses. PLUS raise-a-halt: POST /v1/accord/halt (initiate_halt, the binding twin of /drill — one opener signature is sub-quorum and cannot latch; 2-of-3 concur latches) + the client "Halt the mesh" action (was a disabled placeholder). 0.5.82 = CO-SCRUB END-TO-END. Same substrate lockstep edge v9.1.2 / persist v13.2.0 / verify v8.9.0 (no triple change). The cross-device m-of-n seed now works from the app: the co-scrub partial GOSSIPS over the accord peer-plane (the same HTTP set the kill-switch uses) — propose on A1's box → the partial surfaces under "Pending co-signs (canonical)" on B1's box → cosign → conferred, no manual transfer. Server (src/accord_provision.rs): ProvisionState gains an ephemeral bounded pending store + a (target,scrub-count) seen-set; ingest_partial validates structurally + upserts + gossips; NEW open (non-loopback) POST /v1/accord/canonical/gossip-partial peer-receive + GET /v1/accord/canonical/pending; router() split into build()→{loopback,gossip}. Client (#174): proposeCanonical/cosignCanonical/listPendingCoscrubs, the "Pending co-signs (canonical)" section + CanonicalCosignSheet (pending-entry or pasted-partial fallback), "[+ New] Add"→"Propose a canonical server". Bundled: #117 (Delegations loads on screen entry, not VM init → no pre-login 401) + #134 (existing-key offer no longer gated on a typed label; label auto-populates from the picked key_id). 0.5.81 = M-OF-N TRUST ROOT. Substrate lockstep edge v9.1.2 / persist v13.2.0 / verify v8.9.0 (CIRISPersist#383: KeyRecord.additional_scrubs + the DYNAMIC m-of-n admission gate via verify's verify_quorum_policy — canonical is conferred iff distinct_scrub_count() ≥ the family's entrenched quorum:M/N, NOT a hardcoded 2; the 1-of-N genesis is no longer auto-baked). Trust Root co-scrub ceremony (server-side, hardware-signed via the shared open_holder_identity custody path): POST /v1/accord/canonical/{propose,cosign} (scrub #1 → gossip/transfer the partial → append_scrub over the byte-identical envelope → adopt_scrub_upgrade lets the m-of-n gate confer/hold), plus /withdraw + /supersede (#377, 2-of-3 via proposal_digest) and IP-in-envelope TransportHint. Accord ops drill + announce (/v1/accord/{drill,announce}, node-synth'd invocation, gossiped, recorded pre-latch) + /halt-status. DRY audit landed (recipes routed through the substrate: build_self_key_record→produce_self_key_record, CANONICAL_BOOTSTRAP_PEERS→Engine::canonical_bootstrap_hints, owner_binding consts aliased). CEG-native Trust Root card redesign (one AttestationCard + ⋮ hamburger; concur now hardware-signs). KNOWN → 0.5.82 (#174): the client "Add canonical" still posts /add (1-scrub partial under m-of-n) — wire the propose→cosign buttons. 0.5.80 = THE MESH-SEED RELEASE. Substrate lockstep edge v9.1.0 / persist v13.0.1 / verify v8.7.0 (CC 1.0 RC1: KeyRecord.consent_role, the accord-conferred `canonical` identity_type role + admission gate CIRISPersist#372, single-owner owner_of #162, CIRISEdge#277 upgrade-aware Key-plane apply → KERI publish-own end-to-end). Trust Root canonical ops (#164): POST /v1/accord/canonical/add — the 1-of-N hardware-scrub SEED op (scrub-sign w/ the canonical role + adopt onto own row + publish address) + GET /v1/accord/canonical/servers + the client "Canonical servers" card (update-address shipped #165; supersede/withdraw → 0.5.81, need a persist role-removal primitive). ci.yml revived (my #155 evidence-step colon had broken the Rust gate repo-wide). 0.5.79 = substrate triple edge v8.7.2 / persist v12.5.0 / verify v8.7.0 (cross-cdylib block_on-deadlock/SIGABRT fix + CC 0.9.3 gates + dep-trims landed: hickory 0.25 de-dup, dead openssl/qrcodegen/bip39 gone) + REMOTE adopt-scrubbed endpoint (#150 — POST /v1/federation/adopt-scrubbed applies an A1-scrubbed record onto a node's own row so it roots; the seed producer's remote leg, keys live off-node) + server-local dep-trims (#152: drop hmac/pyo3-async-runtimes, lens-core async-trait/opentelemetry, base64 0.21→0.22). 0.5.78 = edge v8.6.1 / persist v12.2.0 adoption — the COMPLETE admit-node → mesh-seed loop. (1) #144 KEY-PLANE replication (KERI publish-own): the ReplicationRuntime converges an EnvelopeKind::Key coordinator per consent peer + a key_selector publishing the node's OWN key_id. (2) #150 PRODUCER: admit-node now calls persist v12.2.0 Engine::adopt_scrub_upgrade (CIRISPersist#351) to upgrade the node's own self-signed row to the accord-holder-scrubbed record — so the Key plane publishes an ANCHORED, rootable record → peers root it. Producer (server upgrades the row) + publish-own (edge advertises it) = the seed closes in place, no wipe. (3) #147 §Q B5: persist FountainHeldMeta.{content_bytes,cohort_scope} adopted (server has no fountain-content admit path; import.rs already sets cohort_scope). Verify unchanged v8.5.0. 0.5.77 = persist v12.0.2 anchor seed + accord-card UX.
4
4
  edition = "2021"
5
5
  # MSRV floor is set by the substrate: ciris-verify v5.2.0 requires 1.86
6
6
  # (persist v6.0.1 is 1.83). Build with the higher of the two.
@@ -122,8 +122,8 @@ ciris-lens-core = { path = "crates/ciris-lens-core" } # ABSORBED in-tree (wo
122
122
  # `cirislens_wa_cert` + `cirislens_service_token_revocation` expose the auth
123
123
  # substrate the fabric absorbs (CIRISServer#9, src/auth): the agent's `wa_cert`
124
124
  # table (users/WA/OAuth/api-keys) + the `revoked_service_tokens` table.
125
- ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v13.2.0", features = ["sqlite", "cirisgraph", "cirislens_wa_cert", "cirislens_service_token_revocation", "cirisaudit", "cirislens_tasks", "cirislens_thoughts", "cirislens_tickets", "cirislens_correlations", "cirislens_deferral_reports", "cirislens_maintenance_locks", "cirislens_creation_ceremonies", "cirislens_legacy_migration", "cirisincident", "telemetry", "secrets"] }
126
- ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v9.1.2", features = ["transport-reticulum", "transport-http", "transport-packet-radio"] }
125
+ ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v13.3.1", features = ["sqlite", "cirisgraph", "cirislens_wa_cert", "cirislens_service_token_revocation", "cirisaudit", "cirislens_tasks", "cirislens_thoughts", "cirislens_tickets", "cirislens_correlations", "cirislens_deferral_reports", "cirislens_maintenance_locks", "cirislens_creation_ceremonies", "cirislens_legacy_migration", "cirisincident", "telemetry", "secrets"] }
126
+ ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v9.1.4", features = ["transport-reticulum", "transport-http", "transport-packet-radio"] }
127
127
  # Founder-quorum verification + key-id fingerprint at the composition root
128
128
  # (threshold:: module path — NOT re-exported at the crate root).
129
129
  # LOCKSTEP: persist v9.4.0 transitively pins verify-core v6.6.x — the whole
@@ -204,7 +204,7 @@ tracing-appender = "0.2"
204
204
  # - keyring `tpm` (tss-esapi / TPM 2.0) — the real hardware backend; needs
205
205
  # libtss2 (Linux build dep). Other targets keep the software keystore.
206
206
  [target.'cfg(target_os = "linux")'.dependencies]
207
- ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v13.2.0", features = ["postgres", "cirisgraph", "cirislens_wa_cert", "cirislens_service_token_revocation", "cirisaudit", "cirislens_tasks", "cirislens_thoughts", "cirislens_tickets", "cirislens_correlations", "cirislens_deferral_reports", "cirislens_maintenance_locks", "cirislens_creation_ceremonies", "cirislens_legacy_migration", "cirisincident", "telemetry", "secrets"] }
207
+ ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v13.3.1", features = ["postgres", "cirisgraph", "cirislens_wa_cert", "cirislens_service_token_revocation", "cirisaudit", "cirislens_tasks", "cirislens_thoughts", "cirislens_tickets", "cirislens_correlations", "cirislens_deferral_reports", "cirislens_maintenance_locks", "cirislens_creation_ceremonies", "cirislens_legacy_migration", "cirisincident", "telemetry", "secrets"] }
208
208
  # keyring `tpm` (TPM-at-rest, Linux-only via tss-esapi). `pkcs11` is no longer
209
209
  # per-target — it rides the global `pkcs11` feature now that cryptoki builds on all
210
210
  # targets (CIRISVerify v6.12.0).
@@ -224,6 +224,20 @@ ciris-keyring = { git = "https://github.com/CIRISAI/CIRISVerify", tag = "v8.9.0"
224
224
  [target.'cfg(any(target_os = "macos", target_os = "windows", all(target_os = "linux", target_env = "gnu", any(target_arch = "x86_64", target_arch = "aarch64"))))'.dependencies]
225
225
  serialport = "4"
226
226
 
227
+ # libsqlite3-sys (pulled by persist's `sqlite` feature) links the SYSTEM libsqlite3
228
+ # by default — which the musl / armv7 CROSS sysroots don't provide, so the release
229
+ # legs failed at LINK: `unable to find dynamic system library 'sqlite3'`. Compile
230
+ # sqlite FROM SOURCE (`bundled`) for exactly those two cross triples — `zig cc`
231
+ # builds the C in, statically, no dynamic dependency. Scoped per-triple so every
232
+ # mainstream target keeps linking its system sqlite (smaller; matches persist's
233
+ # non-mobile default). SAME libsqlite3-sys 0.28 the `sqlite` feature already locks,
234
+ # so it UNIFIES to one crate (one `links = "sqlite3"`, no collision).
235
+ [target.aarch64-unknown-linux-musl.dependencies]
236
+ libsqlite3-sys = { version = "0.28", features = ["bundled"] }
237
+
238
+ [target.armv7-unknown-linux-gnueabihf.dependencies]
239
+ libsqlite3-sys = { version = "0.28", features = ["bundled"] }
240
+
227
241
  # Test-only — the two-node replication integration test (tests/replication.rs)
228
242
  # builds + signs CEG batches with the same primitives persist verifies against.
229
243
  # ed25519-dalek MUST match persist's locked 2.x (the SigningKey type crosses the
@@ -257,7 +271,13 @@ ciris-crypto = { git = "https://github.com/CIRISAI/CIRISVerify", tag = "v8.9.0"
257
271
  # and never encodes/decodes). This lets tests/chaos_mesh.rs exercise the SUBSTRATE
258
272
  # codec (`fountain_encode`/`fountain_decode`) directly — a real MEASURED proof,
259
273
  # not a reference stand-in.
260
- ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v9.1.2", features = ["codec-fountain"] }
274
+ ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v9.1.4", features = ["codec-fountain"] }
275
+ # Enable persist's TEST-ONLY genesis-seam (`test-genesis-seam`, CIRISPersist#387) for the
276
+ # accord ceremony tests (tests/accord.rs): `Engine::with_signer_no_genesis_seed` yields a
277
+ # clean engine with the baked HUMANITY_ACCORD family seed SKIPPED, so those tests can stand
278
+ # up their OWN custom-holder family via the assemble ceremony. Dev/test ONLY — resolver-2
279
+ # keeps this feature out of the shipped lib/bin/wheel (prod always seeds the baked family).
280
+ ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v13.3.1", features = ["test-genesis-seam"] }
261
281
 
262
282
  # PQC realtime-A/V streaming E2E benchmark (CIRISEdge#62 realtime_av profile).
263
283
  [[bench]]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ciris-server
3
- Version: 0.5.83
3
+ Version: 0.5.85
4
4
  License-File: LICENSE
5
5
  Summary: The fabric node — the federation's headless cohabitation runtime (registry + lens [+ node] over one shared substrate), as the abi3 wheel CIRISAgent consumes. agent = fabric node + brain.
6
6
  Author-email: Eric Moore <eric@ciris.ai>
@@ -142,8 +142,8 @@ capability page at <https://cirisai.github.io/CIRISServer/>, and the §19.7
142
142
  noise-floor compliance bench. Below the lens-store disk minimum the node degrades
143
143
  to a Reticulum relay node.
144
144
 
145
- Substrate floor: **persist v8.6.0 / edge v4.5.0 / verify-family v5.11.0**
146
- (CEG 1.0-RC12). `ciris-lens-core` is **absorbed in-tree** — the standalone
145
+ Substrate floor: **persist v13.3.0 / edge v9.1.3 / verify-family v8.9.0**
146
+ (the 0.5.84 safe-mesh-seed cut; see `Cargo.toml`). `ciris-lens-core` is **absorbed in-tree** — the standalone
147
147
  CIRISLensCore library and the CIRISLens deployment (Grafana/TimescaleDB/Python
148
148
  ingest) retire. Cohabitation + CEG-profile conformance is gated by
149
149
  [CIRISConformance](https://github.com/CIRISAI/CIRISConformance) against the
@@ -131,8 +131,8 @@ capability page at <https://cirisai.github.io/CIRISServer/>, and the §19.7
131
131
  noise-floor compliance bench. Below the lens-store disk minimum the node degrades
132
132
  to a Reticulum relay node.
133
133
 
134
- Substrate floor: **persist v8.6.0 / edge v4.5.0 / verify-family v5.11.0**
135
- (CEG 1.0-RC12). `ciris-lens-core` is **absorbed in-tree** — the standalone
134
+ Substrate floor: **persist v13.3.0 / edge v9.1.3 / verify-family v8.9.0**
135
+ (the 0.5.84 safe-mesh-seed cut; see `Cargo.toml`). `ciris-lens-core` is **absorbed in-tree** — the standalone
136
136
  CIRISLensCore library and the CIRISLens deployment (Grafana/TimescaleDB/Python
137
137
  ingest) retire. Cohabitation + CEG-profile conformance is gated by
138
138
  [CIRISConformance](https://github.com/CIRISAI/CIRISConformance) against the
@@ -26,8 +26,8 @@ crate-type = ["cdylib", "rlib"]
26
26
  #
27
27
  # OQ-01 closure 2026-05-03: rlib primary, PyO3 cdylib via `python`
28
28
  # feature for the deployed-lens cutover.
29
- ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v13.2.0", version = "13", features = ["extract", "sqlite"] }
30
- ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v9.1.2", version = "9", features = ["transport-http", "transport-reticulum"] }
29
+ ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v13.3.1", version = "13", features = ["extract", "sqlite"] }
30
+ ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v9.1.4", version = "9", features = ["transport-http", "transport-reticulum"] }
31
31
 
32
32
  # Keyring — relay mode (CIRISLensCore#10) loads its Edge transport-
33
33
  # signing identity via `ciris_keyring::load_local_seed`. Edge's
@@ -8,47 +8,47 @@ decimal_id claim_id repo path#symbol crate@version
8
8
  2.2 CLM-conformance — — open
9
9
  2.3.1 CLM-subject_kind-subject-2 CIRISVerify src/ciris-verify-core/src/fedcode.rs#FedKind ciris-verify-core@v8.9.0
10
10
  2.3.2.1 CLM-registry-canonical CIRISVerify src/ciris-verify-core/src/federation_self_record.rs#produce_self_key_record ciris-verify-core@v8.9.0
11
- 2.4.1.1 CLM-withdraws CIRISPersist src/federation/admission.rs#resolve_withdraws_admission_rule ciris-persist@v13.2.0
11
+ 2.4.1.1 CLM-withdraws CIRISPersist src/federation/admission.rs#resolve_withdraws_admission_rule ciris-persist@v13.3.1
12
12
  2.6.1.1 CLM-round-trip CIRISVerify src/ciris-verify-core/src/jcs.rs#canonicalize ciris-verify-core@v8.9.0
13
13
  2.6.1.1.1 CLM-canonicalization-array CIRISVerify src/ciris-verify-core/src/federation_keyset.rs#federation_keyset_signing_bytes ciris-verify-core@v8.9.0
14
14
  2.6.1.2 CLM-per-field CIRISVerify src/ciris-verify-core/src/skill_import.rs#verify_skill_import_manifest ciris-verify-core@v8.9.0
15
- 2.6.1.3 CLM-canonical CIRISPersist src/verify/canonical.rs#JcsCanonicalizer ciris-persist@v13.2.0
15
+ 2.6.1.3 CLM-canonical CIRISPersist src/verify/canonical.rs#JcsCanonicalizer ciris-persist@v13.3.1
16
16
  2.6.1.4 CLM-worked — — open
17
17
  2.6.2 CLM-canonicalization CIRISVerify src/ciris-verify-core/src/skill_import.rs#check_canonical_rfc3339 ciris-verify-core@v8.9.0
18
18
  2.6.3 CLM-canonicalization-hexadecimal CIRISVerify src/ciris-verify-core/src/skill_import.rs#check_canonical_hex64 ciris-verify-core@v8.9.0
19
19
  2.6.4 CLM-policy-versioning — — open
20
20
  2.6.5 CLM-references — — open
21
- 2.6.6 CLM-canonicalization-cell CIRISPersist src/federation/location.rs#parse_canonical_cell ciris-persist@v13.2.0
22
- 2.6.6.1 CLM-location CIRISPersist src/federation/location.rs#validate_location_cell ciris-persist@v13.2.0
23
- 2.6.6.2 CLM-cell CIRISPersist src/federation/location.rs#h3_cell_contained ciris-persist@v13.2.0
24
- 2.6.7 CLM-time CIRISPersist src/federation/operational.rs#check_skew_bound ciris-persist@v13.2.0
21
+ 2.6.6 CLM-canonicalization-cell CIRISPersist src/federation/location.rs#parse_canonical_cell ciris-persist@v13.3.1
22
+ 2.6.6.1 CLM-location CIRISPersist src/federation/location.rs#validate_location_cell ciris-persist@v13.3.1
23
+ 2.6.6.2 CLM-cell CIRISPersist src/federation/location.rs#h3_cell_contained ciris-persist@v13.3.1
24
+ 2.6.7 CLM-time CIRISPersist src/federation/operational.rs#check_skew_bound ciris-persist@v13.3.1
25
25
  2.6.8 CLM-key_id CIRISServer src/nodecode.rs#encode ciris-server@main
26
26
  2.6.9 CLM-conformance-language — — open
27
27
  3.1.2.1 CLM-provenance CIRISVerify src/ciris-verify-core/src/holds_bytes.rs#verify_holds_bytes ciris-verify-core@v8.9.0
28
28
  3.1.9.1 CLM-contributions CIRISVerify src/ciris-verify-core/src/manifest_contribution.rs#verify_build_manifest_contribution ciris-verify-core@v8.9.0
29
- 3.3.2 CLM-subject_kind CIRISPersist src/federation/admission.rs#envelope_subject_kind ciris-persist@v13.2.0
30
- 3.3.3 CLM-subject_kind-subject CIRISPersist src/federation/types.rs#LocationProof ciris-persist@v13.2.0
31
- 3.3.4 CLM-family-subject CIRISPersist src/federation/types.rs#Family ciris-persist@v13.2.0
32
- 3.3.5 CLM-consent-subject CIRISPersist src/federation/types.rs#consent_record::SUBJECT_KIND ciris-persist@v13.2.0
33
- 3.3.6 CLM-identity CIRISPersist src/federation/types.rs#IdentityOccurrence ciris-persist@v13.2.0
34
- 3.3.6.1 CLM-encryption_pubkeys CIRISPersist src/federation/types.rs#EncryptionPubkeys ciris-persist@v13.2.0
29
+ 3.3.2 CLM-subject_kind CIRISPersist src/federation/admission.rs#envelope_subject_kind ciris-persist@v13.3.1
30
+ 3.3.3 CLM-subject_kind-subject CIRISPersist src/federation/types.rs#LocationProof ciris-persist@v13.3.1
31
+ 3.3.4 CLM-family-subject CIRISPersist src/federation/types.rs#Family ciris-persist@v13.3.1
32
+ 3.3.5 CLM-consent-subject CIRISPersist src/federation/types.rs#consent_record::SUBJECT_KIND ciris-persist@v13.3.1
33
+ 3.3.6 CLM-identity CIRISPersist src/federation/types.rs#IdentityOccurrence ciris-persist@v13.3.1
34
+ 3.3.6.1 CLM-encryption_pubkeys CIRISPersist src/federation/types.rs#EncryptionPubkeys ciris-persist@v13.3.1
35
35
  3.3.6.2 CLM-transport-authenticated CIRISVerify src/ciris-verify-core/src/transport_binding.rs#verify_transport_binding ciris-verify-core@v8.9.0
36
36
  3.3.6.2.1 CLM-rns CIRISVerify src/ciris-verify-core/src/transport_binding.rs#compute_destination_hash ciris-verify-core@v8.9.0
37
37
  3.3.7 CLM-consent-directed CIRISServer src/peer.rs#emit_replication_consent ciris-server@main
38
- 3.4.1 CLM-accord-reservation CIRISPersist src/federation/admission.rs#check_reserved_prefix_admission ciris-persist@v13.2.0
39
- 3.4.2 CLM-community-location CIRISPersist src/federation/hard_case.rs#kind::COMMUNITY_MEMBERSHIP_CHANGE ciris-persist@v13.2.0
40
- 3.4.3 CLM-system CIRISPersist src/federation/admission.rs#default_reserved_prefix_rules ciris-persist@v13.2.0
41
- 3.4.4 CLM-family-self CIRISPersist src/federation/hard_case.rs#kind::FAMILY_MEMBERSHIP_CHANGE ciris-persist@v13.2.0
42
- 3.4.5 CLM-capacity-score CIRISPersist src/federation/admission.rs#check_reserved_prefix_admission ciris-persist@v13.2.0
43
- 3.4.6 CLM-reservation-delivery CIRISPersist src/federation/stream_receipt.rs#DeliveryReceipt ciris-persist@v13.2.0
44
- 3.4.7 CLM-enforcement CIRISPersist src/federation/admission.rs#DimensionAdmissionPolicy::check ciris-persist@v13.2.0
45
- 3.4.7.1 CLM-identity-set CIRISPersist src/federation/types.rs#identity_type::set_contains ciris-persist@v13.2.0
46
- 3.4.7.2 CLM-consent-counter CIRISEdge src/detector/probe_pattern_observer.rs#ConsentRole::permits_detection_emission ciris-edge@v9.1.2
47
- 3.4.8 CLM-detector-only CIRISEdge src/detector/probe_pattern_observer.rs#ProbePatternObserver ciris-edge@v9.1.2
38
+ 3.4.1 CLM-accord-reservation CIRISPersist src/federation/admission.rs#check_reserved_prefix_admission ciris-persist@v13.3.1
39
+ 3.4.2 CLM-community-location CIRISPersist src/federation/hard_case.rs#kind::COMMUNITY_MEMBERSHIP_CHANGE ciris-persist@v13.3.1
40
+ 3.4.3 CLM-system CIRISPersist src/federation/admission.rs#default_reserved_prefix_rules ciris-persist@v13.3.1
41
+ 3.4.4 CLM-family-self CIRISPersist src/federation/hard_case.rs#kind::FAMILY_MEMBERSHIP_CHANGE ciris-persist@v13.3.1
42
+ 3.4.5 CLM-capacity-score CIRISPersist src/federation/admission.rs#check_reserved_prefix_admission ciris-persist@v13.3.1
43
+ 3.4.6 CLM-reservation-delivery CIRISPersist src/federation/stream_receipt.rs#DeliveryReceipt ciris-persist@v13.3.1
44
+ 3.4.7 CLM-enforcement CIRISPersist src/federation/admission.rs#DimensionAdmissionPolicy::check ciris-persist@v13.3.1
45
+ 3.4.7.1 CLM-identity-set CIRISPersist src/federation/types.rs#identity_type::set_contains ciris-persist@v13.3.1
46
+ 3.4.7.2 CLM-consent-counter CIRISEdge src/detector/probe_pattern_observer.rs#ConsentRole::permits_detection_emission ciris-edge@v9.1.4
47
+ 3.4.8 CLM-detector-only CIRISEdge src/detector/probe_pattern_observer.rs#ProbePatternObserver ciris-edge@v9.1.4
48
48
  3.4.9 CLM-co-stewarded — — open
49
- 3.4.10 CLM-witness-emitter CIRISPersist src/federation/admission.rs#default_reserved_prefix_rules ciris-persist@v13.2.0
50
- 3.5.1 CLM-concurrent-write CIRISPersist src/federation/precedence.rs#precedence_winner ciris-persist@v13.2.0
51
- 4.1.1 CLM-anti-pattern-delegation CIRISPersist src/federation/admission.rs#AttestationLadderTransitionPolicy ciris-persist@v13.2.0
49
+ 3.4.10 CLM-witness-emitter CIRISPersist src/federation/admission.rs#default_reserved_prefix_rules ciris-persist@v13.3.1
50
+ 3.5.1 CLM-concurrent-write CIRISPersist src/federation/precedence.rs#precedence_winner ciris-persist@v13.3.1
51
+ 4.1.1 CLM-anti-pattern-delegation CIRISPersist src/federation/admission.rs#AttestationLadderTransitionPolicy ciris-persist@v13.3.1
52
52
  4.1.4 CLM-withdraws-arbitrage — — open
53
53
  4.2.1.1 CLM-invocation CIRISVerify src/ciris-verify-core/src/humanity_accord.rs#Invocation::canonical_bytes ciris-verify-core@v8.9.0
54
54
  4.2.1.2 CLM-notify CIRISVerify src/ciris-verify-core/src/humanity_accord.rs#InvocationKind ciris-verify-core@v8.9.0
@@ -59,59 +59,59 @@ decimal_id claim_id repo path#symbol crate@version
59
59
  4.4 CLM-composition-policies — — open
60
60
  4.4.1 CLM-frickerian — — open
61
61
  4.4.3.1.1 CLM-sub-quorum CIRISServer src/accord.rs#replicate_and_maybe_halt ciris-server@main
62
- 4.4.3.2.1 CLM-community-three CIRISPersist src/federation/community_dek.rs#encrypt_and_cascade_community ciris-persist@v13.2.0
62
+ 4.4.3.2.1 CLM-community-three CIRISPersist src/federation/community_dek.rs#encrypt_and_cascade_community ciris-persist@v13.3.1
63
63
  4.4.3.2.4.1 CLM-deterministic CIRISVerify src/ciris-verify-core/src/transport_binding.rs#compute_destination_hash ciris-verify-core@v8.9.0
64
- 4.4.3.2.8 CLM-affiliations CIRISPersist src/federation/cohort.rs#Cohort::Affiliations ciris-persist@v13.2.0
65
- 4.4.3.4 CLM-family-policy CIRISPersist src/federation/at_rest_cascade.rs#resolve_recipients ciris-persist@v13.2.0
66
- 4.4.3.4.1 CLM-cascade CIRISPersist src/federation/at_rest_cascade.rs#encrypt_and_cascade ciris-persist@v13.2.0
64
+ 4.4.3.2.8 CLM-affiliations CIRISPersist src/federation/cohort.rs#Cohort::Affiliations ciris-persist@v13.3.1
65
+ 4.4.3.4 CLM-family-policy CIRISPersist src/federation/at_rest_cascade.rs#resolve_recipients ciris-persist@v13.3.1
66
+ 4.4.3.4.1 CLM-cascade CIRISPersist src/federation/at_rest_cascade.rs#encrypt_and_cascade ciris-persist@v13.3.1
67
67
  4.4.3.4.3 CLM-cohort CIRISVerify src/ciris-verify-core/src/self_at_login.rs#perform_self_at_login ciris-verify-core@v8.9.0
68
68
  4.4.3.4.3.1 CLM-canonicalization-signing CIRISVerify src/ciris-verify-core/src/self_at_login.rs#sign_partnership_grant ciris-verify-core@v8.9.0
69
- 4.4.3.5.4 CLM-multi-subject CIRISPersist src/federation/admission.rs#resolve_withdraws_admission_rule ciris-persist@v13.2.0
70
- 4.4.3.6 CLM-policy-attestation CIRISPersist src/federation/admission.rs#is_attestation_ladder_dimension ciris-persist@v13.2.0
71
- 4.4.3.10 CLM-policy-trusted CIRISPersist src/cirisnode/media_sharing.rs#LegalBasis::composes_with_age_gate ciris-persist@v13.2.0
72
- 4.5.1.1 CLM-axis CIRISPersist src/federation/schema_resolver.rs#axis_from_dimension ciris-persist@v13.2.0
73
- 4.5.2.1 CLM-subject_kind-subject-3 CIRISPersist src/federation/admission.rs#envelope_subject_kind ciris-persist@v13.2.0
69
+ 4.4.3.5.4 CLM-multi-subject CIRISPersist src/federation/admission.rs#resolve_withdraws_admission_rule ciris-persist@v13.3.1
70
+ 4.4.3.6 CLM-policy-attestation CIRISPersist src/federation/admission.rs#is_attestation_ladder_dimension ciris-persist@v13.3.1
71
+ 4.4.3.10 CLM-policy-trusted CIRISPersist src/cirisnode/media_sharing.rs#LegalBasis::composes_with_age_gate ciris-persist@v13.3.1
72
+ 4.5.1.1 CLM-axis CIRISPersist src/federation/schema_resolver.rs#axis_from_dimension ciris-persist@v13.3.1
73
+ 4.5.2.1 CLM-subject_kind-subject-3 CIRISPersist src/federation/admission.rs#envelope_subject_kind ciris-persist@v13.3.1
74
74
  4.5.2.2 CLM-compliance-vertical — — open
75
- 4.5.3 CLM-takedown CIRISPersist src/cirisnode/takedown_handler.rs#process_takedown_admission ciris-persist@v13.2.0
75
+ 4.5.3 CLM-takedown CIRISPersist src/cirisnode/takedown_handler.rs#process_takedown_admission ciris-persist@v13.3.1
76
76
  4.5.4 CLM-registry-named CIRISServer src/safety/named.rs#existence_verdict ciris-server@main
77
77
  4.5.5 CLM-takedown-moderation CIRISServer src/safety/moderation.rs#admit_moderation_action ciris-server@main
78
78
  4.5.7 CLM-registry-watchlist CIRISServer src/safety/watchlist.rs#enable_watchlist ciris-server@main
79
- 4.5.8.1 CLM-cohabitation CIRISPersist src/federation/admission.rs#check_node_agency_admission ciris-persist@v13.2.0
79
+ 4.5.8.1 CLM-cohabitation CIRISPersist src/federation/admission.rs#check_node_agency_admission ciris-persist@v13.3.1
80
80
  4.5.8.3 CLM-settled — — open
81
81
  4.5.10.4 CLM-documents-what-2 — — open
82
- 4.5.12.2 CLM-envelope-multi CIRISPersist src/federation/mod.rs#add_family_member ciris-persist@v13.2.0
82
+ 4.5.12.2 CLM-envelope-multi CIRISPersist src/federation/mod.rs#add_family_member ciris-persist@v13.3.1
83
83
  4.5.13 CLM-reverse-quorum CIRISVerify src/ciris-verify-core/src/accord_live_quorum.rs#tally_live_quorum ciris-verify-core@v8.9.0
84
84
  5.3.1 CLM-witness CIRISVerify src/ciris-verify-core/src/transparency.rs#SignedTreeHead::cosign ciris-verify-core@v8.9.0
85
85
  5.3.1.1 CLM-consistency-proof CIRISVerify src/ciris-verify-core/src/transparency.rs#verify_consistency ciris-verify-core@v8.9.0
86
- 5.3.2.1 CLM-holder CIRISPersist src/federation/blobs.rs#list_holders ciris-persist@v13.2.0
87
- 5.3.2.3 CLM-merge CIRISPersist src/federation/operational.rs#SubjectKind::merge_intent ciris-persist@v13.2.0
88
- 5.3.2.4 CLM-attestation-tier CIRISPersist src/federation/types.rs#Attestation ciris-persist@v13.2.0
89
- 5.3.2.4.1 CLM-authority-local CIRISPersist src/federation/admission.rs#check_local_tier_eligibility ciris-persist@v13.2.0
90
- 5.3.2.4.2 CLM-local CIRISPersist src/engine.rs#Engine::attestation_promote ciris-persist@v13.2.0
91
- 5.3.2.4.3 CLM-two CIRISPersist src/federation/types.rs#attestation_tier ciris-persist@v13.2.0
92
- 5.3.2.4.3.1 CLM-admission-pqc CIRISPersist src/federation/tier_ingest.rs#verify_federation_tier_ingest ciris-persist@v13.2.0
93
- 5.3.2.5 CLM-full-sha CIRISPersist src/federation/blobs.rs#assemble_chunk_dag_range ciris-persist@v13.2.0
94
- 5.3.3.1 CLM-stream CIRISEdge src/transport/realtime_av.rs#seal_av_chunk ciris-edge@v9.1.2
95
- 5.3.3.2.1 CLM-namespace-realtime CIRISEdge src/transport/realtime_av.rs#CODEC_AV1_SVC ciris-edge@v9.1.2
96
- 5.3.3.2.3 CLM-registry-wire CIRISEdge src/transport/realtime_av.rs#SealedAvChunk::to_bytes ciris-edge@v9.1.2
97
- 5.3.3.2.4 CLM-chunklayer CIRISEdge src/transport/realtime_av.rs#ChunkLayer ciris-edge@v9.1.2
98
- 5.3.3.4 CLM-liveness CIRISEdge src/transport/realtime_av.rs#RealtimeFanout::plan_layered ciris-edge@v9.1.2
99
- 5.3.3.5 CLM-transport-edge CIRISEdge src/transport/mod.rs#Transport ciris-edge@v9.1.2
100
- 5.3.3.6 CLM-delivery CIRISPersist src/federation/stream_receipt.rs#DeliveryReceipt ciris-persist@v13.2.0
101
- 5.3.3.7 CLM-normative CIRISEdge src/transport/packet_radio/frame.rs#encode_frame ciris-edge@v9.1.2
86
+ 5.3.2.1 CLM-holder CIRISPersist src/federation/blobs.rs#list_holders ciris-persist@v13.3.1
87
+ 5.3.2.3 CLM-merge CIRISPersist src/federation/operational.rs#SubjectKind::merge_intent ciris-persist@v13.3.1
88
+ 5.3.2.4 CLM-attestation-tier CIRISPersist src/federation/types.rs#Attestation ciris-persist@v13.3.1
89
+ 5.3.2.4.1 CLM-authority-local CIRISPersist src/federation/admission.rs#check_local_tier_eligibility ciris-persist@v13.3.1
90
+ 5.3.2.4.2 CLM-local CIRISPersist src/engine.rs#Engine::attestation_promote ciris-persist@v13.3.1
91
+ 5.3.2.4.3 CLM-two CIRISPersist src/federation/types.rs#attestation_tier ciris-persist@v13.3.1
92
+ 5.3.2.4.3.1 CLM-admission-pqc CIRISPersist src/federation/tier_ingest.rs#verify_federation_tier_ingest ciris-persist@v13.3.1
93
+ 5.3.2.5 CLM-full-sha CIRISPersist src/federation/blobs.rs#assemble_chunk_dag_range ciris-persist@v13.3.1
94
+ 5.3.3.1 CLM-stream CIRISEdge src/transport/realtime_av.rs#seal_av_chunk ciris-edge@v9.1.4
95
+ 5.3.3.2.1 CLM-namespace-realtime CIRISEdge src/transport/realtime_av.rs#CODEC_AV1_SVC ciris-edge@v9.1.4
96
+ 5.3.3.2.3 CLM-registry-wire CIRISEdge src/transport/realtime_av.rs#SealedAvChunk::to_bytes ciris-edge@v9.1.4
97
+ 5.3.3.2.4 CLM-chunklayer CIRISEdge src/transport/realtime_av.rs#ChunkLayer ciris-edge@v9.1.4
98
+ 5.3.3.4 CLM-liveness CIRISEdge src/transport/realtime_av.rs#RealtimeFanout::plan_layered ciris-edge@v9.1.4
99
+ 5.3.3.5 CLM-transport-edge CIRISEdge src/transport/mod.rs#Transport ciris-edge@v9.1.4
100
+ 5.3.3.6 CLM-delivery CIRISPersist src/federation/stream_receipt.rs#DeliveryReceipt ciris-persist@v13.3.1
101
+ 5.3.3.7 CLM-normative CIRISEdge src/transport/packet_radio/frame.rs#encode_frame ciris-edge@v9.1.4
102
102
  5.3.4 CLM-multi-steward CIRISServer src/accord.rs#list_holders ciris-server@main
103
103
  5.3.6.1 CLM-envelope-error CIRISVerify src/ciris-verify-core/src/ceg_error.rs#CegError ciris-verify-core@v8.9.0
104
104
  5.4.1 CLM-record-id CIRISVerify src/ciris-crypto/src/scope_privacy.rs#derive_record_id ciris-crypto@v8.9.0
105
105
  5.4.2 CLM-symbol CIRISVerify src/ciris-crypto/src/xchacha.rs#seal ciris-crypto@v8.9.0
106
- 5.4.4 CLM-welcome-wrap CIRISEdge src/transport/realtime_av_mls.rs#commit_add ciris-edge@v9.1.2
106
+ 5.4.4 CLM-welcome-wrap CIRISEdge src/transport/realtime_av_mls.rs#commit_add ciris-edge@v9.1.4
107
107
  5.4.5 CLM-witness-content CIRISVerify src/ciris-crypto/src/scope_privacy.rs#witness_cover_leaf ciris-crypto@v8.9.0
108
- 5.4.6 CLM-announce-suppress CIRISEdge src/transport/addressing.rs#reticulum_destination_for_pubkey ciris-edge@v9.1.2
109
- 6.1.2 CLM-noise-classify CIRISPersist src/fountain/types.rs#classify ciris-persist@v13.2.0
108
+ 5.4.6 CLM-announce-suppress CIRISEdge src/transport/addressing.rs#reticulum_destination_for_pubkey ciris-edge@v9.1.4
109
+ 6.1.2 CLM-noise-classify CIRISPersist src/fountain/types.rs#classify ciris-persist@v13.3.1
110
110
  6.1.2 CLM-noise-descent CIRISVerify src/ciris-verify-core/src/holonomic/aggregation.rs#ejection_verdict ciris-verify-core@v8.9.0
111
111
  6.1.2.1 CLM-aggregationmetav1 CIRISVerify src/ciris-verify-core/src/holonomic/aggregation.rs#AggregationMetaV1 ciris-verify-core@v8.9.0
112
112
  6.1.2.2 CLM-descent CIRISVerify src/ciris-verify-core/src/holonomic/aggregation.rs#descend_order ciris-verify-core@v8.9.0
113
113
  6.1.2.3 CLM-noise-ejection CIRISVerify src/ciris-verify-core/src/holonomic/aggregation.rs#EjectionVerdict ciris-verify-core@v8.9.0
114
114
  6.1.5 CLM-noise-N5 CIRISVerify src/ciris-verify-core/src/holonomic/fountain.rs#retention_decision ciris-verify-core@v8.9.0
115
115
  6.1.5.1 CLM-registry-replication CIRISServer src/benchmarks/scoreboard.rs#FountainPolicy ciris-server@main
116
- 6.1.6 CLM-deterministic-alm CIRISEdge src/holonomic/deterministic_topology.rs#compute_alm_topology ciris-edge@v9.1.2
116
+ 6.1.6 CLM-deterministic-alm CIRISEdge src/holonomic/deterministic_topology.rs#compute_alm_topology ciris-edge@v9.1.4
117
117
  6.1.8 CLM-trust CIRISVerify src/ciris-verify-core/src/holonomic/bootstrap.rs#recursive_trust_bootstrap ciris-verify-core@v8.9.0