Skip to content

Fail-closed editorial shadow engine and local projections - #8

Merged
gioabreu merged 3 commits into
mainfrom
codex/editorial-shadow
Aug 16, 2026
Merged

gioabreu merged 3 commits into
mainfrom
codex/editorial-shadow

Conversation

@gioabreu

Copy link
Copy Markdown
Contributor

Summary

Shadow-only editorial foundation on top of the public-foundation base. No dependencies, no runtime/provider activation, no database or scheduler — pure and reference components only.

  • Deterministic state machine fetched → rights_checked → classified → summarized → verified → publishable → published, with held reachable from every stage. Publication stays disabled at every gate (AUTOMATED_PUBLICATION_DISABLED).
  • Fail-closed reference store (MemoryEditorialStore): defaults to paused, enforces account isolation, CAS version conflicts, idempotent pause + publication reservation (no double recording), and rejects any source-body/credential fields.
  • Hash-chained decision traces; retry/lease/schedule descriptors are deterministic and assessment-only.
  • Evidence-only calibration (activation_effect: 'none') against a committed, content-free corpus schema.
  • Local, uncomposed projections (RSS + MCP articles): rights-gated, omit unapproved summaries, perform no fetches/writes, and are intentionally not composed into the root server.
  • Classifier stays strictly shadow-only: any mode other than shadow throws; removed the publishable field.

Verification

  • Focused editorial/community/classifier/calibration/RSS/MCP tests: 22/22 pass
  • Full npm test (real loopback): 98/98 pass
  • node --test test/release-metadata.test.mjs: 5/5 pass
  • JS/MJS syntax check clean; git diff --check clean
  • npm audit: 0 vulnerabilities; secret-pattern review clean
  • npm pack --dry-run: 48 files, dependency-free, no test/docs leakage
  • package.json / package-lock.json unchanged

Draft — not for merge/deploy/publish.

🤖 Generated with Claude Code

Introduce a deterministic editorial state machine (fetched -> ... ->
publishable/held) with default-paused, fail-closed reference store,
account isolation, idempotent pause/publication reservation, hash-chained
decision traces, and retry/schedule descriptors. Publication stays
disabled at every gate.

Add evidence-only calibration, a content-free corpus schema, and local
uncomposed RSS and MCP article projections that omit unapproved summaries
and store no source bodies or credentials. Keep the Community classifier
strictly shadow-only (mode other than shadow throws; drop publishable).

Docs and tests cover the state machine, partial-failure, calibration,
and projection behavior. No dependencies, no product/runtime activation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 16, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
citewire Ready Ready Preview Aug 16, 2026 9:27pm

@gioabreu
gioabreu changed the base branch from codex/public-foundation to main August 16, 2026 21:25
@gioabreu
gioabreu marked this pull request as ready for review August 16, 2026 21:27
@gioabreu
gioabreu merged commit e12d9b6 into main Aug 16, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
Preview — e1197fa3 Deployed Aug 16, 2026 by vercel[bot]
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.

1 participant