Skip to content

fix(durable): stream long pursuit journals without whole-file allocation - #1270

Merged
drewstone merged 3 commits into
mainfrom
fix/stream-long-pursuit-journals
Sep 16, 2026
Merged

drewstone merged 3 commits into
mainfrom
fix/stream-long-pursuit-journals

Conversation

@drewstone

@drewstone drewstone commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Current candidate — conflicts resolved, CI green

Prepared version 0.237.1, on main 43bb5614275f15608f8b51f633d4d570f0432723 (0.237.0).
Head: 01c98cc1640c137496d86b5bc637fb73dba99191.

Resolved all six actual merge conflicts: CHANGELOG.md, package.json, docs/canonical-api.md, docs/api/primitive-catalog.md, and the two generated improvement-proposal fixtures. Preserved all newer mainline code and regenerated release metadata through the maintained release script. All ten source/test/reliability-document patch sections are byte-identical to the previously reviewed repair. Updated the existing PR by fast-forwarding to a merge commit with the previous head and current main as parents; no force-push or history deletion.

Normal PR CI run 35163152582 passed all four jobs on this exact head: core CI, agent-bench, official GEPA/SkillOpt, and the packed Interface/Eval/Knowledge/Runtime cohort. The previous head's action_required result is historical and does not apply to this candidate.

Is this still needed?

Yes. Re-tested current main with its exact frozen dependency lock:

  • Five existing consumer regressions still fail; the observer-corruption control passes. New-helper tests were not selected for this baseline because the helper does not exist on main.
  • A real 544 MiB synthetic JSONL file fails with ERR_STRING_TOO_LONG, even with a 1,024 MiB heap allowance.
  • With the repair and unchanged dependencies, that same file verifies its independent raw-byte digest, resumes, and appends event 8,705 with a 128 MiB heap allowance. Peak RSS: 122,192 KiB; elapsed: 4.836 seconds.

Both main and npm's latest published Runtime were 0.237.0 during the audit. This failure comes from Runtime's own whole-file journal reads; dependency updates do not replace that code.

The repair consolidates seven journal-reading paths over one fixed-prefix streaming reader. Complete observer-chain verification, exact raw-byte receipts, committed-corruption errors, torn-tail semantics and early-exit descriptor cleanup are retained. No new execution policy, scheduler, budget, deadline, credential rule, storage authority, public API or durable format.

Verification and evidence

Exact-head preparation run 35162788355 also passed on Node 22.23.2:

  • 4,155 tests passed; six existing skips, across 312 passing and two skipped test files.
  • Frozen install, peers, lint, source/example types, full verify:package, unchanged API baseline, packed edge execution, documentation freshness and docs:check.
  • Byte-for-byte repair comparison; unchanged lockfile, dependency catalog and release cohort.

Its artifacts retain real merge-conflict diagnostics, baseline regressions, before/after file-size results, live registry metadata, native logs, exact Git identities, patch and bundle. The write-enabled delivery job handled only verified Git objects; it ran no package scripts. Temporary audit files are not in the PR tree or ancestry.

Dependency audit — 2026-09-16 23:33 UTC

Queried the npm registry directly. This change preserves main's tested dependencies; it is not a blanket dependency upgrade.

Dependency Runtime frozen install npm latest
agent-core 0.9.6 0.9.7
agent-interface 2.6.0 2.9.0
agent-profile-materialize 0.19.0 0.20.1
agent-eval 0.182.0 0.182.0
agent-knowledge 17.0.2 17.0.2
agent-trace-contract 1.0.2 1.0.2
sandbox 0.41.0 0.41.0

Core 0.9.7 is a relevant separate upgrade: long timeout/Retry-After overflow and completed-sleep listener cleanup (agent-sdk#333). Interface 2.9.0 is allowed by the declared range, but the checked-in release cohort verifies 2.6.0. Materialize 0.20.1 is outside the current <0.20.0 range and requires explicit compatibility verification.

Some toolchain differences are intentional: TypeScript 6.0.3 supplies the compiler API required by repository tooling, with TypeScript 7.0.2 checked separately as a consumer. Miniflare's registry latest currently points to a 5.x alpha. Other direct-tooling drift is recorded in dependencies.json; raw latest is not a safe blanket upgrade policy.

Limits

Array-returning APIs still retain selected history; individual records retain Node's limits. Fixed-prefix reads are not distributed atomic snapshots. These synthetic filesystem checks do not establish months of uptime, multi-coordinator fencing, deployed provider recovery or fleet throughput. No merge to main, publication, deployment or paid research launch was performed.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

Copy link
Copy Markdown
Contributor Author

Final verification: normal PR CI run 35147441962 completed successfully on product head 29e34ca. All four jobs passed: ci (tests, build, types, packed exports, docs), agent-bench, official-optimizers, and packed-cohort (exact Interface/Eval/Knowledge/Runtime archives). No checks were skipped or weakened for this repair; the suite's six pre-existing test skips remain as documented.

This is code/package qualification, not live-provider or production qualification. The branch remains a non-draft review PR; it has not been merged, tagged, published, or deployed by this work.

@drewstone
drewstone merged commit 1a1e3f4 into main Sep 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant