Skip to content

[Chore] Prep minor release notes for 0.3.0 - #234

Merged
mrubens merged 1 commit into
developfrom
chore/prepare-0.3.0-minor-release-24vllek9060xz
Jul 12, 2026
Merged

[Chore] Prep minor release notes for 0.3.0#234
mrubens merged 1 commit into
developfrom
chore/prepare-0.3.0-minor-release-24vllek9060xz

Conversation

@roomote-roomote

Copy link
Copy Markdown
Contributor

Opened on behalf of Matt Rubens. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

Related issue

N/A — requested in Slack to kick off another minor release.

Why this PR exists

  • A maintainer explicitly invited this PR in the linked issue or discussion
  • I am a maintainer / this is internal Roomote work

What changed

Adds nine pending changesets (2 minor, 7 patch) for user/operator-facing work merged since product version 0.2.0. No product code, CHANGELOG.md, or package.json version edits — CI will own the version bump after merge.

Expected next version: 0.2.00.3.0 (highest pending level is minor; no other changesets were pending).

Minor changes (preview of the CHANGELOG section)

  • Tasks can go to sleep early from the task page overflow menu (Sleep above Delete). The action is available for snapshot-capable runs and for resumable Docker/Blaxel standby, so operators can release an awake environment without waiting for the keepalive timer.
  • Local Docker tasks now retain idle containers and resume them in place with bounded cleanup (default 10 retained containers, 24-hour max age; max count 0 disables retention). Blaxel standby retention is likewise bounded (defaults 25 / 168 hours), with env knobs DOCKER_STANDBY_MAX_* and BLAXEL_STANDBY_MAX_* documented for operators.

Patch changes (preview of the CHANGELOG section)

  • PR review notification updates treat failing CI checks and live merge conflicts as high-signal blockers: triage copy names the problem and offers a fix or conflict resolution instead of burying it after a soft "looked good" wrap-up.
  • Main GitHub PR review summary comments now show a compact status footer with the review phase and short commit SHA (Reviewing abc1234 / Reviewed abc1234), using a linked SHA when a commit URL can be built.
  • The worker common env file (~/.roomote/env.sh, which holds deployment secrets such as cloud tokens) is written owner-only (0o600) with ~/.roomote locked to 0o700, so other sandbox users cannot read those secrets.
  • Signed public artifact raw URLs (allowlisted images and videos used for visual proofs and PR embeds) expire 30 days after they are signed, and cache headers stay within the remaining TTL, so a leaked screenshot link cannot be fetched indefinitely.
  • Local Docker development rebuilds worker images that lack current networking tools before launching tasks, routes sandbox HTTP/WebSocket traffic through the public app edge so tunneled clients get a usable live session, and marks preview auth cookies Secure when using SameSite=None and Partitioned so iframe previews authenticate reliably.
  • Docker and Blaxel standby environments can resume even when they were suspended before the first agent harness session, so early-sleep retains come back to Idle without forcing a new session create path.
  • Blaxel sandbox lifecycle is more resilient: deterministic external IDs with idempotent create, bounded retries on readiness-sensitive calls, reuse of preview resources across standby/resume instead of delete-and-recreate, and immediate failure on non-retryable 4xx errors.

Covered by the notes: #219#220, #222#231, #233 grouped into the bullets above (Sleep + Docker/Blaxel retention as minor; review UI polish, security, resume/lifecycle as patch).

Skipped for the changelog: #218 LCP logo prioritization (pure performance polish), #221 typed runtime scalar normalization (internal retention path fix), #232 test-fixture identifier scrub.

Impact

Merging this PR does not bump the product version by itself. Once these changesets land on develop, CI opens or refreshes the Release Roomote 0.3.0 Version PR, which is what actually updates package.json / CHANGELOG.md and starts the promote path.

How it was tested

  • Cross-checked root package.json 0.2.0, tag v0.2.0, top of CHANGELOG.md, and version-bump commit 1cd5df45 on develop
  • Reviewed git log 1cd5df45..origin/develop --oneline --first-parent and each PR body for user/operator impact
  • Confirmed no prior pending .changeset/*.md files beyond README
  • Confirmed computeNextVersion('0.2.0', ['minor', 'patch'])0.3.0
  • Pre-push hooks (lint:fast, check-types:fast, knip) passed on this changeset-only branch

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset (this PR is the changeset authoring)

Author changeset notes for post-0.2.0 user/operator-facing work: task Sleep, Docker standby retention, PR review polish, security fixes, and Blaxel/Docker lifecycle hardening.
@roomote-roomote

roomote-roomote Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor Author

No code issues found. This changeset-only PR adds 9 release notes (2 minor, 7 patch); I verified they parse, map to merged PRs #218#233, and bump 0.2.00.3.0. See task

Reviewed 9a6a699

@mrubens
mrubens marked this pull request as ready for review July 12, 2026 04:39
@mrubens
mrubens merged commit 0efdd5e into develop Jul 12, 2026
11 checks passed
@mrubens
mrubens deleted the chore/prepare-0.3.0-minor-release-24vllek9060xz branch July 12, 2026 04:39
daniel-lxs added a commit that referenced this pull request Jul 24, 2026
The routing precheck already extracts references like #234, acme/web#42,
or ENG-512 into externalReference, but nothing acted on it when the
message carried no pasted URL. When the precheck asks for a lookup and
URL parsing finds nothing, the reference now resolves deterministically
against the deployment's own configuration: repo-qualified numbers must
match a configured repository, bare numbers fan out across configured
repositories only when there are at most three (labeled per repo so the
informed re-route can disambiguate), and Linear-style identifiers fetch
directly. Bare references normalize to canonical URLs and reuse the
provider registry, so fetch-attempt construction stays single-source.

The model still never picks fetch targets: it proposes reference text,
code validates against a closed candidate set and executes under the
existing shared 8s fail-open deadline. Pasted URLs take precedence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
daniel-lxs added a commit that referenced this pull request Jul 24, 2026
…ed repositories (#722)

* [Feat] Resolve bare issue references against configured repositories

The routing precheck already extracts references like #234, acme/web#42,
or ENG-512 into externalReference, but nothing acted on it when the
message carried no pasted URL. When the precheck asks for a lookup and
URL parsing finds nothing, the reference now resolves deterministically
against the deployment's own configuration: repo-qualified numbers must
match a configured repository, bare numbers fan out across configured
repositories only when there are at most three (labeled per repo so the
informed re-route can disambiguate), and Linear-style identifiers fetch
directly. Bare references normalize to canonical URLs and reuse the
provider registry, so fetch-attempt construction stays single-source.

The model still never picks fetch targets: it proposes reference text,
code validates against a closed candidate set and executes under the
existing shared 8s fail-open deadline. Pasted URLs take precedence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* [Fix] Stop dispatching MCP fetch attempts after the lookup deadline expires

A new fake-timer test for the shared 8s deadline exposed that
withExternalLookupTimeout received an already-invoked promise, so an
exhausted deadline still fired the next MCP call and merely ignored its
result (pre-existing since #693). The helper now takes a thunk and
checks the remaining budget before dispatching.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Cap the bare-number fan-out at five repositories instead of skipping it

Per review: on deployments with many configured repositories, a bare
issue number now fans out across the first five (environment order)
rather than resolving to nothing. Non-existent issue numbers drop out
at fetch time, so only real matches reach the informed re-route.
Smarter candidate selection (routing memory) is a future follow-up.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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