ciris-server 0.5.76__tar.gz → 0.5.77__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 (261) hide show
  1. {ciris_server-0.5.76 → ciris_server-0.5.77}/Cargo.lock +5 -5
  2. {ciris_server-0.5.76 → ciris_server-0.5.77}/Cargo.toml +5 -5
  3. {ciris_server-0.5.76 → ciris_server-0.5.77}/PKG-INFO +1 -1
  4. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/Cargo.toml +2 -2
  5. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/federation_peers.rs +6 -0
  6. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/accord.rs +27 -9
  7. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/support.rs +2 -2
  8. {ciris_server-0.5.76 → ciris_server-0.5.77}/.cargo/config.toml +0 -0
  9. {ciris_server-0.5.76 → ciris_server-0.5.77}/.claude/workflows/localize-ui.js +0 -0
  10. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/bench.yml +0 -0
  11. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/build-wheels.yml +0 -0
  12. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/ci.yml +0 -0
  13. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/client-artifacts.yml +0 -0
  14. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/conformance.yml +0 -0
  15. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/localization.yml +0 -0
  16. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/publish-pypi.yml +0 -0
  17. {ciris_server-0.5.76 → ciris_server-0.5.77}/.github/workflows/release.yml +0 -0
  18. {ciris_server-0.5.76 → ciris_server-0.5.77}/.gitignore +0 -0
  19. {ciris_server-0.5.76 → ciris_server-0.5.77}/CHANGELOG.md +0 -0
  20. {ciris_server-0.5.76 → ciris_server-0.5.77}/LICENSE +0 -0
  21. {ciris_server-0.5.76 → ciris_server-0.5.77}/MISSION.md +0 -0
  22. {ciris_server-0.5.76 → ciris_server-0.5.77}/README.md +0 -0
  23. {ciris_server-0.5.76 → ciris_server-0.5.77}/WIRE_VOCABULARY_KINDS.md +0 -0
  24. {ciris_server-0.5.76 → ciris_server-0.5.77}/bench-site/bench_results.json +0 -0
  25. {ciris_server-0.5.76 → ciris_server-0.5.77}/bench-site/index.html +0 -0
  26. {ciris_server-0.5.76 → ciris_server-0.5.77}/bench_results.json +0 -0
  27. {ciris_server-0.5.76 → ciris_server-0.5.77}/benches/alm_chain.rs +0 -0
  28. {ciris_server-0.5.76 → ciris_server-0.5.77}/benches/erasure_survival.rs +0 -0
  29. {ciris_server-0.5.76 → ciris_server-0.5.77}/benches/n_eff_scoring.rs +0 -0
  30. {ciris_server-0.5.76 → ciris_server-0.5.77}/benches/pqc_av_streaming.rs +0 -0
  31. {ciris_server-0.5.76 → ciris_server-0.5.77}/benches/replication_ingest.rs +0 -0
  32. {ciris_server-0.5.76 → ciris_server-0.5.77}/benches/sig_overhead.rs +0 -0
  33. {ciris_server-0.5.76 → ciris_server-0.5.77}/benches/stream_fanout.rs +0 -0
  34. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/.github/workflows/bench.yml +0 -0
  35. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/.github/workflows/ci.yml +0 -0
  36. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/.gitignore +0 -0
  37. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/.pre-commit-config.yaml +0 -0
  38. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/FSD/CIRIS_LENS_CORE.md +0 -0
  39. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/FSD/LENS_CORE_V0_5.md +0 -0
  40. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/FSD/OPEN_QUESTIONS.md +0 -0
  41. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/LICENSE +0 -0
  42. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/MISSION.md +0 -0
  43. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/README.md +0 -0
  44. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/benches/aggregate.rs +0 -0
  45. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/benches/canonicalize.rs +0 -0
  46. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/benches/project.rs +0 -0
  47. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/deny.toml +0 -0
  48. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/BENCHMARKS.md +0 -0
  49. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/COHABITATION.md +0 -0
  50. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/PRE_COMMIT.md +0 -0
  51. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/PUBLIC_SCHEMA_CONTRACT.md +0 -0
  52. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/PYPI_PUBLISH.md +0 -0
  53. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/RELEASE_NOTES.md +0 -0
  54. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/STANDARDS_COMPARISON.md +0 -0
  55. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/docs/THREAT_MODEL.md +0 -0
  56. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/extraction/json_path.rs +0 -0
  57. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/extraction/metadata.rs +0 -0
  58. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/extraction/mod.rs +0 -0
  59. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/distilbert_loader.rs +0 -0
  60. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/fields.rs +0 -0
  61. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/mod.rs +0 -0
  62. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/ner.rs +0 -0
  63. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/ort_loader.rs +0 -0
  64. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/proptests.rs +0 -0
  65. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/regex.rs +0 -0
  66. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/walker.rs +0 -0
  67. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/patterns_from_cirislens_core/scrubber/xlm_r_loader.rs +0 -0
  68. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/pyproject.toml +0 -0
  69. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/python/ciris_lens_core/__init__.py +0 -0
  70. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/audit/api.rs +0 -0
  71. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/audit/delegate.rs +0 -0
  72. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/audit/mod.rs +0 -0
  73. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/audit/pyo3.rs +0 -0
  74. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/canonical/ceg_egress.rs +0 -0
  75. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/canonical/mod.rs +0 -0
  76. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capacity/attestation.rs +0 -0
  77. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capacity/mod.rs +0 -0
  78. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capacity/score.rs +0 -0
  79. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/batch.rs +0 -0
  80. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/client.rs +0 -0
  81. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/consent.rs +0 -0
  82. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/correlation.rs +0 -0
  83. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/event.rs +0 -0
  84. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/mod.rs +0 -0
  85. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/partial.rs +0 -0
  86. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/py_engine.rs +0 -0
  87. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/capture/seal.rs +0 -0
  88. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/cohort/declared.rs +0 -0
  89. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/cohort/mod.rs +0 -0
  90. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/cohort/resourcing.rs +0 -0
  91. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/config/egress.rs +0 -0
  92. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/config/mod.rs +0 -0
  93. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/config/node.rs +0 -0
  94. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/config/retention.rs +0 -0
  95. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/config/upstream.rs +0 -0
  96. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/detector/axis_metrics.rs +0 -0
  97. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/detector/coherence_ratchet.rs +0 -0
  98. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/detector/correlated_action.rs +0 -0
  99. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/detector/distributive_access.rs +0 -0
  100. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/detector/manifold.rs +0 -0
  101. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/detector/mod.rs +0 -0
  102. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/extract/mod.rs +0 -0
  103. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/extract/projection.rs +0 -0
  104. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/ffi/mod.rs +0 -0
  105. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/ffi/pyo3.rs +0 -0
  106. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/lib.rs +0 -0
  107. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/observability/mod.rs +0 -0
  108. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/pipeline/lifecycle.rs +0 -0
  109. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/pipeline/mod.rs +0 -0
  110. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/retention/eviction.rs +0 -0
  111. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/retention/mod.rs +0 -0
  112. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/retention/summary.rs +0 -0
  113. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/role/handler.rs +0 -0
  114. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/role/mod.rs +0 -0
  115. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/role/node.rs +0 -0
  116. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/role/relay.rs +0 -0
  117. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/role/ret_relay.rs +0 -0
  118. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scores/aggregate.rs +0 -0
  119. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scores/mod.rs +0 -0
  120. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scores/oracle.rs +0 -0
  121. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scoring/assembly.rs +0 -0
  122. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scoring/axis_calibration.rs +0 -0
  123. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scoring/calibration.rs +0 -0
  124. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scoring/capacity.rs +0 -0
  125. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scoring/mod.rs +0 -0
  126. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scoring/n_eff.rs +0 -0
  127. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/scoring/result.rs +0 -0
  128. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/signing/event.rs +0 -0
  129. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/signing/mod.rs +0 -0
  130. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/wire/mod.rs +0 -0
  131. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/src/wire/signer.rs +0 -0
  132. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/tests/parity/README.md +0 -0
  133. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/tests/parity/canonical_fixtures.json +0 -0
  134. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/tests/parity/generate_canonical_fixtures.py +0 -0
  135. {ciris_server-0.5.76 → ciris_server-0.5.77}/crates/ciris-lens-core/tests/sovereign_rlib.rs +0 -0
  136. {ciris_server-0.5.76 → ciris_server-0.5.77}/data/live_mesh_2026-06-22.json +0 -0
  137. {ciris_server-0.5.76 → ciris_server-0.5.77}/docs/SCOPE_PRIVACY.md +0 -0
  138. {ciris_server-0.5.76 → ciris_server-0.5.77}/examples/mesh_propagation/main.rs +0 -0
  139. {ciris_server-0.5.76 → ciris_server-0.5.77}/examples/qa_runner/accord.rs +0 -0
  140. {ciris_server-0.5.76 → ciris_server-0.5.77}/examples/qa_runner/common.rs +0 -0
  141. {ciris_server-0.5.76 → ciris_server-0.5.77}/examples/qa_runner/family.rs +0 -0
  142. {ciris_server-0.5.76 → ciris_server-0.5.77}/examples/qa_runner/main.rs +0 -0
  143. {ciris_server-0.5.76 → ciris_server-0.5.77}/examples/qa_runner/verify.rs +0 -0
  144. {ciris_server-0.5.76 → ciris_server-0.5.77}/installers/windows/README.md +0 -0
  145. {ciris_server-0.5.76 → ciris_server-0.5.77}/installers/windows/bundle-jre.ps1 +0 -0
  146. {ciris_server-0.5.76 → ciris_server-0.5.77}/installers/windows/ciris-server-entry.py +0 -0
  147. {ciris_server-0.5.76 → ciris_server-0.5.77}/installers/windows/ciris-server-installer.iss +0 -0
  148. {ciris_server-0.5.76 → ciris_server-0.5.77}/installers/windows/ciris-server.spec +0 -0
  149. {ciris_server-0.5.76 → ciris_server-0.5.77}/pyproject.toml +0 -0
  150. {ciris_server-0.5.76 → ciris_server-0.5.77}/python/ciris_server/__init__.py +0 -0
  151. {ciris_server-0.5.76 → ciris_server-0.5.77}/python/ciris_server/__main__.py +0 -0
  152. {ciris_server-0.5.76 → ciris_server-0.5.77}/python/ciris_server/cli.py +0 -0
  153. {ciris_server-0.5.76 → ciris_server-0.5.77}/python/ciris_server/desktop_launcher.py +0 -0
  154. {ciris_server-0.5.76 → ciris_server-0.5.77}/rust-toolchain.toml +0 -0
  155. {ciris_server-0.5.76 → ciris_server-0.5.77}/scripts/bench_report.py +0 -0
  156. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/accord.rs +0 -0
  157. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/accord_custody.rs +0 -0
  158. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/accord_halt.rs +0 -0
  159. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/accord_pki/yubico_attestation_root_1.der +0 -0
  160. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/accord_pki/yubico_attestation_root_1.pem +0 -0
  161. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/accord_provision.rs +0 -0
  162. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/accord_reactivate.rs +0 -0
  163. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/adapter.rs +0 -0
  164. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/ABSORPTION.md +0 -0
  165. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/api_keys.rs +0 -0
  166. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/attestation.rs +0 -0
  167. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/bootstrap.rs +0 -0
  168. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/consent.rs +0 -0
  169. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/device_auth.rs +0 -0
  170. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/device_grant.rs +0 -0
  171. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/erasure.rs +0 -0
  172. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/gate.rs +0 -0
  173. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/loopback.rs +0 -0
  174. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/mod.rs +0 -0
  175. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/oauth.rs +0 -0
  176. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/occurrence.rs +0 -0
  177. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/ownership.rs +0 -0
  178. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/portable_occurrence.rs +0 -0
  179. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/roles.rs +0 -0
  180. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/self_login.rs +0 -0
  181. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/session.rs +0 -0
  182. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/store.rs +0 -0
  183. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/auth/verify.rs +0 -0
  184. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/benchmarks/bench_results.rs +0 -0
  185. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/benchmarks/mesh.rs +0 -0
  186. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/benchmarks/mod.rs +0 -0
  187. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/benchmarks/scoreboard.rs +0 -0
  188. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/claim_remote.rs +0 -0
  189. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/compose.rs +0 -0
  190. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/config.rs +0 -0
  191. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/config_api.rs +0 -0
  192. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/config_reconcile.rs +0 -0
  193. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/delegation_transparency.rs +0 -0
  194. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/family.rs +0 -0
  195. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/federation_admin.rs +0 -0
  196. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/federation_nodecode.rs +0 -0
  197. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/graph_config.rs +0 -0
  198. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/health.rs +0 -0
  199. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/holonomic.rs +0 -0
  200. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/http_log.rs +0 -0
  201. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/identity.rs +0 -0
  202. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/ids.rs +0 -0
  203. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/import.rs +0 -0
  204. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/ingest_http.rs +0 -0
  205. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/lib.rs +0 -0
  206. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/main.rs +0 -0
  207. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/memory_api.rs +0 -0
  208. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/mesh_relay.rs +0 -0
  209. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/nodecode.rs +0 -0
  210. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/peer.rs +0 -0
  211. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/proxy.rs +0 -0
  212. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/py_adapter.rs +0 -0
  213. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/quorum.rs +0 -0
  214. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/radio.rs +0 -0
  215. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/replication_reconcile.rs +0 -0
  216. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/safety/age.rs +0 -0
  217. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/safety/mod.rs +0 -0
  218. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/safety/moderation.rs +0 -0
  219. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/safety/named.rs +0 -0
  220. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/safety/watchlist.rs +0 -0
  221. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/scorer/n_eff.rs +0 -0
  222. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/scorer.rs +0 -0
  223. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/system_data.rs +0 -0
  224. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/telemetry_logs.rs +0 -0
  225. {ciris_server-0.5.76 → ciris_server-0.5.77}/src/yubico_attestation_ca.pem +0 -0
  226. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/accord_admit_node.rs +0 -0
  227. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/alm_chain.rs +0 -0
  228. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/audit_chain.rs +0 -0
  229. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/capacity_scorer.rs +0 -0
  230. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/chaos_mesh.rs +0 -0
  231. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/claim_remote.rs +0 -0
  232. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/config_reconcile.rs +0 -0
  233. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/device_grant.rs +0 -0
  234. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/federation_admin.rs +0 -0
  235. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/federation_session_kex.rs +0 -0
  236. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/graph_config.rs +0 -0
  237. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/ingest_http.rs +0 -0
  238. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/mesh_seed_e2e.rs +0 -0
  239. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/nat_traversal.rs +0 -0
  240. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/nodecode.rs +0 -0
  241. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/noise_floor.rs +0 -0
  242. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/occurrence.rs +0 -0
  243. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/ownership.rs +0 -0
  244. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/peer_replication.rs +0 -0
  245. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/portable_occurrence.rs +0 -0
  246. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage1.rs +0 -0
  247. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage2.rs +0 -0
  248. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage3.rs +0 -0
  249. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage4.rs +0 -0
  250. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage5.rs +0 -0
  251. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage6.rs +0 -0
  252. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage7.rs +0 -0
  253. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates/stage8.rs +0 -0
  254. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/release_gates.rs +0 -0
  255. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/replication.rs +0 -0
  256. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/replication_reconcile.rs +0 -0
  257. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/root_bootstrap.rs +0 -0
  258. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/safety.rs +0 -0
  259. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/stream_sth_consistency.rs +0 -0
  260. {ciris_server-0.5.76 → ciris_server-0.5.77}/tests/wire_vocabulary_gate.rs +0 -0
  261. {ciris_server-0.5.76 → ciris_server-0.5.77}/tools/audit_cohort_scope_callers.py +0 -0
@@ -821,8 +821,8 @@ dependencies = [
821
821
 
822
822
  [[package]]
823
823
  name = "ciris-edge"
824
- version = "8.4.1"
825
- source = "git+https://github.com/CIRISAI/CIRISEdge?tag=v8.4.1#a95680eb01ca27c034a75a6e44b0674f2e9681ca"
824
+ version = "8.4.2"
825
+ source = "git+https://github.com/CIRISAI/CIRISEdge?tag=v8.4.2#fa66d9319f9293b718d07ae22fde7342e93a0b7e"
826
826
  dependencies = [
827
827
  "async-trait",
828
828
  "axum",
@@ -943,8 +943,8 @@ dependencies = [
943
943
 
944
944
  [[package]]
945
945
  name = "ciris-persist"
946
- version = "12.0.1"
947
- source = "git+https://github.com/CIRISAI/CIRISPersist?tag=v12.0.1#6cf472a2be325210c9d5da122fac61fb092aad40"
946
+ version = "12.0.2"
947
+ source = "git+https://github.com/CIRISAI/CIRISPersist?tag=v12.0.2#883349f4e68b58de0a1905c37ad98ab55a80e918"
948
948
  dependencies = [
949
949
  "async-trait",
950
950
  "base64 0.22.1",
@@ -983,7 +983,7 @@ dependencies = [
983
983
 
984
984
  [[package]]
985
985
  name = "ciris-server"
986
- version = "0.5.76"
986
+ version = "0.5.77"
987
987
  dependencies = [
988
988
  "anyhow",
989
989
  "async-trait",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "ciris-server"
3
- version = "0.5.76" # 0.5.76 = v12.0 GENESIS-MESH adoption + the accord ADMIT-NODE card. Substrate co-bump: verify v8.3.0->v8.5.0 (CIRISVerify#162 produce_scrubbed_key_record) / persist v11.9.1->v12.0.1 (root_binding anchors to the HUMANITY_ACCORD holder keyset, #344/#345) / edge v8.3.0->v8.4.1 (lockstep). NEW: POST /v1/accord/admit-node (src/accord_provision.rs) an accord holder scrub-signs a node registration on their portable YubiKey+USB holder signer (reuses the ceremony cosign path) via produce_scrubbed_key_record + produce_self_key_record("steward,accord_holder"), saving the genesis SEED object to ceg_outbox()/accord_admit_node/{target}.json (predictable, persist-ingestable) for CIRISPersist v12.0.2 to bake. QA gate tests/accord_admit_node.rs (emulates the accord-genesis QA): the scrubbed record survives persist STRICT register_federation_key + ROOTS at the accord anchor (root_binding_anchored=Confirmed), wrong-anchor rejected. Matching CLIENT card: AdmitNodeResponse DTO + CIRISApiClient.admitNode() + AccordViewModel.admitNode() + AccordScreen "Admit node to trust root" section (testable tags). App holds no keys; the YubiKey touch is consent. NEXT (0.5.77): roster labels, rotation/lost-key wizard (server family/change+supersede exist), partial-consensus announce. 0.5.75 = RNS rooting + hybrid keys.
3
+ version = "0.5.77" # 0.5.77 = persist v12.0.2 (the accord-holder anchor SEED CIRISPersist#347, seeds A1/B1/C1 at first boot) + edge v8.4.2 adoption, + accord-card UX polish: (1) lists the holder roster, (2) SELECT the holder from the roster (dropdown) instead of typing, (3) SELECT the target from owned-nodes auto-fills both hybrid pubkeys from the local directory (added pubkey_ml_dsa_65 to LocalPeerState / GET /v1/federation/peers), (4) BROWSE for the USB PQC folder (DirectoryPicker). Verify unchanged v8.5.0. 0.5.76 = the admit-node card + v12.0 adoption.
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.
@@ -123,8 +123,8 @@ ciris-lens-core = { path = "crates/ciris-lens-core" } # ABSORBED in-tree (wo
123
123
  # `cirislens_wa_cert` + `cirislens_service_token_revocation` expose the auth
124
124
  # substrate the fabric absorbs (CIRISServer#9, src/auth): the agent's `wa_cert`
125
125
  # table (users/WA/OAuth/api-keys) + the `revoked_service_tokens` table.
126
- ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v12.0.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"] }
127
- ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v8.4.1", features = ["transport-reticulum", "transport-http", "transport-packet-radio"] }
126
+ ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v12.0.2", 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"] }
127
+ ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v8.4.2", features = ["transport-reticulum", "transport-http", "transport-packet-radio"] }
128
128
  # Founder-quorum verification + key-id fingerprint at the composition root
129
129
  # (threshold:: module path — NOT re-exported at the crate root).
130
130
  # LOCKSTEP: persist v9.4.0 transitively pins verify-core v6.6.x — the whole
@@ -206,7 +206,7 @@ tracing-appender = "0.2"
206
206
  # - keyring `tpm` (tss-esapi / TPM 2.0) — the real hardware backend; needs
207
207
  # libtss2 (Linux build dep). Other targets keep the software keystore.
208
208
  [target.'cfg(target_os = "linux")'.dependencies]
209
- ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v12.0.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"] }
209
+ ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v12.0.2", 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"] }
210
210
  # keyring `tpm` (TPM-at-rest, Linux-only via tss-esapi). `pkcs11` is no longer
211
211
  # per-target — it rides the global `pkcs11` feature now that cryptoki builds on all
212
212
  # targets (CIRISVerify v6.12.0).
@@ -259,7 +259,7 @@ ciris-crypto = { git = "https://github.com/CIRISAI/CIRISVerify", tag = "v8.5.0"
259
259
  # and never encodes/decodes). This lets tests/chaos_mesh.rs exercise the SUBSTRATE
260
260
  # codec (`fountain_encode`/`fountain_decode`) directly — a real MEASURED proof,
261
261
  # not a reference stand-in.
262
- ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v8.4.1", features = ["codec-fountain"] }
262
+ ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v8.4.2", features = ["codec-fountain"] }
263
263
 
264
264
  # PQC realtime-A/V streaming E2E benchmark (CIRISEdge#62 realtime_av profile).
265
265
  [[bench]]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ciris-server
3
- Version: 0.5.76
3
+ Version: 0.5.77
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>
@@ -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 = "v12.0.1", version = "12", features = ["extract", "sqlite"] }
30
- ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v8.4.1", version = "8", features = ["transport-http", "transport-reticulum"] }
29
+ ciris-persist = { git = "https://github.com/CIRISAI/CIRISPersist", tag = "v12.0.2", version = "12", features = ["extract", "sqlite"] }
30
+ ciris-edge = { git = "https://github.com/CIRISAI/CIRISEdge", tag = "v8.4.2", version = "8", 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
@@ -80,6 +80,11 @@ fn err(code: StatusCode, error: &str) -> Response {
80
80
  struct LocalPeerState {
81
81
  key_id: String,
82
82
  pubkey_ed25519_base64: String,
83
+ /// The ML-DSA-65 half (present on a hybrid-complete row; `None` on a legacy
84
+ /// bookmark). Projected so the accord admit-node card can auto-fill BOTH of a
85
+ /// selected owned node's pubkeys from the local directory — no manual paste.
86
+ #[serde(skip_serializing_if = "Option::is_none")]
87
+ pubkey_ml_dsa_65_base64: Option<String>,
83
88
  canonical: bool,
84
89
  /// One of "trusted"|"untrusted"|"blocked"|"unknown". A directory row is an
85
90
  /// admitted key ⇒ "trusted".
@@ -104,6 +109,7 @@ fn to_peer(rec: KeyRecord) -> LocalPeerState {
104
109
  LocalPeerState {
105
110
  key_id: rec.key_id,
106
111
  pubkey_ed25519_base64: rec.pubkey_ed25519_base64,
112
+ pubkey_ml_dsa_65_base64: rec.pubkey_ml_dsa_65_base64,
107
113
  canonical,
108
114
  trust: "trusted",
109
115
  first_seen: rec.valid_from.to_rfc3339(),
@@ -859,7 +859,11 @@ async fn genesis_refuses_a_member_that_is_not_a_custody_verified_accord_holder()
859
859
  "rejection must name the non-holder member; got {body}"
860
860
  );
861
861
 
862
- // No family was entrenched.
862
+ // The rejected genesis must not entrench THIS test's family. (Every node now
863
+ // seeds + bakes the canonical HUMANITY_ACCORD genesis A1/B1/C1 — persist
864
+ // v12.0.2 / verify v8.5.0 — so `family_established` is baseline-true and the
865
+ // seats are the baked A1/B1/C1; that is orthogonal to this test. What must
866
+ // hold is that NONE of the proposed test members became a seat.)
863
867
  let roster: serde_json::Value = client
864
868
  .get(format!("{base}/v1/accord-holders"))
865
869
  .send()
@@ -868,10 +872,13 @@ async fn genesis_refuses_a_member_that_is_not_a_custody_verified_accord_holder()
868
872
  .json()
869
873
  .await
870
874
  .unwrap();
871
- assert_eq!(
872
- roster["family_established"], false,
873
- "a rejected genesis must not entrench a family"
874
- );
875
+ let seats = roster["holders"].as_array().expect("holders array");
876
+ for member in ["seat-a", "seat-b", "outsider-not-a-holder"] {
877
+ assert!(
878
+ !seats.iter().any(|h| h["key_id"] == member),
879
+ "a rejected genesis must not entrench member {member}; got {roster}"
880
+ );
881
+ }
875
882
  }
876
883
 
877
884
  // ─── Operational halt (CC 4.2.1 / 4.2.3 / §9.2.1) — the enforceable kill-switch ─
@@ -1116,10 +1123,21 @@ async fn registered_spare_is_not_a_seat_and_cannot_help_reach_quorum() {
1116
1123
  .await
1117
1124
  .unwrap();
1118
1125
  assert_eq!(roster["seat_count"], 3, "exactly 3 seats; got {roster}");
1119
- assert_eq!(
1120
- roster["registered_total"], 4,
1121
- "3 seats + 1 spare registered"
1122
- );
1126
+ // This test's 3 seats + 1 spare are ALL registered accord_holders. (Every node
1127
+ // also seeds the baked A1/B1/C1 canonical genesis — persist v12.0.2 — so assert
1128
+ // membership rather than an exact `registered_total`, which now baselines +3.)
1129
+ let registered = roster["registered"].as_array().expect("registered array");
1130
+ for kid in [
1131
+ "accord-holder-a",
1132
+ "accord-holder-b",
1133
+ "accord-holder-c",
1134
+ "accord-holder-a-spare",
1135
+ ] {
1136
+ assert!(
1137
+ registered.iter().any(|h| h["key_id"] == kid),
1138
+ "the 3 seats + spare must all be registered; missing {kid}; got {roster}"
1139
+ );
1140
+ }
1123
1141
  assert!(
1124
1142
  !roster["holders"]
1125
1143
  .as_array()
@@ -32,8 +32,8 @@ use std::path::PathBuf;
32
32
  // verify v8.3.0→v8.5.0 (CIRISVerify#162 produce_scrubbed_key_record, the accord
33
33
  // admit-node op), edge v8.3.0→v8.4.1 (anchor gate for free + verify/persist lockstep).
34
34
  pub const TARGET_VERIFY: &str = "v8.5.0";
35
- pub const TARGET_PERSIST: &str = "v12.0.1";
36
- pub const TARGET_EDGE: &str = "v8.4.1";
35
+ pub const TARGET_PERSIST: &str = "v12.0.2";
36
+ pub const TARGET_EDGE: &str = "v8.4.2";
37
37
  /// Stage 6/7: the persist MAJOR family that bakes the canonical genesis seed.
38
38
  /// (Name is historical — the seed-bake family moved v10 → **v12** with the v12.0
39
39
  /// genesis-mesh rooting anchor: persist v12.0.1 enforces it, v12.0.2 bakes the
File without changes
File without changes
File without changes
File without changes