Skip to content

Add synthetic Context Inbox capture proof - #299

Merged
DanielJD1216 merged 4 commits into
mainfrom
feat/context-inbox-mcp-capture-298
Aug 31, 2026
Merged

DanielJD1216 merged 4 commits into
mainfrom
feat/context-inbox-mcp-capture-298

Conversation

@DanielJD1216

@DanielJD1216 DanielJD1216 commented Aug 31, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • add a synthetic Context Inbox capture transition routed through the existing MCP-to-API policy boundary
  • retain only owner/namespace-bound provenance, digests, citation metadata, and freshness, never submitted source bodies
  • add source-only Context Inbox search with strict state validation, scoped freshness, and no trusted-memory promotion
  • enforce immutable append-only state, exact idempotent replay, bounded replay conflicts, and authorization before untrusted-state inspection
  • add focused synthetic fixtures, smoke coverage, exports, and documentation

Security and state behavior

  • owner authority comes only from authenticated caller context
  • namespace and capability policy runs before capture envelope validation
  • denied capture and search requests do not inspect caller-supplied state
  • capture denials before authorization and owner/namespace state validation return a fresh empty state, including when given module-trusted foreign state
  • caller-supplied empty state, callers, requests, nested citations, and capture envelopes are snapshotted once from plain own enumerable data properties, then exact-key validated
  • non-empty state is accepted only when created by this in-process synthetic module and tracked through its private trust set; externally supplied non-empty state fails closed
  • the full envelope digest binds retained envelope identity, provenance, content digest, and capture freshness, while source-revision identity remains separate for legitimate re-observation
  • hidden, inherited, symbol, accessor-driven, own __proto__, transparent or revoked Proxy, sparse-array, and custom-array input fails closed
  • capture rejects state containing another owner or namespace rather than returning foreign state
  • module-created retained state and capture/search response metadata are deeply frozen
  • duplicate request, envelope, and source-revision identities are rejected
  • all replay-key conflicts are evaluated before idempotent replay
  • capture, replay, and search freshness is owner/namespace scoped and monotonic
  • receipts, denials, retained state, and search output exclude submitted source content
  • capture and search cannot create pending candidates or trusted memory

Validation

  • npm run build && node examples/runtime-skeleton/context-inbox-smoke.mjs
  • npm run runtime:skeleton-smoke
  • npm run typecheck
  • npm test
  • npm run runtime:api-policy-smoke
  • npm run runtime:mcp-adapter-smoke
  • npm run runtime:owner-hosted-smoke
  • npm run runtime:gate-b-memory-only
  • npm run docs:links
  • npm run docs:anchors
  • npm run safety:scan
  • npm run claims:scan
  • npm run readiness:report
  • git diff --check

All listed local gates passed on the final reviewed tree. The Gate B memory-only suite passed 46/46 tests. Safety and claims scans reported zero findings.

Scope limits

This remains a public-safe synthetic state-transition proof. It does not add or modify Alpha runtime behavior, migrations, databases, connectors, deployment, real-data handling, package publishing, MCP tool profiles, or trusted-memory promotion.

Closes #298

@DanielJD1216
DanielJD1216 force-pushed the feat/context-inbox-mcp-capture-298 branch from 7cb908e to 412b0c9 Compare August 31, 2026 19:20
@DanielJD1216
DanielJD1216 merged commit 2ba1f1c into main Aug 31, 2026
6 checks passed
@DanielJD1216
DanielJD1216 deleted the feat/context-inbox-mcp-capture-298 branch August 31, 2026 20:05
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.

Context Inbox MVP: prove MCP agent capture with citations and freshness

1 participant