Commit Graph
2705 Commits
Author SHA1 Message Date
Santhi PrakashandPaperclip 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
Santhi PrakashandPaperclip 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
Santhi PrakashandPaperclip 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
nustanakritwithai 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
dajiaohuang 1b212b2e9a test(opencode): require non-empty agent catalog 2026-08-24 20:09:12 -04:00
dajiaohuang 894f85350b fix(opencode): inherit user-selected models 2026-08-24 20:09:12 -04:00
Alberto Varesio 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
dajiaohuang faaa21c4e4 fix(install): guard state before selective merge 2026-08-24 20:08:58 -04:00
dajiaohuang 55c3cb5bb0 test(install): cover non-Claude state merging 2026-08-24 20:08:58 -04:00
dajiaohuang 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 d8409a4b08 Merge pull request #2824 from affaan-m/agent/tasteforge-multimodal-20260819
feat(skills): add TasteForge multimodal workflow
2026-08-19 23:31:56 +00: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 Mustafa 06c5e118c4 test(release): verify packed Ito distribution (#2803) 2026-08-16 18:23:27 -04:00
Affaan Mustafa 50743cec75 Merge pull request #2802 from affaan-m/affaan/nasiko-windows-ci-hotfix
test: fix Nasiko Windows status expectation
2026-08-16 02:21:53 -04:00
Affaan Mustafa f34e4319b1 test: fix Nasiko Windows status expectation 2026-08-16 01:52:20 -04:00
haelyra dcbf95bf63 docs(readme): surface self-hosted docs, add star-history badges and chart
Promote the self-hosted models and custom endpoints content out of a
collapsed <details> in Advanced Install Options into its own top-level
section higher in the page.

Add the star-history trending and global rank badges above the language
selector.

Replace the star-history chart embed with a locally generated SVG. The
upstream api.star-history.com/svg endpoint returns a "GitHub restricted
access to star data" placeholder since GitHub limited the stargazers API
on 2026-06-30. Chart covers the first 40,000 stars and is labeled as such;
source data included for reproducibility.
2026-08-15 22:12:41 -04:00
Affaan Mustafa 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 f192301727 Merge pull request #2798 from affaan-m/docs/antigravity-2.2-release-warning
docs(antigravity): clarify npm 2.2 release boundary
2026-08-15 16:02:53 -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 63040e29b5 Merge pull request #2797 from affaan-m/fix/antigravity-guide-windows
test(install): normalize PowerShell project path assertion
2026-08-15 14:43:17 -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 31b63ec710 Merge pull request #2793 from ronimuliawan/main
chore: adding path details to avoid confusion.
2026-08-15 13:22:49 -04:00
haelyra 21accf1726 docs(antigravity): clarify project-root installation 2026-08-15 13:16:41 -04:00
ronimuliawan 589aff6a42 chore: adding path details to avoid confusion. 2026-08-15 16:13:52 +07:00
Affaan Mustafa 9ba25b9360 fix: harden Nasiko artifact lifecycle 2026-08-15 02:22:29 -04:00
Affaan Mustafa 0d39ae83dd feat: add pinned Nasiko control-plane bridge 2026-08-15 01:57:26 -04:00
Affaan Mustafa f9801fb16b test: define Nasiko control-plane integration contract 2026-08-15 01:54:27 -04:00
Your Name e568d696c5 test(hooks): report unavailable Windows runtimes 2026-08-14 23:40:56 +08:00
Your Name 74afefb553 fix(hooks): compare passthrough output as bytes 2026-08-14 23:39:13 +08:00
Your Name 4c3ab4a6b7 test(hooks): close bootstrap review gaps 2026-08-14 23:11:53 +08:00
chs0813 a224617abb fix(hooks): do not echo raw input from plugin-hook-bootstrap.js
Rebased onto origin/main (49128b576). Fixtures moved from
scripts/hooks/ to /tmp/ecc-pr2380-fixtures/ per reviewer feedback.

(Original commit b0e49036 was based on cc6724ee; main has since
refactored spawnShell to use a shellArgs variable and added
PowerShell .sh fallback paths. This rebase adapts the
const result = spawnSync(...) + __rawInput tagging pattern to
all three spawnSync call sites in spawnShell.)
2026-08-14 22:32:30 +08:00
haelyra c9de8f5b2b Merge pull request #2784 from affaan-m/fix/installer-hotfix-2.2
fix(install): harden ECC installer lifecycle
2026-08-13 18:55:05 -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 9e39385666 fix(install): close reviewed reliability gaps 2026-08-13 18:03:37 -04:00
haelyra 01335551a3 fix(uninstall): preserve path identity and user drift 2026-08-13 18:02:06 -04:00
haelyra 8dc6a8e73a fix(uninstall): close quarantined files before removal 2026-08-13 17:30:38 -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