Skip to content

Stabilize 0.43 security and release readiness#4

Open
danilkryachko wants to merge 38 commits into
mainfrom
codex/0.43-stabilization
Open

Stabilize 0.43 security and release readiness#4
danilkryachko wants to merge 38 commits into
mainfrom
codex/0.43-stabilization

Conversation

@danilkryachko

@danilkryachko danilkryachko commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • harden HTTP identity, trusted-proxy OAuth metadata, framing, rate limits, and global/per-principal admission
  • bind MCP sessions and tasks to authenticated principals with bounded task ownership
  • add exact-hash RAG trust lanes, poisoning quarantine, source freshness checks, grounded evaluation, and file-evidence revalidation
  • strengthen SQLite durability, tamper-evident audit retention, observability, and release/deployment profiles
  • add governance docs plus pinned CodeQL, mutation, fuzz, coverage, supply-chain, SBOM, size, MSRV, conformance, and reproducibility gates
  • update bundled SQLite to the Rust 1.91-compatible reviewed floor and document host-managed encryption boundaries

Validation

  • cargo fmt and Clippy with all targets and all features
  • 161 binary unit tests and 140 CLI/integration tests
  • full vec, HTTP, autonomy, performance, MCP conformance, cargo-deny, and packaging gates
  • coverage repository floor 55 percent and all critical per-file floors
  • full release smoke at 29.8 MB and minimal release smoke at 7.49 MB
  • reproducible minimal build with identical SHA-256 output
  • RAG eval 20/20, Hit@3 95 percent, grounded coverage 100 percent
  • strict release-gate-v3 ready for code, project, and deployment profiles

Security and operations

The trusted-proxy mode requires explicit proxy CIDRs and stripping external identity headers. Public deployments remain TLS-terminated at a reverse proxy. SQLite at-rest encryption remains host-managed and is stated explicitly in deployment documentation.

Note

Stabilize 0.43 with security hardening, MCP protocol upgrades, and new evaluation surfaces

  • Adds a centralized egress validation layer (egress.rs) that validates, DNS-pins, and rate-limits all outbound HTTP connections; all embedding, generation, and maintenance HTTP clients now route through it
  • Introduces typed domain enums (MemoryType, MemoryScope, MemoryStatus) in domain.rs and enforces them across memory CRUD, MCP tool calls, and HTTP routes, replacing free-form strings
  • Upgrades the MCP server to support modern stateless protocol semantics, HTTP session management with TTL eviction, profile-based tool sets (core/standard/full), and pagination; adds a content-length framed transport via mcp_transport.rs
  • Hardens HTTP security with bearer auth scopes, rate/concurrency limiting, CSRF origin checks, request-id tracking, and opinionated security headers in http_server.rs and http_routes.rs
  • Expands RAG ingest with structure-aware chunking, prompt-injection quarantine, source trust lanes, and a shadow/challenger retrieval comparison mode in rag_ingest.rs and rag.rs
  • Adds audit hash chaining (previous_hash/event_hash) to memory_events and an integrity verification report; backup/install pruning now enforces configurable byte quotas
  • Raises schema to v28 via migrations in db.rs adding graph edges, observations, agent sessions, audit checkpoints, and MCP task tables with hardened file permissions on Unix
  • Introduces new CLI/MCP/HTTP surfaces: agent session lifecycle, runner profiles, evidence autopilot, deployment profile, graph-RAG eval, advanced eval, memory graph links, and OTLP telemetry export
  • Adds fuzz targets for MCP framing, HTTP content-length, RAG prompt injection, sync payload, and egress URL validation; CI gains MSRV, coverage, supply-chain, and MCP conformance gates
  • Risk: schema v28 requires a one-way migration; MCP rag-ingest now defaults dry_run=true, changing existing integrations that relied on the old default

Macroscope summarized 2249f6a.

@macroscopeapp

macroscopeapp Bot commented Jul 16, 2026

Copy link
Copy Markdown

Macroscope has since reviewed this pull request. An earlier review was skipped by a cost limit; a review has now completed, so that notice no longer applies.

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Comment thread src/app/generation.rs
Comment thread src/app/mcp_server/tasks.rs
Comment thread src/app/generation.rs
Comment thread src/app/generation.rs
Comment thread src/app/observability/release_gate.rs Outdated
Comment thread src/app/rag_ingest.rs
Comment thread src/app/observability/release_gate.rs Outdated
Comment thread src/app/observability.rs Outdated
Comment thread src/app/http_security.rs
Comment thread src/app/http_security.rs Outdated
Comment thread src/app/http_routes.rs
Comment thread src/app/otlp.rs
Comment thread src/app/http_server.rs Outdated
Comment thread src/app/mcp_server/tasks.rs
Comment thread src/app/generation.rs
Comment thread src/app/http_security.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants