Back to Everything Claude Code

ECC v2.0.0-rc.1 Publication Readiness

docs/releases/2.0.0-rc.1/publication-readiness.md

2.0.017.5 KB
Original Source

ECC v2.0.0-rc.1 Publication Readiness

This checklist is the release gate for public publication surfaces. Do not use it as evidence by itself. Fill the evidence fields with fresh command output or URLs from the exact commit being released.

For the current rc.1 naming decision and package/plugin publication path, see naming-and-publication-matrix.md. For the May 18 release name, package, Claude plugin, Codex plugin, and publication-order gate, see release-name-plugin-publication-checklist-2026-05-18.md. For the assembled rc.1 preview pack boundary, see preview-pack-manifest.md. For the May 12 dry-run evidence pass, see publication-evidence-2026-05-12.md. For the May 13 release-readiness evidence refresh, see publication-evidence-2026-05-13.md. For the May 13 post-hardening evidence refresh after PR #1850 and PR #1851, see publication-evidence-2026-05-13-post-hardening.md. For the May 15 queue, discussion, Linear roadmap, Mini Shai-Hulud/TanStack follow-up, scheduled supply-chain watch, no-lifecycle CI install hardening, GitHub Actions cache purge, AgentShield release-verification, billing-gate, AgentShield #86 evidence-pack provenance, and ecc2 current-dir guard evidence refresh through PR #1941, see publication-evidence-2026-05-15.md. For the May 16 queue cleanup, recsys skill merge, GateGuard issue triage, AgentShield #87 plugin-cache runtime-confidence evidence, AgentShield #88 evidence-pack inspect/readback, AgentShield #89 evidence-pack fleet routing, AgentShield #90 fleet review items, AgentShield #91 checksum-backed policy export, AgentShield #92 checksum-verified policy promotion, ECC-Tools #76 fleet-summary consumption, ECC-Tools #77 hosted finding evidence paths, ECC-Tools #78 harness policy-route linking, operator dashboard refresh, and combined final-gate rerun on current main, see publication-evidence-2026-05-16.md. For the May 17 queue cleanup, Japanese localization merge, Dependabot TypeScript and Node type merges, post-merge ja-JP lint repair, Mini Shai-Hulud/TanStack local protection recheck, legacy-tail and Linear progress routing, deterministic preview-pack smoke gate, and current operator dashboard refresh, see publication-evidence-2026-05-17.md. For the May 18 current-head queue, workflow-security/metrics/uncloud merge batch, PR #1978 review/closure, Mini Shai-Hulud/TanStack local and home protection recheck, npm no-lifecycle install/audit/signature gates, AgentShield project scan, AgentShield 840952a enterprise/IOC evidence mirror, release OIDC publishing-scope hardening, workflow normalization, later dashboard/publication-readiness refreshes through 67e63e63, work-items sync, Linear progress comments, ITO-46 closure, operator dashboard refresh, and current-head CI/security scan success through the May 19 identity, video, and growth-pack merge batch, see publication-evidence-2026-05-19.md. For the operator-facing prompt-to-artifact readiness dashboard from the same May 16 pass, see operator-readiness-dashboard-2026-05-15.md. For the May 17 operator dashboard refresh, see operator-readiness-dashboard-2026-05-17.md. For the May 18 operator dashboard refresh, see operator-readiness-dashboard-2026-05-18.md.

For the May 19 hypergrowth/operator dashboard, see operator-readiness-dashboard-2026-05-19.md. The current May 20 Marketplace Pro release-gate operator dashboard is operator-readiness-dashboard-2026-05-20.md. For the final owner decision sheet across release, npm, plugin, video, billing, social, and outbound approvals, see owner-approval-packet-2026-05-19.md. For the May 26 live/pending release URL ledger after the GitHub prerelease and npm next readbacks, see release-url-ledger-2026-05-19.md.

Release Identity Matrix

