chore(release): 2.2.3, ECC-only naming in pi/core and a longer npm publish wait

pi/core and the bundled blueprint skill now refer to the project as ECC only;
the generated README no longer expands the name. Profile contents, package
name and paths are unchanged (123 skills, 24 commands).

The release workflows poll npm for up to five minutes after publish before
verifying the artifact. In 2.2.2 the check gave up after about 30 seconds while
npm was still processing, failing the run before latest was promoted and the
GitHub Release was created.

Version metadata synced to 2.2.3 with CHANGELOG, translated release headings
and release notes; skill-triggers registryDigest updated for the blueprint text.
This commit is contained in:
Affaan Mustafa
2026-10-01 15:51:15 -04:00
parent c70874fae9
commit 4ebe1aa2bf
31 changed files with 114 additions and 58 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
"plugins": [
{
"name": "ecc",
"version": "2.2.2",
"version": "2.2.3",
"source": {
"source": "local",
"path": "./"
+1 -1
View File
@@ -12,7 +12,7 @@
"name": "ecc",
"source": "./",
"description": "Harness-native ECC operator layer - 68 agents, 293 skills, 94 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses",
"version": "2.2.2",
"version": "2.2.3",
"author": {
"name": "Affaan Mustafa",
"email": "me@affaanmustafa.com"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ecc",
"version": "2.2.2",
"version": "2.2.3",
"description": "Harness-native ECC plugin for engineering teams - 68 agents, 293 skills, 94 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses",
"author": {
"name": "Affaan Mustafa",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ecc",
"version": "2.2.2",
"version": "2.2.3",
"description": "Harness-native ECC workflows for Codex: shared skills, production-ready MCP configs, and selective-install-aligned conventions for TDD, security scanning, code review, and autonomous development.",
"author": {
"name": "Affaan Mustafa",
+4 -4
View File
@@ -261,7 +261,7 @@ jobs:
PACKAGE_VERSION: ${{ needs.verify.outputs.package_version }}
run: |
REGISTRY_INTEGRITY=""
for ATTEMPT in 1 2 3 4 5 6; do
for ATTEMPT in $(seq 1 30); do
set +e
REGISTRY_INTEGRITY=$(npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" dist.integrity 2>&1)
NPM_STATUS=$?
@@ -269,12 +269,12 @@ jobs:
if [ "$NPM_STATUS" -eq 0 ]; then
break
fi
if [ "$ATTEMPT" -eq 6 ]; then
echo "::error::Published npm artifact was not readable after six attempts"
if [ "$ATTEMPT" -eq 30 ]; then
echo "::error::Published npm artifact was not readable after five minutes"
printf '%s\n' "$REGISTRY_INTEGRITY"
exit "$NPM_STATUS"
fi
sleep 5
sleep 10
done
ECC_REGISTRY_INTEGRITY="$REGISTRY_INTEGRITY" node -e "const crypto = require('crypto'); const fs = require('fs'); const expected = process.env.ECC_REGISTRY_INTEGRITY; if (!/^sha512-[A-Za-z0-9+/]+={0,2}$/.test(expected || '')) throw new Error('Invalid published registry integrity'); const actual = 'sha512-' + crypto.createHash('sha512').update(fs.readFileSync(process.env.ECC_RELEASE_PACKAGE)).digest('base64'); if (actual !== expected) throw new Error('Published npm artifact does not match tested candidate')"
+4 -4
View File
@@ -253,7 +253,7 @@ jobs:
PACKAGE_VERSION: ${{ needs.verify.outputs.package_version }}
run: |
REGISTRY_INTEGRITY=""
for ATTEMPT in 1 2 3 4 5 6; do
for ATTEMPT in $(seq 1 30); do
set +e
REGISTRY_INTEGRITY=$(npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" dist.integrity 2>&1)
NPM_STATUS=$?
@@ -261,12 +261,12 @@ jobs:
if [ "$NPM_STATUS" -eq 0 ]; then
break
fi
if [ "$ATTEMPT" -eq 6 ]; then
echo "::error::Published npm artifact was not readable after six attempts"
if [ "$ATTEMPT" -eq 30 ]; then
echo "::error::Published npm artifact was not readable after five minutes"
printf '%s\n' "$REGISTRY_INTEGRITY"
exit "$NPM_STATUS"
fi
sleep 5
sleep 10
done
ECC_REGISTRY_INTEGRITY="$REGISTRY_INTEGRITY" node -e "const crypto = require('crypto'); const fs = require('fs'); const expected = process.env.ECC_REGISTRY_INTEGRITY; if (!/^sha512-[A-Za-z0-9+/]+={0,2}$/.test(expected || '')) throw new Error('Invalid published registry integrity'); const actual = 'sha512-' + crypto.createHash('sha512').update(fs.readFileSync(process.env.ECC_RELEASE_PACKAGE)).digest('base64'); if (actual !== expected) throw new Error('Published npm artifact does not match tested candidate')"
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "ecc-universal",
"version": "2.2.2",
"version": "2.2.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ecc-universal",
"version": "2.2.2",
"version": "2.2.3",
"license": "MIT",
"devDependencies": {
"@opencode-ai/plugin": "^1.4.3",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ecc-universal",
"version": "2.2.2",
"version": "2.2.3",
"description": "ECC plugin for OpenCode - agents, commands, hooks, and skills",
"main": "dist/index.js",
"types": "dist/index.d.ts",
+1 -1
View File
@@ -541,7 +541,7 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
const contextBlock = [
"# ECC Context (preserve across compaction)",
"",
"## Active Plugin: ECC v2.2.2",
"## Active Plugin: ECC v2.2.3",
"- Hooks: file.edited, tool.execute.before/after, session.created/idle/deleted, shell.env, compacting, permission.ask",
"- Tools: run-tests, check-coverage, security-audit, format-code, lint-check, git-summary, changed-files",
"- Agents: 13 specialized (planner, architect, tdd-guide, code-reviewer, security-reviewer, build-error-resolver, e2e-runner, refactor-cleaner, doc-updater, go-reviewer, go-build-resolver, database-reviewer, python-reviewer)",
+1 -1
View File
@@ -2,7 +2,7 @@
This is a **production-ready AI coding plugin** providing 68 specialized agents, 293 skills, 94 commands, and automated hook workflows for software development.
**Version:** 2.2.2
**Version:** 2.2.3
## Core Principles
+14
View File
@@ -1,5 +1,19 @@
# Changelog
## 2.2.3 - 2026-10-01
### Changed
#### Naming
- `pi/core` refers to the project as ECC only. The generated README and the bundled `blueprint` skill no longer expand the name; profile contents, package name (`ecc-pi-core`) and paths are unchanged.
### Fixed
#### Release workflow
- Poll the npm registry for up to five minutes after `npm publish` before verifying the published artifact, so a slow registry no longer fails the run before `latest` is promoted and the GitHub Release is created.
## 2.2.2 - 2026-09-15
### Added
+23 -23
View File
@@ -171,7 +171,7 @@ Access to 68 agents, 293 skills, and 94 legacy command shims, plus hooks, rules,
For Claude Code plugin setup, updates, scope changes, and hook-profile changes:
```bash
npx ecc-universal@2.2.2 setup
npx ecc-universal@2.2.3 setup
```
#### Windows first-time walkthrough
@@ -191,7 +191,7 @@ If you are new to command-line tools, use this copy-and-paste path:
4. Run the guided installer:
```powershell
npx ecc-universal@2.2.2 setup
npx ecc-universal@2.2.3 setup
```
5. For a typical personal setup, choose **Global user**, choose **Standard** hooks, and confirm.
@@ -209,12 +209,12 @@ ECC 2.2 supports the same guided setup through modern package runners:
| Package runner | Guided setup command |
|---|---|
| npm / npx | `npx ecc-universal@2.2.2 setup` |
| pnpm | `pnpm dlx ecc-universal@2.2.2 setup` |
| Yarn 2+ | `yarn dlx ecc-universal@2.2.2 setup` |
| Bun | `bunx ecc-universal@2.2.2 setup` |
| npm / npx | `npx ecc-universal@2.2.3 setup` |
| pnpm | `pnpm dlx ecc-universal@2.2.3 setup` |
| Yarn 2+ | `yarn dlx ecc-universal@2.2.3 setup` |
| Bun | `bunx ecc-universal@2.2.3 setup` |
The examples select [the published ECC 2.2.2 release](https://www.npmjs.com/package/ecc-universal/v/2.2.2), matching this repository's release version. A version pin is not a security audit or an integrity check. Review the release source and registry integrity before running package code; use a reviewed checkout for unreleased changes.
The examples select [the published ECC 2.2.3 release](https://www.npmjs.com/package/ecc-universal/v/2.2.3), matching this repository's release version. A version pin is not a security audit or an integrity check. Review the release source and registry integrity before running package code; use a reviewed checkout for unreleased changes.
Yarn Classic 1 does not provide `yarn dlx`; use `npx`, install the package globally, or upgrade Yarn for a temporary one-shot run.
@@ -223,7 +223,7 @@ The wizard inventories the official marketplace and every native Claude install
To configure more than one coding agent in one reviewed flow, use the multi-harness wizard:
```bash
npx ecc-universal@2.2.2 install --guided
npx ecc-universal@2.2.3 install --guided
```
It lets you select any combination of Claude Code, Codex, and Kimi Code, shows each install channel and destination, preflights every selection before the first write, and asks for one final confirmation.
@@ -237,7 +237,7 @@ It lets you select any combination of Claude Code, Codex, and Kimi Code, shows e
For automation, make every provider-specific choice explicit:
```bash
npx ecc-universal@2.2.2 install --guided \
npx ecc-universal@2.2.3 install --guided \
--harness claude --harness codex --harness kimi \
--claude-scope local --claude-hooks standard \
--profile core --yes
@@ -246,16 +246,16 @@ npx ecc-universal@2.2.2 install --guided \
Verify the native guided Codex path and managed Kimi path without writing first:
```bash
npx ecc-universal@2.2.2 install --guided --harness codex --dry-run
npx ecc-universal@2.2.2 install --profile core --target kimi --dry-run
npx ecc-universal@2.2.3 install --guided --harness codex --dry-run
npx ecc-universal@2.2.3 install --profile core --target kimi --dry-run
```
Additional package-name commands are also available through the 2.2 alias:
```bash
npx ecc-universal@2.2.2 consult "security reviews" --target claude
npx ecc-universal@2.2.2 install --profile minimal --target claude --with capability:machine-learning
npx ecc-universal@2.2.2 doctor --target kimi
npx ecc-universal@2.2.3 consult "security reviews" --target claude
npx ecc-universal@2.2.3 install --profile minimal --target claude --with capability:machine-learning
npx ecc-universal@2.2.3 doctor --target kimi
```
Do not use `npx ecc-install --profile minimal --target claude`: `ecc-install` is a binary name inside `ecc-universal`, not a separately published npm package.
@@ -427,7 +427,7 @@ Deep per-harness notes (feature parity, hook adapters, limitations) live in [Pla
Use this when you want ECC's rules, agents, commands, platform config, and core workflows without runtime hooks:
```bash
npx ecc-universal@2.2.2 install --profile minimal --target claude
npx ecc-universal@2.2.3 install --profile minimal --target claude
```
From a source checkout, the equivalent command is:
@@ -615,11 +615,11 @@ If you installed from the universal package, run these commands from the same
project directory used for installation:
```bash
npx ecc-universal@2.2.2 list-installed
npx ecc-universal@2.2.2 doctor
npx ecc-universal@2.2.2 repair
npx ecc-universal@2.2.2 uninstall --dry-run
npx ecc-universal@2.2.2 uninstall
npx ecc-universal@2.2.3 list-installed
npx ecc-universal@2.2.3 doctor
npx ecc-universal@2.2.3 repair
npx ecc-universal@2.2.3 uninstall --dry-run
npx ecc-universal@2.2.3 uninstall
```
From a source checkout, inspect the managed state before reinstalling:
@@ -808,7 +808,7 @@ The `ito-compute-cli` package is currently unpublished. Build it locally from th
## What's New
Current release: **2.2.2** (2026-08-31). Highlights of the 2.2 line:
Current release: **2.2.3** (2026-10-01). Highlights of the 2.2 line:
- Guided, manifest-driven setup across Claude Code, Codex, and Kimi Code, with install-state ownership, doctor, repair, and uninstall.
- Native Antigravity install, a thin Pi adapter, and the packed-artifact release gate tested on Linux, macOS, and Windows.
@@ -1225,7 +1225,7 @@ ECC's Memory Vault gives Claude, Codex, Hermes, OpenClaw, Kimi, and other harnes
Skill-only, minimal, manual, and Claude plugin installs do not put the Memory Vault runtime on `PATH`. Install the npm runtime separately before using the CLI or optional MCP server:
```bash
npm install -g ecc-universal@2.2.2
npm install -g ecc-universal@2.2.3
ecc memory init --scope project
ecc memory search "authentication migration" --target-harness codex
ecc memory doctor
@@ -1625,7 +1625,7 @@ opencode
**Option 2: Install as npm package**
```bash
npm install ecc-universal@2.2.2
npm install ecc-universal@2.2.3
```
Then add to your `opencode.json`:
+4
View File
@@ -80,6 +80,10 @@
## 最新动态
### v2.2.3 — pi/core 配置与发布可靠性(2026年10月)
`pi/core` 配置现在仅以 ECC 称呼本项目,发布工作流在校验已发布的包之前会等待 npm 最多五分钟。
### v2.2.2 — 引导式多 Harness 安装(2026年8月)
新增可审查的 Claude Code、Codex 与 Kimi Code 多 Harness 安装流程,并提供同步的 npm 命令入口。
+1 -1
View File
@@ -1 +1 @@
2.2.2
2.2.3
+1 -1
View File
@@ -1,6 +1,6 @@
spec_version: "0.1.0"
name: ecc
version: 2.2.2
version: 2.2.3
description: "Initial gitagent export surface for ECC's shared skill catalog, governance, and identity. Native agents, commands, and hooks remain authoritative in the repository while manifest coverage expands."
author: affaan-m
license: MIT
+1 -1
View File
@@ -703,7 +703,7 @@ Suggested payload:
"skippedModules": []
},
"source": {
"repoVersion": "2.2.2",
"repoVersion": "2.2.3",
"repoCommit": "git-sha",
"manifestVersion": 1
},
+4
View File
@@ -79,6 +79,10 @@ Este repositório contém apenas o código. Os guias explicam tudo.
## O Que Há de Novo
### v2.2.3 — Perfil pi/core e Confiabilidade de Releases (Out 2026)
O perfil `pi/core` agora se refere ao projeto apenas como ECC, e o workflow de release aguarda até cinco minutos pelo npm antes de verificar o pacote publicado.
### v2.2.2 — Instalação Guiada para Múltiplos Harnesses (Ago 2026)
Adiciona uma instalação revisável para Claude Code, Codex e Kimi Code, com uma entrada de comando npm sincronizada.
+26
View File
@@ -0,0 +1,26 @@
# ECC 2.2.3
ECC 2.2.3 is a naming and release-reliability update. The project is called ECC
everywhere it ships, starting with the `pi/core` profile, and the release
workflow now waits long enough for npm to serve a freshly published version.
## Naming
- `pi/core` no longer expands the project name: its README and the bundled
`blueprint` skill refer to ECC only. The profile contents are otherwise
unchanged: 123 curated skills and 24 prompt commands, 35,006 characters of
skill description text.
- Downstream packagers need no changes. The package is still `ecc-pi-core`, the
directory is still `pi/core/`, and existing install paths keep working.
## Release workflow
- After `npm publish`, the release workflow polls the registry for up to five
minutes before verifying the published artifact. In 2.2.2 it gave up after
about 30 seconds while npm was still processing the upload, so the run failed
before promoting `latest` and creating the GitHub Release, and had to be
re-run.
Downstream consumption is unchanged: poll `/releases`, download
`archive/refs/tags/vX.Y.Z.tar.gz`, pin its sha256, copy `pi/core/`, and load it
offline.
+1 -1
View File
@@ -2,7 +2,7 @@
Bu, yazılım geliştirme için 68 özel agent, 293 skill, 94 command ve otomatik hook iş akışları sağlayan **üretime hazır bir AI kodlama eklentisidir**.
**Sürüm:** 2.2.2
**Sürüm:** 2.2.3
## Temel İlkeler
+4
View File
@@ -79,6 +79,10 @@ Bu repository yalnızca ham kodu içerir. Rehberler her şeyi açıklıyor.
## Yenilikler
### v2.2.3 — pi/core Profili ve Sürüm Güvenilirliği (Eki 2026)
`pi/core` profili projeyi yalnızca ECC olarak adlandırır; sürüm iş akışı yayımlanan paketi doğrulamadan önce npm için beş dakikaya kadar bekler.
### v2.2.2 — Rehberli Çoklu Harness Kurulumu (Ağu 2026)
Claude Code, Codex ve Kimi Code için incelenebilir çoklu harness kurulumu ve eşitlenmiş npm komut girişi eklendi.
+1 -1
View File
@@ -2,7 +2,7 @@
这是一个**生产就绪的 AI 编码插件**,提供 68 个专业代理、293 项技能、94 条命令以及自动化钩子工作流,用于软件开发。
**版本:** 2.2.2
**版本:** 2.2.3
## 核心原则
+5 -1
View File
@@ -81,6 +81,10 @@
## 最新动态
### v2.2.3 — pi/core 配置与发布可靠性(2026年10月)
`pi/core` 配置现在仅以 ECC 称呼本项目,发布工作流在校验已发布的包之前会等待 npm 最多五分钟。
### v2.2.2 — 引导式多 Harness 安装(2026年8月)
新增可审查的 Claude Code、Codex 与 Kimi Code 多 Harness 安装流程,并提供同步的 npm 命令入口。
@@ -1292,7 +1296,7 @@ ECC 是**第一个最大化利用每个主要 AI 编码工具的插件**。以
| **上下文文件** | CLAUDE.md + AGENTS.md | AGENTS.md | AGENTS.md | AGENTS.md |
| **秘密检测** | 基于钩子 | beforeSubmitPrompt 钩子 | 基于沙箱 | 基于钩子 |
| **自动格式化** | PostToolUse 钩子 | afterFileEdit 钩子 | N/A | file.edited 钩子 |
| **版本** | 插件 | 插件 | 参考配置 | 2.2.2 |
| **版本** | 插件 | 插件 | 参考配置 | 2.2.3 |
**关键架构决策:**
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "ecc-universal",
"version": "2.2.2",
"version": "2.2.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ecc-universal",
"version": "2.2.2",
"version": "2.2.3",
"license": "MIT",
"dependencies": {
"@iarna/toml": "2.2.5",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ecc-universal",
"version": "2.2.2",
"version": "2.2.3",
"description": "Harness-native agent operating system for Codex, OpenCode, Cursor, Gemini, Claude Code, and terminal workflows - skills, hooks, rules, MCP conventions, and operator control-plane patterns",
"main": ".opencode/dist/index.js",
"types": ".opencode/dist/index.d.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
# ecc-pi-core
A curated, Pi-native profile of ECC (Everything Claude Code): 123 portable
A curated, Pi-native profile of ECC: 123 portable
engineering skills and 24 pure prompt-workflow commands, with no extensions,
no hooks, no runtime downloads, and no network or SaaS dependencies.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ecc-pi-core",
"version": "2.2.2",
"version": "2.2.3",
"license": "MIT",
"keywords": [
"pi-package",
+2 -2
View File
@@ -64,7 +64,7 @@ Produces a plan with parallel steps where possible (e.g., "implement Anthropic p
## Installation
This skill ships with Everything Claude Code. No separate installation is needed when ECC is installed.
This skill ships with ECC. No separate installation is needed when ECC is installed.
### Full ECC install
@@ -77,7 +77,7 @@ test -f skills/blueprint/SKILL.md
To update later, review the ECC diff before updating:
```bash
cd /path/to/everything-claude-code
cd /path/to/ECC
git fetch origin main
git log --oneline HEAD..origin/main # review new commits before updating
git checkout <reviewed-full-sha> # pin to a specific reviewed commit
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ecc",
"version": "2.2.2",
"version": "2.2.3",
"description": "Harness-native ECC workflows for Codex: shared skills, production-ready MCP configs, and selective-install-aligned conventions for TDD, security scanning, code review, and autonomous development.",
"author": {
"name": "Affaan Mustafa",
+1 -1
View File
@@ -172,7 +172,7 @@ const descChars = skillDescriptions.reduce((n, d) => n + d.length, 0);
fs.writeFileSync(path.join(tmpDir, 'README.md'), `# ecc-pi-core
A curated, Pi-native profile of ECC (Everything Claude Code): ${skillCount} portable
A curated, Pi-native profile of ECC: ${skillCount} portable
engineering skills and ${commandCount} pure prompt-workflow commands, with no extensions,
no hooks, no runtime downloads, and no network or SaaS dependencies.
+2 -2
View File
@@ -64,7 +64,7 @@ Produces a plan with parallel steps where possible (e.g., "implement Anthropic p
## Installation
This skill ships with Everything Claude Code. No separate installation is needed when ECC is installed.
This skill ships with ECC. No separate installation is needed when ECC is installed.
### Full ECC install
@@ -77,7 +77,7 @@ test -f skills/blueprint/SKILL.md
To update later, review the ECC diff before updating:
```bash
cd /path/to/everything-claude-code
cd /path/to/ECC
git fetch origin main
git log --oneline HEAD..origin/main # review new commits before updating
git checkout <reviewed-full-sha> # pin to a specific reviewed commit