Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.
Shared Memory Intake
Use ~/.codex/memories/ as the canonical shared knowledge store and ~/.agents/shared-memory-inbox/ as the external submission store. Read MEMORY.md before opening matching rollout_summaries/ files. Treat dynamic claims as UNCONFIRMED until verified in the active session.
Actor contract
Require an explicit actor: --as claude or --as codex. Never infer it from the runtime.
| Actor | Allowed operations | Forbidden operations |
|---|---|---|
claude | read official memory; create one submission in inbox/pending/ | edit or delete official memory, or another submission |
codex | read, review, promote, supersede, maintain | delete historical summaries or silently overwrite a current claim |
Claude: submit
- Read
MEMORY.md; do not restate an existing current claim as a new submission. - Create one uniquely named Markdown file under
~/.agents/shared-memory-inbox/pending/with YAML frontmatter:
schema_version: 1
source_runtime: claude
submitted_at: 2026-07-26T00:00:00Z
cwd: /absolute/path
source_session: opaque-session-id
claim_status: unverified
evidence_host: hostname-or-fleet-idevidence_host is optional for same-host evidence and required when the cited source exists only on another host.
- Keep only reusable conclusions, source references, evidence, and unknowns. Never
include credentials, tokens, private keys, cookies, or raw transcripts.
- Validate before handoff:
python3 ~/.agents/skills/shared-memory-intake/scripts/validate_submission.py /absolute/path/to/submission.md- A correction is a new submission with
supersedes_submission; never overwrite the
earlier proposal.
Codex: review and promote
- Acquire the single-curator lease before promotion:
mkdir ~/.agents/shared-memory-inbox/.curator.lock.
If it already exists, stop and report the active-curator conflict. Release it with rmdir after the outcome is recorded.
- Run the validator on the candidate. Reject on schema or secret-pattern failure.
- Inspect the cited source and live-verify every dynamic claim that would enter the
current index. For cross-host evidence, require evidence_host, verify the live source on that host, and record the curator host plus verification time in the promoted summary. Missing host access remains UNCONFIRMED.
- Re-read
MEMORY.mdimmediately before its update. If its relevant topic changed
during review, restart the review instead of merging assumptions.
- Promote accepted knowledge to a new immutable
rollout_summaries/*.mdrecord and
update MEMORY.md as the only current index. Give every changed reusable claim a lifecycle state: active, superseded, or UNCONFIRMED.
- Move the candidate to
processed/orrejected/without deleting its audit trail.
Codex: maintain
- Acquire the same single-curator lease and re-read
MEMORY.mdimmediately before
every official-memory write; stop on an active-curator conflict.
- Scan current index entries for changed paths, versions, models, deployments, or
stale references.
- Demote unverified dynamic claims to
UNCONFIRMED; mark replaced claims
superseded with their replacement reference.
- Consolidate duplicate current entries. Do not rewrite historical rollout summaries.
- Re-run the validator on any newly promoted submission and report the paths changed.
Validator
Use scripts/validate_submission.py. It is a narrow preflight gate, not proof that a claim is true and not a complete secret scanner. A pass authorizes review only; Codex still owns evidence verification and promotion.