SurfaceExpected valueSource of truthFresh checkEvidence artifactOwnerStatus
Product nameECCREADME.md, plugin manifests, release notesrg -n "^# ECC|displayName.*ECC|affaan-m/ECC" README.md .codex-plugin/plugin.json docs/releases/2.0.0-rc.1release-name-plugin-publication-checklist-2026-05-18.md plus release-url-ledger-2026-05-19.mdRelease ownerEvidence recorded
GitHub repoaffaan-m/ECCGit remote and release URLsgit remote get-url originrelease-url-ledger-2026-05-19.mdRelease ownerEvidence recorded
Git tagv2.0.0-rc.1GitHub releasesgh release view v2.0.0-rc.1 --repo affaan-m/ECCLive prerelease at https://github.com/affaan-m/ECC/releases/tag/v2.0.0-rc.1; prerelease true, draft falseRelease ownerEvidence recorded
npm packageecc-universalpackage.jsonnode -p "require('./package.json').name"publication-evidence-2026-05-12.mdPackage ownerEvidence recorded
npm version2.0.0-rc.1VERSION, package.json, lockfilesnode -p "require('./package.json').version"publication-evidence-2026-05-12.mdPackage ownerEvidence recorded
npm dist-tagnext for rc, latest only for GAnpm registrynpm view ecc-universal dist-tags --jsonRegistry has latest: 1.10.0 and next: 2.0.0-rc.1Package ownerEvidence recorded
Claude plugin slugecc / ecc@ecc install path.claude-plugin/plugin.json, .claude-plugin/marketplace.jsonnode tests/hooks/hooks.test.jspublication-evidence-2026-05-12.mdPlugin ownerEvidence recorded
Claude plugin manifest2.0.0-rc.1, no unsupported agents or explicit hooks fields.claude-plugin/plugin.json, .claude-plugin/PLUGIN_SCHEMA_NOTES.mdclaude plugin validate .claude-plugin/plugin.jsonpublication-evidence-2026-05-12.mdPlugin ownerEvidence recorded
Codex plugin manifest2.0.0-rc.1 with shared skill source.codex-plugin/plugin.jsonnode tests/docs/ecc2-release-surface.test.jspublication-evidence-2026-05-12.mdPlugin ownerEvidence recorded
Codex repo marketplace[email protected] exposed through .agents/plugins/marketplace.json.agents/plugins/marketplace.json, .codex-plugin/README.mdHOME="$(mktemp -d)" codex plugin marketplace add <local-checkout>publication-evidence-2026-05-15.mdPlugin ownerRepo-marketplace path verified; do not claim official Plugin Directory listing before OpenAI submission evidence
OpenCode packageecc-universal plugin module.opencode/package.json, .opencode/index.tsnpm run build:opencodepublication-evidence-2026-05-12.mdPackage ownerEvidence recorded
Agent metadata2.0.0-rc.1agent.yaml, .agents/plugins/marketplace.jsonnode tests/scripts/catalog.test.jspublication-evidence-2026-05-12.mdRelease ownerEvidence recorded
Migration copyrc.1 upgrade path, not GA claimrelease-notes.md, quickstart.md, HERMES-SETUP.mdnpx markdownlint-cli '**/*.md' --ignore node_modulespublication-evidence-2026-05-13.mdDocs ownerEvidence recorded

Publication Gates

GateRequired evidenceFresh checkBlocker fieldOwnerStatus
GitHub releaseTag exists, release notes use final URLs, assets attached if neededgh release view v2.0.0-rc.1 --json tagName,url,isPrereleaseReady: v2.0.0-rc.1 prerelease is live; remaining plugin, video, billing, and outbound URLs are still gatedRelease ownerEvidence recorded
npm packagenpm pack --dry-run has expected files, version matches, rc goes to nextnpm pack --dry-run; npm view ecc-universal name version dist-tags --json; npm view [email protected] name version dist.tarball dist.integrity time --jsonReady: [email protected] is live on next; latest remains 1.10.0Package ownerEvidence recorded
Claude pluginManifest validates, marketplace JSON points to public repo, install docs match slugclaude plugin validate .claude-plugin/plugin.json; claude plugin tag .claude-plugin --dry-run; isolated temp-home install smokeBlocker: real tag creation/push requires approvalPlugin ownerClean-checkout dry-run and install smoke recorded
Codex pluginManifest version matches package and docs, repo marketplace points at the plugin root, and OpenAI's current official Plugin Directory status is recordednode tests/docs/ecc2-release-surface.test.js; node tests/plugin-manifest.test.js; codex plugin marketplace add --help; temp-home codex plugin marketplace add <local-checkout>Blocker: official Plugin Directory listing requires OpenAI submission/listing evidencePlugin ownerRepo-marketplace distribution verified; official directory pending
OpenCode packageBuild output is regenerated from source and package metadata is currentnpm run build:opencodeBlocker: none for local build; public distribution still follows npm/plugin releasePackage ownerEvidence recorded
ECC Tools billing referenceAny billing claim links to verified Marketplace/App stateenv -u GITHUB_TOKEN gh repo view ECC-Tools/ECC-Tools --json nameWithOwner,isPrivate,viewerPermission plus internal /api/billing/readiness?selectReadyTarget=1 readback using the operator bearer pathReady: ECC-Tools #92 main CI and ECC-Tools #93 main CI passed; live selected-target readback returned announcementGate.ready === true on 2026-05-20; repeat before payment announcementECC Tools ownerBilling evidence ready; final copy still waits on release/plugin/live URL approvals
Announcement copyX, LinkedIn, GitHub release, and longform copy point to live URLsplaceholder-marker scan and release-url-ledger-2026-05-19.mdBlocker: GitHub and npm links are live; remaining plugin, video, billing, and outbound URLs still need approval/readbackRelease ownerURL ledger recorded; final URLs pending
Privileged workflow hardeningRelease and maintenance workflows avoid persisted checkout tokensnode scripts/ci/validate-workflow-security.jsBlocker:Release ownerEvidence recorded in post-hardening refresh

Required Command Evidence

Record the exact commit SHA and command output before any publication action:

