Commit Graph
1780 Commits
Author SHA1 Message Date
akushonkamen cbca1dc2cc fix(claude-plugin): target explicitly disabled destinations in scope migration
Issue #3492: scope migration aborted with generic verification errors in
two real states. When the destination scope is installed but inventory
reports enabled:false because the user explicitly set
enabledPlugins["ecc@ecc"]: false, setup now throws a targeted
DESTINATION_EXPLICITLY_DISABLED error naming the setting and file and
offering the native claude plugin enable recovery, leaving the user's
choice untouched. The generic not-enabled error also gains the enable
command in its recovery list.

uninstallSource now accepts a destination-only state when the source
scope is gone from the fresh inventory even if the uninstall command
errored, and SOURCE_UNINSTALL_FAILED recovery no longer suggests
uninstalling a source scope the inventory no longer lists; it prepends
claude plugin list --json so the stuck state can be inspected.

Tests: node tests/lib/claude-scope-migration.test.js — five new cases
cover explicitly disabled resume and single-scope destinations across
user/project/local settings files, the generic fallback keeping the
enable path, an uninstall error with the source already absent, and
non-circular recovery. 16 -> 21 passing; red against unpatched scripts
is 15 passed / 6 failed. Full-suite failure set is byte-identical to
unpatched HEAD in a zero-dependency environment.

Also sync the pinned SOURCE_UNINSTALL_FAILED recovery in
tests/scripts/setup.test.js ('migration JSON failures retain phase,
scopes, and exact recovery') with the new claude plugin list --json
diagnostic: 29 passed / 1 failed on the patched tree before the sync,
30 passed / 0 failed after, identical to clean 2d515e4f.
2026-10-11 20:48:43 +08:00
haelyra 8858b5f7d3 Merge branch 'integration/ecc-043-20261011' of https://github.com/affaan-m/ECC into integration/ecc-043-20261011 2026-10-11 07:06:46 -04:00
chenhz01 cffcf05e7a hooks: sed labels end at semicolon — commands after b/t/T/: are still scanned
CodeRabbit security finding on the merged sed work (CWE-693, verified live
on main via #3495): GNU sed labels for b, t, T and : end at ';' or newline —
verified against GNU sed 4.9 ('bar;e cmd' parses label 'a' and still runs
cmd; '}' is not a label terminator). Reading those operands to end of line
let 'sed :a;e git commit --no-verify' pass the hook while sed executed the
e command.

Labels are now read up to ';' or newline and command parsing resumes after
them. Text, filename and quit operands (a, c, i, r, w, q, Q) keep the
end-of-line reading: nothing after them on the line executes.

5 regression tests pin the three bypass paths and the benign boundary
(a bare label and a bare branch stay data). Suite: 817/817.
2026-10-11 18:52:44 +08:00
haelyra 137ec69adc test: verify Windows lock refusal after committed publication 2026-10-11 06:51:30 -04:00
haelyra 15d9ffd1c9 fix: validate rollback allocation before changing live skill 2026-10-11 06:49:37 -04:00
haelyra 61b1d49538 fix: bound snapshot allocation to safe version numbers 2026-10-11 06:42:29 -04:00
haelyra a7e5c4d030 fix: preserve snapshot paths and reject malformed skill tracking rows 2026-10-11 06:32:21 -04:00
haelyra 2df7533ee4 chore: include verified first-cohort GateGuard repair 2026-10-11 06:32:21 -04:00
haelyra 2f8b126e3a Merge reviewed contributor PR #3507 for incoming stewardship 2026-10-11 06:17:51 -04:00
haelyra a33e5b3312 Merge reviewed contributor PR #3506 for incoming stewardship 2026-10-11 06:17:51 -04:00
haelyra 542b6a89c1 Merge reviewed contributor PR #3505 for incoming stewardship 2026-10-11 06:17:51 -04:00
haelyra a0b286011a test: preserve Windows GateGuard corpus denial policy 2026-10-11 06:15:49 -04:00
haelyra cc12310b69 test(ledger): classify owned snapshot entries through directory records 2026-10-11 05:48:40 -04:00
haelyra 723e097e92 test(ledger): bind storage-preservation snapshots to descriptors 2026-10-11 05:44:22 -04:00
haelyra d0cf7aa6b7 Merge real model-selector CLI workflows and coverage verification 2026-10-11 05:38:34 -04:00
haelyra 3a80db87d2 Merge faithful ripgrep type-case and file-only exclusions 2026-10-11 05:38:34 -04:00
Eneko Ruiz 95585e4b29 fix: read piped tasks when evaluating output files
RED: the documented --output pipe mode discarded its task. GREEN: 8 tests pass across existing input modes and the real CLI conciseness score. Changed input functions have 100% line coverage.
2026-10-11 11:37:33 +02:00
Eneko Ruiz 3ac34cfc3c fix: validate skill execution failure reasons before storage 2026-10-11 11:37:01 +02:00
haelyra e6ed26d0ad Merge storage preflight and operator model normalization repairs 2026-10-11 05:36:45 -04:00
haelyra 0c35647012 test: cover offline model selector operator workflows 2026-10-11 05:36:06 -04:00
Eneko Ruiz 1ae4b88e06 fix: skip non-object skill execution JSONL rows 2026-10-11 11:35:31 +02:00
haelyra 3d8f31285f fix: preserve rg type case and filename exclusion scope 2026-10-11 05:35:14 -04:00
haelyra 5da9a1f4a7 fix: preflight ledger storage and normalize saved model padding 2026-10-11 05:33:44 -04:00
Eneko Ruiz acb75bc1ed fix: ignore directories when listing skill snapshots 2026-10-11 11:33:41 +02:00
Eneko Ruiz 32bbddab1d fix: keep unchanged skill rates stable at zero threshold 2026-10-11 11:31:21 +02:00
haelyra a194883e0d test(windows): pin native Bash and normalize executable paths 2026-10-11 05:31:15 -04:00
haelyra ca32c9ab79 test(ledger): normalize the competing-publication fault selector 2026-10-11 05:05:26 -04:00
haelyra 15b51b6ca4 fix(windows): make fault probes portable and bound sharing-denial retries 2026-10-11 04:56:18 -04:00
haelyra 8f80de5975 fix(ledger): retain lock descriptors across ownership checks and release 2026-10-11 04:19:35 -04:00
haelyra bb1a3bacea Merge descriptor-bound ledger and mixed-provider history repairs 2026-10-11 03:58:18 -04:00
haelyra bdc9f4b04e Merge verified usage display and actual Compose callback corrections 2026-10-11 03:58:18 -04:00
haelyra afdf403ae9 test: keep stale lock race fixture portable 2026-10-11 03:54:38 -04:00
haelyra 7a6db7bb85 Merge late GateGuard filter and security fixture repairs 2026-10-11 03:54:05 -04:00
haelyra 644269657c fix: harden ledger publication and mixed Ollama histories 2026-10-11 03:53:41 -04:00
haelyra 3e395c6b76 fix: preserve opt-in usage data and publish networked callbacks 2026-10-11 03:53:30 -04:00
haelyra 58b704977a fix: correct late search credit and security test gates 2026-10-11 03:51:36 -04:00
haelyra 223da78361 test(commands): pass declared resolver source to the fixed shell harness 2026-10-11 03:46:05 -04:00
haelyra b582964d67 fix(commands): execute selected-profile resolvers and honor explicit audit intent 2026-10-11 03:45:45 -04:00
haelyra 2bfee727e2 fix(install): preserve user TypeScript module scopes and retained boundaries 2026-10-11 03:32:07 -04:00
haelyra f1fafe670c test: preserve hook-only ESM workflows with user module scopes 2026-10-11 03:11:20 -04:00
haelyra 33b656c241 Merge branch 'fix/commands-commonjs-runtime-20261011' of /Users/hira/Documents/ECC/ecc-command-runtime-repair-20261011 into integration/ecc-043-20261011 2026-10-11 03:09:34 -04:00
haelyra e9f95e394f fix: reconcile profile projections and selected-model fallback checks 2026-10-11 03:05:59 -04:00
haelyra dbfd6ab009 fix: protect commands-only CommonJS runtime in Claude installs
Reuse the existing scripts boundary asset and guard for commands-core without hooks. Preflight selected helper scopes and preserve user module metadata, unowned/edited JS interpretation, and boundary ownership through uninstall. Actual installed ESM help/JSON, receipt, reinstall/uninstall and 34 focused cases pass. OpenCode boundary 8/8, adapters 51/51, manifests 43/43; focused coverage exceeds 80%. Two root-owned legacy ESM core-profile fixtures require correction; no unsupported states weakened.
2026-10-11 03:04:04 -04:00
haelyra bd966c9bfa test: reproduce commands-only ESM runtime and scope conflicts
Actual installed skills-health --help fails with require undefined in ESM Claude project and home fixtures. RED evidence: command-runtime-evidence/red-final.log; bounded repair remains pending.
2026-10-11 02:57:28 -04:00
haelyra 353f64fa83 Merge remote-tracking branch 'refs/remotes/pr/3499' into integration/ecc-043-20261011
# Conflicts:
#	src/llm/providers/ollama.py
#	src/llm/providers/openai.py
2026-10-11 02:45:34 -04:00
haelyra 65399a0c87 Merge branch 'steward/docs-providers-20261011' of /Users/hira/Documents/ECC/ecc-review-docs-providers-20261011 into integration/ecc-043-20261011
# Conflicts:
#	manifests/context-packs/skill-triggers@1.json
2026-10-11 02:32:31 -04:00
Yann Roberto effa074f7d fix(llm): normalize model environment values 2026-10-11 14:31:45 +08:00
haelyra f4f8beba01 fix: require explicit reasoning format before stripping content 2026-10-11 02:26:58 -04:00
haelyra 09d4283cf5 Merge branch 'steward/install-20261011' of /Users/hira/Documents/ECC/ecc-review-install-20261011 into integration/ecc-043-20261011
# Conflicts:
#	manifests/context-packs/skill-triggers@1.json
2026-10-11 02:24:10 -04:00
haelyra 5fe62f3d98 Merge branch 'steward/security-20261011' of /Users/hira/Documents/ECC/ecc-review-security-20261011 into integration/ecc-043-20261011
# Conflicts:
#	manifests/context-packs/skill-triggers@1.json
2026-10-11 02:23:56 -04:00