Commit Graph
410 Commits
Author SHA1 Message Date
montjeffrey 7497de02ab test(carriers): pin member calls and deeply nested computed arguments
Two first-round review findings were never addressed, and both reproduce
on the current head:

- records.require('./label'), obj?.import('./x') and obj . require('./y')
  are method calls, but the call pattern's word boundary is satisfied by
  the dot, so a self-contained object method fails every projection for a
  file the script never loads.
- The dynamic-argument pattern allows one level of nested parentheses, so
  require(path.join(__dirname, getName())) produces no dynamic warning
  while require(getName()) does.

Control: a genuine require beside the member calls is still a dependency.
2026-10-10 18:00:50 -04:00
montjeffrey 21784add5d test(carriers): pin CommonJS require candidates, regex after a block, and non-import from
Review on dd14493e found four more ways the closure gate misjudges a
carrier, each reproduced against that head:

- require('./helper') resolves when only helper.cjs or helper.mjs is
  planned, but Node's CommonJS search tries only .js, .json and .node.
- In `if (ok) {} /"/.test(text); require(...)` the regex after the block
  is read as division and its quote swallows the require.
- `obj.\nif(x) / 2` is a method call, but the condition check only saw
  the character immediately before `if`, so the division read as a regex
  and swallowed a later require. Introduced by the previous fix.
- A tagged template named `from` was recorded as an import; with exact
  import resolution it now fails a carrier that never loads that path.
  Introduced by the previous fix.

Controls: an extensionless require still resolves to a .json file, and a
template literal passed to import() is still a dependency.
2026-10-10 18:00:50 -04:00
montjeffrey df82e75a4c test(carriers): pin exact import resolution, portable separators, and regex after a condition
Review on aec97150 found four ways the closure gate passes a carrier that
fails at run time. Each is reproduced here against the current head:

- import('./helper') with only helper.js planned is accepted, but Node's
  ESM resolver does no extension search.
- import('./data') with only data/index.json (or index.js) planned is
  accepted, but Node rejects directory imports even from CommonJS.
- require('./lib\helper.js') with lib/helper.js planned is accepted
  because backslashes were normalized, but Linux and macOS read the
  backslash as part of the filename.
- In `if (ok) /['"]/.test(text); require('./missing')` the regex after
  the condition's closing paren is read as division, its quote opens a
  fake string, and the require disappears.

