build(driver): adopt @mosoo/agent-driver package name and bump pin - #399
Merged
Conversation
The driver repo renamed its package agent-driver -> @mosoo/agent-driver and established Driver Contract v2. Point the submodule at driver main 9d4415d (includes the message_start-loss stream anchoring fix, the npm-cache image diet, and the acp cache-bucket usage fix) and adapt the superproject: - rewrite all agent-driver/* imports to @mosoo/agent-driver/* (50 files) - wrangler.toml: container image path Dockerfile -> Containerfile - sandbox-layout: derive the control-port count from the exported DRIVER_CONTROL_PORT_MAX (contract v2 dropped DRIVER_CONTROL_PORT_COUNT) - rpc-wire/events: envelope occurredAt is an ISO 8601 string in contract v2; admit strings on the wire and parse to epoch ms at the persistence boundary (the old number-only typeof guard silently nulled every value) - scope root fmt/lint to apps/api apps/web: driver style is owned by the driver repo's own CI; the pinned checkout no longer matches root config - boundary tests: assert the new package specifiers and contract v2 occurredAt shape
The driver's v2 runtime.timing.recorded payload carries completedAt/startedAt as ISO 8601 strings; the mosoo-side parser only accepted the legacy epoch-ms completedAtMs/startedAtMs fields and threw, turning every driver event batch that contained a timing event into an oRPC 500. The driver then failed input.start with the opaque 'Internal server error', killing every run on the new pin (both claude and openai runtimes, observed on the perf stacks). Accept either shape and normalize to epoch ms so the pin bump is order-independent: new API + old driver (numbers) and new API + new driver (ISO strings) both parse.
Collaborator
Author
|
Staging screen gate: PASS (paired warm-ping, openai instrument, stage-a=main
The gate also caught a live incompatibility before merge: the first stage-b deploy failed every run ( |
This was referenced Jul 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #396.
Points the driver submodule at driver main
9d4415d— first pin bump since the package rename and Driver Contract v2. Brings in:message_startis lost (root cause of the production duplicate-bubble fracture, session01KY9Z5JEVPQP3F548XEK21MEG)anthropic_bucketedSuperproject adaptation:
agent-driver/*imports →@mosoo/agent-driver/*(50 files, incl. boundary-test literals)wrangler.tomlcontainer image pathDockerfile→Containerfile(renamed upstream)sandbox-layout: derive control-port count fromDRIVER_CONTROL_PORT_MAX(v2 droppedDRIVER_CONTROL_PORT_COUNT; range unchanged 20000–59999)occurredAt: envelopeoccurredAtis now an ISO 8601 string. Wire schema admits strings;events.tsparses to epoch ms at the persistence boundary. Without this the oldtypeof === "number"guard silently persistednullfor every driver event timestamp.apps/api apps/web: pinned driver checkout is styled by the driver repo's own config/CI; root formatting no longer rewrites submodule files onbun run fmtVerification: api tc/test 1052 pass, web tc/test 183 pass, driver tc/build/test green (1 known macOS-only
/var→/private/varsymlink case, passes on Linux), root fmt:check/lint/tc/docs:check green.Staging screen gate (paired warm-ping, openai instrument) running — results will be posted before merge.