ECC 2.2.1
ECC 2.2.1 is a bug and security patch for ECC 2.2. It keeps the published
v2.2.0 history immutable. These notes describe the prepared patch; publication
and signing evidence are tracked separately in the release checklist.
Security and data protection
- GateGuard and governance capture recognize destructive PowerShell commands,
including the native PowerShell tool path. Dynamic command handling prevents
later variable assignments from concealing earlier unresolved invocations
(#2961). - Relative GateGuard exemption globs stay within the project root. Explicit
absolute exemptions remain supported
(#2921). - Installer writes reject collisions with untracked user-owned files. Failed
installs refresh ownership hashes only for files they actually wrote, preserving the previous
ownership hashes of untouched managed files
(#2964). - Guided setup revalidates its preview before ownership filtering, so files
appearing between preview and apply cause a clear retry instead of a false
success. Existing identical user files stay outside ECC ownership. - Uninstall respects
ECC_DRY_RUN=1, including legacy Codex paths, and rejects
invalid dry-run values instead of silently allowing deletion
(#2952). - Observer analysis retains observations on unsuccessful or unconfirmed
processing. Exit code zero alone no longer permits archival
(#2971). - The Yarn lockfile updates
tomlto 4.3.0, matching the npm lockfile and
removing the affected older resolution.
Hooks and installation
- Manual Claude installs register ECC-owned hook entries in Claude settings.
Repair, consent changes, and uninstall reconcile those entries while
preserving unrelated settings. Atomic settings updates check directory
identity and retry detected concurrent edits
(#2992). - Direct hook entrypoints handle larger JSON payloads with bounded, UTF-8-safe
reads instead of silently truncating valid inputs. Existing production
wrapper limits remain unchanged
(#2924). - The Pi adapter selects an actual Node runtime instead of recursively
executing a compiled OMP host as Node
(#2909). - Installer listing and control-pane help avoid eager third-party dependency
loading. Features that require absent runtime packages report the missing
dependency explicitly
(#2994). - Autonomous harness setup documentation replaces nonexistent package names
and unsupported CLI flags with documented interfaces, and distinguishes
session scheduling from a durable external scheduler
(#2957).
Installer and release-surface hardening
- Public and packaged install docs now consistently point at the published
ecc-universalcommands instead of stale or unrelated package names. - The AdaL adapter docs use the correct
npx ecc-universal doctor --target adal
command. - Claude setup preflights
gitbefore provider-specific work starts, so missing
prerequisites fail fast with the right action. - Guided setup dry runs use isolated HOME, config, XDG, temp, and Windows app
data roots to avoid ambient host state affecting review or tests. - The exact packed artifact now has stronger lifecycle coverage for Claude and
Kimi setup, update, doctor, repeat install, uninstall, and dry-run flows. - Identifier regression coverage blocks stale
ecc,ecc-install, and other
mismatched release-path commands from creeping back into user-facing docs.
Current-main documentation included in this patch
- The canonical Itô workflow now documents
ecc ito accept <ticket-id>and the
ito_acceptMCP tool. - Acceptance is explicitly bounded to buyer-authority routing. It routes the
active desk quote to human review and does not claim to place a trade.
Provenance boundary
v2.2.1is intended to be a signed annotated tag on exact greenmain.v2.2.0remains the immutable historical unsigned exception. Do not move,
recreate, or reuse that tag.
Scope and limitations
- Plugin dependency handling does not bundle or automatically install missing
modules. Database and schema-validation features require their declared
runtime dependencies. - Ownership protection covers untracked collisions and failed-install
checkpoints. Successful upgrades retain the existing contract for replacing
previously managed files. Back up intentional edits before upgrading. - This patch does not introduce new harness platforms or claim that every
open community issue is resolved.
Upgrade
After the release workflow publishes 2.2.1 and verifies registry integrity,
install or update the package, then run the same ECC command path you already
use. Until publication completes, the exact-version command below returns E404.
npm install -g ecc-universal@2.2.1
ecc doctorFor first-time or guided terminal setup:
npx ecc-universal setupThe native Claude marketplace path remains supported:
/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc