Conversation
feat(dag): refresh nodes after topology replans
docs(release): add v1.0.37 notes
…e-repair-wave chore: sync main to dev before repair wave
Overlapping SDK builds shared one fixed openapi.json lifecycle: the first run to finish deleted the artifact the other still consumed, dying at the final 'rm openapi.json' (ShellError, ENOENT), and hey-api's clean:true on the shared src/v2/gen tree could delete the tree another run was reading. Route the spec and raw codegen output through a per-run mkdtemp dir whose removal is own-only and forced, and publish into src/v2/gen via a deterministic mirror (copy-over + prune) that preserves clean semantics without a destructive window. No locking. script/build-race-stress.ts reproduces the race deterministically (5 rounds x 2 simultaneous builds): 5/5 losing runs at HEAD before the repair, 0/10 failures after. Generated output is byte-identical.
fix(sdk): give generated spec and codegen output per-run ownership
fix(core): stabilize dirty worktree removal on macOS
test(core): normalize .git/HEAD watcher events on macOS
) The composite's main-scope finalizer ran disposeApps unbounded and process.exit was only reachable after runPromise settled, so a stalled ref'd outbound socket (models.dev / registry.npmjs.org) hung the whole test:httpapi:ci && chain forever on macOS. resetState already bounds its cleanup after the 2026-07-27 incident; the main finalizer never got the same treatment. - extract teardown(): wrap disposeApps and cleanupExercisePaths in the existing bounded() pattern (10s cap, loud warning on timeout) - arm a wall-clock exit backstop when teardown starts (30s) so process exit no longer depends on runPromise settlement; armed at teardown start, not startup, because the scenario run may legitimately take minutes - regression: poison appCache with a never-settling dispose and assert teardown still completes with the warning; cover backstop arm/disarm and the 0/1 exit paths (fails by timeout without the repair)
fix(test): bound httpapi exerciser teardown and force process exit (#472)
docs: remove legacy Claude and OpenSpec repository artifacts
- New OPENCODE_EXPERIMENTAL_BASH_SILENCE_WARN_MS runtime flag (default 5 min) - Shell tool emits one inactivity warning per silent stretch via a scoped watcher fiber; output resets the silence window; the note is appended to the part preview and the final <shell_metadata> block without touching the race/kill path, so abort and timeout semantics are unchanged - New expectedSilent shell parameter opts out per invocation - Behavior tests: warning, exemption, output reset, abort/timeout non-regression; runtime-flags parse table
feat(opencode): add warn-only shell silence guard
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.
Why
Promote the v1.0.37 release train from
devtomainafter the dev.3 prerelease passed acceptance.What changed
v1.0.37-dev.1→v1.0.37-dev.3; dev.3 rebuilt after the config-repo fix (opencode-dag-config#22/功能:(release) release 包内置 ripgrep + 提供内网部署文档 #23) that correctedrelease-route.yamlworker_type: verify→general.Evidence
v1.0.37-dev.3release run 33568595659: all jobs green incl. fail-closedPackage Reference Templatesvalidation against config repo HEAD.dag-templates.tar.gzSHA256SUMS OK;release-route.yaml:78=worker_type: general; environment-profile preflight of the route returnsvalid: truewith all workers resolved (noworker.unknown).Closes the v1.0.37 stable promotion blocker.