Controls that must keep passing: an exact import() of a planned file, an
extensionless require through the CommonJS search, and division after a
method named `if` or a call nested inside a condition. extractReferences
gains an `imports` list so the resolver can tell the two forms apart.
2026-10-10 18:00:50 -04:00
montjeffrey 50d59dd1f9 test(carriers): an interpolated from identifier is not an import 2026-10-10 18:00:50 -04:00
montjeffrey 4cd7741e74 test(carriers): cover spaced calls, escaped specifiers, Windows paths and index.json 2026-10-10 18:00:50 -04:00
montjeffrey d606375366 test(carriers): flag absolute and package imports a carrier cannot ship 2026-10-10 18:00:49 -04:00
montjeffrey be604c073a test(carriers): pin scanner edge cases and share one registry run 2026-10-10 18:00:49 -04:00
montjeffrey ca739b11d8 test(carriers): pin runtime closure checks 2026-10-10 18:00:32 -04:00
haelyra aac9b3d34b fix: preserve activity errors, asset bytes and runner summaries
Treat non-2xx activity responses as feed errors, preserve non-Markdown Copilot agent assets, and apply the reviewed reference escape parity correction with regenerated bindings. Allow the test runner to drain piped output on its existing success or failure exit status. Validate installed workflows and bounded real Node20/24 pipe regressions.
2026-10-09 19:33:37 -04:00
haelyra 5981dd7092 fix: complete reviewed integration workflows and safety checks 2026-10-09 18:54:39 -04:00
haelyra ba0520340f fix: reconcile reviewed sources and generated integration surfaces 2026-10-09 17:27:37 -04:00
haelyra b6e2cfe5e4 merge: preserve tested installer extraction 3187 and Copilot ownership fixture 2026-10-09 17:05:03 -04:00
haelyra a5432e84f7 merge: preserve tested stocktake discovery and save source 3220 2026-10-09 17:03:20 -04:00
haelyra 67c89375c3 merge: preserve serialized store source 3252 with portable cache fixtures 2026-10-09 16:28:34 -04:00
haelyra cc288b6e28 merge: reconcile tested OpenCode home carry-forward with Copilot transforms 2026-10-09 16:20:04 -04:00
haelyra 7265b989c4 merge: preserve tested bounded Hookify carry-forward candidate 3055 2026-10-09 16:17:57 -04:00
haelyra a1e0f46c7c merge: preserve tested PowerShell prerequisite source 3042 2026-10-09 16:15:41 -04:00
haelyra 34ba911ad3 merge: preserve tested Python audit source 3007 2026-10-09 16:11:22 -04:00
haelyra 899a12310e merge: preserve tested dashboard read-once source 3002 2026-10-09 16:11:12 -04:00
haelyra 83cd2ad91e merge: preserve tested commit-review source 2974 2026-10-09 16:10:04 -04:00
haelyra a6f6faed2a merge: preserve source 2983 with tested activity dashboard fixes 2026-10-09 16:09:59 -04:00
haelyra c4f419bea0 merge: refresh reviewed stewardship source 3280 on current main 2026-10-09 16:02:58 -04:00
wellkiloandhaelyra a50ee13cac feat: execute bounded local Hookify rules in lifecycle hooks
Carry forward PR #3055 at 92f53c4c onto ef648e01, preserving contributor attribution and current main. Focused maintainer fixes reuse shared input ceilings, preserve late root context through outer bootstrap, bound frontmatter before immutable parsing, and assert real oversized input in the limits workflow.
2026-10-09 15:59:20 -04:00
haelyra 846c450658 fix: keep activity dashboard executable and bound log reads 2026-10-09 15:57:34 -04:00
5e3863e512 perf: avoid duplicate skill file reads
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-10-09 15:50:20 -04:00
Yusuf Efeandhaelyra 0f34fdcc14 fix: resolve installed OpenCode skill paths consistently
Carry forward PR #3115 ef475c79 and 780dfb78 onto current main. Preserve the newer hook-consent transforms during install and repair. Main already includes the source import fix from #3167.
2026-10-09 15:40:12 -04:00
Yann Roberto 8be6a6f292 chore: sync state store branch with main 2026-10-05 00:15:25 +08:00
Yann Roberto 64746b0f66 chore: sync main and refresh stocktake registry digest 2026-10-05 00:11:29 +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 3b7d15e7fa test(skill-stocktake): make traversal failure fixtures portable 2026-10-01 03:05:06 +08:00
Yann Roberto 9a1ccaaf25 fix(skill-stocktake): invalidate stale resumed evaluations 2026-10-01 03:01:10 +08:00
Yann Roberto bb39e5da7f fix(skill-stocktake): reconcile resumed live inventories safely 2026-10-01 02:16:54 +08:00
Yann Roberto 566eddec57 Merge remote-tracking branch 'origin/main' into fix/stocktake-live-inventory 2026-10-01 01:59:10 +08:00
Yann Roberto 1d20d449e6 fix(skill-stocktake): make batch workflow executable 2026-10-01 01:59:10 +08: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
Yi-111-a b09a26aaad fix(package): publish scripts/github-coordination.js for the /epic-* commands
`package.json` `files[]` enumerates each top-level `scripts/*.js` by hand, and
`scripts/github-coordination.js` was never added. npm therefore drops it from
the tarball while `scripts/lib/` still ships wholesale, so only the CLI entry
disappears.

All seven `/epic-*` commands ship in `commands/` and each instructs the agent
to run:

    node scripts/github-coordination.js <command> <issue> --repo <owner/repo>

so anyone who installs from npm -- including the documented
`npm i -g ecc-universal` path -- gets seven commands that cannot run:

    Error: Cannot find module '.../ecc-universal/scripts/github-coordination.js'

It works from a git clone, which is what masked it locally.

Add the missing `files[]` entry, the matching publish-surface allowlist entry in
`tests/scripts/npm-publish-surface.test.js` (CONTRIBUTING asks for both), and a
guard test that fails when any published command invokes a `scripts/*.js` that
the publish surface does not cover. The guard reproduces this exact bug: with
`package.json` reverted it fails naming only `github-coordination.js`.