EvidenceCommandRequired resultRecorded output
Clean release branchgit status --short --branchOn intended release commit; no unrelated filesCurrent May 20 baseline c2471fe5c535310f8a8008c9ed7ea9f6757b33f2: ## main...origin/main; repeat from the exact final publication commit before release
Preview-pack smokenpm run preview-pack:smokePreview pack artifacts, Hermes boundary, final verification command list, and publication blockers passpublication-evidence-2026-05-19.md: ready yes, digest eebb8a66c33e, 33 artifacts, 5 passed, 0 failed; repeat in the final strict clean-checkout release pass
Release approval gatenpm run release:approval-gate -- --format jsonReady true only after owner decision rows are approved, live release/package/plugin/video/billing URLs are recorded, and launch/outbound copy has no placeholders or private pathsCurrent May 26 state is intentionally blocked because plugin/video/billing/outbound owner decisions and URL readbacks remain approval-gated
Harness auditnpm run harness:audit -- --format json80/80 passingCurrent release gate: 80/80 across 8 applicable categories, 0 top actions
Adapter scorecardnpm run harness:adapters -- --checkPASSCurrent release gate: PASS, 11 adapters
Observability readinessnpm run observability:ready21/21 passingCurrent release gate: 21/21, ready true
Release safety gatenpm run observability:ready -- --format jsonRelease Safety category passing with publication readiness, supply-chain, workflow security, package surface, and release-surface evidenceCurrent release gate keeps Release Safety passing at 3/3; repeat the JSON gate from the exact final release commit
Supply-chain verificationnpm audit --audit-level=moderate; npm audit signatures; yarn install --immutable --mode=skip-build; cd ecc2 && cargo audit -q; Dependabot alerts; GitGuardian Security Checks0 vulnerabilities/alerts, registry signatures verified, package-manager locks accepted, GitGuardian cleanCurrent supply-chain branch: npm audit found 0 vulnerabilities; npm audit signatures verified 254 registry signatures and 30 attestations; Yarn immutable install accepted the lock after pinning @types/[email protected] and moving brace-expansion to 5.0.6 / 1.1.14; PR #2008 CI 26108473648, post-PR #2006 main CI 26109953093, PR #2009 CI 26111313938, and post-PR #2009 main CI 26111946778 completed with 0 failures
Root suitenode tests/run-all.js0 failuresCurrent May 19 local suite: 2568 passed, 0 failed before PR #2013 merged; post-PR #2009 focused regressions also passed for worktree detection, observe subdirectory/global fallback, project maintenance CLI, and the hooks suite
Markdown lintnpx markdownlint-cli '**/*.md' --ignore node_modules0 failuresCurrent release gate: focused lint passed for publication-readiness.md, publication-evidence-2026-05-19.md, and docs/ECC-2.0-GA-ROADMAP.md
Package surfacenode tests/scripts/npm-publish-surface.test.js0 failures; no Python bytecode in npm tarballCurrent release gate: 2/2 passed
Release surfacenode tests/docs/ecc2-release-surface.test.js0 failuresCurrent release gate: 27/27 passed after refreshing the discussion-count assertion to the post-PR #2005 baseline
Optional Rust surfacecd ecc2 && cargo test0 failures or explicit deferralpublication-evidence-2026-05-16.md: 462/462 passed, existing warnings only
Queue baselinenode scripts/platform-audit.js --json across trunk, AgentShield, JARVIS, ECC Tools, and ECC websiteUnder 20 open PRs and under 20 open issuesCurrent May 20 baseline after PR #2020: platform audit ready true, 0 open PRs, 0 open issues, 0 discussion gaps, 0 conflicting PRs, and 0 blocking dirty files across tracked repos
Discussion baselinenode scripts/platform-audit.js --json and node scripts/discussion-audit.js --jsonNo unmanaged active discussion queue and no answerable Q&A missing an accepted answerPost-PR #2005 baseline: platform audit sampled 59 trunk discussions, 0 needing maintainer touch, 0 answerable discussions missing accepted answer; docs/architecture/discussion-response-playbook.md records response templates and security escalation rules
Linear roadmapLinear project and issue readbackDetailed roadmap exists with release, security, AgentShield, ECC Tools, legacy, and observability lanesMay 18 Linear comments include ITO-57 3fe5b2b7-c4fe-401c-a317-b40d72119cb3 and ITO-44 fb4a4f33-6c2d-421a-bbdb-63cfad3e3ee4; earlier evidence records the project and 16 issue lanes
Operator readiness dashboardnpm run operator:dashboard -- --jsonCurrent queue state mapped to macro-goal deliverables and incomplete gapsCurrent May 20 dashboard is refreshed from the post-PR #2020 baseline; platform audit ready true, 0 open PRs, 0 open issues, 0 discussion gaps, 0 dirty files, release video suite current, selected-target billing/env-file path mirrored, and publication gates still approval-gated
Release URL ledgerdocs/releases/2.0.0-rc.1/release-url-ledger-2026-05-19.md plus placeholder-marker scanLive links and approval-gated links are separated before announcement copy is postedLedger records public repo/docs/GitHub prerelease/npm/OpenAI Codex documentation URLs and blocks plugin/video/billing/social URLs until approval-gated checks pass
Release name and plugin publication checklistdocs/releases/2.0.0-rc.1/release-name-plugin-publication-checklist-2026-05-18.mdName/package/plugin values are frozen, final-release commands are listed, and Claude/Codex publication paths cite current official docsChecklist keeps ECC, ecc-universal, and plugin slug ecc for rc.1; no npm rename, npm publish, plugin tag, official listing, billing claim, or announcement before final evidence

Do Not Publish If

  • main has unreviewed release-surface changes after the evidence was recorded.
  • npm view ecc-universal dist-tags --json contradicts the intended rc/GA tag.
  • Claude plugin validation is unavailable or no clean-checkout install smoke test is recorded for the intended release commit.
  • Release notes or announcement drafts still contain placeholder URLs, TODO, TBD, private workspace paths, or personal operator references.
  • Billing, Marketplace, or plugin-submission copy claims a live surface before the live URL exists.
  • Stale PR salvage work is mid-flight on the same branch.

Announcement Order

  1. Merge the release-version PR.
  2. Record the required command evidence from the release commit.
  3. Verify the GitHub prerelease readback.
  4. Verify npm still points rc.1 at next and not latest.
  5. Submit or update plugin marketplace surfaces.
  6. Regenerate the release URL ledger and update release notes with final live URLs.
  7. Publish GitHub release copy.
  8. Publish X, LinkedIn, and longform copy only after the public URLs work.