Skip to content

docs(sharing): record OpenCode 2.2.5 platform admission - #580

Merged
stamp-build[bot] merged 1 commit into
mainfrom
agent/otter/opencode-2.2.5-evidence
Oct 31, 2026
Merged

stamp-build[bot] merged 1 commit into
mainfrom
agent/otter/opencode-2.2.5-evidence

Conversation

@stamp-build

@stamp-build stamp-build Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Otter from open-agent-runtime opened this pull request through Stamp
View in Stamp →


OpenCode 2.2.5 now has complete native sharing evidence on Linux x64, macOS arm64 and Windows x64 from run 41221951609. Record admission with the same lifetime directory restriction as 2.2.3: same-directory MCP registrations still cross over and survive native close. Product enablement and CI pins remain a separate change.

The report retains all three failed job conclusions and their exact same-directory failure reasons. Each platform completed seven native observation groups, both project/user configuration comparisons, and both resource cohorts. All 18 post-turn CPU windows are exact; shared memory and CPU are lower. The manifest identifies all three archives and hashes each of the twelve evidence files; the selector rebuilds the selected data without transcripts, temporary paths or native/process ids.

Validation:

  • CI=1 pnpm run check: 2,858 unit tests and 18 mock behavior cases passed.
  • Six existing Python selection regressions passed.
  • Byte-for-byte reconstruction, changed-hash and missing-file rejection verified.
  • Report numbers independently recomputed from raw artifacts; all native attribution, cleanup and freshness facts checked against the selected output.

Task #138. Preserve the existing 2.2.3 admission; no other versions or architectures inherit these results.

stamp-build Bot added a commit that referenced this pull request Oct 31, 2026
…582)

<!-- stamp:review:v1 -->
<sup><img
src="https://cdn.slock.ai/avatars/6aabf32c-20bc-4cba-b55a-2aa72b60999b/8ba4452ceb890f1930886ef4286fdb99.webp"
width="16" height="16" align="absmiddle" alt=""> <b>Otter</b> from
open-agent-runtime opened this pull request through
Stamp</sup><br><sup><a
href="https://stamp.build/review?receipt=prc_319c609fc7f214496100898fd3cfd137"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://stamp.build/assets/brand/stamp-glyph-dark.d907ffcadb44.svg"><img
src="https://stamp.build/assets/brand/stamp-glyph-light.58a2c10ed108.svg"
width="13" height="12" align="absmiddle" alt=""></picture> View in Stamp
→</a></sup>

---
<!-- /stamp:review:v1 -->

The successful two-turn orphan cleanup regression could race a Windows
worker's first background process-table preparation. Wait for that
preparation to succeed before exercising cancellation, then require both
fresh cancellation observations and all four original process-cleanup
assertions to succeed. Failed assertions include each observation's
result, duration and preparation state, plus the final exited response
and its reason.

Add two actual ACP process controls using the real serial batcher and
real process-table reads. Holding a background query beyond the first
cancellation's unchanged one-second observation budget leaves the first
tool unclaimed, cleans the later tool, and reports `before_cancel ...
timeout` in `exited.reason`. Completing that query before cancellation
cleans both turns' tools. The test explicitly checks that no second
query starts while the first remains blocked.

The original PR #580 Windows failure (run 41223079686, job 124601496941)
did not retain these diagnostics. The controlled reproduction proves
this queue mechanism, not that it caused the original CI failure.
Product code, deadlines and behavior-suite entry points are unchanged.

Validation: the two focused files pass all 10 tests; full check passes
2,858 tests and 18 mock behaviors. Windows CI will verify the
preparation prerequisite and both controls on its native process table.

Co-authored-by: Otter <open-agent-runtime+otter@agents.stamp.build>
@stamp-build
stamp-build Bot force-pushed the agent/otter/opencode-2.2.5-evidence branch from 9af830a to f9cf3d7 Compare October 31, 2026 17:45
@stamp-build
stamp-build Bot merged commit 20847e9 into main Oct 31, 2026
36 checks passed
@stamp-build
stamp-build Bot deleted the agent/otter/opencode-2.2.5-evidence branch October 31, 2026 18:18
stamp-build Bot added a commit that referenced this pull request Oct 31, 2026
<!-- stamp:review:v1 -->
<sup><img
src="https://cdn.slock.ai/avatars/6aabf32c-20bc-4cba-b55a-2aa72b60999b/8ba4452ceb890f1930886ef4286fdb99.webp"
width="16" height="16" align="absmiddle" alt=""> <b>Otter</b> from
open-agent-runtime opened this pull request through
Stamp</sup><br><sup><a
href="https://stamp.build/review?receipt=prc_b86116cad712e3aaa4b321202d58ee94"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://stamp.build/assets/brand/stamp-glyph-dark.d907ffcadb44.svg"><img
src="https://stamp.build/assets/brand/stamp-glyph-light.58a2c10ed108.svg"
width="13" height="12" align="absmiddle" alt=""></picture> View in Stamp
→</a></sup>

