Merged
Conversation
Triple mutations (create/delete) now automatically generate DagActions in both cluster and non-cluster mode, enabling complete audit trails. - Add Custom variant to DagPayload for explicit user actions - Add subjects field to TripleDelete for subject-based indexing - Add subject_index to DagStore with full lifecycle (put/ingest/rebuild/prune) - Add history_by_subject() for subject-scoped DAG queries - Add POST /api/v1/dag/actions endpoint for custom DagActions - Fix GET /api/v1/dag/history?subject=X to use dedicated subject index - Non-cluster triple writes now record DagActions via dag_store.put() - Handle Custom payload in Raft state machine and export/timetravel
…d data
ProofStore.submit() persists only request.proof_data (the raw proof
bytes) but ProofVerifier.verify() was deserializing as a full ZkProof
which requires proof_type, proof_data, timestamp, and metadata fields.
This caused 422 "missing field proof_type" on GET /api/v1/proofs/{id}/verify.
Fix: when direct ZkProof deserialization fails, reconstruct the envelope
from StoredProof.proof_type metadata + the stored raw proof data. Also
injects the ProofData serde type tag when the client omitted it.
… 19xxx ports Eliminate 5 potential crash scenarios: - Replace nested unwrap in Raft peer fallback with infallible SocketAddr::from - Replace HeaderValue::from_str().unwrap() with infallible From<u64/u32> in rate limiter - Change DagGraph::to_json/export to return Result instead of expect/panic - Propagate errors from GraphDB::memory() in AppState::new/with_audit_path - Add safe short_id() helper to prevent string slice out-of-bounds in DAG export Standardize all components to 19xxx port range: - Cortex REST: 19090, P2P: 19091 (already correct) - Minimal REST/WebRTC: 8080 → 19080, QUIC: 8443 → 19081 - Fix OpenAPI spec, docker-compose, tutorials, and examples
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
unwrap()replaced with infallibleSocketAddr::fromHeaderValue::from_str().unwrap()replaced with infallibleFrom<u64/u32>to_json()/export()now returnResultinstead ofexpect()GraphDB::memory()errors propagated viaResultshort_id()helper prevents string slice out-of-boundsTest plan
cargo check --workspacepassescargo test -p aingle_raft— 4/4 passedcargo test -p aingle_cortex --lib middleware::rate_limit— 7/7 passedcargo test -p aingle_graph --features dag— 151/151 passedcargo test -p aingle_minimal— 65/65 passedcargo audit— 0 vulnerabilities