Commit Graph
3759 Commits
Author SHA1 Message Date
haelyra 1bbebf61d9 fix(story-lifecycle): reject unsafe numeric allocation IDs
A real CLI fixture reproduced an infinite allocation loop from an existing unsafe numeric ID. Reject unsafe IDs and overflow without writing markers; 26 workflow fixtures, changed-code coverage and validators pass.
2026-10-11 02:17:50 -04:00
haelyra 52d546f0d1 docs: align Turkish instructions with the prepared skill catalog 2026-10-11 02:09:04 -04:00
haelyra 412347a2ab feat(skills): integrate optional test governance workflows from PR 3413
Preserve complete contributor head. Keep current-session invocation, project-defined verification gates and existing task authorization; no new commands or completion authority. Disposable Claude/Codex install and removal verified.
2026-10-11 02:02:49 -04:00
haelyra 36f01734e7 feat(skills): integrate optional change impact workflow from PR 3412 2026-10-11 02:01:43 -04:00
haelyra 3ab8a4f618 feat(skills): integrate optional domain context workflow from PR 3411
Preserve full contributor head; refresh catalogs and Pi projection. Verify disposable Claude/Codex installs and resource discovery, with no automatic hooks or governance files.
2026-10-11 02:01:07 -04:00
haelyra 54925308d7 feat(skills): integrate collision-safe story lifecycle from PR 2311
Preserve full contributor history and current catalog. Actual process workflows cover concurrency, recovery, sprint planning and read-only status. Bound registry symlinks, counts and lock waits; preserve manually curated trigger provenance.
2026-10-11 01:59:36 -04:00
haelyra 544601912a fix(llm): integrate capability-aware Ollama tools from PR 3275
Preserve contributor head and current main reasoning/errors. Reject malformed capability declarations and retry discovery; actual localhost HTTP ReAct round-trip verified.
2026-10-11 01:57:34 -04:00
haelyra 242abdecb4 fix(llm): integrate revised reasoning filtering from PR 3272 2026-10-11 01:56:43 -04:00
haelyra 4f5970bf4f fix(codex): ship named CLI profile files with ownership protection
Reproduced issue #3485 on installed Codex CLI 0.162.0. Keep user legacy choices for explicit migration and verify disposable install, repair, reinstall and removal.
2026-10-11 01:55:54 -04:00
haelyraandGitHub 2d515e4fc2 Merge pull request #3495 from affaan-m/integration/ecc-043-20261010
fix: integrate verified ECC stewardship batch (49 PRs)
2026-10-10 21:15:17 -04:00
haelyra f614e82ae5 fix(session): preserve alias identity when its store is unreadable 2026-10-10 20:38:40 -04:00
haelyra a87957ea5e test(session): pass alias fault controls as data to fixed preload 2026-10-10 20:28:19 -04:00
haelyra 33a91492e8 test(session): pass calendar fixture inputs as data
Replace JSON-interpolated child JavaScript with fixed preload and summarizer programs. Pass paths and dates through dedicated fixture environment variables; use a fixed quoted exec wrapper so configured executable and script paths remain data. Preserve real Date.now, deadlines, calendar rollover, captured resume metadata and no-next-day duplicate assertions. Actual13/0 Node18.20.8, Node20.20.2 with Bun setting and Node24.9.0; actual13/0 with spaces/apostrophes/literal dollar in fixture paths; next-day negative control12/1; lint and diff checks pass. Addresses CodeQL393/394/395 without suppression or dismissal.
2026-10-10 20:27:31 -04:00
haelyra 3f3309c93e test(session): exercise fallback persistence across calendar rollover
The Stop hook captures its session filename date before waiting for a slow summary, while the fixture previously recomputed it after timeout. Advance only the fixture calendar when the fake summarizer starts and assert persistence under the captured date, matching resume metadata, and no next-day duplicate. Keep Date.now, child delay and lifecycle deadlines unchanged. Actual workflow baseline and corrected fixture13/0; mismatched-day lookup negative control12/1; Node20 with Bun setting and Node18.20.8 both13/0; lint and diff checks pass.
2026-10-10 20:14:22 -04:00
haelyra 0a181df218 fix(session): preserve optional startup context and independent history reads 2026-10-10 20:14:22 -04:00
haelyra 15834ef199 fix(state): remove the superseded filesystem import 2026-10-10 19:54:44 -04:00
haelyra 068d93251e fix(state): retry Windows sharing reads without dropping published aliases 2026-10-10 19:54:09 -04:00
haelyra 6f02de840b test(profiles): seed feedback through the canonical session producer 2026-10-10 19:33:54 -04:00
haelyra e259e06c75 fix(plan-canvas): reconcile profile resolver and retain invalid feedback queues 2026-10-10 19:19:30 -04:00
haelyra 0b07708137 fix(plan-canvas): validate feedback IPC locator and request shape 2026-10-10 19:15:51 -04:00
haelyra 872df03e1f fix(hooks): enforce literal formatter invocation at spawn boundaries 2026-10-10 19:13:24 -04:00
haelyra e76ea52ae3 test(security): bind fixture reads and mutations to private descriptors 2026-10-10 19:11:12 -04:00
haelyra 9aa9003e1b ci: account for PowerShell CRLF in strict PCRE2 probe 2026-10-10 19:04:00 -04:00
haelyra 740fc4fa88 Merge refreshed PR #3491 request-model deduplication follow-up 2026-10-10 18:59:17 -04:00
haelyra 24de70a507 fix(fs): retry bounded Windows atomic rename sharing failures 2026-10-10 18:58:54 -04:00
haelyra a0dacd2282 ci: allow bounded completion of the full Windows test matrix 2026-10-10 18:57:18 -04:00
haelyra a0ae95231d fix(codex): canonicalize native Windows task paths before dispatch 2026-10-10 18:56:12 -04:00
haelyra ad176030e7 test(settings): allow quarantine recovery retry on slower filesystems 2026-10-10 18:56:03 -04:00
haelyra d34d022bc5 test(gateguard): expect native directory keys on Windows 2026-10-10 18:56:03 -04:00
haelyra 19a1b62f35 fix(eval): preserve session ownership and frozen intent inputs 2026-10-10 18:53:22 -04:00
haelyra 74aace4071 fix(opencode): preserve CommonJS runtime scope and user script ownership 2026-10-10 18:53:22 -04:00
haelyra 6d813fe308 fix(qwen): normalize indentless lists and validate converted frontmatter 2026-10-10 18:47:48 -04:00
haelyra a062b22a35 fix(ci): provision real ripgrep for secret-scanner workflow checks
Verify PCRE2 on every hosted test platform and coverage runner. Preserve dependency PATH for real scanner delegates and report missing prerequisites explicitly, keeping production fail-closed behavior and hermetic missing/error controls intact.
2026-10-10 18:41:02 -04:00
haelyra 630edba97e fix(pi): regenerate the curated profile after source integration 2026-10-10 18:39:09 -04:00
haelyra a2dbcdb2e0 fix(eval): reject resume symlinks without no-follow support 2026-10-10 18:38:26 -04:00
haelyra 1d13881b1e test(gateguard): scope transcript byte counts to live descriptors 2026-10-10 18:38:26 -04:00
haelyra 7682bb5b49 fix(adapters): bound parsing and publish review artifacts safely 2026-10-10 18:38:26 -04:00
haelyra b327efcad3 test(transcript): isolate the extracted reader missing-file probe 2026-10-10 18:38:26 -04:00
haelyra d6dc05a12b fix(tests): keep transcript and hook fixtures in private temp roots
Isolate spawned Stop hooks through TMPDIR/TMP/TEMP, open transcript fixtures exclusively with private modes, and derive intentional stale-race fixture identity from its opened descriptor.
2026-10-10 18:38:26 -04:00
haelyra 8044679227 fix(pi): classify new provider and orchestration resources 2026-10-10 18:38:26 -04:00
Dante 6acaf769b9 fix(cost-tracker): retain model across duplicate usage blocks 2026-10-11 06:24:18 +08:00
haelyra fa26ba0673 fix(qwen): reject unrepresentable empty tool authority before writes 2026-10-10 18:23:42 -04:00
haelyra 5cf5262760 fix(qwen): preserve explicit empty agent tool allowlists 2026-10-10 18:23:42 -04:00
haelyra 38c7d89b3e docs(carriers): normalize reconciliation note spacing 2026-10-10 18:22:15 -04:00
haelyra 3c5ae57a2e Merge remote-tracking branch 'refs/remotes/review/catalog-current' into integration/ecc-043-20261010 2026-10-10 18:21:56 -04:00
haelyra 8b76be1dbe Merge refreshed PR #3457: preserve current source ancestry and new regression cases 2026-10-10 18:13:55 -04:00
haelyraandJason Colapietro 01b0202c86 fix(deps): close current URI and Markdown toolchain advisories
Carry the fast-uri patch proposed in https://github.com/affaan-m/ECC/pull/3454 and apply the remaining compatible Markdown/KaTeX/TOML advisory fixes. Regenerate npm and Yarn4.9.2 locks without unrelated resolution changes.

