Commit Graph
877 Commits
Author SHA1 Message Date
haelyra dac154eff6 test(opencode): cover override lifecycle routing 2026-08-24 21:18:54 -04:00
haelyra 01779a4a2b test(release): cover final review blockers 2026-08-24 21:14:29 -04:00
haelyra 7d9f70c501 test(release): enforce release-note filename convention 2026-08-24 21:08:51 -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 17ab179ecc test(release): enforce versioned notes contract 2026-08-24 20:40:35 -04:00
haelyra a504b19411 test(release): derive reviewed notes from tag 2026-08-24 20:34:26 -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
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
dajiaohuangandhaelyra faaa21c4e4 fix(install): guard state before selective merge 2026-08-24 20:08:58 -04:00
dajiaohuangandhaelyra 55c3cb5bb0 test(install): cover non-Claude state merging 2026-08-24 20:08:58 -04:00
dajiaohuangandhaelyra 64d7dc5da0 fix(install): merge state across selective installs 2026-08-24 20:08:58 -04:00
haelyra 6e66dfbae8 test(release): add ECC 2.2 readiness regressions 2026-08-24 20:08:41 -04:00
Affaan Mustafa b86138ae7b test(skills): align TasteForge final contract 2026-08-19 22:30:38 +00:00
Affaan Mustafa 71e3622640 fix(skills): harden TasteForge multimodal contract 2026-08-19 21:47:31 +00:00
Affaan Mustafa 348cd34a2b docs(skills): define TasteForge multimodal contract 2026-08-19 20:45:27 +00:00
affaan 9c450046be feat(skills): add tasteforge-video skill for repeatable taste-driven video work
Curated skill delegating to the canonical tasteforge package in
Ito-Markets/ito-video: taste interviews, style-pack validation, offline
distillation with measured grounding, deterministic cadence application to
local footage, EDL/FCPXML export, and generated-media provenance audits.
Provider (Fal) generation requires explicit separately authorized execution
and fails closed in ECC; local references never mean a saved provider
workflow. Registered in the opt-in media-generation install module, npm
files, and catalog counts via scripts/ci/catalog.js. Contract tests cover
frontmatter/triggers, the fail-closed boundary, manifest and npm-packed
discoverability (real tarball check opt-in via ECC_TEST_NPM_PACK=1).
2026-08-18 12:04:33 +00:00
Affaan MustafaandGitHub 06c5e118c4 test(release): verify packed Ito distribution (#2803) 2026-08-16 18:23:27 -04:00
Affaan Mustafa f34e4319b1 test: fix Nasiko Windows status expectation 2026-08-16 01:52:20 -04:00
Affaan MustafaandGitHub d0366ea8e8 Merge pull request #2800 from affaan-m/affaan/nasiko-control-plane-integration
feat: add opt-in Nasiko control-plane bridge
2026-08-15 21:48:12 -04:00
Affaan Mustafa 28a8fda568 fix: close Nasiko filesystem race windows 2026-08-15 21:47:57 -04:00
haelyra ba838cdc83 test(antigravity): preserve source fallback 2026-08-15 15:30:24 -04:00
haelyra 4e2102fcf4 docs(antigravity): clarify npm 2.2 release boundary 2026-08-15 15:07:31 -04:00
haelyra 73e9a44c0b test(install): compare canonical PowerShell install roots 2026-08-15 14:20:01 -04:00
haelyra ffe5edc47c test(install): normalize PowerShell project path assertion 2026-08-15 13:40:59 -04:00
haelyra 21accf1726 docs(antigravity): clarify project-root installation 2026-08-15 13:16:41 -04:00
Affaan Mustafa 9ba25b9360 fix: harden Nasiko artifact lifecycle 2026-08-15 02:22:29 -04:00
Affaan Mustafa f9801fb16b test: define Nasiko control-plane integration contract 2026-08-15 01:54:27 -04:00
haelyra 0a7d2787c4 fix(install): arm rollback before legacy sync 2026-08-13 18:30:39 -04:00
haelyra 42d219e0de fix(security): reject Windows reparse digests 2026-08-13 18:29:21 -04:00
haelyra 60ab63fe21 fix(security): pin installer checkpoint reads 2026-08-13 18:21:21 -04:00
haelyra 08edb1cb92 fix(install): checkpoint interrupted migrations 2026-08-13 18:17:26 -04:00
haelyra 9bec31faf7 test(uninstall): record managed copy digest 2026-08-13 18:10:00 -04:00
haelyra 01335551a3 fix(uninstall): preserve path identity and user drift 2026-08-13 18:02:06 -04:00
haelyra efdf17b034 fix(security): verify legacy files after opening 2026-08-13 17:20:48 -04:00
haelyra 3f5bf22966 fix(security): enforce no-follow semantics on Windows 2026-08-13 17:16:53 -04:00
haelyra bab38ae91b fix(security): close installer filesystem races
Use no-follow file descriptors for legacy Codex snapshots, verification, restoration, and marker cleanup. Quarantine candidate removals and verify inode identity before deletion.

Carry the lifecycle runner as a verified artifact so privileged release workflows never dynamically check out and execute an output-selected revision.
2026-08-13 16:59:06 -04:00
1db5c8ab4a fix(install): harden ECC installer lifecycle
Make Antigravity 2.0 installs native and safely migrate legacy state. Ensure doctor, repair, status projection, repeat installs, legacy Codex sync, and uninstall converge without losing user files. Exclude Python bytecode and harden repo-scan bootstrap guidance.

Gate publishing and pull-request merges on one exact packed artifact completing install, repeat, drift, repair, status, and uninstall across Linux, macOS, and Windows.

Co-authored-by: lorencifernando-coder <lorenci.fernando@gmail.com>

Co-authored-by: Suliman Abdulrazzaq <suliman9000a@gmail.com>

Co-authored-by: Wu Shuwen <mikewushuwen@outlook.com>
2026-08-13 16:42:51 -04:00