Refs #3270
2026-09-30 21:09:38 +08:00
affaan-m e41c9241f5 test(installer): pass capability probe as a private script file
Preserve the original contributor histories and apply the exact independently reviewed repair.

Source-Parent: aa0ea42882
Review-Manifest-SHA256: 3d35033783c03f7660b6795e20c1de588fc1cd48850b208e36add955e2446ad7
2026-09-28 06:43:02 -04:00
affaan-m 5d4cca811d test: bound installer child shutdown and preserve diagnostics
Keep the original wrapper assertions while supervising owned child groups through pipe closure, reporting failed capability probes, and preserving aggregate counts.

Reviewed-Base: 807f07a687
Source-Manifest-SHA256: 75176a5cfe5345cc93c20fb748ba5a1f159fdeb171b12ae7a8619979fa55edd9
Final-Source-SHA256: 691cb15f7356845a2cc4f84277ff5fd24cd6210ec9995ffefea0ab19509ba076
2026-09-28 06:10:43 -04:00
affaan-m 6bcc31358e Merge reviewed Plan Canvas test termination correction
Source-PR: https://github.com/affaan-m/ECC/pull/3241
Review-Manifest-SHA256: 281ec1d297672ff9986406c47e210b41590e00926b8da5071eceeedef8c51833
2026-09-28 05:20:21 -04:00
affaan-m cc1539fda0 test(plan-canvas): bound stalled cleanup and flush results before exit
Preserve contributor history while applying the exact reviewed current-main repair.

Source-PR: https://github.com/affaan-m/ECC/pull/3241
Source-Parent: 63f30ffc36
Review-Manifest-SHA256: 281ec1d297672ff9986406c47e210b41590e00926b8da5071eceeedef8c51833
2026-09-28 05:18:12 -04:00
Yann Roberto 688e939b29 fix(state-store): address contention and pragma review findings 2026-09-28 16:54:24 +08:00
affaan-m 9886c333f6 fix(batch): preserve Plan Canvas cleanup on every failure path
Source-PR: https://github.com/affaan-m/ECC/pull/3241
Source-Commit: 63f30ffc36
Reviewed-Manifest-SHA256: efb1271980b7e706b4ee237320ca86e8515e6012dce0802af36ec12dbdebc7a4
2026-09-28 04:16:18 -04:00
affaan-m 63f30ffc36 test(plan-canvas): close owned resources across failure paths
Preserve contributor history while applying the exact reviewed current-main repair.

Source-PR: https://github.com/affaan-m/ECC/pull/3241
Source-Parent: 71bb09c76b
Review-Manifest-SHA256: efb1271980b7e706b4ee237320ca86e8515e6012dce0802af36ec12dbdebc7a4
2026-09-28 04:10:00 -04:00
affaan-m 54e30adf84 Merge reviewed sponsor status corrections while retaining combined documentation 2026-09-28 02:17:53 -04:00
affaan-m 863dad8304 docs(sponsors): reconcile inactive listings with current main
Preserve current SerpApi terms and release history while moving inactive Mike sponsorship into past sections across affected pages. Add focused document contract coverage.

Source-PR: #3061
Source-Head: 7c1df74a60
Integration-Base: d3b8a3e908
Reviewed-Manifest: bc736b95c8dfd668a89fe256b61c7bd5cc3cb357e30858e93f99260324e26639
2026-09-28 01:26:17 -04:00
affaan-m 12f10baa09 Merge reviewed PR #3241 CI and security follow-up 2026-09-28 00:58:04 -04:00
affaan-m 71bb09c76b test(plan-canvas): isolate independently owned asset descriptors
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3241
Source-Parent: 83f19dee14
Review-Manifest-SHA256: 638af3690929ac4e39066387a87236ddd1ba00e07874b3c2b5b23aa0b22bfbba
2026-09-28 00:55:13 -04:00
affaan-m b7cc7e3920 Merge reviewed contributor PR #3195 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3195
Source-Head: 7c9c44736b

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:52 -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 68b8559397 Merge reviewed contributor PR #3233 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3233
Source-Head: 1c41fa7c00

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:35:43 -04:00