Commit Graph
2482 Commits
Author SHA1 Message Date
haelyra aaaff77ef9 test(opencode): avoid path race in recovery fixture 2026-08-25 17:23:24 -04:00
haelyra 204cc2d2a3 fix(release): stage ECC 2.2 launch safely 2026-08-25 17:19:45 -04:00
haelyra d6d0c4e696 test(nasiko): isolate malformed lock fixture 2026-08-25 13:52:19 -04:00
haelyra e10c4bb5bf fix(nasiko): use descriptor lock identity 2026-08-25 13:49:26 -04:00
haelyra 307bbd53a6 fix(nasiko): harden lifecycle recovery 2026-08-25 13:34:58 -04:00
haelyra d66eaf116f test(opencode): canonicalize Windows path expectations 2026-08-25 12:55:02 -04:00
haelyra 0b9573682f docs(release): record final environment evidence 2026-08-25 12:44:26 -04:00
haelyra f67387e836 fix(opencode): snapshot invocation environments 2026-08-25 12:37:53 -04:00
haelyra 5aa660219e test(opencode): isolate environment regression processes 2026-08-25 12:37:39 -04:00
haelyra f25e2137b9 docs(release): record legacy upgrade audit 2026-08-25 12:36:16 -04:00
haelyra 624de7fcfc fix(opencode): complete legacy root migration 2026-08-25 12:29:35 -04:00
haelyra 856733263c test(opencode): cover legacy upgrade edge cases 2026-08-25 12:28:23 -04:00
haelyra ba280120f1 docs(release): record hosted isolation repair 2026-08-25 12:24:43 -04:00
haelyra 6ceab105bc fix(opencode): isolate explicit home contexts 2026-08-25 12:17:21 -04:00
haelyra 2331afbfd3 test(opencode): reproduce ambient config leakage 2026-08-25 12:14:58 -04:00
haelyra c6cee0f3e2 docs(release): record final review evidence 2026-08-24 21:37:59 -04:00
haelyra 15815eca6a fix(install): advance guided state checkpoints safely 2026-08-24 21:30:19 -04:00
haelyra 3c005169b5 fix(opencode): route lifecycle through config overrides 2026-08-24 21:20:17 -04:00
haelyra dac154eff6 test(opencode): cover override lifecycle routing 2026-08-24 21:18:54 -04:00
haelyra bbf5493279 fix(release): clear final review blockers 2026-08-24 21:16:39 -04:00
haelyra 01779a4a2b test(release): cover final review blockers 2026-08-24 21:14:29 -04:00
haelyra 75b632c42d docs(release): record filename convention regression 2026-08-24 21:11:15 -04:00
haelyra c83200bbbe fix(release): follow release-note filename convention 2026-08-24 21:09:46 -04:00
haelyra 7d9f70c501 test(release): enforce release-note filename convention 2026-08-24 21:08:51 -04:00
haelyra 5873b5204a docs(release): record upgraded lifecycle evidence 2026-08-24 21:08:08 -04:00
haelyra e3f2a537f9 test(opencode): cover legacy migration boundaries 2026-08-24 21:01:06 -04:00
haelyra e3a1ac6f3f fix(opencode): migrate legacy managed home installs 2026-08-24 20:59:57 -04:00
haelyra 47d629633b test(release): require packed uninstall skill cleanup 2026-08-24 20:56:27 -04:00
haelyra 55a2d4823b test(opencode): cover legacy managed root migration 2026-08-24 20:53:53 -04:00
haelyra ba63755cdd docs(release): record final regression count 2026-08-24 20:46:46 -04:00
haelyra 17ab179ecc test(release): enforce versioned notes contract 2026-08-24 20:40:35 -04:00
haelyra 25d59ca41d fix(release): select reviewed notes by version 2026-08-24 20:34:41 -04:00
haelyra a504b19411 test(release): derive reviewed notes from tag 2026-08-24 20:34:26 -04:00
haelyra b1a4c46395 docs(release): refresh security coverage evidence 2026-08-24 20:28:34 -04:00
haelyra 8348fb990d fix(security): pin guided preflight reads before validation 2026-08-24 20:28:01 -04:00
haelyra 65e243f60b docs(release): record ECC 2.2 verification evidence 2026-08-24 20:24:51 -04:00
haelyra 8b5ef235ff test(release): accept install command result shape 2026-08-24 20:23:33 -04:00
haelyra d0e14ed8f6 test(opencode): align repair fixtures with canonical home 2026-08-24 20:17:03 -04:00
haelyra 2c5a91a1d6 fix(release): make ECC 2.2 ready to publish 2026-08-24 20:15:12 -04:00
haelyra 528dbea019 test(security): reject symlinked guided install sources 2026-08-24 20:13:18 -04:00
dajiaohuangandhaelyra da1faf1400 test(pack): select the requested package 2026-08-24 20:09:12 -04:00
dajiaohuangandhaelyra 6d42f32ca8 fix(tests): support npm pack object output 2026-08-24 20:09:12 -04:00
Santhi Prakashandhaelyra 0b04c1bfa1 fix(scripts): surface unreadable AGENTS.md in legacy codex sync detection
hasMarkerBlock previously swallowed every read/open error and returned
false, so an unreadable AGENTS.md (EACCES, EMFILE, EISDIR, ...) made
detectLegacyCodexSync report a clean Codex home instead of an
indeterminate inspection result. The fallback path could then skip
legacy cleanup and exit 0 with legacy artifacts still in place.

Restrict the catch to ENOENT (a missing file legitimately means no
marker block) and rethrow everything else. detectLegacyCodexSync
already propagates from hasMarkerBlock, so callers now see the actual
inspection error instead of a misleading 'no marker'.

Regression test in tests/lib/codex-legacy-sync.test.js makes a
detectLegacyCodexSync call against an unreadable AGENTS.md and asserts
that it throws something other than ENOENT, plus a sanity check that
a missing AGENTS.md still reads as no-marker.
2026-08-24 20:09:12 -04:00
56dafcc5e3 fix(scripts): require legacy ownership manifest for auto fallback
Restrict the automatic `uninstall` legacy Codex sync fallback to homes
that have a legacy ownership manifest (`~/.codex/ecc/legacy-sync-state.json`).
Marker-only AGENTS.md files are no longer auto-detected as legacy installs,
so a normal `uninstall` will not silently modify user-owned instructions.
The explicit `--legacy-codex-sync` flag still handles marker-only and
manifest-backed cleanup.

Also:
- Track the AGENTS.md path in removedPaths when a marker block is removed.
- Refactor codex home resolution into a helper.
- Add regression tests for marker-only auto vs. explicit behavior.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-24 20:09:12 -04:00
f4f5cf9027 fix(scripts): avoid false-positive legacy Codex sync detection
Tighten uninstall auto-detection so it only falls back to the legacy
sync-ecc-to-codex.sh path when there is an ownership manifest
(~/.codex/ecc/legacy-sync-state.json) or an ECC marker block in
~/.codex/AGENTS.md. Previously a clean Codex home with unrelated prompt
files could be misclassified as a legacy install, causing uninstall to
skip normal install-state reconciliation and exit with a partial warning.

Also make the no-state fallback return 'not-found' when there is no
marker to remove and no candidate files to clean, and make explicit
--legacy-codex-sync report the same on a clean home.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-24 20:09:12 -04:00
09d6d22c09 fix(scripts): auto-detect legacy sync-ecc-to-codex.sh installs in uninstall
When no install-state is found for the current context, `ecc uninstall`
now checks for the legacy `sync-ecc-to-codex.sh` ownership manifest under
`~/.codex/ecc/legacy-sync-state.json` and, if present, rolls back the
managed Codex artifacts it recorded. It restores previous `config.toml`
and `AGENTS.md` content instead of deleting them, removes generated
prompts/docs/copies, and leaves unrelated Codex conversation history and
user config keys untouched. A fallback `--legacy-codex-sync` flag still
forces the legacy path explicitly, and `--dry-run` previews the cleanup.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-24 20:09:12 -04:00
nustanakritwithaiandhaelyra 5bc86f4e32 fix(install): add skills/skill-comply to workflow-quality module
skill-comply was the last unreferenced skill directory — every other
curated skill is referenced by at least one module in
manifests/install-modules.json. Without this entry, --profile full
silently installs 284 of 285 skills and the gap is invisible from the
install output.

Added to the workflow-quality module alongside the other evaluation,
audit, and compliance skills (skill-scout, skill-stocktake,
production-audit, etc.).

Verified: dry-run --profile full --json now includes 22 skill-comply
files in the install plan, and a manifest-coverage scan reports zero
unreferenced skill directories.

Fixes #2789
2026-08-24 20:09:12 -04:00
dajiaohuangandhaelyra 1b212b2e9a test(opencode): require non-empty agent catalog 2026-08-24 20:09:12 -04:00
dajiaohuangandhaelyra 894f85350b fix(opencode): inherit user-selected models 2026-08-24 20:09:12 -04:00
Alberto Varesioandhaelyra 4caab329db fix(opencode): install to ~/.config/opencode instead of ~/.opencode
OpenCode natively uses ~/.config/opencode per XDG conventions. The
install target was writing to ~/.opencode, which only worked on systems
where that path happened to be symlinked to ~/.config/opencode. The MCP
inventory reader already looked in ~/.config/opencode, so the installer
and reader were inconsistent.
2026-08-24 20:09:12 -04:00