Commit Graph
278 Commits
Author SHA1 Message Date
haelyra e55b9c1346 fix(ecc2): preserve persisted tool event ownership on replay
Reject a feed row whose hook event ID already belongs to another session before reserving in-memory deduplication. Reuse one parameterized indexed lookup rather than loading historical logs. Register the previously unknown session against the unchanged same-ID fixture and verify metrics remain consistent with persisted ownership.
2026-10-29 17:25:41 -07:00
haelyra 829b8e42d6 fix(deps): integrate rustls 0.23.46 security update (#3807)
Preserve the reviewed Dependabot source ancestry. The rustls patch release addresses four advisories affecting 0.23.45; dependency closure is unchanged. Verified downloaded crate checksum, full native tests, actual CLI readback fixtures, and locked offline build.
2026-10-29 17:07:35 -07:00
haelyra 0509bd04fb fix(ecc2): integrate registered-session activity filtering (#3755)
Preserve harryert source ancestry and skip external session events before deduplication. Strengthen same-ID ordering, late-registration and repeat-sync coverage. Isolate the affected dashboard selection fixture from shared user metrics.
2026-10-29 17:03:16 -07:00
dependabot[bot] fbc0b2538d chore(deps): bump rustls
Bumps the cargo-security group with 1 update in the /ecc2 directory: [rustls](https://github.com/rustls/rustls).


Updates `rustls` from 0.23.45 to 0.23.46
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.45...v/0.23.46)

---
updated-dependencies:
- dependency-name: rustls
  dependency-version: 0.23.46
  dependency-type: indirect
  dependency-group: cargo-security
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-29 23:25:00 +00:00
haelyra 6d7d4920c8 fix: close final integration security and portability gaps 2026-10-29 12:57:39 -07:00
haelyra 0d92059410 fix: close installed workflow and review publication gaps before integration 2026-10-29 11:58:01 -07:00
haelyra 299cde9d95 maint: integrate reviewed contribution #3774 2026-10-29 11:34:55 -07:00
haelyra 2d9b503e9a maint: integrate reviewed contribution #3798 2026-10-29 11:34:50 -07:00
haelyra 9a39053236 maint: integrate reviewed contribution #3796 2026-10-29 11:34:44 -07:00
haelyra ec06db418d maint: integrate reviewed contribution #3795 2026-10-29 11:34:40 -07:00
haelyra ab9e6057df maint: integrate reviewed contribution #3792 2026-10-29 11:34:35 -07:00
haelyra 754d7ad579 maint: integrate reviewed contribution #3773 2026-10-29 11:34:29 -07:00
Harry c5be66c96b test(ecc2): preserve nonempty schedule run timestamp on task update 2026-10-29 22:37:05 +08:00
Harry b890f2915d feat(ecc2): update native schedule instructions in place 2026-10-29 22:22:25 +08:00
Harry 86c4e1bbf4 fix(ecc2): honor configured worker profile during native inbox dispatch 2026-10-29 18:39:57 +08:00
Harry ad51be7515 test(ecc2): reject ambiguous relative Lead directory for assignment 2026-10-29 18:12:31 +08:00
Harry 098c2350ba fix(ecc2): resolve native assignment directory from parent lead 2026-10-29 17:28:52 +08:00
Harry bbbf060ebc fix(ecc2): retain assignment provenance for safe independent dispatch 2026-10-29 16:42:32 +08:00
Harry 72df50d184 test(ecc2): verify exact displayed inbox message IDs 2026-10-29 14:44:33 +08:00
haelyra c6bfc09f01 fix(ecc2): preserve unread inbox messages and expose full content 2026-10-29 14:33:24 +08:00
Harry 77209f81dd test(ecc2): serialize template cwd with shared guard 2026-10-29 14:05:59 +08:00
Harry 7af7a18bd5 test(ecc2): prevent template handoff redispatch after real launch 2026-10-29 06:48:53 +08:00
Harry 613d58e701 fix(ecc2): exclude template and started assignment notices from rerouting 2026-10-29 06:42:39 +08:00
Harry 9b27576ee7 fix(ecc2): preserve assigned work in load and rebalance 2026-10-28 13:29:01 +08:00
Shubham Padkonde bb32cb389b fix(ecc2): delimit Claude tasks after variadic options 2026-10-28 10:35:39 +05:30
Harry ec7ff61d4d test(ecc2): cover long native delegation sender IDs 2026-10-28 12:57:21 +08:00
Harry d3bc76e61e fix(ecc2): honor configured worktree policy in daemon dispatch 2026-10-28 12:49:48 +08:00
Harry b0a4551adf fix(ecc2): exclude native delegation notices from auto-dispatch 2026-10-28 12:44:09 +08:00
harryert 54e66695b1 fix(ecc2): prevent recursive auto-dispatch of assignment handoffs 2026-10-28 11:25:18 +08:00
Harry 018bc4d7cb fix(ecc2): ignore tool events from unregistered sessions 2026-10-27 14:14:38 +08:00
haelyra 4735712ac1 chore(deps): integrate verified Rust dependency updates (#3200, #3250, #3483) 2026-10-10 17:39:53 -04:00
dependabot[bot] ac5fd9ead9 chore: bump rustls
Bumps the cargo-security group with 1 update in the /ecc2 directory: [rustls](https://github.com/rustls/rustls).


Updates `rustls` from 0.23.37 to 0.23.45
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.37...v/0.23.45)

---
updated-dependencies:
- dependency-name: rustls
  dependency-version: 0.23.45
  dependency-type: indirect
  dependency-group: cargo-security
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-10 00:08:21 +00:00
haelyra 5981dd7092 fix: complete reviewed integration workflows and safety checks 2026-10-09 18:54:39 -04:00
haelyra c4f419bea0 merge: refresh reviewed stewardship source 3280 on current main 2026-10-09 16:02:58 -04:00
dependabot[bot] dab221a601 chore(deps): bump the cargo-minor-and-patch group across 1 directory with 3 updates
Bumps the cargo-minor-and-patch group with 3 updates in the /ecc2 directory: [ureq](https://github.com/algesten/ureq), [clap](https://github.com/clap-rs/clap) and [thiserror](https://github.com/dtolnay/thiserror).


Updates `ureq` from 3.4.1 to 3.4.2
- [Changelog](https://github.com/algesten/ureq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/algesten/ureq/compare/3.4.1...3.4.2)

Updates `clap` from 4.6.6 to 4.6.7
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.6.6...clap_complete-v4.6.7)

Updates `thiserror` from 2.0.20 to 2.0.21
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.20...2.0.21)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.6.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
- dependency-name: thiserror
  dependency-version: 2.0.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
- dependency-name: ureq
  dependency-version: 3.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-05 04:55:16 +00:00
Affaan Mustafa 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
haelyra 077d74764f test(ecc2): assert isolated config roots 2026-10-01 12:09:57 -04:00
haelyra 5ea629876e fix: reconcile stewardship batch on current main
Preserve the Bengali and MyBatis catalog additions, keep Laravel storage examples disk-consistent, isolate ECC 2 test configuration with private permissions, and verify every command-referenced runtime script is published.
2026-09-30 13:29:20 -04:00
Toni AlataloandClaude Sonnet 5.5 708d621372 fix(ecc2): also sandbox the legacy ~/.claude/ecc2.toml path under cfg(test)
Addresses review feedback on #3277: the previous commit sandboxed the
primary config path, but Config::global_config_paths() also reads the
legacy $HOME/.claude/ecc2.toml. A test that called Config::load() would
pick up (or fail on a malformed) developer-local legacy config.

Under cfg(test), legacy_global_config_path() now resolves inside the same
per-test-thread scratch root as config_path().

Proof of red (new test, before the fix):

$ cargo test legacy_config_path_under_test
    running 1 test
    test config::tests::legacy_config_path_under_test_is_sandboxed_away_from_user_home ... FAILED
    failures:
    ---- config::tests::legacy_config_path_under_test_is_sandboxed_away_from_user_home stdout ----
    tests must never read the real legacy user config, got /Users/<me>/.claude/ecc2.toml
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    failures:
        config::tests::legacy_config_path_under_test_is_sandboxed_away_from_user_home
    test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 491 filtered out; finished in 0.00s
    error: test failed, to rerun pass `--bin ecc-tui`

After the fix:

$ cargo test legacy_config_path_under_test
    test config::tests::legacy_config_path_under_test_is_sandboxed_away_from_user_home ... ok
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 491 filtered out

$ cargo test   # full suite
    test result: ok. 491 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

Refs #3276

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Y54kLgLGzLGqAxwLMFEc9
2026-09-30 23:08:55 +09:30
Toni AlataloandClaude Sonnet 5.5 6f141fe5a2 fix(ecc2): sandbox Config::config_path() under cfg(test)
Dashboard tests that spawn sessions reach Config::save() through
auto_split_layout_after_spawn, which wrote to the developer's real
~/Library/Application Support/ecc2/config.toml. The fixture's db_path
pointed at a deleted temp dir, so the next `cargo run` failed with
"unable to open database file".

Under cfg(test), config_root() now returns a per-test-thread scratch
directory that is removed when the thread exits, so no test can reach
the real user config.

Fixes #3276

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Y54kLgLGzLGqAxwLMFEc9
2026-09-30 22:50:52 +09:30
dependabot[bot] 752dca41e1 chore(deps): bump dirs from 6.0.0 to 7.0.0 in /ecc2
Bumps dirs from 6.0.0 to 7.0.0.

---
updated-dependencies:
- dependency-name: dirs
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-21 04:54:51 +00:00
Affaan Mustafa f06d4a02d9 Merge pull request #3064 from wellkilo/feat/dashboard-output-cursor
perf(ecc2): stream dashboard output with a DB cursor
2026-09-19 17:03:57 -04:00
dependabot[bot] cacecada15 chore(deps): bump the cargo-minor-and-patch group across 1 directory with 3 updates
Bumps the cargo-minor-and-patch group with 3 updates in the /ecc2 directory: [toml](https://github.com/toml-rs/toml), [ureq](https://github.com/algesten/ureq) and [uuid](https://github.com/uuid-rs/uuid).


Updates `toml` from 1.1.4+spec-1.1.0 to 1.1.6+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml-v1.1.4...toml-v1.1.6)

Updates `ureq` from 3.4.0 to 3.4.1
- [Changelog](https://github.com/algesten/ureq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/algesten/ureq/compare/3.4.0...3.4.1)

Updates `uuid` from 1.26.0 to 1.26.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.26.0...v1.26.1)

---
updated-dependencies:
- dependency-name: toml
  dependency-version: 1.1.6+spec-1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
- dependency-name: ureq
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
- dependency-name: uuid
  dependency-version: 1.26.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-14 04:55:37 +00:00
aeonframework 4fc950c462 fix(deps): bump lru to 0.18.2 to patch RUSTSEC-2026-0253
Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0253.html
Severity: INFO (unsound / memory-corruption class, CWE-416/415)
Fixed in: 0.18.2

Lockfile-only change (ecc2/Cargo.lock); no manifest or source changes.
2026-09-10 15:01:03 -04:00
wellkilo 8cd852136f fix(ecc2): bound output cursor recovery
Page dashboard deltas, preserve incremental refreshes, isolate reused session IDs by creation time, and use ownership-based cache updates. Add cross-process, lifecycle, and retry coverage for the reviewed edge cases.
2026-09-11 01:03:17 +08:00
wellkilo daadb57963 perf(ecc2): stream dashboard output with a DB cursor
Hydrate bounded session output snapshots at startup and recovery, then fetch only rows newer than the monotonic SQLite cursor during steady-state dashboard refreshes.

Preserve cross-process visibility and bounded per-session caches, recover safely from transient database failures, and cover lifecycle, retry, and real child-process writes.
2026-09-11 00:20:27 +08:00
Affaan MustafaandClaude Fable 5.1 f8640355e4 Consolidate recovered eval framework and operator workflows (#3040)
* feat: consolidate offline eval and operator workflows

Compose the retained framework, operator skill, roadmap and cleanup ranges on current main. Preserve current release dependencies and keep candidate execution disabled pending OS containment. Repair draft/DOCX behavior, obligation uniqueness, trusted send and audience guidance, runner provenance and eval diagnostics.

Source-PR: 2930 0abe3727d2b500c6e4830bdeb47ed67cae3f4785
Source-PR: 2931 992b49c44ed872def49675b791168b8fcd091df6
Source-PR: 2932 4a193dd13041cb7a6bebf4d2e910a0cd32bcc797
Source-PR: 2933 59cdfe500a91949ba1415f1edd7279620f21e804
Source-Base: ca185ef5f7

* fix: repair foundation CI and update js-yaml

* fix: reconcile pending-delete capsule locks after close

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 13:20:52 +01:00
dependabot[bot] 8dfa7cec0a chore(deps): bump the cargo-minor-and-patch group across 1 directory with 4 updates
Bumps the cargo-minor-and-patch group with 4 updates in the /ecc2 directory: [rusqlite](https://github.com/rusqlite/rusqlite), [ureq](https://github.com/algesten/ureq), [thiserror](https://github.com/dtolnay/thiserror) and [uuid](https://github.com/uuid-rs/uuid).


Updates `rusqlite` from 0.40.1 to 0.40.2
- [Release notes](https://github.com/rusqlite/rusqlite/releases)
- [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md)
- [Commits](https://github.com/rusqlite/rusqlite/compare/v0.40.1...v0.40.2)

Updates `ureq` from 3.3.0 to 3.4.0
- [Changelog](https://github.com/algesten/ureq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/algesten/ureq/compare/3.3.0...3.4.0)

Updates `thiserror` from 2.0.19 to 2.0.20
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.19...2.0.20)

Updates `uuid` from 1.24.0 to 1.26.0
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.24.0...v1.26.0)

---
updated-dependencies:
- dependency-name: rusqlite
  dependency-version: 0.40.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
- dependency-name: thiserror
  dependency-version: 2.0.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
- dependency-name: ureq
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor-and-patch
- dependency-name: uuid
  dependency-version: 1.24.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-03 14:59:21 -04:00
haelyraanddependabot[bot] 9b081280bc chore(deps): integrate safe Dependabot runtime updates (#2762)
* chore(deps-dev): bump @types/node from 25.9.2 to 26.1.2

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.9.2 to 26.1.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.1.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(deps): sync npm lock for Node 26 types

* chore(deps-dev): update mypy requirement from >=2.1.0 to >=2.3.0

Updates the requirements on [mypy](https://github.com/python/mypy) to permit the latest version.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v2.1.0...v2.3.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 2.3.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): update anthropic requirement from >=0.111.0 to >=0.120.2

Updates the requirements on [anthropic](https://github.com/anthropics/anthropic-sdk-python) to permit the latest version.
- [Release notes](https://github.com/anthropics/anthropic-sdk-python/releases)
- [Changelog](https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/anthropics/anthropic-sdk-python/compare/v0.111.0...v0.120.2)

---
updated-dependencies:
- dependency-name: anthropic
  dependency-version: 0.120.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps-dev): update ruff requirement from >=0.4 to >=0.16.1

Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.4.0...0.16.1)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump clap in /ecc2 in the cargo-minor-and-patch group

Bumps the cargo-minor-and-patch group in /ecc2 with 1 update: [clap](https://github.com/clap-rs/clap).


Updates `clap` from 4.6.4 to 4.6.6
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.6.4...clap_complete-v4.6.6)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.6.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 00:43:01 -04:00
Affaan Mustafa 623f2c020f Add bounded harness evaluation and rollback loop (#2686)
* feat(ecc2): add bounded harness evaluation loop

* fix(ecc2): preserve harness evidence and legacy IDs
2026-08-05 18:17:10 -04:00