Commit Graph
368 Commits
Author SHA1 Message Date
Yann Roberto f76c469fa7 fix(state-store): persist writes from prepared result queries
Compare the completed snapshot after get/all queries so RETURNING and
prepared PRAGMA writes survive reloads and reopening. Export only after
the outer operation or transaction succeeds; unchanged read snapshots
still avoid disk writes. This adds one export/byte comparison per read
snapshot without relying on SQL parsing or private sql.js APIs.

Add 18 regression cases covering multi-row INSERT/UPDATE/DELETE RETURNING,
standalone and transactional get/all, no-row PRAGMA writes, and rollback.
The unfixed adapter fails 16 of these cases. Strengthen read-only checks.

Validation: 148 focused tests pass on WSL Node 22 and Windows Node 24;
the general state-store suite passes 20/20 on WSL and 19/20 on Windows,
where the existing file-symlink fixture is denied by Windows permissions.
Scoped adapter coverage is 90.13% lines, 82.73% branches, 100% functions.
ESLint, Unicode safety, and git diff --check pass.
2026-10-09 16:28:30 +08:00
Yann Roberto d69eaecf25 fix(state-store): keep cleanup diagnostics off caller errors 2026-10-06 00:36:11 +08:00
Yann Roberto 8be6a6f292 chore: sync state store branch with main 2026-10-05 00:15:25 +08:00
Affaan MustafaandGitHub c05b2d6614 chore: retire the Everything Claude Code name, ECC only (#3330)
* chore: retire the Everything Claude Code name, ECC only

Replace the expanded product name and the everything-claude-code slug
with ECC across READMEs, translated docs, harness folders, skills,
commands, scripts and examples. Repo URLs now point at affaan-m/ECC.

Rename repo-internal artifacts to ecc forms (ecc-conventions skill,
ecc-guardrails, ecc-research-playbook, ecc-team-config, ecc-instincts
with ecc-* ids) and update .claude/ecc-tools.json.

Legacy install ids, plugin dirs, package names and MCP prefixes stay
where existing installs resolve against them. The codex global-state
check and harness-audit repo detection accept the new name first and
the legacy one as a fallback. The Discord bot prefers ~/GitHub/ECC and
falls back to the nested legacy checkout path.

Refresh the skill-triggers registryDigest for the changed skill text.

* fix(ecc-tools): drop managed paths to the removed Claude repo skill

.claude/skills/<repo-skill>/SKILL.md was deleted in #2770 but stayed listed in
ecc-tools.json and the team config. Remove those entries and point the Claude
Code adapter at the existing .agents/skills/ecc-conventions/SKILL.md.
2026-10-01 17:50:41 -05:00
Yann Roberto 3768c03653 fix(state-store): preserve permission errors after lock retries 2026-10-01 01:03:41 +08:00
Yann Roberto 94cd7db7c3 fix(state-store): retry Windows contention and repair fixtures 2026-10-01 00:25:22 +08:00
affaan-m ed4b856bfe fix(state-store): preserve ownership and errors through cleanup
Preserve the original contributor histories and apply the exact independently reviewed repair.

Source-Parent: 5785183108
Review-Manifest-SHA256: e223d98c24e357715527b786257901d2ef0bebadb75ac61e5c000fe60da10f9a
2026-09-28 07:29:56 -04:00
Yann Roberto 5785183108 fix(control-pane): bound concurrent mutation workers 2026-09-28 17:26:53 +08:00
Yann Roberto 688e939b29 fix(state-store): address contention and pragma review findings 2026-09-28 16:54:24 +08:00
Yann Roberto 521de010bc fix(state-store): preserve concurrent writes across processes 2026-09-28 16:31:09 +08:00
affaan-m 97ac1009d7 Merge exact reviewed PR3008 follow-up
Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Head: 46df9ccc87
Review-Manifest-SHA256: dcec1e51ab4e14305f1daf1f020cf1d1f4f990137a5941b17ab4d9a0db108b2c
2026-09-28 04:07:07 -04:00
affaan-m 46df9ccc87 fix(install): preserve inactive user configs and recheck consent before completion
Preserve contributor history while applying the exact reviewed current-main repair.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: 615b7f107a
Review-Manifest-SHA256: dcec1e51ab4e14305f1daf1f020cf1d1f4f990137a5941b17ab4d9a0db108b2c
2026-09-28 03:52:42 -04:00
affaan-m 78527c0294 Merge commit '621abca3503a0cd3464928a94c1c1e93dcc1d9bd' into affaan/integrate-reviewed-followups-20260928 2026-09-28 02:47:13 -04:00
affaan-m 621abca350 fix(control-pane): bound snapshot loads and automatic polling
Preserve ordered manual/query recovery while giving snapshot headers and bodies one ten-second deadline. Keep action mutation behavior unchanged.

Source-PR: https://github.com/affaan-m/ECC/pull/3235
Source-Parent: aff9c64560
Review-Manifest-SHA256: 59efa4136448129df673d047e633e88351c98cc1fcdc812f475575bc6f6ce201
2026-09-28 02:47:12 -04:00
affaan-m 4e57bf3225 Merge commit 'be9fe61ef75bd907e62e800b464704d3fa2509eb' into affaan/integrate-reviewed-backlog-20260928 2026-09-28 02:14:39 -04:00
affaan-m be9fe61ef7 fix(install): verify legacy postimages with owned descriptors
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: c492920468
Review-Manifest-SHA256: 4f71a8f8d4d3aedcfb03f41d37274c28c6b83b39250d2f466e7f8243325ae09a
2026-09-28 02:14:19 -04:00
affaan-m b16955fe25 Integrate exact reviewed PR3008 follow-up 2026-09-28 01:39:57 -04:00
affaan-m c492920468 fix(install): bind legacy reads to trusted access flags
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: ef8c2d8b9c
Review-Manifest-SHA256: 6189690fc7dd826fda286e46a5d3ec8d50b6049740f74f0dbd4490a36a76854c
2026-09-28 01:36:41 -04:00
affaan-m b989e2dbcc Merge reviewed PR #3244 CI and security follow-up 2026-09-28 00:58:04 -04:00
affaan-m e9a1c754d6 Merge reviewed PR #3243 CI and security follow-up 2026-09-28 00:58:04 -04:00
affaan-m aa3150214f Merge reviewed PR #3008 CI and security follow-up 2026-09-28 00:58:04 -04:00
affaan-m 490585fbcb fix(platform): pass Windows browser URLs as validated data
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3244
Source-Parent: 5ffe239ee5
Review-Manifest-SHA256: c18c5d1d4b29c0b78fc1638be8f5d72dc6141235c6ec26cb0dd20c91911cdbfe
2026-09-28 00:57:22 -04:00
affaan-m 2edb1de269 fix(control-plane): restore accepted view after render failure
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3243
Source-Parent: cfe6d90d9f
Review-Manifest-SHA256: 78e13c4fe9581ef82100bb721f9b80ab8e62a15371e89b5f32c42c593944552b
2026-09-28 00:55:09 -04:00
affaan-m ef8c2d8b9c fix(opencode): guard legacy cleanup and portable consent fixtures
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: d0dc1fcb08
Review-Manifest-SHA256: 8f15febd33dfa9f9ac6e70cb41f75ffee7aca47dd21782e841c33d4874341d6e
2026-09-28 00:54:21 -04:00
affaan-m 17c1752262 Merge relative-root consent correction from PR #3008
Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Head: d0dc1fcb08
2026-09-27 23:41:30 -04:00
affaan-m d0dc1fcb08 fix(install): preserve OpenCode refusal for relative source roots
Keep historical fingerprints independent of source discovery and normalize explicit repository roots at doctor and repair entry points. Preserve unknown user plugins and absolute-only low-level source probing.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Reviewed-Manifest-SHA256: fe1444b12dfb730524970a51b6bb805271cdfa71d4cc9b247772e6d9b1d1c9d8
2026-09-27 23:40:43 -04:00
affaan-m d2ce0b58dd Merge reviewed contributor PR #3241 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3241
Source-Head: 83f19dee14

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m 75dec47278 Merge reviewed contributor PR #3213 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3213
Source-Head: 1394cf6f0a

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m e6cd4498ef Merge reviewed contributor PR #3243 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3243
Source-Head: cfe6d90d9f

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m 0656f7af0b Merge reviewed contributor PR #3235 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3235
Source-Head: aff9c64560

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m b66584c445 Merge reviewed contributor PR #3244 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3244
Source-Head: 5ffe239ee5

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:50 -04:00
affaan-m f2835aacf3 Merge reviewed contributor PR #3121 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3121
Source-Head: 9f64ff2c3d

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:35:42 -04:00
affaan-m 3587ba70b9 Merge reviewed contributor PR #3210 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3210
Source-Head: f5d0fcc7e1

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:35:42 -04:00
affaan-m cfe6d90d9f fix(control-plane): preserve accessible state across poll races 2026-09-27 22:55:11 -04:00
affaan-m e9911d6668 fix(opencode): preserve primary failures through complete lock cleanup 2026-09-27 22:41:08 -04:00
affaan-m dbeb723218 fix(plan-canvas): bind bounded artifact reads to verified descriptors 2026-09-27 22:23:33 -04:00
affaan-m 429384f80c fix(opencode): refuse known legacy hooks without consent 2026-09-27 22:12:34 -04:00
affaan-m 1394cf6f0a Merge current main and verify PowerShell foreach classification 2026-09-27 22:05:48 -04:00
affaan-m 506f25fb54 fix(plan-canvas): confine artifact assets and sandbox SVG documents
Preserve the contributor security repair and current main. Apply the artifact sandbox to SVG document responses and report unavailable symlink checks separately from passing assertions.

Source-PR: https://github.com/affaan-m/ECC/pull/3241
Source-Head: d237e1972f
Integration-Main: d3b8a3e908
2026-09-27 21:39:24 -04:00
affaan-m f5d0fcc7e1 fix(install): reconcile UTF-8 BOM support with current main
Preserve the contributor commits and current main changes.

Source-PR: https://github.com/affaan-m/ECC/pull/3210
Source-Head: 94ca2de35e
Integration-Main: d3b8a3e908
2026-09-27 21:35:30 -04:00
affaan-m 6dc706fe85 fix(install): distinguish user plugins from ECC aliases
Attribute unrecorded OpenCode aliases only to exact trusted ECC source or build bytes while keeping planned and recorded destinations strict. Pass the trusted source root through repair plans and preserve unrelated user plugin files.
2026-09-27 21:23:11 -04:00
affaan-m aff9c64560 fix(control-pane): preserve snapshot integrity during failed refreshes 2026-09-27 21:03:37 -04:00
affaan-m 5ffe239ee5 fix(tests): reconcile launcher coverage with current main 2026-09-27 21:03:37 -04:00
affaan-m 923019d99f fix(opencode): preserve consent ownership through guarded install and repair 2026-09-27 20:32:22 -04:00
affaan-m 80b9339727 Merge current main into PR #3121, preserving reviewed contribution 2026-09-27 20:26:25 -04:00
haelyra befde0d2cd fix(profiles): bind routing receipts and harden review paths 2026-09-27 18:01:40 -04:00
haelyra 0765f7a2ca feat(profiles): add opt-in Lean/Full and hybrid Auto selection 2026-09-27 16:46:07 -04:00
pasmudandCommandCodeBot d42d918bd3 fix(control-pane): stop a stale poll lowering the staleness mark
The settled-token guard correctly ignored an older poll, but that poll
still set settledPoll to its own token on the way out. With three polls
settling in the order 3, 1, 2, the ignored poll 1 pulled the mark back
to 1, so the even older poll 2 then passed the guard and replaced poll
3's counts, or marked a healthy view offline.

The mark now only moves forward. A poll that settles late is itself
stale, so it has no business moving the mark at all.

Covered by a new runtime case that settles three polls out of order as
3, 1, 2, once with an older success and once with an older failure. The
success case catches the counts regressing, the failure case catches a
healthy view being marked offline. Reverting the fix trips each of them
independently, and the unmutated file passes all 21.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
2026-09-27 14:03:13 +00:00
Seekers2001 2b35e299ea test: cover launcher error handling 2026-09-27 17:32:44 +08:00
pasmudandCommandCodeBot cee58ba39e fix(control-pane): settle the poll guard against the last settled request
The staleness guard compared a poll against the newest poll STARTED, and
only the failure path used it. Two orderings were wrong.

An older success settling after a newer one had no guard at all, so it
overwrote the newer counts, the canvas label and the announcement with
older data. Both paths now check the token.

An older failure settling while a newer poll was still in flight was
discarded, because a newer poll had merely started. The page then kept
the last successful counts and its no-steering message as if they were
current. Anchoring the guard to the newest poll that has SETTLED fixes
that: the older failure is still the newest thing to have settled, so it
lands, and the pending poll restores the view when it answers.

That single change covers both orderings, so the guard no longer needs
to know which path it is on. Each poll records itself as settled when it
finishes, whatever the outcome.

A poll also had no timeout, so a request that never answered left the
last steering guidance on screen indefinitely. Each poll now aborts
after ten seconds through an AbortController, and that abort is what
wakes the poll, so a timeout is reported as an outage instead of
silently leaving stale guidance.

The test harness can now hold a request open indefinitely and fire
pending timers on demand, so the timeout is exercised without waiting.
New assertions cover an older success losing to a newer one, an older
failure landing while a newer poll is in flight and then being
recovered by it, and a hung poll timing out into the offline state.
Removing the success guard, re-anchoring the guard to the last started
poll, and removing the timeout each fail one of those assertions, and
the unmutated file passes all of them.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
2026-09-27 08:11:44 +00:00