You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ciris-lens-core1.0.0 is live on PyPI — the wire-contract freeze release (CIRISLensCore#11 client-emit + #17 sovereign rlib parity + #18 freeze). It now owns the trace wire/canonical/scrub/sign contract at the substrate, with a stable-frozen public ABI (docs/PUBLIC_SCHEMA_CONTRACT.md). The deployed lens still carries the in-tree cirislens-core crate + hand-rolled wire/scrub plumbing — the source of the drift this repo keeps hitting (#6 scrubbing inconsistency, #7 generic-tier field stripping, #9 legacy-canonical verify mismatch). Adopting 1.0.0 consolidates that contract in one substrate-owned place.
Cohabitation floor
Pin the full triple (single process-singleton persist — agent + NodeCore + LensCore + edge share ONE persist version):
This is the active CIRISConformance matrix floor (lens-core re-added at 1.0.0; requires_lens cells live).
What to do
Replace the in-tree cirislens-core with ciris-lens-core==1.0.0. The drop-in PyO3 parity surface is preserved (the v0.1.x success bar): process_trace_batch(engine, events, …), scrub_trace / scrub_traces_batch, ner_is_configured(), PROJECTION_VERSION. One-line alias at the import site (import ciris_lens_core as cirislens_core); delete the obsolete in-tree crate.
Relay/node bootstrap — cut the FastAPI verify/scrub/persist path over to install_relay(edge): the cohabitation handler that verifies-via-persist + persists inbound AccordEventsBatch to the shared Engine (relay mode passes NullScrubber — scrubbing is the originating client's egress responsibility, CIRISPersist#89). No second engine/runtime.
Why
ciris-lens-core1.0.0 is live on PyPI — the wire-contract freeze release (CIRISLensCore#11 client-emit + #17 sovereign rlib parity + #18 freeze). It now owns the trace wire/canonical/scrub/sign contract at the substrate, with astable-frozenpublic ABI (docs/PUBLIC_SCHEMA_CONTRACT.md). The deployed lens still carries the in-treecirislens-corecrate + hand-rolled wire/scrub plumbing — the source of the drift this repo keeps hitting (#6 scrubbing inconsistency, #7 generic-tier field stripping, #9 legacy-canonical verify mismatch). Adopting 1.0.0 consolidates that contract in one substrate-owned place.Cohabitation floor
Pin the full triple (single process-singleton persist — agent + NodeCore + LensCore + edge share ONE persist version):
This is the active CIRISConformance matrix floor (lens-core re-added at 1.0.0;
requires_lenscells live).What to do
cirislens-corewithciris-lens-core==1.0.0. The drop-in PyO3 parity surface is preserved (the v0.1.x success bar):process_trace_batch(engine, events, …),scrub_trace/scrub_traces_batch,ner_is_configured(),PROJECTION_VERSION. One-line alias at the import site (import ciris_lens_core as cirislens_core); delete the obsolete in-tree crate.install_relay(edge): the cohabitation handler that verifies-via-persist + persists inboundAccordEventsBatchto the shared Engine (relay mode passesNullScrubber— scrubbing is the originating client's egress responsibility, CIRISPersist#89). No second engine/runtime.crate::wire::*(BatchEnvelope/CompleteTrace/ReasoningEventType/…), not hand-rolled shapes. The canonical bytes are byte-exact to the agent; the legacy-canonical/verify drift (verify_signature_mismatch on 2.7.6 agent traces survives persist 0.4.4 (2.7.legacy in SUPPORTED_SCHEMA_VERSIONS) — legacy-canonical envelopes not routed through legacy verifier #9) is routed through persist's version-dispatched verifier now.scrub_trace/scrub_traces_batch(persist's NER pipeline) rather than the in-tree scrubber; this is the cure for the Inconsistent base_url scrubbing + correlated prompt_hash null pattern across LLM_CALL rows #6 base_url/prompt_hash inconsistency (one NER version, federation-wide).Acceptance
cirislens-coredeleted; lens importsciris-lens-core==1.0.0.install_relay(verify-via-persist + shared-engine persist).References
ciris-lens-corefreeze contract:CIRISLensCore/docs/PUBLIC_SCHEMA_CONTRACT.mdCIRISLensCore/docs/COHABITATION.mdCIRISLensCore/docs/RELEASE_NOTES.md