Back to Everything Claude Code

ECC v2.0.0-rc.1 Publication Evidence — 2026-05-12

docs/releases/2.0.0-rc.1/publication-evidence-2026-05-12.md

2.0.06.2 KB
Original Source

ECC v2.0.0-rc.1 Publication Evidence — 2026-05-12

This is dry-run release evidence only. It does not create a GitHub release, npm publication, plugin tag, marketplace submission, or announcement post.

Source Commit

FieldEvidence
Upstream main base0598af70a51346bae34d987b9bed143386055967
Evidence branchcodex/release-publication-evidence
Evidence scopeWorking tree with this branch's package hygiene and release-doc updates
Git remotehttps://github.com/affaan-m/everything-claude-code.git
Local status caveatWorking tree had the unrelated untracked docs/drafts/ directory

The actual release operator should repeat these checks from the final release commit with a clean checkout before publishing.

Registry And Release State

SurfaceCommandResult
GitHub prereleasegh release view v2.0.0-rc.1 --repo affaan-m/everything-claude-code --json tagName,url,isPrereleaserelease not found
npm dist-tagsnpm view ecc-universal dist-tags --json{ "latest": "1.10.0" }
npm package metadatanode -p "require('./package.json').name + '@' + require('./package.json').version"[email protected]
Product identityrg -n "Everything Claude Code" README.md CHANGELOG.md docs/releases/2.0.0-rc.1Present in README and rc.1 release docs

npm Dry Run

The first pack pass exposed local Python bytecode cache files in the tarball because broad package files entries included untracked local __pycache__ paths. This branch adds explicit package-file exclusions and a regression test so npm pack fails if Python bytecode appears in the package surface.

CommandResult
node tests/scripts/npm-publish-surface.test.jsPassed 2/2; includes Python bytecode exclusion assertion
npm pack --dry-run --jsonecc-universal-2.0.0-rc.1.tgz; entryCount: 965; size: 1565968; unpackedSize: 4934637; hasBytecode: false
npm publish --tag next --dry-run --jsonDry-run target is npm registry with tag next; entryCount: 965; hasBytecode: false

Temporary install smoke:

CommandResult
npm pack --pack-destination /tmp/ecc-publication-smoke-dd9ud5 --jsonCreated ecc-universal-2.0.0-rc.1.tgz for local install smoke
npm install --prefix /tmp/ecc-publication-smoke-dd9ud5 /tmp/ecc-publication-smoke-dd9ud5/ecc-universal-2.0.0-rc.1.tgzAdded 8 packages
node /tmp/ecc-publication-smoke-dd9ud5/node_modules/ecc-universal/scripts/ecc.js --helpPrinted ECC selective-install CLI help
node /tmp/ecc-publication-smoke-dd9ud5/node_modules/ecc-universal/scripts/catalog.js profiles --jsonReturned the 6 install profiles: minimal, core, developer, security, research, full
find /tmp/ecc-publication-smoke-dd9ud5/node_modules/ecc-universal -path '*__pycache__*' -o -name '*.pyc' -o -name '*.pyo' -o -name '*.pyd'No output

Plugin And Harness Evidence

SurfaceCommandResult
Claude plugin manifestclaude plugin validate .claude-plugin/plugin.jsonPassed
Claude plugin tag preflightclaude plugin tag .claude-plugin --dry-runBlocked by unrelated untracked docs/drafts/
Claude plugin tag forced dry-runclaude plugin tag .claude-plugin --dry-run --forceWould create ecc--v2.0.0-rc.1 at HEAD; do not use --force for real release unless maintainer decides
Codex marketplace CLIcodex plugin marketplace --help and subcommand helpSupports add, upgrade, and remove; add supports repo and local marketplace roots
OpenCode packagenpm run build:opencodePassed
Claude hook/plugin routenode tests/hooks/hooks.test.jsPassed 236/236
Codex release surfacenode tests/docs/ecc2-release-surface.test.jsPassed 18/18
Agent/catalog metadatanode tests/scripts/catalog.test.jsPassed 7/7
Observability gatenpm run observability:readyPassed 16/16

Clean-Checkout Claude Plugin Smoke

This follow-up pass used a detached clean worktree at /tmp/ecc-clean-plugin-evidence from commit bfacf37715b39655cbc2c48f12f2a35c67cb0253. It used an isolated temp home (HOME=/tmp/ecc-clean-plugin-home) and a temp local project (/tmp/ecc-plugin-install-smoke), so it did not write to the user's real Claude plugin config.

CommandResult
git -C /tmp/ecc-clean-plugin-evidence status --short --branch## HEAD (no branch) with no dirty or untracked files
claude plugin validate .claude-plugin/plugin.jsonPassed
claude plugin validate .claude-plugin/marketplace.jsonPassed
claude plugin tag .claude-plugin --dry-runPassed without --force; would create ecc--v2.0.0-rc.1 at HEAD and push refs/tags/ecc--v2.0.0-rc.1
claude plugin marketplace add /tmp/ecc-clean-plugin-evidence --scope local with temp HOMEAdded marketplace ecc in local settings
claude plugin list --available --json with temp HOMEListed ecc@ecc, version 2.0.0-rc.1, source ./
claude plugin install ecc@ecc --scope local with temp HOMEInstalled ecc@ecc in local scope
claude plugin list --json with temp HOMEListed ecc@ecc, version 2.0.0-rc.1, enabled, local scope, install path under /tmp/ecc-clean-plugin-home/.claude/plugins/cache/ecc/ecc/2.0.0-rc.1
claude plugin uninstall ecc@ecc --scope local with temp HOMEUninstalled successfully; final plugin list was []

Announcement Placeholder Check

The forbidden-placeholder scan only returned the publication-readiness checklist lines that name those forbidden placeholders. No launch-pack placeholder instances were found.

Remaining Blockers

  • Create or verify GitHub prerelease v2.0.0-rc.1.
  • Publish [email protected] with npm dist-tag next.
  • Create and push the Claude plugin tag only after explicit approval. The clean checkout dry run and temp install smoke now pass.
  • Confirm the live Claude/Codex/OpenCode marketplace submission path or record the manual submission owner and status.
  • Verify ECC Tools billing/App/Marketplace claims before using them in launch copy.
  • Refresh announcement copy with live URLs after release and package/plugin URLs exist.