Co-authored-by: Jason Colapietro <55137770+JasonColapietro@users.noreply.github.com>
2026-10-10 18:10:21 -04:00
haelyra 0cd541812e test(opencode): exercise installed discovery without activating inert barrel 2026-10-10 18:10:21 -04:00
montjeffrey f7bc750326 fix(carriers): close the object-literal, spread and extra-argument false negatives
- Record whether each `{` opens a block or an object literal from the
  token before it; only a block's `}` lets a regex follow, so `{} / 2`
  divides again while `if (ok) {} /re/` stays a regex.
- Match regex-preceding keywords only when no member dot precedes them,
  so `a.of / 2` divides.
- Exempt the last dot of a spread from the member-call guard, so
  `...require('./x')` is a module load.
- Resolve a call's first argument up to its first top-level comma, so
  `require('./x', null)` and `import('./x.json', { with })` name `./x`.
  `import(path.join(__dirname, ...))`, previously skipped silently, now
  warns as dynamic.

Rescanning all 802 repository JavaScript files against the previous head
changes no result. The real registry is unchanged: 35/35 resolved, zero
failures or warnings. The design doc records the fix and states the gate's
scope: static relative specifiers in planned JavaScript only.
2026-10-10 18:00:51 -04:00
montjeffrey 56d4ff4331 test(carriers): pin object-literal division, spread requires and extra arguments
Three open review findings still pass the gate with a missing dependency,
each reproduced against the real registry:

- const ratio = {} / 2; require('../x') -- `}` is treated as a statement
  boundary, so the division reads as a regex that swallows the require.
  a.of / 2 does the same through the keyword list.
- [...require('../x')] -- the member-call guard reads the last dot of the
  spread as member access and skips the call.
- require('../x', null) -- a literal counts only when the call closes right
  after it, so the specifier is demoted to a dynamic warning, which never
  fails.

14 cases, 11 failing. Controls that already pass: a regex after a function
body, a class body and a nested block.
2026-10-10 18:00:51 -04:00