---
<!-- /stamp:review:v1 -->

Windows can finish native exit before asynchronous process cleanup has
emitted the final `exited` record. Two tests used Vitest's default
one-second poll, and a protocol-close test allowed only five seconds,
the same as one Windows cleanup read budget. Give all three polls 15
seconds and attach the records captured when a poll fails, retaining the
original assertion as the cause.

The shared crash still requires one exit record per session, native exit
code 7, and no duplicate after disposal. The isolated ACP tests still
require the explicit terminal-cleanup failure or failed turn and
rejection after protocol close. Product timeouts, cleanup behavior, and
the 30-second test ceiling are unchanged.

Validation:

- 18 focused tests across the three affected files passed.
- `CI=1 pnpm run check`: 2,858 unit tests and 18 mock behavior cases
passed.
- Audited the remaining `expect.poll` calls: readiness polls and polls
after awaited disposal do not wait for this final-record cleanup gap;
existing explicitly bounded cancellation checks remain unchanged.

Task #140. The triggering failure is the Windows check job
[124605383846](https://github.com/botiverse/oar/actions/runs/41223079686/job/124605383846)
in PR #580. The log records zero exit responses after the default poll;
it does not retain the cleanup phase timings.

Co-authored-by: Otter <open-agent-runtime+otter@agents.stamp.build>
stamp-build Bot added a commit that referenced this pull request Oct 31, 2026
<!-- stamp:review:v1 -->
<sup><img
src="https://cdn.slock.ai/avatars/6aabf32c-20bc-4cba-b55a-2aa72b60999b/8ba4452ceb890f1930886ef4286fdb99.webp"
width="16" height="16" align="absmiddle" alt=""> <b>Otter</b> from
open-agent-runtime opened this pull request through
Stamp</sup><br><sup><a
href="https://stamp.build/review?receipt=prc_e979c0ee5ba7d18ada9f19829b7cf4ea"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://stamp.build/assets/brand/stamp-glyph-dark.d907ffcadb44.svg"><img
src="https://stamp.build/assets/brand/stamp-glyph-light.58a2c10ed108.svg"
width="13" height="12" align="absmiddle" alt=""></picture> View in Stamp
→</a></sup>

---
<!-- /stamp:review:v1 -->

OpenCode 2.2.5 now uses shared placement under `auto` on Linux x64,
macOS arm64 and Windows x64, following the independently reviewed native
evidence in #580 (run 41221951609). Keep the existing 2.2.3 admission.
Installation parsing and the running ACP process both use the same
exact-version allowlist; unknown versions, prereleases and unmeasured
platforms still fall back or refuse explicit shared placement.

Each canonical directory remains reserved for the process lifetime.
Reusing it, including after release, falls back under auto and refuses
explicit shared placement. The shared and isolated cleanup CI entries
now pin 2.2.5; they no longer exercise native 2.2.3 sharing. Native
cold-start database contention and cold-resume MCP limitations remain
recorded.

Release note: `auto` now shares OpenCode 2.2.5 on the three admitted
platforms. Hosts that select `isolated` keep independent processes.

Validation: full check (2,874 tests plus 18 mock behaviors), build and
actionlint passed. Real 2.2.5 shared behavior passed 15 checks with four
capability skips; shared and isolated lifecycle controls and the
standalone isolated cleanup check passed. Focused tests cover both
admitted versions, unsupported version/platform boundaries, native
initialization rejection, directory aliases and lifetime reuse.

Based on main after #580. The evidence index and admission report now
match the adapter: both exact versions are enabled with the lifetime
directory restriction. The native-version predicate and platform-refusal
function each have their own contract comment.

---------

Co-authored-by: Otter <open-agent-runtime+otter@agents.stamp.build>
@stamp-build stamp-build Bot mentioned this pull request Oct 31, 2026
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.

0 participants