Commit Graph

168 Commits

Author SHA1 Message Date
Affaan Mustafa c7c1e36625 feat: add JoyCode install target 2026-05-11 11:10:59 -04:00
Affaan Mustafa 1abc3fb381
fix: port hook session and dashboard safety fixes
Ports suggest-compact session_id isolation and dashboard terminal/document launch safety onto current main.
2026-05-11 02:53:28 -04:00
Affaan Mustafa 8a57679222
fix: restore short Claude plugin slug and skill installs (#1712) 2026-05-11 02:10:36 -04:00
Affaan Mustafa 841beea45c fix: handle dotted reserved snapshot names 2026-04-30 12:25:14 -04:00
Affaan Mustafa 61992f7f5e fix: harden loop-status snapshot writes 2026-04-30 12:25:14 -04:00
Affaan Mustafa 2715315438 fix: avoid loop-status index snapshot collision 2026-04-30 12:25:14 -04:00
Affaan Mustafa 7627926216 fix: preserve loop-status output on snapshot errors 2026-04-30 12:25:14 -04:00
Affaan Mustafa 20154ddb22 feat: write loop-status snapshots 2026-04-30 12:25:14 -04:00
Affaan Mustafa 85dfb5e5fc test: isolate loop-status missing transcript fixture 2026-04-30 10:33:17 -04:00
Affaan Mustafa 7b03a60503 fix: require bounded loop-status exit-code watch 2026-04-30 10:33:17 -04:00
Affaan Mustafa fbd441b448 feat: add loop-status exit-code mode 2026-04-30 10:33:17 -04:00
Affaan Mustafa 38f4265a1c feat: add loop-status watch mode 2026-04-30 09:09:23 -04:00
Affaan Mustafa e381c8d8a8 fix: namespace claude managed install paths 2026-04-30 07:53:20 -04:00
Affaan Mustafa 08d6c82989 fix: harden consult argument parsing 2026-04-30 07:19:43 -04:00
Affaan Mustafa 9a3f72712b feat: add ECC consult command 2026-04-30 07:19:43 -04:00
Affaan Mustafa 708a8fd715 fix: clarify loop status empty output 2026-04-30 06:35:37 -04:00
Affaan Mustafa 9aace2e6fe fix: keep loop status scans fail-soft 2026-04-30 06:35:37 -04:00
Affaan Mustafa fb6cc8548b fix: harden loop status transcript scanning 2026-04-30 06:35:37 -04:00
Affaan Mustafa b8452dc108 feat: add loop status transcript inspector 2026-04-30 06:35:37 -04:00
Affaan Mustafa e1d6d853f7 fix: namespace cursor agent installs 2026-04-30 02:19:57 -04:00
Affaan Mustafa 5881554a1c fix: add no-hooks minimal install path 2026-04-30 01:57:31 -04:00
Affaan Mustafa 06f9eca8e2 fix: retire legacy command shims from default surface 2026-04-29 23:56:40 -04:00
Affaan Mustafa 149fae7008 test: normalize auto-update repo root expectation on windows 2026-04-29 21:01:27 -04:00
Affaan Mustafa a7a56fa2a2 feat: add auto-update command 2026-04-29 21:01:27 -04:00
Affaan Mustafa ae02b26cf9 test: cover mcp config merge edges 2026-04-29 18:57:55 -04:00
Affaan Mustafa cc89c40751 test: cover codex config merge edges 2026-04-29 18:51:56 -04:00
Affaan Mustafa 45a9bcf295 test: lift harness manifest branch coverage 2026-04-29 18:38:48 -04:00
Affaan Mustafa 2c56c9c69f test: relax windows install apply timeout 2026-04-29 17:42:19 -04:00
Affaan Mustafa 2eaafc38f6 test(ecc2): normalize release workflow newlines 2026-04-29 17:31:01 -04:00
Affaan Mustafa 46aa301f1d Merge remote-tracking branch 'origin/main' into feat/ecc2-rc1-preview-surface
# Conflicts:
#	docs/fixes/HOOK-FIX-20260421-ADDENDUM.md
2026-04-28 22:11:54 -04:00
Affaan Mustafa 0a87323eda feat(ecc2): finalize rc1 release surface 2026-04-28 22:10:04 -04:00
Affaan Mustafa 177b8f31da docs: clarify install and uninstall paths 2026-04-23 02:11:29 -04:00
Affaan Mustafa 92e0c7e9ff
fix: install native Cursor hook and MCP config (#1543)
* fix: install native cursor hook and MCP config

* fix: avoid false healthy stdio mcp probes
2026-04-21 18:35:21 -04:00
Affaan Mustafa eb900ddd81 test: align hook install expectations with Claude schema 2026-04-15 19:33:34 -07:00
Affaan Mustafa 1fabf4d2cf fix: consolidate bash hooks without fork storms 2026-04-14 21:23:57 -07:00
Affaan Mustafa c1e7a272cc
Merge pull request #1446 from affaan-m/fix/release-publish-and-migration-docs
fix: publish npm releases and clarify install identifiers
2026-04-14 20:58:20 -07:00
Affaan Mustafa 5427c27930
Merge pull request #1445 from affaan-m/fix/plugin-installed-hook-root-resolution
fix: resolve plugin-installed hook root on marketplace installs
2026-04-14 20:43:40 -07:00
Affaan Mustafa b5c4d2beb9 fix: wire npm auth into release publish 2026-04-14 20:43:22 -07:00
Affaan Mustafa 34380326c8 fix: publish npm releases and clarify install identifiers 2026-04-14 20:42:28 -07:00
Affaan Mustafa 1b7c5789fc fix: bootstrap plugin-installed hook commands safely 2026-04-14 20:24:21 -07:00
Affaan Mustafa cdeb837838 Merge origin/main into fix/urgent-install-and-name 2026-04-14 20:23:54 -07:00
Affaan Mustafa c54b44edf3 test: fix harness audit env fallback 2026-04-14 20:03:57 -07:00
Affaan Mustafa e46deb93c8 fix: harden dashboard terminal launch helpers 2026-04-14 19:44:32 -07:00
Affaan Mustafa 8776c4f8f3 fix: harden urgent install and gateguard patch 2026-04-14 19:44:08 -07:00
Affaan Mustafa 76b6e22b4d fix: unblock urgent install and gateguard regressions 2026-04-14 19:23:07 -07:00
Affaan Mustafa 9ae51bc3c1
Merge pull request #1393 from affaan-m/fix/cursor-rule-mdc-install
fix: install Cursor rules as .mdc files
2026-04-13 00:52:03 -07:00
Affaan Mustafa 7a33b2b3c9
Merge pull request #1395 from affaan-m/fix/npm-publish-surface
fix: narrow npm publish surface to the module graph
2026-04-13 00:46:15 -07:00
Affaan Mustafa c826305060 fix: keep runtime schemas in npm package 2026-04-12 23:56:58 -07:00
Affaan Mustafa 7374ef6a73 fix: normalize cursor rule installs 2026-04-12 23:51:58 -07:00
Affaan Mustafa bd2aec48ed fix: narrow npm publish surface to the module graph 2026-04-12 23:48:53 -07:00
Affaan Mustafa 133e881ce0 fix: install Cursor rules as mdc files 2026-04-12 23:32:39 -07:00
Affaan Mustafa 18c90a7a17 fix: document supported claude hook install path 2026-04-12 23:29:45 -07:00
Affaan Mustafa f4c7aac5b8 fix: remove unused hook install test constant 2026-04-12 22:51:03 -07:00
Affaan Mustafa b749f5d772 fix: clean up hook install docs and tests 2026-04-12 22:47:25 -07:00
Affaan Mustafa 2ece2cfc90 fix: stop injecting managed hooks into claude settings 2026-04-12 22:39:48 -07:00
Affaan Mustafa 28edd197c2
fix: harden release surface version and packaging sync (#1388)
* fix: keep ecc release surfaces version-synced

* fix: keep lockfile release version in sync

* fix: remove release version drift from locks and tests

* fix: keep root release metadata version-synced

* fix: keep codex marketplace metadata version-synced

* fix: gate release workflows on full metadata sync

* fix: ship all versioned release metadata

* fix: harden manual release path

* fix: keep localized release docs version-synced

* fix: sync install architecture version examples

* test: cover shipped plugin metadata in npm pack

* fix: verify final npm payload in release script

* fix: ship opencode lockfile in npm package

* docs: sync localized release highlights

* fix: stabilize windows ci portability

* fix: tighten release script version sync

* fix: prefer repo-relative hook file paths

* fix: make npm pack test shell-safe on windows
2026-04-12 22:33:32 -07:00
Affaan Mustafa fc5921a521
fix: detach ecc2 background session runners (#1387)
* fix: detach ecc2 background session runners

* fix: stabilize windows ci portability

* fix: persist detached runner startup stderr

* fix: prefer repo-relative hook file paths

* fix: make npm pack test shell-safe on windows
2026-04-12 22:29:05 -07:00
Affaan Mustafa e226772a72 feat: add gemini agent adapter 2026-04-08 15:38:49 -07:00
Affaan Mustafa c2994ba24f test: guard opencode package payload 2026-04-05 20:09:02 -07:00
Affaan Mustafa 786f46dad5 feat: support disabling bundled mcp servers 2026-04-05 14:37:28 -07:00
Affaan Mustafa 1346f83b08 fix: shorten plugin slug to ecc 2026-04-05 14:31:30 -07:00
Affaan Mustafa db6d52e4af fix: ship built opencode plugin assets 2026-04-05 14:09:10 -07:00
Affaan Mustafa a60d5fbc00 fix: port ci and markdown cleanup from backlog 2026-04-02 17:09:21 -07:00
Affaan Mustafa 8f63697113 fix: port safe ci cleanup from backlog 2026-04-01 16:09:54 -07:00
Affaan Mustafa 9a6080f2e1 feat: sync the codex baseline and agent roles 2026-04-01 16:08:03 -07:00
Affaan Mustafa dba5ae779b fix: harden install and codex sync portability 2026-04-01 16:04:56 -07:00
Affaan Mustafa 6833454778 fix: dedupe managed hooks by semantic identity 2026-04-01 02:16:32 -07:00
Affaan Mustafa a273c62f35 fix: restore ci lockfile and hook validation 2026-03-31 18:00:07 -07:00
Affaan Mustafa 6cc85ef2ed
fix: CI fixes, security audit, remotion skill, lead-intelligence, npm audit (#1039)
* fix(ci): resolve cross-platform test failures

- Sanity check script (check-codex-global-state.sh) now falls back to
  grep -E when ripgrep is not available, fixing the codex-hooks sync
  test on all CI platforms. Patterns converted to POSIX ERE for
  portability.
- Unicode safety test accepts both / and \ path separators so the
  executable-file assertion passes on Windows.
- Gacha test sets PYTHONUTF8=1 so Python uses UTF-8 stdout encoding on
  Windows instead of cp1252, preventing UnicodeEncodeError on box-drawing
  characters.
- Quoted-hook-path test skipped on Windows where NTFS disallows
  double-quote characters in filenames.

* feat: port remotion-video-creation skill (29 rules), restore missing files

New skill:
- remotion-video-creation: 29 domain-specific Remotion rules covering 3D/Three.js,
  animations, audio, captions, charts, compositions, fonts, GIFs, Lottie,
  measuring, sequencing, tailwind, text animations, timing, transitions,
  trimming, and video embedding. Ported from personal skills.

Restored:
- autonomous-agent-harness/SKILL.md (was in commit but missing from worktree)
- lead-intelligence/ (full directory restored from branch commit)

Updated:
- manifests/install-modules.json: added remotion-video-creation to media-generation
- README.md + AGENTS.md: synced counts to 139 skills

Catalog validates: 30 agents, 60 commands, 139 skills.

* fix(security): pin MCP server versions, add dependabot, pin github-script SHA

Critical:
- Pin all npx -y MCP server packages to specific versions in .mcp.json
  to prevent supply chain attacks via version hijacking:
  - @modelcontextprotocol/server-github@2025.4.8
  - @modelcontextprotocol/server-memory@2026.1.26
  - @modelcontextprotocol/server-sequential-thinking@2025.12.18
  - @playwright/mcp@0.0.69 (was 0.0.68)

Medium:
- Add .github/dependabot.yml for weekly npm + github-actions updates
  with grouped minor/patch PRs
- Pin actions/github-script to SHA (was @v7 tag, now pinned to commit)

* feat: add social-graph-ranker skill — weighted network proximity scoring

New skill: social-graph-ranker
- Weighted social graph traversal with exponential decay across hops
- Bridge Score: B(m) = Σ w(t) · λ^(d(m,t)-1) ranks mutuals by target proximity
- Extended Score incorporates 2nd-order network (mutual-of-mutual connections)
- Final ranking includes engagement bonus for responsive connections
- Runs in parallel with lead-intelligence skill for combined warm+cold outreach
- Supports X API + LinkedIn CSV for graph harvesting
- Outputs tiered action list: warm intros, direct outreach, network gap analysis

Added to business-content install module. Catalog validates: 30/60/140.

* fix(security): npm audit fix — resolve all dependency vulnerabilities

Applied npm audit fix --force to resolve:
- minimatch ReDoS (3 vulnerabilities, HIGH)
- smol-toml DoS (MODERATE)
- brace-expansion memory exhaustion (MODERATE)
- markdownlint-cli upgraded from 0.47.0 to 0.48.0

npm audit now reports 0 vulnerabilities.

* fix: resolve markdown lint and yarn lockfile sync

- MD047: ensure single trailing newline on all remotion rule files
- MD012: remove consecutive blank lines in lottie, measuring-dom-nodes, trimming
- MD034: wrap bare URLs in angle brackets (tailwind, transcribe-captions)
- yarn.lock: regenerated to sync with npm audit changes in package.json

* fix: replace unicode arrows in lead-intelligence (CI unicode safety check)
2026-03-31 15:08:55 -04:00
Affaan Mustafa e68233cd5d
fix(ci): harden codex hook regression test (#1028) 2026-03-30 14:21:40 -04:00
Affaan Mustafa 5a2c9f5558
Merge pull request #850 from eamanc-lab/feat/add-openclaw-persona-forge-v2
feat(skills): add openclaw-persona-forge skill
2026-03-30 04:50:27 -04:00
Affaan Mustafa d6c7f8fb0a fix(skills): harden openclaw persona forge 2026-03-30 04:41:47 -04:00
Affaan Mustafa 7253d0ca98
test: isolate codex hook sync env (#1023) 2026-03-30 04:31:09 -04:00
Affaan Mustafa b9a01d3c32
fix: audit consumer projects from cwd (#1014)
* fix: audit consumer projects from cwd

* fix: unblock unicode safety CI lint

* fix: unblock shared CI regressions

* test: isolate package-manager dependent hooks and formatter tests
2026-03-30 02:01:56 -04:00
Affaan Mustafa fab80c99b7
fix: harden Trae install ownership (#1013)
* fix: harden trae install ownership

* fix: unblock unicode safety CI lint

* fix: unblock shared CI regressions

* test: isolate package-manager dependent hooks and formatter tests
2026-03-30 02:01:54 -04:00
Affaan Mustafa 8846210ca2
fix: unblock unicode safety CI lint (#1017)
* fix: unblock unicode safety CI lint

* fix: unblock shared CI regressions
2026-03-30 01:50:17 -04:00
Affaan Mustafa 7483d646e4 fix: narrow unicode cleanup scope 2026-03-29 21:21:18 -04:00
Affaan Mustafa 866d9ebb53 fix: harden unicode safety checks 2026-03-29 21:21:18 -04:00
Affaan Mustafa 0ebcfc368e fix(codex): broaden context7 config checks 2026-03-29 00:26:16 -04:00
Affaan Mustafa c1d98b071e
Merge pull request #892 from chris-yyau/fix/remove-redundant-skill-sync
fix: remove redundant skill copy from sync-ecc-to-codex.sh
2026-03-28 20:32:12 -04:00
Affaan Mustafa 47aa415b06 fix(installer): validate hooks and settings before install 2026-03-28 19:55:34 -04:00
Affaan Mustafa d7e6bb242a fix(installer): reject invalid claude settings roots 2026-03-28 19:55:34 -04:00
Affaan Mustafa 9f37a5d8c7 fix(installer): preserve existing claude hook settings 2026-03-28 19:55:34 -04:00
Affaan Mustafa b4296c7095 feat: add install catalog and project config autodetection 2026-03-27 05:56:39 -04:00
Chris Yau d170cdd175
fix: remove redundant skill copy from sync-ecc-to-codex.sh
Codex CLI reads skills natively from ~/.agents/skills/ (installed by
ECC installer / npx skills). The sync script was redundantly copying
the same skills from .agents/skills/ to ~/.codex/skills/.

Changes:
- Remove skill copy loop, variables, and path validation from sync script
- Update sanity checker to validate ~/.agents/skills/ instead of
  ~/.codex/skills/, downgrade missing skills from FAIL to WARN
- Update test assertions to verify skill sync removal

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-03-25 21:33:45 +08:00
Affaan Mustafa b19b4c6b5e fix: finish blocker lane hook and install regressions 2026-03-25 04:00:50 -04:00
Affaan Mustafa b5157f4ed1 test: relax sync-ecc shell parsing 2026-03-25 03:56:10 -04:00
Affaan Mustafa 9c5ca92e6e fix: finish hook fallback and canonical session follow-ups 2026-03-25 03:44:03 -04:00
Affaan Mustafa 1d0aa5ac2a fix: fold session manager blockers into one candidate 2026-03-24 23:08:27 -04:00
Affaan Mustafa f12bb90924
fix: refresh orchestration follow-up after #414 (#430) 2026-03-16 14:29:28 -07:00
Fredrik Hallerös 17a6ef4edb
Add PowerShell installer wrapper and update documentation (#532)
* Add install.ps1 PowerShell wrapper and tests

Add a Windows-native PowerShell wrapper (install.ps1) that resolves symlinks and delegates to the Node-based installer runtime. Update README with PowerShell usage examples and cross-platform npx entrypoint guidance. Point the ecc-install bin to the Node installer (scripts/install-apply.js) in package.json (and refresh package-lock), include install.ps1 in package files, and add tests: a new install-ps1.test.js and a tweak to install-sh.test.js to skip on Windows. These changes provide native Windows installer support while keeping npm-compatible cross-platform invocation.

* Improve tests for Windows HOME/USERPROFILE

Make tests more cross-platform by ensuring HOME and USERPROFILE are kept in sync and by normalizing test file paths for display.

- tests/lib/session-adapters.test.js: set USERPROFILE when temporarily setting HOME and restore previous USERPROFILE on teardown.
- tests/run-all.js: use a normalized displayPath (forward-slash separated) for logging and error messages so output is consistent across platforms.
- tests/scripts/ecc.test.js & tests/scripts/session-inspect.test.js: build envOverrides from options.env and add HOME <-> USERPROFILE fallbacks so spawned child processes receive both variables when only one is provided.

These changes prevent test failures and inconsistent logs on Windows where USERPROFILE is used instead of HOME.

* Fix Windows paths and test flakiness

Improve cross-platform behavior and test stability.

- Remove unused createLegacyInstallPlan import from install-lifecycle.js.
- Change resolveInstallConfigPath to use path.normalize(path.join(cwd, configPath)) to produce normalized relative paths.
- Tests: add toBashPath and normalizedRelativePath helpers to normalize Windows paths for bash and comparisons.
- Make cleanupTestDir retry rmSync on transient Windows errors (EPERM/EBUSY/ENOTEMPTY) with short backoff using sleepMs.
- Ensure spawned test processes receive USERPROFILE and convert repo/detect paths to bash format when invoking bash.

These changes reduce Windows-specific failures and flakiness in the test suite and tidy up a small unused import.
2026-03-16 13:35:17 -07:00
Chandan Semwal 0ff1b594d0
fix(harness-audit): make scoring deterministic with scripted rubric (#524) 2026-03-16 13:34:30 -07:00
Affaan Mustafa b48930974b
fix: resolve all CI test failures (19 fixes across 6 files) (#519)
- canonical-session: fall back to JSON file recording when the loaded
  state-store module has no writer methods (factory vs instance)
- install-executor: skip node_modules and .git dirs in listFilesRecursive
  to prevent ETIMEDOUT copying thousands of .opencode dependency files
- ecc.js: increase maxBuffer to 10MB for spawned subcommands to prevent
  ENOBUFS on large install plan JSON output
- install-apply.test: update Cursor and Antigravity path assertions to
  match flattened rule layout and remapped dirs (workflows, skills)
- ecc.test: increase maxBuffer in test runner to handle large output
- orchestrate-codex-worker.sh: guard against unreadable task file before
  cat, write failure status and handoff artifacts on early exit
2026-03-16 01:59:53 -07:00
Affaan Mustafa 426fc54456
feat: record canonical session snapshots via adapters (#511) 2026-03-16 01:35:45 -07:00
Affaan Mustafa 131f977841
feat: strengthen install lifecycle and target adapters (#512)
* fix: strengthen install lifecycle adapters

* fix: restore template content on uninstall
2026-03-15 21:47:31 -07:00
Affaan Mustafa 1e0238de96
feat: wire manifest resolution into install execution (#509) 2026-03-15 21:47:22 -07:00
Affaan Mustafa c53bba9e02 feat: self-improving skills loop — observe, inspect, amend, evaluate
- Add skill health observation layer (execution logging, success/failure tracking)
- Add skill health inspector (trace recurring failures across runs)
- Add amendify mechanism (propose SKILL.md patches from failure evidence)
- Add evaluation scaffolding (compare amended vs original performance)
- Wire into session-inspect CLI: skills:health, skills:amendify, skills:evaluate
- 1145/1145 tests passing (+3 new)
2026-03-14 23:21:18 -07:00
Affaan Mustafa 2b2777915e feat: expand session adapter registry with structured targets
- Registry accepts { type, value } structured targets
- Add --list-adapters and --target-type CLI flags to session-inspect
- Export adapter type from claude-history and dmux-tmux adapters
- 71 new session adapter tests, 34 new session-inspect tests
- All 1142 tests passing
2026-03-14 19:09:26 -07:00
Affaan Mustafa 4e028bd2d2 feat: orchestration harness, selective install, observer improvements 2026-03-14 12:55:25 -07:00
Affaan Mustafa d1f44e89e2 fix: stabilize windows hook and claw tests 2026-03-05 12:37:24 -08:00