Skip to content

Port recent OpenRoomote changes (#547, #548) - #1

Merged
mrubens merged 2 commits into
developfrom
port/openroomote-547-548
Jul 8, 2026
Merged

Port recent OpenRoomote changes (#547, #548)#1
mrubens merged 2 commits into
developfrom
port/openroomote-547-548

Conversation

@mrubens

@mrubens mrubens commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Ports the two OpenRoomote changes that landed after this repo's split point (OpenRoomote #544), cherry-picked with original authorship preserved.

Changes

  1. Slack behavior eval runner (RooCodeInc/OpenRoomote#547) — criterion-based eval scenarios driven through the mock Slack harness: a new eval:scenario script in packages/slack, the runner at packages/slack/evals/run-slack-scenario.ts, two starter scenarios (!fast answer quality, duplicate-delivery dedup), and a guidance doc at .agent-guidance/operations/slack-behavior-evals.md. Applied cleanly.
  2. Render first-boot race fix (RooCodeInc/OpenRoomote#548) — self-referencing hostname fallback to RENDER_EXTERNAL_HOSTNAME in .docker/app/entrypoint.sh plus a troubleshooting section in deploy/render/README.md. The README hunk auto-merged against this repo's diverged copy; reviewed and correct in context.

How the port was scoped

This repo was cut from OpenRoomote with history squashed, so the split point was located by scanning OpenRoomote history for the commit whose tree is closest to this repo's initial commit: OpenRoomote affc9a93 (#544). The remaining ~80-file baseline difference is the intentional split transformation (squashed Drizzle migrations, removed cli/email packages, deploy/docs/CI edits). Only these two commits postdate it.

Validation

  • @roomote/slack typecheck and lint pass; Prettier clean on all ported files
  • sh -n syntax check on the entrypoint script
  • Pre-push hooks (lint:fast, check-types:fast, knip) passed

daniel-lxs and others added 2 commits July 8, 2026 13:31
A scenario JSON carries authored success criteria; the runner drives the
mock Slack harness against the live local stack, captures every outbound
message, and emits a bundle for the RooCodeInc/opencode-bench judge panel,
which scores each criterion binary against the transcript. Two scenarios
to start: !fast answer quality and duplicate-delivery dedup (both inline,
no cloud job). Guidance doc added under operations.

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

roomote-roomote-v1 Bot commented Jul 8, 2026

Copy link
Copy Markdown

No code issues found. See task

Reviewed both ported changes against the current repo state:

  • Slack eval runner (packages/slack/evals/run-slack-scenario.ts) — the runner's use of MockSlackServer (constructor, start/dispatch/getState/stop) and every state field it reads (messages, botUserId, botId, bot_id) matches mock-slack-server.ts. Token substitution, the url_verification preflight, and the settle/timeout loop are correct. Scenario JSONs are consistent with their criteria.
  • Render first-boot fix (.docker/app/entrypoint.sh) — the RENDER_EXTERNAL_HOSTNAME fallback uses POSIX :="${...:-}" defaults that are safe under set -eu, runs before the URL-derivation block, and only heals the self-referencing case, matching the deploy/render/README.md note.

Clean, well-scoped port.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA.
Posted by the CLA Assistant Lite bot.

@mrubens

mrubens commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

I have read the CLA Document and I hereby sign the CLA

1 similar comment
@daniel-lxs

Copy link
Copy Markdown
Member

I have read the CLA Document and I hereby sign the CLA

@mrubens
mrubens merged commit 24cc579 into develop Jul 8, 2026
@mrubens
mrubens deleted the port/openroomote-547-548 branch July 8, 2026 17:37
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.

2 participants