Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
a781a60
test: retire duplicate cases that replay an owner across a re-export …
nwparker Sep 30, 2026
db73d28
test: retire backlog cases that assert a shim, a literal, or an unrea…
nwparker Sep 30, 2026
0c4b336
test: close the disclosed reading gap in agent-hooks, claude and stor…
nwparker Sep 30, 2026
85f8d6b
test: retire long-tail cases whose assertion is decided by the test i…
nwparker Sep 30, 2026
1f8159c
test: retire cases whose named dimension the production signature can…
nwparker Sep 30, 2026
8cc2854
Update README downloads badge
github-actions[bot] Sep 30, 2026
fa3710d
test: retire cases whose fixture decides the outcome it asserts (#24144)
nwparker Sep 30, 2026
d74388f
test: retire cases subsumed by an honestly-named neighbour (#24150)
nwparker Sep 30, 2026
e038704
fix(orchestration): accept worker reports without the dispatch capabi…
Jinwoo-H Sep 30, 2026
46d6b76
fix(orchestration): retry worker_done while the Orca runtime is brief…
Jinwoo-H Sep 30, 2026
9afd110
fix(orchestration): stop minting and printing the dispatch capability…
Jinwoo-H Sep 30, 2026
3047353
fix(orchestration): worker-abandon settles a stuck worker and records…
Jinwoo-H Sep 30, 2026
cb36344
feat(native-chat): register Codex default-mode helpers as subagents (…
brennanb2025 Sep 30, 2026
ba39c6d
fix(native-chat): a failed startup chat-lease save no longer puts the…
brennanb2025 Sep 30, 2026
373d951
fix(editor): highlight shell startup dotfiles (#24066)
dunzkoi Sep 30, 2026
2caa79e
fix(source-control): drop reasoning model think blocks from generated…
FenjuFu Sep 30, 2026
cfe4c63
fix(mobile): publish the Android APK's size and checksum with the rel…
nwparker Sep 30, 2026
95e8725
fix(claude): stop Orca making a WSL user's ~/.claude.json world-reada…
brennanb2025 Sep 30, 2026
ed462b2
fix(relay): re-place hosts off a draining cell without locking its ro…
Jinwoo-H Sep 30, 2026
007b7c0
fix(claude): end a message Claude started but never confirmed, and ke…
brennanb2025 Sep 30, 2026
7cae036
fix(native-chat): a failed Codex turn shows its error, not a raw thre…
brennanb2025 Sep 30, 2026
afa81dc
fix(native-chat): chat failure messages appear in the app's language …
brennanb2025 Sep 30, 2026
2be67ce
fix(source-control): show git history commit times to the second (#23…
AmoabaKelvin Sep 30, 2026
cfa43e7
fix(codex): opening a terminal no longer strips Codex hooks from the …
brennanb2025 Sep 30, 2026
5cda0f4
refactor(native-chat): keep agent-session records in the chat journal…
brennanb2025 Sep 30, 2026
84f58a1
fix(relay): refuse a redial at once while the host's own release hold…
Jinwoo-H Sep 30, 2026
24edf0f
fix(agent-status): a turn a crash cut off reads Interrupted, an unpro…
brennanb2025 Sep 30, 2026
b4b708c
fix(native-chat): a Codex stream retry is one warning row that update…
brennanb2025 Sep 30, 2026
8dab53f
fix(worktrees): a finished create no longer pulls you off the workspa…
brennanb2025 Sep 30, 2026
3727100
fix(opencode): report OpenCode 2 status from each pane's own TUI (#23…
brennanb2025 Sep 30, 2026
b594898
test: stop main failing on three tests the store and close-cause chan…
brennanb2025 Sep 30, 2026
6f2a7d0
fix(worktrees): let git delete removed checkouts so chat sends never …
brennanb2025 Sep 30, 2026
3ab3c92
fix(native-chat): the working line shows only what the agent is doing…
brennanb2025 Sep 30, 2026
6729f1b
fix(notes): send AI notes to open structured chat sessions (#24221)
brennanb2025 Oct 1, 2026
2ab179c
fix(emulator): take serve-sim 0.1.47 so the iOS simulator works on Xc…
Jinwoo-H Oct 1, 2026
2454030
fix(agent-status): preserve hook presence when process checks cannot …
brennanb2025 Oct 1, 2026
0b79720
feat(native-chat): the chat strip and the sidebar read the host's chi…
brennanb2025 Oct 1, 2026
12b8ef8
fix(worktree): update local main safely, once per branch, alongside t…
brennanb2025 Oct 1, 2026
1b0ee96
fix(browser): stop the first browser command on a new Windows tab han…
Jinwoo-H Oct 1, 2026
7c11946
fix(relay): define restart-safe by the cell runtime, and refuse waves…
Jinwoo-H Oct 1, 2026
a76a0bc
fix(rate-limits): read real Antigravity quota from the agy CLI, not t…
nwparker Oct 1, 2026
78daf71
fix(status-bar): show Antigravity's model-group pools instead of an e…
nwparker Oct 1, 2026
a4606cc
fix(cli): orca file open no longer moves your view unless you pass --…
brennanb2025 Oct 1, 2026
daf63e6
fix(runtime): read Antigravity, Cline and Prime Agent readiness from …
Jinwoo-H Oct 1, 2026
cb11a9f
Improve scroll indicator visibility with larger sizes and opacity (#2…
AmethystLiang Oct 1, 2026
c0ac2b1
feat(browser): add a rebindable shortcut for Annotate page element (#…
AmoabaKelvin Oct 1, 2026
e9ec631
fix(mobile): hold-to-dictate, repeat keys and the browser long-press …
Jinwoo-H Oct 1, 2026
069eaf5
fix(mobile): iOS shell keeps WebKit text interaction on so page field…
Jinwoo-H Oct 1, 2026
1762a13
feat(mobile): slide the page's host stack on push and Back (#24268)
Jinwoo-H Oct 1, 2026
e10b835
fix(editor): honor the Markdown Review Notes setting (#24057)
Waynting Oct 1, 2026
be57580
fix(codex): steer a mid-turn send into the running turn by name (#21062)
brennanb2025 Oct 1, 2026
07e9fdf
fix(native-chat): a message the chat said was not sent is never sent …
brennanb2025 Oct 1, 2026
3fe4b18
fix(ai-vault): require node:sqlite backup support in remote SQLite pr…
OrcaWin Oct 1, 2026
7e5950c
fix(ssh): keep keystrokes typed while a restored SSH terminal reattac…
OrcaWin Oct 1, 2026
3135fbb
feat(runtime): pin the Node 24.21.0 server runtime with an offline CI…
OrcaWin Oct 1, 2026
ebc479b
fix(native-chat): /clear starts nothing; the new chat's first message…
brennanb2025 Oct 1, 2026
a8a434d
fix(native-chat): a resting chat lists its model the way the running …
brennanb2025 Oct 1, 2026
49a83de
refactor(orcad): make profile backup and preflight runtime-neutral (#…
OrcaWin Oct 1, 2026
2a83c95
ci(daemon): gate PRs on daemon protocol crossing from the newest rele…
OrcaWin Oct 1, 2026
a37e502
test(native-chat): cancel the journal import test's tick before teard…
brennanb2025 Oct 1, 2026
b245b3e
feat(sidebar): let the host pill be turned off per card (#24299)
nwparker Oct 1, 2026
4bd55c0
fix(claude): a Stop ends Claude's process, and the next message resum…
brennanb2025 Oct 1, 2026
d4ae6a9
Update README downloads badge
github-actions[bot] Oct 1, 2026
d2dfc79
ci(daemon): runtime-launcher protocol ratchet and Node slot marker (#…
OrcaWin Oct 1, 2026
3e5c8d9
feat(relay): declare Asia cell c31 at the c30 shape (#24310)
Jinwoo-H Oct 1, 2026
6593d7d
feat(orcad): run orcad on the pinned Node instead of Bun (#24110)
OrcaWin Oct 1, 2026
94f6c53
fix(relay): gate the Asia canary on Asia-targeted region fallbacks on…
Jinwoo-H Oct 1, 2026
6b8ca27
chore(relay): move Asia cell c31 to the general same-cap lists after …
Jinwoo-H Oct 1, 2026
8c2cd7d
feat(ai-vault): read remote OpenCode history with the pinned Node; re…
OrcaWin Oct 1, 2026
9ddcc9b
fix(ssh): collect relay versions only when provably exited; runtimes/…
OrcaWin Oct 1, 2026
ddd4927
build(orcad): server node-pty slots at glibc 2.28, plus a glibc 2.17 …
OrcaWin Oct 1, 2026
a560137
feat(ssh): opt-in SSH relay on the pinned Node with prebuilt addons (…
OrcaWin Oct 1, 2026
3a6148e
refactor(native-chat): move the provider-exit proof out of structured…
brennanb2025 Oct 1, 2026
53fd2de
feat(ssh): relay runtime fallback ladder, telemetry and host runtime …
OrcaWin Oct 1, 2026
9ed7b39
fix(relay): run the same-cap headroom gate in the modes the job actua…
Jinwoo-H Oct 1, 2026
67014c8
feat(ssh): pinned-Node relay on Windows SSH hosts (#24135)
OrcaWin Oct 1, 2026
bd90da7
ci: share PR planning setup and reuse the static native cache (#24329)
nwparker Oct 1, 2026
38cb4a0
feat(ssh): runtime-store GC in production and exec-stdin upload fallb…
OrcaWin Oct 1, 2026
5f728f7
fix(relay): let a draining cell pass restart-safe through refused red…
Jinwoo-H Oct 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
171 changes: 0 additions & 171 deletions .github/workflows/bun-profile-tests.yml

This file was deleted.

1 change: 1 addition & 0 deletions .github/workflows/cloud-deploy-relay-asia-topology.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ jobs:
staging:staging-gce-c4) ;;
production:production-gce-c27,production-gce-c28,production-gce-c29) ;;
production:production-gce-c30) ;;
production:production-gce-c31) ;;
*) echo "cell-ids do not match the reviewed environment topology" >&2; exit 1 ;;
esac
[[ "${TARGET_IMAGE}" =~ ^us-central1-docker\.pkg\.dev/${GCP_PROJECT_ID}/orca-cloud/relay@sha256:[0-9a-f]{64}$ ]]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ jobs:
timeout-minutes: 75
environment: production
env:
# These drains are unpaced, but restart-safe still needs a quiet runtime for the production
# pace window, the same one the same-cap drain uses.
RESTART_SAFE_PACE_WINDOW_MS: '300000'
GCP_PROJECT_ID: onorca-cloud
GCP_REGION: ${{ vars.PRODUCTION_GCP_REGION }}
DIRECTOR_SERVICE_NAME: orca-cloud-relay
Expand Down Expand Up @@ -565,6 +568,7 @@ jobs:
--draining required \
--activity restart-safe \
--runtime required \
--pace-window-ms "${RESTART_SAFE_PACE_WINDOW_MS}" \
--timeout-ms 450000 \
--expected-image-digests \
"${DESIRED_IMAGE_DIGEST},${PREDECESSOR_IMAGE_DIGEST}" \
Expand Down Expand Up @@ -615,6 +619,7 @@ jobs:
--draining required \
--activity restart-safe \
--runtime required \
--pace-window-ms "${RESTART_SAFE_PACE_WINDOW_MS}" \
--timeout-ms 450000 \
--expected-image-digests \
"${DESIRED_IMAGE_DIGEST},${PREDECESSOR_IMAGE_DIGEST}"
Expand Down Expand Up @@ -676,6 +681,8 @@ jobs:
--draining required \
--activity restart-safe \
--runtime required \
--pace-window-ms "${RESTART_SAFE_PACE_WINDOW_MS}" \
--timeout-ms 480000 \
--expected-image-digests \
"${DESIRED_IMAGE_DIGEST},${PREDECESSOR_IMAGE_DIGEST}"

Expand Down
18 changes: 15 additions & 3 deletions .github/workflows/cloud-deploy-relay-production-same-cap-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ jobs:
EXPECTED_REGION=us-central1
EXPECTED_DATABASE_POOL_MAX=
;;
c27|c28|c29|c30)
c27|c28|c29|c30|c31)
EXPECTED_HARD_CAP=3000
EXPECTED_REGION=asia-east2
EXPECTED_DATABASE_POOL_MAX=16
Expand Down Expand Up @@ -537,6 +537,17 @@ jobs:
--draining "${PRECHECK_DRAINING}" --activity allowed \
--expected-image-digests "${PREDECESSOR_IMAGE_DIGEST}"

# Hosts drained with nowhere to go keep redialling and pin the cell empty (c28, 2026-10-01).
# Every run that drains (apply, rollback) checks first; verify reads the same answer; a resume drains nothing.
- name: Require free general-cell slots for the selected cell's hosts
if: ${{ env.ROLLBACK_RESUME != 'true' }}
env:
ORCA_RELAY_ADMIN_ID_TOKEN: ${{ steps.deploy-auth.outputs.id_token }}
run: |
node dev/scripts/check-relay-same-cap-headroom.mjs \
--director-origin "${DIRECTOR_ORIGIN}" --cell-origin "${CELL_ORIGIN}" \
--cell-id "${TARGET_CELL_ID}" --general-cells "${EXPECTED_GENERAL_CELLS}"

- name: Finish read-only verification
if: ${{ inputs.mode == 'verify' }}
run: echo 'Exact same-cap rollback point verified.'
Expand Down Expand Up @@ -572,14 +583,15 @@ jobs:
--director-origin "${DIRECTOR_ORIGIN}" --cell-origin "${CELL_ORIGIN}" \
--cell-id "${TARGET_CELL_ID}" --approved-cells same-cap --mode drain \
--pace-window-ms "${DRAIN_PACE_WINDOW_MS}"
# The wait has to outlast the pacing window as well as the leases it waits on.
# Restart-safe means an empty runtime for a whole pace window after the drain; leases
# held by unplaceable hosts are reported, not waited on (c28, 2026-10-01).
node dev/scripts/verify-relay-capacity-transition.mjs \
--director-origin "${DIRECTOR_ORIGIN}" --cell-origin "${CELL_ORIGIN}" \
--cell-id "${TARGET_CELL_ID}" --hard-cap "${EXPECTED_HARD_CAP}" \
--unobserved-bound "${EXPECTED_UNOBSERVED_BOUND}" \
--heartbeat either --admission migration-only --draining required \
--activity restart-safe --expected-image-digests "${PREDECESSOR_IMAGE_DIGEST}" \
--timeout-ms 1200000
--pace-window-ms "${DRAIN_PACE_WINDOW_MS}" --timeout-ms 1200000

- id: capacity-auth
if: ${{ inputs.mode != 'verify' }}
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/cloud-operate-relay-asia-admission.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ on:
required: false
type: string
evidence-run-id:
description: Staging evidence run ID for C27, C27 canary run ID for C28/C29; C30 takes none and proves itself by its own canary
description: Staging evidence run ID for C27, C27 canary run ID for C28/C29; C30/C31 take none and each proves itself by its own canary
required: false
type: string
evidence-run-attempt:
Expand Down Expand Up @@ -155,9 +155,9 @@ jobs:
evidence_kind=c27
artifact_name="relay-asia-c27-canary-${EVIDENCE_RUN_ID}-${EVIDENCE_RUN_ATTEMPT}"
;;
production-gce-c30)
# No earlier proof binds C30's generation; its own canary below rolls it back on failure.
canary_cell=production-gce-c30
production-gce-c30|production-gce-c31)
# No earlier proof binds a later cell's generation; its own canary below rolls it back on failure.
canary_cell="${TARGET_CELL_IDS}"
;;
*) echo "production promotion wave is not reviewed" >&2; exit 1 ;;
esac
Expand Down Expand Up @@ -317,15 +317,15 @@ jobs:
shell: bash
run: |
set -euo pipefail
# C30's launch cells were checked general by the promotion; verify reads only C30's digest.
# A later cell's launch cells were checked general by the promotion; verify reads only its digest.
case "${CANARY_CELL}" in
production-gce-c27)
verify_cells=production-gce-c27,production-gce-c28,production-gce-c29
expected_states='{"production-gce-c27":"general","production-gce-c28":"migration-only","production-gce-c29":"migration-only"}'
;;
production-gce-c30)
verify_cells=production-gce-c30
expected_states='{"production-gce-c30":"general"}'
production-gce-c30|production-gce-c31)
verify_cells="${CANARY_CELL}"
expected_states="{\"${CANARY_CELL}\":\"general\"}"
;;
*) exit 1 ;;
esac
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/cloud-prove-relay-staging-capacity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ jobs:
DIRECTOR_SERVICE_NAME: orca-cloud-relay-staging
DIRECTOR_ORIGIN: https://relay-staging.onorca.dev
CELL_ORIGIN: https://c3.relay-staging.onorca.dev
# These drains are unpaced, but restart-safe still needs a quiet runtime for the production
# pace window, the same one the same-cap drain uses.
RESTART_SAFE_PACE_WINDOW_MS: '300000'
TARGET_CELL_ID: staging-gce-c3
FALLBACK_CELL_ORIGIN: https://c2.relay-staging.onorca.dev
FALLBACK_CELL_ID: staging-gce-c2
Expand Down Expand Up @@ -268,7 +271,8 @@ jobs:
--heartbeat either \
--admission migration-only \
--draining required \
--activity restart-safe
--activity restart-safe \
--pace-window-ms "${RESTART_SAFE_PACE_WINDOW_MS}" --timeout-ms 480000
TRANSITION_PHASE=director-ready
fi
else
Expand Down Expand Up @@ -377,7 +381,8 @@ jobs:
--heartbeat either \
--admission migration-only \
--draining required \
--activity restart-safe
--activity restart-safe \
--pace-window-ms "${RESTART_SAFE_PACE_WINDOW_MS}" --timeout-ms 480000

- name: Verify current capacity
if: ${{ inputs.mode == 'verify' }}
Expand Down Expand Up @@ -451,7 +456,8 @@ jobs:
--heartbeat "${HEARTBEAT_EXPECTATION}" \
--admission migration-only \
--draining required \
--activity restart-safe
--activity restart-safe \
--pace-window-ms "${RESTART_SAFE_PACE_WINDOW_MS}" --timeout-ms 480000

- name: Plan and apply only the exact empty cell
if: ${{ inputs.mode == 'apply' }}
Expand Down
Loading
Loading