Skip to content

probe 1: single contributor commit - #6

Merged
quad341 merged 1 commit into
mpr-probe-base1from
mpr-probe-h1
Jul 28, 2026
Merged

quad341 merged 1 commit into
mpr-probe-base1from
mpr-probe-h1

Conversation

@quad341

@quad341 quad341 commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Throwaway attribution probe for mpr cherry-pick design (gm-ubcxn). No workflows in base; nothing to review.

@quad341
quad341 merged this pull request into mpr-probe-base1 Jul 28, 2026
@quad341
quad341 deleted the mpr-probe-h1 branch July 28, 2026 05:07
quad341 pushed a commit that referenced this pull request Oct 11, 2026
…stale apt index) (gastownhall#7554)

## Summary

**This fixes the fork pool outage.** Since about 20:05Z on 2026-10-10,
every fork pool VM has failed setup with `apt-get install` exit 100. The
image's apt index names `libxml2 2.9.14+dfsg-1.3ubuntu3.9`, which the
Blacksmith mirror now 404s, so fork lanes have had no workers (114
actions queued).

This bumps `gastownhall/rbe-worker` from `421eb59c` to `3bfd8aea`:
- #6 refreshes the apt index once and retries the toolset install,
before the worker-env measurement (which measures upstream major.minor
only).
- #5 (S4b) and its revert #7 cancel out, so S4b doesn't ship in this
bump.

## Test plan
- [x] rbe-worker `product-check` at `3bfd8aea` against this tree: ok
- [x] `go test ./scripts/ -run 'RBE|Worker|Pool'`
- [ ] After merge: fork pool runs succeed, and fork queued drains on
core

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
quad341 added a commit that referenced this pull request Oct 25, 2026
Brings v1.5.1 (`hotfix/1.5.1` = tag `v1.5.1` = `4f698fe2a7`) into main,
so main carries all of the release's code. Follows #8262 (the `[1.5.1]`
CHANGELOG section, merged as 913ba5adb1).

The branch is `git merge --no-ff origin/hotfix/1.5.1` on top of main
plus one adaptation commit. The merge queue squashes, so main gets the
content but not the hotfix ancestry (agreed with the coordinator).

## Result

- **Merge commit (b11f271bda): its tree is identical to main's.** I
mapped every one of the 152 non-merge hotfix commits since the merge
base (26172ff4bd) to main:
  - 60 are `cherry-pick -x` copies whose source commit is on main.
- 79 name a main PR whose squash commit is on main. Most are squash
backports, but a few are release-only CHANGELOG, pin or CI commits
listed below. This group includes the LEGO hotfix-first fixes:
#8204–#8212, #8231, #7763, #7895, #6363, #7997, #7993 and #8165.
  - The hand-ports ship a subset of something main has in full:
    - the #7023 dedup (4525e66619): main has #7023.
- the #7384 port without #7021 (a7b14d4cb6): main has #7384 and #7021.
- the #6019 picks of pre-squash commits (0065784e20, 4ac4a815e3,
e3e76c3044): main has #7054.
  - Every remaining commit is release-only (see below).
  - I found no revert on main of any fix the hotfix carries.
  - So every conflicted and auto-merged path resolves to main's version.
- **One real gap: the beads pin.** Main was on beads v1.3.1; v1.5.1
ships v1.3.2. Commit 5cca92443e ports the pin to main's layout:
  - go.mod/go.sum
- deps.env `BD_VERSION`/`BD_CURRENT_VERSION`/`BD_CURRENT_REF`.
`BD_PREV_VERSION` stays at main's v1.3.0 floor; hotfix has v1.0.4.
  - the four tarball SHA-256s, which match the release `checksums.txt`
- MODULE.bazel `bd_bin_v1_3_1` renamed to `bd_bin_v1_3_2`, plus every
BUILD/testenv reference
  - five workflow `BD_VERSION` values and the cipolicy nightly hash
  - Dockerfile.agent source ref/sha, with the source tarball re-hashed
- `wantPinnedBeadsModuleVersion`, bdflags provenance
(`TestBdFlagManifestCurrent` passes against bd 1.3.2), comments,
installation.md and upgrading.md

v1.3.2's `internal/storage/schema` (schema.go and migrations) is
byte-identical to v1.3.1's.
- **Go**: both sides are on 1.26.10, so nothing changes.
- **Second gap, found in review: #7076's review fix never reached
main.** Commit 51a26c1780 restores it.
`session.DemandOnlySingletonWakeRefused` treats a demand-only singleton
whose provider Start is in flight (`creating`) as not refused, as v1.5.1
does, using main's state constants. It also restores the
`creating`/`start-pending` rows in `TestDemandOnlySingletonWakeRefused`
and the "start is in flight" case in
`TestDoSessionWake_DemandOnlySingletonReportsItWillNotStart`. Both tests
fail without the fix: `DemandOnlySingletonWakeRefused(state="creating")
= true, want false`, and `doSessionWake() = 1, want 0`.
- **Main merged back in** (9b92c5b73c, a clean merge) after #8274 moved
the default gastown pin to 0.1.11.

## Deliberate main-only behaviour differences vs v1.5.1

These are newer main behaviour that this PR keeps. They are listed here
for the 1.5.2 release notes:

- A partial convoy sling through the API returns `children[]` (v1.5.1
returns only `status: "partial"`).
- Per-rig instance edits answer 409.
- A remote `gc sling --on` is forwarded.
- An API wake that will not start the session answers 409
(wake-will-not-start). v1.5.1 records the wake and reports success.

## Release-only hotfix commits not brought to main

| commit | what | resolution |
|---|---|---|
| 274c1cfb70, 40404c6cfd, bae3ebb2b4 | bundled core pack re-pinned to
hotfix commits (examples pack.toml/packs.lock/city.toml,
`public_packs.go`) | main keeps its own pin; those commits are not on
main |
| af584cc07f, 0b9643be7f | beads v1.3.2-rc.2/-rc.3 validation pins |
superseded by the v1.3.2 port above |
| 3f3ef978ca | beads v1.3.2 pin | ported, adapted (5cca92443e) |
| 39172bf7f1, d0dde80e41, 36357380ec | hotfix census / test-inventory /
env-read baselines | main's ledgers |
| 2fdca45319, a0f4b43d94, ac91e898c6 | hotfix Bazel/RBE wiring | main's
|
| 7bf0235d27, 02c398e15b | tests adapted to hotfix signatures | main has
the originals |
| f66474617d, 617ea2849a, 59a9adfbae, 4f698fe2a7, d148b58e65,
0098d6c499, 84380ac62d | release CHANGELOG / version commits | main's
CHANGELOG after #8262 |

## Conflicts (433) and auto-merged paths that differed from main (14):
all resolved to main's version

Categories:
- **code (pick of a main PR): 299.** Main has the same or a newer fix
(mapping table below).
- **generated: 76.** Dashboard dist bundle and TS client, OpenAPI,
genclient, CLI/API/events reference docs, command-census ids. Main's are
current for main's code.
- **pins/release: 32.** Workflows, deps.env, go.mod/go.sum, Dockerfiles,
bundled-pack pins, CHANGELOG. Main's, plus the beads port above.
- **ledger/build: 26.** BUILD.bazel, MODULE.bazel.lock, census,
cipolicy, TESTING.md, manifests. Main's.
- **auto-merged: 14.** Every hotfix-side hunk is already on main in
another form:
  - a duplicated `applyGCOwnedScopeSharedServerOptOut` call
- `cmd_session_kill_fence.go`, which main moved to
`internal/session/kill_fence.go` (#7704)
  - the #6858 wake refusal, now in `api_state_wake_refusal.go`
  - `RelocatedGraphStore` and a duplicate `ReconcileForTest`
- duplicate `TestSQLiteStoreReadyParityConformance` and backoff subtests
  - native-store tests that main deleted with #7049
  - a hotfix-only test helper
  - a `runtime-workdir-export` tombstone; the command is live on main

<details><summary>Every conflicted / differing path</summary>

**auto-merged (hotfix-side hunks main supersedes)** (14)

- `M` cmd/gc/bd_env.go
- `A` cmd/gc/cmd_session_kill_fence.go
- `M` cmd/gc/cmd_session_wake.go
- `M` cmd/gc/productmetrics_command_census.json
- `A` cmd/gc/split_store_work_legs_hotfix_helpers_test.go
- `M` internal/beads/class_store.go
- `M` internal/beads/class_store_test.go
- `M` internal/beads/contract/preflight_checker.go
- `M` internal/beads/export_test.go
- `M` internal/beads/native_dolt_store_close_retry_test.go
- `A`
internal/beads/native_dolt_store_metadata_lost_update_internal_test.go
- `A` internal/beads/native_dolt_store_ready_outcome_test.go
- `M` internal/beads/sqlite_store_conformance_test.go
- `M` internal/beads/sqlite_store_test.go

**code (pick of a main PR)** (299)

- `AA` cmd/gc/api_contract_agents_test.go
- `AA` cmd/gc/api_contract_async_helpers_test.go
- `AA` cmd/gc/api_contract_async_test.go
- `AA` cmd/gc/api_contract_beads_test.go
- `AA` cmd/gc/api_contract_config_mail_test.go
- `AA` cmd/gc/api_contract_harness_test.go
- `AA` cmd/gc/api_contract_rigs_events_test.go
- `AA` cmd/gc/api_contract_sessions_test.go
- `AA` cmd/gc/api_contract_suite_test.go
- `UU` cmd/gc/api_state.go
- `UU` cmd/gc/api_state_test.go
- `UU` cmd/gc/assigned_work_class_binding_test.go
- `UU` cmd/gc/assigned_work_residency.go
- `UU` cmd/gc/assigned_work_residency_test.go
- `AA` cmd/gc/bd_close_actor.go
- `AA` cmd/gc/bd_close_actor_test.go
- `UU` cmd/gc/bd_env_test.go
- `UU` cmd/gc/bead_policy_store.go
- `AA` cmd/gc/beads_blocked_repair.go
- `UU` cmd/gc/beads_provider_custom_types_env_test.go
- `UU` cmd/gc/beads_provider_lifecycle.go
- `UU` cmd/gc/beads_provider_script_scope_lifecycle_linux_test.go
- `UU` cmd/gc/build_desired_state.go
- `UU` cmd/gc/by_id_relic_proof.go
- `UU` cmd/gc/by_id_relic_proof_test.go
- `AA` cmd/gc/cache_notification.go
- `AA` cmd/gc/cache_notification_test.go
- `UU` cmd/gc/city_runtime.go
- `UU` cmd/gc/class_store_emit_test.go
- `AA` cmd/gc/cmd_agent_is_foreign_test.go
- `UU` cmd/gc/cmd_bd.go
- `AA` cmd/gc/cmd_bd_batch_guard_test.go
- `UU` cmd/gc/cmd_bd_by_id.go
- `UU` cmd/gc/cmd_bd_by_id_test.go
- `AA` cmd/gc/cmd_bd_show_watch.go
- `AA` cmd/gc/cmd_bd_show_watch_test.go
- `UU` cmd/gc/cmd_convoy_dispatch_test.go
- `UU` cmd/gc/cmd_doctor.go
- `UU` cmd/gc/cmd_hook.go
- `UU` cmd/gc/cmd_hook_claim.go
- `UU` cmd/gc/cmd_import.go
- `UU` cmd/gc/cmd_mail_test.go
- `UU` cmd/gc/cmd_nudge.go
- `UU` cmd/gc/cmd_nudge_test.go
- `UU` cmd/gc/cmd_ready.go
- `UU` cmd/gc/cmd_reload_test.go
- `UU` cmd/gc/cmd_runtime_drain_test.go
- `UU` cmd/gc/cmd_session.go
- `AA` cmd/gc/cmd_session_kill_fence_test.go
- `UU` cmd/gc/cmd_session_pin.go
- `UU` cmd/gc/cmd_session_reset.go
- `UU` cmd/gc/cmd_session_reset_test.go
- `UU` cmd/gc/cmd_start.go
- `UU` cmd/gc/cmd_stop.go
- `UU` cmd/gc/cmd_stop_test.go
- `UU` cmd/gc/cmd_storage.go
- `UU` cmd/gc/cmd_supervisor_lifecycle.go
- `UU` cmd/gc/compute_awake_set.go
- `UU` cmd/gc/compute_awake_set_test.go
- `UU` cmd/gc/controller.go
- `UU` cmd/gc/controller_test.go
- `AA` cmd/gc/core_formula_drain_ack_test.go
- `AA` cmd/gc/demand_pool_scale_check_leg_test.go
- `UU` cmd/gc/demand_serve_agreement_test.go
- `AA` cmd/gc/doctor_store_gate.go
- `AA` cmd/gc/doctor_store_gate_test.go
- `AA` cmd/gc/dolt_scope_watchdog_sweep_test.go
- `UU` cmd/gc/dolt_scope_watchdog_test.go
- `UU` cmd/gc/dolt_start_managed.go
- `UU` cmd/gc/dolt_start_managed_test.go
- `UU` cmd/gc/drain_ack_escalation.go
- `UU` cmd/gc/execution_backstop.go
- `UU` cmd/gc/execution_backstop_test.go
- `UU` cmd/gc/frontdoor_di_guard_test.go
- `UU` cmd/gc/idle_nudge.go
- `AA` cmd/gc/infra_class_clear.go
- `AA` cmd/gc/infra_class_clear_test.go
- `UU` cmd/gc/infra_class_migrate.go
- `UU` cmd/gc/main.go
- `UU` cmd/gc/mcp_integration.go
- `UU` cmd/gc/nudge_backstop.go
- `UU` cmd/gc/nudge_dispatcher_test.go
- `AA` cmd/gc/nudge_poller_city_stop.go
- `AA` cmd/gc/nudge_store_ownership_test.go
- `UU` cmd/gc/order_dynamic_integration_test.go
- `AA` cmd/gc/pool_alias_assignment_test.go
- `AA` cmd/gc/pool_orphan_foreign_identity_test.go
- `UU` cmd/gc/pool_session_name.go
- `UU` cmd/gc/pool_session_name_churn_test.go
- `UU` cmd/gc/pool_session_name_holder_test.go
- `UU` cmd/gc/pool_session_name_test.go
- `UU` cmd/gc/ready_federation.go
- `UU` cmd/gc/route_recovery.go
- `AA` cmd/gc/seat_work.go
- `AA` cmd/gc/seat_work_close.go
- `AA` cmd/gc/session_async_start_drift.go
- `UU` cmd/gc/session_beads.go
- `AA` cmd/gc/session_beads_close_atomic_test.go
- `UU` cmd/gc/session_beads_current_claim_clear_test.go
- `UU` cmd/gc/session_beads_handoff_orphan_test.go
- `UU` cmd/gc/session_beads_mail_release_test.go
- `UU` cmd/gc/session_beads_test.go
- `AA` cmd/gc/session_demand_only_singleton_test.go
- `AA` cmd/gc/session_kill_fence_reconcile_test.go
- `UU` cmd/gc/session_lifecycle_parallel.go
- `UU` cmd/gc/session_lifecycle_parallel_test.go
- `UU` cmd/gc/session_name_lookup.go
- `AA` cmd/gc/session_ownership.go
- `AA` cmd/gc/session_ownership_test.go
- `AA` cmd/gc/session_pending_create_fence_test.go
- `UU` cmd/gc/session_pool_drain_deadline.go
- `UU` cmd/gc/session_reconcile.go
- `UU` cmd/gc/session_reconcile_test.go
- `UU` cmd/gc/session_reconciler.go
- `UU` cmd/gc/session_reconciler_test.go
- `UU` cmd/gc/session_reconciler_tick_budget_test.go
- `AA` cmd/gc/session_rollback_pending_create_atomic_test.go
- `UU` cmd/gc/session_types.go
- `UU` cmd/gc/session_wake.go
- `DU` cmd/gc/session_work_guard.go
- `AA` cmd/gc/sling_formula_split_route_test.go
- `UU` cmd/gc/sling_remote.go
- `UU` cmd/gc/sling_remote_test.go
- `AA` cmd/gc/split_store_cascade_test.go
- `AA` cmd/gc/split_store_closeread_test.go
- `AA` cmd/gc/split_store_work_legs_test.go
- `UU` cmd/gc/storage_boot.go
- `AA` cmd/gc/storage_boot_conditional_writes_test.go
- `UU` cmd/gc/store_rollout_test.go
- `AA` cmd/gc/supervisor_binary_mismatch.go
- `AA` cmd/gc/supervisor_binary_mismatch_test.go
- `UU` cmd/gc/wisp_gc.go
- `UU` cmd/gc/wisp_gc_test.go
- `UU` cmd/gc/work_assignment.go
- `UU` cmd/gc/work_assignment_release_race_test.go
- `UU` docs/getting-started/installation.md
- `UU` docs/guides/configuring-an-agent.md
- `UU` docs/reference/exec-session-provider.md
- `UU` docs/reference/specs/formula-spec-v2.md
- `UU` docs/troubleshooting/dolt-bloat-recovery.md
- `UU` engdocs/contributors/turn-bound-claims-operations.md
- `UU` engdocs/design/beads-proxied-local-default.md
- `UU` examples/bd/assets/scripts/gc-beads-bd.sh
- `UU` examples/bd/dolt/assets/scripts/mol-dog-backup.sh
- `UU` examples/bd/dolt/commands/compact/run.sh
- `UU` examples/bd/dolt/compact_real_dolt_test.go
- `UU` examples/bd/dolt/dog_exec_scripts_test.go
- `UU` examples/bd/dolt/formulas/mol-dog-stale-db.toml
- `UU` examples/bd/dolt/stale_db_formula_test.go
- `AA` examples/gastown/maintenance_bd_integration_test.go
- `AA` examples/gastown/maintenance_scope_test.go
- `UU` examples/gastown/maintenance_scripts_dolt_integration_test.go
- `UU` examples/gastown/maintenance_scripts_test.go
- `UU` internal/api/apierr/catalog.go
- `UU` internal/api/client.go
- `AA` internal/api/global_stream_dynamic_test.go
- `UU` internal/api/handler_agents.go
- `AA` internal/api/handler_agents_control_dispatcher_test.go
- `AA` internal/api/handler_agents_pool_liveness_test.go
- `AA` internal/api/handler_agents_rig_template_test.go
- `AA` internal/api/handler_agents_runtime_session.go
- `UU` internal/api/handler_session_errors.go
- `UU` internal/api/handler_session_submit_test.go
- `UU` internal/api/handler_sessions.go
- `UU` internal/api/handler_sessions_test.go
- `UU` internal/api/handler_sling.go
- `AA` internal/api/handler_sling_cli_parity_test.go
- `UU` internal/api/huma_handlers_agents.go
- `UU` internal/api/huma_handlers_beads.go
- `UU` internal/api/huma_handlers_patches.go
- `UU` internal/api/huma_handlers_rigs.go
- `UU` internal/api/huma_handlers_sessions.go
- `UU` internal/api/huma_handlers_sessions_command.go
- `UU` internal/api/huma_handlers_supervisor.go
- `UU` internal/api/huma_types.go
- `UU` internal/api/response_cache.go
- `UU` internal/api/session_create_agent.go
- `AA` internal/api/session_create_demand_only_test.go
- `UU` internal/api/session_resolution.go
- `UU` internal/bdflags/bdflags.go
- `UU` internal/beads/bdstore.go
- `UU` internal/beads/bdstore_conditional_release.go
- `AA` internal/beads/bdstore_transfer_if_current_test.go
- `UU` internal/beads/beadstest/conformance_skips.go
- `UU` internal/beads/beadstest/conformance_skips_test.go
- `AA` internal/beads/beadstest/ready_parity_conformance.go
- `UU` internal/beads/caching_store.go
- `AA` internal/beads/caching_store_close_event_test.go
- `UU` internal/beads/caching_store_conditional.go
- `UU` internal/beads/caching_store_events.go
- `UU` internal/beads/caching_store_reads.go
- `UU` internal/beads/caching_store_reconcile.go
- `UU` internal/beads/caching_store_reconcile_census_test.go
- `UU` internal/beads/caching_store_writes.go
- `UU` internal/beads/conditional_writes_inspect_test.go
- `UU` internal/beads/conditional_writes_resolve_internal_test.go
- `UU` internal/beads/contract/files.go
- `AA` internal/beads/exact_batch_get.go
- `UU` internal/beads/factory.go
- `UU` internal/beads/factory_test.go
- `UU` internal/beads/filestore_conditional.go
- `UU` internal/beads/native_dolt_store.go
- `AA`
internal/beads/native_dolt_store_metadata_merge_integration_test.go
- `AA`
internal/beads/native_dolt_store_metadata_stress_integration_test.go
- `UU` internal/beads/native_dolt_store_test.go
- `UU` internal/beads/sqlite_store.go
- `UU` internal/beads/sqlite_store_closed_test.go
- `UU` internal/beads/sqlite_store_conditional.go
- `AA` internal/beads/sqlite_store_conditional_capability_test.go
- `AA` internal/beads/sqlite_store_graph_cook_contention_test.go
- `UU` internal/beads/sqlite_store_ready_test.go
- `AA` internal/beads/sqlite_store_revision_differential_test.go
- `UU` internal/beads/sqlite_store_sequence_floor_process_linux_test.go
- `UU` internal/bootstrap/core_formula_report_test.go
- `UU` internal/bootstrap/packs/core/assets/scripts/reaper.sh
- `AA` internal/bootstrap/packs/core/assets/scripts/scope_bd.sh
- `UU` internal/bootstrap/packs/core/escalate_script_test.go
- `UU` internal/bootstrap/packs/core/formulas/mol-do-work.toml
- `UU` internal/bootstrap/packs/core/formulas/mol-polecat-commit.toml
- `UU` internal/bootstrap/packs/core/formulas/mol-prompt-synth.toml
- `UU` internal/bootstrap/packs/core/pack_assets_test.go
- `UU` internal/bootstrap/packs/core/pack_orders_test.go
- `UU` internal/config/patch.go
- `UU` internal/dispatch/control_integration_test.go
- `UU` internal/doctor/checks_custom_types.go
- `UU` internal/doctor/checks_custom_types_bd_pin_test.go
- `UU` internal/doctor/proxied_provider.go
- `AA` internal/doctor/store_liveness.go
- `UU` internal/doltorphan/sweep.go
- `UU` internal/events/events.go
- `UU` internal/events/multiplexer.go
- `UU` internal/events/order_payloads.go
- `UU` internal/events/order_payloads_test.go
- `UU` internal/runproj/projector_test.go
- `UU` internal/runtime/REQUIREMENTS.md
- `AA` internal/runtime/acp/AGENTS.md
- `UU` internal/runtime/acp/acp.go
- `UU` internal/runtime/auto/auto.go
- `UU` internal/runtime/dialog.go
- `AA` internal/runtime/dialog_trust_closed_loop_test.go
- `UU` internal/runtime/exec/exec.go
- `UU` internal/runtime/fake.go
- `UU` internal/runtime/hybrid/hybrid.go
- `AA` internal/runtime/proctable/infrastructure_argv.go
- `AA` internal/runtime/proctable/infrastructure_argv_test.go
- `UU` internal/runtime/runtime.go
- `UU` internal/runtime/ssh/provider.go
- `UU` internal/runtime/ssh/provider_test.go
- `UU` internal/runtime/tmux/adapter.go
- `AA` internal/runtime/tmux/composer_clear.go
- `AA` internal/runtime/tmux/composer_clear_test.go
- `UU` internal/runtime/tmux/dialog_feedback_survey_test.go
- `AA` internal/runtime/tmux/exact_target_test.go
- `UU` internal/runtime/tmux/executor_test.go
- `UU` internal/runtime/tmux/interaction.go
- `UU` internal/runtime/tmux/interaction_test.go
- `UU` internal/runtime/tmux/nudge_poke_hidden_test.go
- `AA` internal/runtime/tmux/nudge_prompt_guard_test.go
- `UU` internal/runtime/tmux/nudge_submit_confirm_test.go
- `UU` internal/runtime/tmux/session_env_file.go
- `UU` internal/runtime/tmux/startcrash_redaction_test.go
- `UU` internal/runtime/tmux/state_cache.go
- `AA` internal/runtime/tmux/state_cache_superseded_refresh_test.go
- `UU` internal/runtime/tmux/state_cache_test.go
- `UU` internal/runtime/tmux/tmux.go
- `UU` internal/runtime/tmux/tmux_unit_test.go
- `UU` internal/session/AGENTS.md
- `UU` internal/session/REQUIREMENTS.md
- `UU` internal/session/chat.go
- `AA` internal/session/kill_fence.go
- `AA` internal/session/kill_fence_test.go
- `UU` internal/session/lifecycle_transition.go
- `UU` internal/session/named_config.go
- `UU` internal/session/named_config_test.go
- `AA` internal/session/orphan_infrastructure_fence_linux_test.go
- `AA` internal/session/stop_input_clear_test.go
- `UU` internal/session/store.go
- `AA` internal/session/store_close_backends_test.go
- `AA` internal/session/store_close_terminal_test.go
- `AA` internal/session/store_close_test.go
- `AA` internal/session/store_patch_fence_test.go
- `AA` internal/session/store_rollback_pending_create_test.go
- `AA` internal/session/store_start_fence_test.go
- `UU` internal/session/submit.go
- `UU` internal/session/submit_test.go
- `UU` internal/sling/sling_core.go
- `UU` internal/telemetry/recorder.go
- `UU` internal/telemetry/recorder_test.go
- `UU` internal/worker/handle.go
- `UU` schemas/session/reset/result.schema.json
- `UU` scripts/runtime_tmux_manifest_test.go
- `AA` test/acceptance/beads_blocked_repair_test.go
- `UU` test/acceptance/beads_cli_contract_test.go
- `UU` test/acceptance/beads_proxied_default_test.go
- `AA` test/acceptance/beads_proxied_shared_server_test.go
- `UU` test/acceptance/helpers/beads_topology.go
- `AA` test/acceptance/tier_b/split_storage_migrated_formula_test.go
- `UU` test/integration/helpers_test.go
- `UU` test/integration/integration_test.go

**generated** (76)

- `UU` cmd/gc/metrics_census_gen.go
- `UU` docs/reference/api.md
- `UU` docs/reference/cli.md
- `UU` docs/reference/events.md
- `UU` docs/reference/schema/openapi.json
- `UU` docs/reference/schema/openapi.txt
- `UU` internal/api/dashboardspa/BUILD.bazel
- `AU` internal/api/dashboardspa/dist/assets/Activity-BYSsormy.js
- `UA` internal/api/dashboardspa/dist/assets/Activity-CKhPQh56.js
- `DD` internal/api/dashboardspa/dist/assets/Activity-CrkSwgZA.js
- `UA` internal/api/dashboardspa/dist/assets/AgentDetail-BcO_uoah.js
- `DD` internal/api/dashboardspa/dist/assets/AgentDetail-CbskulNj.js
- `AU` internal/api/dashboardspa/dist/assets/AgentDetail-DfuTALKP.js
- `UA` internal/api/dashboardspa/dist/assets/Agents-BBndh-m9.js
- `DD` internal/api/dashboardspa/dist/assets/Agents-DIyU3Eq1.js
- `AU` internal/api/dashboardspa/dist/assets/Agents-FmnwW1H2.js
- `DD` internal/api/dashboardspa/dist/assets/BeadDetailModal-BURLXc3M.js
- `AU` internal/api/dashboardspa/dist/assets/BeadDetailModal-Bq20lP1q.js
- `UA` internal/api/dashboardspa/dist/assets/BeadDetailModal-HyxYj21q.js
- `DD` internal/api/dashboardspa/dist/assets/Beads-BGRgiKi6.js
- `UA` internal/api/dashboardspa/dist/assets/Beads-BW3SW1dc.js
- `AU` internal/api/dashboardspa/dist/assets/Beads-CWKNC5Qy.js
- `UA` internal/api/dashboardspa/dist/assets/CockpitHome-AFWh2svD.js
- `AU` internal/api/dashboardspa/dist/assets/CockpitHome-BiMGBekZ.js
- `DD` internal/api/dashboardspa/dist/assets/CockpitHome-CvxjFPID.js
- `UA` internal/api/dashboardspa/dist/assets/Field-CQtDgKD-.js
- `AU` internal/api/dashboardspa/dist/assets/Field-DCBaRXQG.js
- `DD` internal/api/dashboardspa/dist/assets/Field-DfAlK3we.js
- `DD`
internal/api/dashboardspa/dist/assets/FormulaRunDetail-Df4Xjq2Z.js
- `UA`
internal/api/dashboardspa/dist/assets/FormulaRunDetail-DlcU01bq.js
- `AU`
internal/api/dashboardspa/dist/assets/FormulaRunDetail-Dqplbsx3.js
- `DD` internal/api/dashboardspa/dist/assets/Health-B2iFiIwJ.js
- `AU` internal/api/dashboardspa/dist/assets/Health-BjvM5_H6.js
- `UA` internal/api/dashboardspa/dist/assets/Health-EHdnyy5G.js
- `DU` internal/api/dashboardspa/dist/assets/LiveSessionPeek-BSBtTj0C.js
- `UA` internal/api/dashboardspa/dist/assets/Mail-BfpArHWN.js
- `AU` internal/api/dashboardspa/dist/assets/Mail-Csp4mVHj.js
- `DD` internal/api/dashboardspa/dist/assets/Mail-m59O9vGc.js
- `DD` internal/api/dashboardspa/dist/assets/PageHeader-CcggxIR1.js
- `AU` internal/api/dashboardspa/dist/assets/PageHeader-D8LtAfZe.js
- `UA` internal/api/dashboardspa/dist/assets/PageHeader-DVJO7B1s.js
- `UA` internal/api/dashboardspa/dist/assets/Runs-BtQHorx_.js
- `DD` internal/api/dashboardspa/dist/assets/Runs-DtcnysAp.js
- `AU` internal/api/dashboardspa/dist/assets/Runs-z6tuC2L6.js
- `DD` internal/api/dashboardspa/dist/assets/SseIndicator-BsAPmhZH.js
- `AU` internal/api/dashboardspa/dist/assets/SseIndicator-C6zHbs38.js
- `UA` internal/api/dashboardspa/dist/assets/SseIndicator-DORW5U89.js
- `DD` internal/api/dashboardspa/dist/assets/StageLadder-B0CFDGiH.js
- `UA` internal/api/dashboardspa/dist/assets/StageLadder-D23fxow3.js
- `AU` internal/api/dashboardspa/dist/assets/StageLadder-DuXNRf5U.js
- `UA` internal/api/dashboardspa/dist/assets/Table-1UuIXIKN.js
- `AU` internal/api/dashboardspa/dist/assets/Table-B97_Xf9K.js
- `DD` internal/api/dashboardspa/dist/assets/Table-hsyzqWRd.js
- `UA` internal/api/dashboardspa/dist/assets/agentReads-1x3plX7o.js
- `AU` internal/api/dashboardspa/dist/assets/agentReads-ChRY0b3z.js
- `DD` internal/api/dashboardspa/dist/assets/agentReads-DY_g_SXT.js
- `UA` internal/api/dashboardspa/dist/assets/constants-BGIa5aua.js
- `AU` internal/api/dashboardspa/dist/assets/constants-DnRcR-8U.js
- `DD` internal/api/dashboardspa/dist/assets/constants-kj5r07Ay.js
- `DU` internal/api/dashboardspa/dist/assets/index-CaS5qgho.js
- `DD` internal/api/dashboardspa/dist/assets/projectOf-DsazgXEH.js
- `AU` internal/api/dashboardspa/dist/assets/projectOf-DxRs75VL.js
- `UA` internal/api/dashboardspa/dist/assets/projectOf-e-S1ONnK.js
- `AU` internal/api/dashboardspa/dist/assets/useListFilters-B12oPVWg.js
- `UA` internal/api/dashboardspa/dist/assets/useListFilters-DRe-0cS4.js
- `DD` internal/api/dashboardspa/dist/assets/useListFilters-dhRXH8a1.js
- `AU`
internal/api/dashboardspa/dist/assets/useVisibleRefresh-Bhsb6DvV.js
- `DD`
internal/api/dashboardspa/dist/assets/useVisibleRefresh-C4BL9VFq.js
- `UA`
internal/api/dashboardspa/dist/assets/useVisibleRefresh-CfObb8ku.js
- `UU` internal/api/dashboardspa/dist/index.html
- `UU`
internal/api/dashboardspa/web/shared/src/generated/gc-supervisor-client/index.ts
- `UU`
internal/api/dashboardspa/web/shared/src/generated/gc-supervisor-client/types.gen.ts
- `UU`
internal/api/dashboardspa/web/shared/src/generated/gc-supervisor-client/zod.gen.ts
- `UU` internal/api/genclient/client_gen.go
- `UU` internal/api/openapi.json
- `UU` internal/productmetrics/command_ids_gen.go

**ledger/build** (26)

- `UU` .bazelrc
- `UU` MODULE.bazel.lock
- `UU` TESTING.md
- `UU` cmd/gc/BUILD.bazel
- `UU` examples/bd/dolt/BUILD.bazel
- `UU` examples/gastown/BUILD.bazel
- `UU` internal/api/BUILD.bazel
- `AA` internal/api/apicontract/BUILD.bazel
- `UU` internal/beads/BUILD.bazel
- `UU` internal/beads/beadstest/BUILD.bazel
- `UU` internal/beads/contract/BUILD.bazel
- `UU` internal/hooks/BUILD.bazel
- `UU` internal/importsvc/BUILD.bazel
- `UU` internal/runtime/acp/BUILD.bazel
- `UU` internal/runtime/proctable/BUILD.bazel
- `UU` internal/runtime/tmux/BUILD.bazel
- `UU` internal/session/BUILD.bazel
- `UU` internal/testenv/testdata/gc_env_read_baseline.golden
- `UU` internal/testpolicy/resourcecensus/census.go
- `UU` internal/testpolicy/resourcecensus/census_test.go
- `UU` scripts/BUILD.bazel
- `UU` scripts/cipolicy/policy.go
- `UU` scripts/residency-boundary-baseline.txt
- `UU` scripts/runtime-tmux-tests.manifest
- `UU` test/acceptance/helpers/BUILD.bazel
- `UU` test/test-resources.toml

**pins/release** (32)

- `UU` .devcontainer/README.md
- `UU` .github/requirements/mcp-agent-mail.in
- `UU` .github/requirements/mcp-agent-mail.overrides.txt
- `UU` .github/requirements/mcp-agent-mail.txt
- `UU` .github/scripts/install-bd-archive.sh
- `UU` .github/workflows/ci.yml
- `UU` .github/workflows/fork-verify.yml
- `UU` .github/workflows/mac-regression.yml
- `UU` .github/workflows/nightly.yml
- `UU` .github/workflows/ollama-acceptance-c.yml
- `UU` .github/workflows/rc-gate.yml
- `UU` .github/workflows/review-formulas.yml
- `UU` .gitignore
- `UU` CHANGELOG.md
- `UU` Makefile
- `UU` contrib/k8s/Dockerfile.agent
- `UU` contrib/k8s/Dockerfile.base
- `UU` deps.env
- `UU` examples/gastown/pack.toml
- `UU` examples/gastown/packs.lock
- `UU` examples/hyperscale/city.toml
- `UU` examples/hyperscale/packs.lock
- `UU` examples/lifecycle/city.toml
- `UU` examples/lifecycle/packs.lock
- `UU` examples/swarm/pack.toml
- `UU` examples/swarm/packs.lock
- `UU` examples/t3bridge-gastown/city.toml
- `UU` examples/t3bridge-gastown/packs.lock
- `UU` go.mod
- `UU` go.sum
- `UU` internal/config/public_packs.go
- `UU` scripts/container_tool_security_test.go

</details>

<details><summary>Hotfix commit to main mapping (152)</summary>

| hotfix commit | main counterpart(s) | subject |
|---|---|---|
| 759b5446ab | 5980:00fa3d6087 | fix(nudge): close only the handle a
nudge frame opened, never the storage routes' shared e |
| 15b4b0a726 | 6545:1b2f83eb46 | test(gc): wait for zombie-aware exit in
provider-owned stop lifecycle test (#6545) (#6556) |
| 05d708c729 | 6043:10f0f0d330 | fix(processenv): keep valid secrets.env
entries, skip multi-line quoted blocks, redact par |
| a7c6f217d3 | 6549:f9b8b2ebf0 | fix(pool): restore <template>-<beadID>
runtime names without the vcjr9 leak (#6549) (#6570 |
| a454831eed | 6550:13be50abb0 5421:2f2cea0dc2 6536:3d482b33b2 |
fix(bd): ignore a stale or relative ambient BD_BIN instead of failing
closed (#6550) (#657 |
| 26cd0c0ecd | 6412:26edc81272 | fix(formulas): append work-bead notes
instead of replacing them (#6412) (#6572) |
| c49b45594a | 6557:6be5dbf0eb | fix(beads): register required custom
types on upgraded stores without narrowing them (#655 |
| ecbae9f9d2 | 6385:c660bc2bcd | fix(reaper): preserve durable extmsg
records (#6385) (#6587) |
| 58dfd3c9df | 6547:e94c367203 | fix(runtime): confirm the
workspace-trust dialog only from a frame with the cursor on the |
| 70cc5ed142 | 6302:82d2734249 6287:b70c4903dd 6551:386211397c |
revert(reconciler): remove the seat-claim (#6302) and named-seat
execution (#6287) backsto |
| 31009eeba2 | 6548:a630b39dbd 6569:51eb05c894 | fix(dispatch): move the
retry counter to gc.retry_attempt and keep gc.attempt the loop ite |
| d148b58e65 | 6549:f9b8b2ebf0 6550:13be50abb0 6412:26edc81272
6548:a630b39dbd 6545:1b2f83eb46 | docs(changelog): record v1.5.0 release
blockers (#6603) |
| f662323023 | 6569:51eb05c894 6273:af7ad8a0fe | Fix proxied Dolt
readiness checks in integration tests (#6569) (#6608) |
| a108b7914f | 6324:c153c77b86 6597:1d9bceca2a | fix(hook): fail closed
when a work-store adoption re-stamp fails (post-merge #6324) (#6597 |
| 167c85d6b8 | 6610:fe56586a49 6547:e94c367203 | test(runtime): step
trust-dialog closed-loop tests on a virtual clock (#6610) (#6633) |
| be6a0bc8a0 | 6612:6f770bf87f | test(acceptance): make the idle-bead
probe wait for its own order wisp (#6612) (#6635) |
| 10ede7907d | 6632:543f3bc789 6324:c153c77b86 | fix(identity): key
own-work lookups on the claim identity, not the session name (#6632) (#
|
| 0e1e2e31f7 | 6634:51460d847a | test: renew approved v1.5 runtime
waivers through October 31 (#6634) (#6641) |
| bb47a7d25b | 6640:1337499b71 6324:c153c77b86 6632:543f3bc789
6637:b191701a78 | fix(identity): re-stamp ready-tier claims and
recognise bead-id pool claims in sling (#664 |
| eaa88d3479 | 6341:c41c5cfa07 6527:f50ce58ca5 | fix(convergence): stop
reclassifying genuine gate verdicts as blind reads (post-merge #634 |
| dedbb25ad3 | 6534:44aabe04a5 6548:a630b39dbd | fix(dispatch): stop
passing retry attempts from aborting their scope (#6534) (#6648) |
| 750ee90205 | 6537:cdf5a0fff4 5828:bfa34622c3 | fix(runtime): keep
secret SetMeta values out of tmux argv (#6537) (#6650) |
| 28fe720f61 | 6596:0d6d46a589 | Preserve running sessions during
session-bead cleanup (#6596) (#6660) |
| dd5b3c5474 | 6649:da84dbfedc 6596:0d6d46a589 | fix(sessions): never
kill a live worker on an uncorroborated orphan verdict (#6649) (#6662 |
| 4b55f28293 | 6665:77844c68b4 6666:88df3ea7cd | fix(sessions): never
drain a new pool worker that holds a live claim (rc1 slice) (#6665) ( |
| d06ba8bafa | 6675:70546c6b10 6278:d71b59e264 | test: harden three RC
Gate flakes (events RLIMIT_FSIZE, metadata stress bound, ssh tmux so |
| ab70382f26 | 6683:da70e46bfb | feat(doctor): offer to rebind the Gas
City pack import as gc (#6683) (#6685) |
| 80189e3fc5 | 6681:f69622e41b 6676:19f258b327 | fix(bd): serve gc bd
show --watch in proxied mode (#6681) + tutorial gc pack binding (#667 |
| 2bcfedde44 | 6696:9a28f394c0 6273:af7ad8a0fe | fix(core): skip reaper
and jsonl-export on bd-owned proxied cities (#6696) (#6700) |
| 9c1ac0b36c | 6701:3596cd351f | fix(init): isolate gc init from a
parent .beads workspace (#6701) (#6703) |
| b95d83a7ef | 6697:f8d656f5d2 | fix(beads): keep gc-owned proxied
scopes out of bd's user-level shared server (#6697) (#67 |
| 0098d6c499 | 6604:9581f71778 6683:da70e46bfb 6696:9a28f394c0
6689:93a24f0354 6681:f69622e41b 6676:19f258b327 6701:3596cd351f
6697:f8d656f5d2 6534:44aabe04a5 6537:cdf5a0fff4 6596:0d6d46a589
6649:da84dbfedc 6665:77844c68b4 6666:88df3ea7cd 6597:1d9bceca2a
6632:543f3bc789 6640:1337499b71 6527:f50ce58ca5 6341:c41c5cfa07
6569:51eb05c894 6610:fe56586a49 6612:6f770bf87f 6634:51460d847a
6675:70546c6b10 | docs(changelog): record v1.5.0-rc1 follow-up fixes
(#6707) |
| a99f9067bd | 6744:9065afbd7c 6649:da84dbfedc 6665:77844c68b4
6114:81363b907f | fix(session): roll back drifted pending creates so a
creating row stops holding its alias |
| ce85bea528 | 6735:79794578fa | fix(tmux): copy-on-write StateCache
eviction to stop fatal map race (#6735) (#6761) |
| 7ca3e4f8a3 | 6749:5a10c58da6 6114:81363b907f | fix(session): record gc
session kill's intent before stopping the runtime (#6749) (#6762) |
| 9622a219e6 | 6739:f740137a70 6735:79794578fa | fix(tmux): recover a
staged draft whose submit was swallowed by paste ingest (#6739) (#676 |
| 0ee15a916e | 6752:8d11f3f993 6749:5a10c58da6 6596:0d6d46a589
6649:da84dbfedc 6747:31c017f4b1 | fix(reconciler): keep killed and
dormant rows out of the dead-runtime corpse close (#6752) |
| 84380ac62d | 6708:fc92e10846 6735:79794578fa 6744:9065afbd7c
6739:f740137a70 6749:5a10c58da6 6752:8d11f3f993 | docs(changelog):
record v1.5.0 rc1 backported fixes (#6782) |
| c58ab66ed2 | 6751:cdde41abc9 6696:9a28f394c0 | fix(core): run reaper,
jsonl-export and backup through gc bd on every topology (#6751) (#6 |
| 6c37cf7b2b | 6814:573c85464b | fix(beads): read bd 1.3.1 nested config
keys; drop stale proxied-backup refusal text (#681 |
| be90359536 | 6817:084b3e7cc9 | fix(doctor): never start a stopped
proxied store (#6817) (#6823) |
| e0cb0c5e4f | 6824:0b94547bef 6828:3431b93ceb | chore(beads): pin beads
v1.3.1-rc.2 (#6824) (#6829) |
| 1a7a01ebb6 | 6836:9f9c2e3013 | test(maintenance): register the legacy
backup at the canonical city path (#6836) (#6843) |
| 5cc547ede3 | 6885:8870d710c0 6815:dfe4789f74 | chore(beads): pin beads
v1.3.1 (#6885) (#6887) |
| f66474617d | (release-only, see above) | chore: release v1.5.0 (#7043)
|
| 39172bf7f1 | (release-only, see above) | test: rebase test-inventory
baselines for the 1.5.1 pick set (mechanical) |
| 2fdca45319 | 6637:b191701a78 | build(bazel): register herdr
errorcode_test.go for the #6637 backport |
| 274c1cfb70 | (release-only, see above) | chore(packs): [release-only]
pin the bundled packs to a hotfix/1.5.1 commit |
| d0dde80e41 | (release-only, see above) | test(census): bank the hotfix
all-source baselines CI measures |
| a0f4b43d94 | (release-only, see above) | ci(bazel): hotfix/1.5.1
executes on rbe-west, not the retired cherry loopback farm |
| ac91e898c6 | 6815:dfe4789f74 7010:a762c6aebf | ci(bazel): stop
forwarding the runner's HOME and PATH into rbe-west test actions |
| 7bf0235d27 | (release-only, see above) | test(workflow): adapt the
#6129 child-source test to hotfix/1.5.1's signature |
| 0065784e20 | 7054:2a6cd3d521 (by content) | fix(controller): count
pool demand over the same legs the claim reader federates on a spli |
| 4ac4a815e3 | 7054:2a6cd3d521 (by content) | fix(controller): probe
each city leg for named-session partial retention |
| e3e76c3044 | 7074:fb07612858 | fix(controller): state the pool-demand
tick doctrine, surface plan errors, pin the relic c |
| 02c398e15b | 6961:adc49b7646 | test(controller): drive the #6019
pool-demand leg tests through hotfix's buildDesiredState |
| 36357380ec | 7074:fb07612858 7033:a52e29fe9d | test(testenv): drop
GC_TEST_ALLOW_HOST_CLAUDE from the hotfix env-read baseline |
| 4cf6497abb | 7388:a070dc3586 7387:6127254ac9 | fix(security): backport
fsspec CVE-2026-104851 and Go 1.26.9 / x/net v0.60.0 to hotfix/1.5 |
| d9bc8e6385 | 7264:9d1f0159f3 7083:f176ae42f5 (the #6881 forward-ports)
6100:1928ef64ce 7013:248c0c0bc1 6876:83df7b8ae1 7059:1855be42a3
6324:c153c77b86 7084:b1c7f973b7 6832:5cf1f45804; the creating-state wake
fix restored here (51a26c1780) | fix: gc 1.5.1 supervisor core fixes
(split from #6881) (#7076) |
| 505dcdcbce | 7136:618784d40b 6751:cdde41abc9 7384:5139b90c34 |
fix(reaper): backport #7136 UTC_TIMESTAMP() age gates to hotfix/1.5.1
(#7498) |
| a7b14d4cb6 | 7384:5139b90c34 7021:042193bad6 7184:b8c5fb7d57 |
fix(work): hand-backport revision-guarded release from #7384 to 1.5.1
(without #7021) (#75 |
| cd5a45acc3 | 7138:1fd5c3dc58 | fix(doltorphan): never delete a live
Dolt data dir when lsof times out (backport #7138) (# |
| 877196c56a | 6863:9a396fca22 6917:234b05a7d4 6877:8c02a6208c
7194:7146bfe314 7021:042193bad6 7206:e120c08d79 6833:c6a92d4373
6827:d7c0007087 6834:e244b16f3a 5975:7edf7b2aa3 7066:1beedddd77
7059:1855be42a3 7074:fb07612858 7054:2a6cd3d521 6745:f99ab5fc42
5233:41c3275a68 6658:863c89b0e8 6689:93a24f0354 5980:00fa3d6087
6597:1d9bceca2a 6557:6be5dbf0eb 6697:f8d656f5d2 6076:2e0fa4edef
7023:a79c26b6c8 7404:8a52426d61 6763:14122e89f3 7378:a776d2e4ca
7480:d57f949728 7487:60d6f0f850 7430:4b8c923434 | fix(split-storage):
backport post-1.5.0 split-store fixes to hotfix/1.5.1 (batch 3) (#7502 |
| af584cc07f | 7041:1e66362406 7031:263ec3b659 7044:9fc7860118
7032:bb2e987b6c 7146:4f73f64b63 6876:83df7b8ae1 | [release-only,
temporary] chore(beads): pin beads v1.3.2-rc.2 for 1.5.1 RC Gate (#7535)
|
| b8307276e2 | 7480:d57f949728 7487:60d6f0f850 7430:4b8c923434
7525:b180861387 7362:4287ab1c29 7431:dcd27ea7cb 7196:d81ae75762
7455:72115d84b4 7021:042193bad6 7023:a79c26b6c8 7493:eb49a81cd9 |
fix(split-storage): backport close-gate/cascade census legs and per-id
relic refusal to ho |
| c61ed85c1d | 7579:01286f8a43 7510:e7921e1842 | fix(security): backport
#7579 x/net v0.60.0 for rebuilt gh, dolt and bd to hotfix/1.5.1 (# |
| 7434798140 | 7055:622a03815b 7458:74c9fd15ea 7579:01286f8a43 | ci: run
codeql/complexity/container-scan/govulncheck/mac-regression on hotfix/**
(backport |
| 40404c6cfd | (release-only, see above) | [release-only] chore(pins):
re-pin bundled core pack to 505dcdcbce after #7498 (#7820) |
| 617ea2849a | 7087:bf395c1fe4 7074:fb07612858 7046:4f518b62a9
7070:529ee83c9f 6764:82fb15a653 6834:e244b16f3a 6006:93bb944970
7071:ef87b59111 6863:9a396fca22 7048:d61b25100a 7044:9fc7860118
7005:a913e735bd 7045:f44152a793 7066:1beedddd77 7059:1855be42a3
5975:7edf7b2aa3 6917:234b05a7d4 7194:7146bfe314 7206:e120c08d79
7480:d57f949728 7487:60d6f0f850 7525:b180861387 7430:4b8c923434
5233:41c3275a68 6827:d7c0007087 6833:c6a92d4373 6114:81363b907f
6583:2eb08ff80d 6745:f99ab5fc42 6747:31c017f4b1 6756:a7e73d6d4e
6784:97949b7155 6802:5f559b68cd 6876:83df7b8ae1 6800:f9b624b805
6742:09db13c5ae 6789:6c2d4dca38 7022:aa66f2b601 6658:863c89b0e8
6709:a4ea8ee883 6661:3e067abe38 6579:392bd91343 6992:6d8a9cb032
6692:9b1405d58a 6766:eb4c8d7db0 5701:408b96ec50 6728:f9efab9100
6637:b191701a78 6540:af2b084ff0 7056:58b61ecd58 7510:e7921e1842
7058:59b3e1f4eb 7388:a070dc3586 7579:01286f8a43 7384:5139b90c34
7138:1fd5c3dc58 5969:680a7a47e0 5633:5b45d6543d | docs(changelog): gc
1.5.1 release notes (#7819) |
| 4f0b7aa914 | 7132:e55798f4c4 7046:4f518b62a9 | test(integration): keep
restart-timeout drift test on the same gc binary (backport #7132) |
| 1f03a281c2 | 7018:968e8754b7 7108:37aa5a424a 7088:e1ff353535 |
fix(execgrace): backport #7018 SIGTERM cancellation (+ #7108 execgrace
test fix) to hotfix |
| 59a9adfbae | 6832:5cf1f45804 | docs(changelog): 1.5.1 security note
for the Claude permission-prompt guard (#6832) |
| 1ee10bb0b1 | 6384:d361d41919 7713:35fc9bb2ee | fix(pricing): backport
#6384 and #7713 to hotfix/1.5.1 (Claude 5 family and Opus 5.5 price |
| 742dc64d59 | 8204:330f8b4a0b | fix(runtime): an exec adapter's start
or provision that exits 2 is a failure (backport #82 |
| edff726d80 | 8205:0297e3d17c | fix(core): give the orphan-sweep order
a timeout below its 5m interval (backport #8205) (# |
| d97e6f377e | 8207:feeb330029 | fix(beads): emit bead.deleted for every
deleted id, so a burned run leaves the run census |
| 93ee083192 | 8206:aaaff91d5d 6363:2796da2919 | fix(reaper): skip the
session-prune backup gate when bd prune has nothing to delete (#6284 |
| ebee7df32b | 8209:cff13efe0f | fix(api): /runs shows formula-v1 steps
and /sessions?state=closed lists closed sessions (b |
| 82f3052d1b | 8211:3dc8c58967 | fix(api): /agents reports live
bounded-pool workers and no provider for the control dispat |
| 0efc61872c | 8208:2230eea0a2 | fix(orders): order history has_output
reflects recorded output; a timed-out order says it |
| 2a223a3dc4 | 8212:ca17c379f6 | docs: correct wisp_ttl, exec provider,
Claude option_defaults, order override and API refe |
| 02a37513dc | 7763:7edc2b5661 7895:81928b7a92 7384:5139b90c34
7561:aeb86c845c 7023:a79c26b6c8 | fix(pool): backport #7763 to
hotfix/1.5.1 (foreign <rig>/<name> claims are unobservable, n |
| 17844961fd | 7895:81928b7a92 7763:7edc2b5661 7115:a563b7eca8
6536:3d482b33b2 | fix(orphan-sweep): backport #7895 to hotfix/1.5.1
(protect foreign claims on shared rig st |
| dd95e7fd60 | 6363:2796da2919 6728:f9efab9100 7264:9d1f0159f3 |
fix(escalate): backport #6363 to hotfix/1.5.1 (deduplicate unchanged
backup and reaper inc |
| c1362ffbfe | 7997:b0e03c924b 7993:4a1068a1da 6658:863c89b0e8
6709:a4ea8ee883 7385:036f09e852 | fix(dolt): backport #7997 and #7993 to
hotfix/1.5.1 (compactor skips rigs on another Dolt |
| 4525e66619 | 7023:a79c26b6c8 6855:9248e8c42e 6920:fb769c4bc4
6928:d653e041e0 6964:02ec9b02ca 6979:52c4e34c2d 6877:8c02a6208c
7022:aa66f2b601 7783:b02215da70 | fix(controller): backport #7023 to
hotfix/1.5.1 (drop duplicate bead.updated events only, |
| 2e643dc2eb | 8231:ab2ff1edd1 6363:2796da2919 | fix(escalate): backport
#8231 to hotfix/1.5.1 (keep alerting through an escalate.sh overri |
| 3992f80e70 | 8165:b941bd330f | fix(deps): backport #8165 to
hotfix/1.5.1 (Go 1.26.10 for GO-2026-6809, certifi 2026.10.19 |
| 0b9643be7f | (release-only, see above) | [release-only, temporary]
chore(beads): pin beads v1.3.2-rc.3 for 1.5.1 validation |
| bae3ebb2b4 | (release-only, see above) | [release-only] chore(pins):
re-pin bundled core pack to 2e643dc2eb after the LEGO backport |
| 3f3ef978ca | (release-only, see above) | chore(beads): pin beads
v1.3.2 for gc 1.5.1 |
| 4f698fe2a7 | (release-only, see above) | chore: release v1.5.1 (#8260)
|
| 3ec525a186 | -x 0781b10462 (on main) | fix(dolt): keep session
identity out of the managed server's environment |
| 4b54ee0944 | -x 4b884ca3e8 (on main) | reviewer round 1: commit
converged-round edits |
| 56d7d8b295 | -x 2332772d2d (on main) | fix(dolt): fence city
infrastructure out of the orphan kill paths |
| 7f7fd9387a | -x 080d79a6e7 (on main) | test(gc): poll the supervisor
env snapshot without a fixed sleep |
| b9b221c294 | -x a0ed5b34cf (on main) | fix(gc): report a fenced
infrastructure root once per process |
| c4da6fd75e | -x 91876e84a3 (on main) | fix(dolt): never flatten
adopted or shared Dolt history in the compactor (#6554) (#6585) |
| 0f135623e6 | -x 0262c0829b (on main) | fix(beads): CAS the native
metadata merge; route recovery skips fenced steps and CASes gc. |
| 79e22e52cf | -x edb2fbf2d2 (on main) | fix(beads): batch the
blocked-outcome blocker read in native Ready (was one storage read p |
| 9cb584ae00 | -x c153c77b86 (on main) | fix(pool): align claim and
close actor identity (#6324) (#6591) |
| fcbd03903f | -x 93a24f0354 (on main) | fix(gc): purge closed session
beads from the sqlite infra ledger (#6689) (#6698) |
| 3b923ae104 | -x 41c3275a68 (on main) | fix(storage): resolve the boot
plan on every gc storage status exit path (#5233) |
| b54ed0394d | -x af2b084ff0 (on main) | fix(acp): treat os.ErrClosed as
an agent-exit pipe write error (#6540) |
| c19d29ba6e | -x 392bd91343 (on main) | Fix managed provider hook gc
lookup (#6579) |
| 5cb30ca420 | -x b191701a78 (on main) | Retry herdr agent start when a
fresh pane is busy (#6637) |
| d1680a699b | -x 3e067abe38 (on main) | fix(mcp): skip agents on
non-MCP harnesses instead of failing city start (#6661) |
| 8caab8ec5c | -x 863c89b0e8 (on main) | fix: protect beads
initialization during concurrent migrations (#6658) |
| 96dda3c231 | -x a4ea8ee883 (on main) | fix(beads): initialize
verified-empty stores without force reinit (#6709) |
| 6b6aa4d748 | -x 09db13c5ae (on main) | fix(stop): hold the controller
lock through bead-store shutdown (#6742) |
| c4ce6e6b21 | -x 408b96ec50 (on main) | fix(backstop): bind the stalled
latch to its incarnation and name every hold (#5701) |
| 1125ef0923 | -x 82fb15a653 (on main) | fix(stop): fail closed when gc
stop cannot confirm every session stopped (#6764) |
| ea79917d9d | -x eb4c8d7db0 (on main) | fix(reconciler): honor stable
pool aliases in awake, drain and reuse guards (#6766) |
| 6745220435 | -x 9b1405d58a (on main) | fix: wake drained named
sessions for routed or named demand (#6692) |
| 9f28c61e6b | -x f9b624b805 (on main) | fix(tmux): stop steady
invalidation from starving StateCache into all-absent (#6800) |
| d75ceb2711 | -x d7c0007087 (on main) | fix(beads): stop large graph
cooks failing with SQLITE_BUSY_SNAPSHOT (517) (#6827) |
| 1e07a03d9e | -x 83df7b8ae1 (on main) | fix(tmux): target sessions by
exact name, never by prefix (#6876) |
| b1624ffee1 | -x e244b16f3a (on main) | fix(beads): never re-issue
SQLite bead ids (strict suffix parse, no wrap, leading floor) ( |
| 21d4950e86 | -x 680a7a47e0 (on main) | fix(bdflags): teach the update
bool-flag set --force (#5969) |
| 1fce0ef4e9 | -x 93bb944970 (on main) | fix(doctor): gc doctor --json's
ok field reflects real blocking-failure state (#5950) (#60 |
| 3c97317d47 | -x 6d8a9cb032 (on main) | fix: close terminal formula
steps before drain acknowledgement (#6992) |
| ba848d6928 | -x a913e735bd (on main) | fix(packs): serve gascity/roles
as a bundled subpack of the gascity pack (ga-73eoo) (#7005 |
| 3dcfe0969e | -x f9efab9100 (on main) | fix(orphan-sweep): avoid
pipefail membership misses (#6728) |
| 3ee35bccff | -x 248c0c0bc1 (on main) | fix(tmux): stop feedback-survey
dismissal from submitting stray input (#7013) |
| fa6751337f | -x 81363b907f (on main) | fix(session): fence ACP startup
ownership and pending-create rollback (#6114) |
| 25141e8438 | -x 2eb08ff80d (on main) | Close pending-create rows on
terminal provider errors (#6583) |
| 4f60dd0d78 | -x f99ab5fc42 (on main) | fix(beads): give SQLiteStore
and FileStore the atomic terminal close (#6745) |
| 15144b404c | -x 31c017f4b1 (on main) | fix(session): close session
rows atomically through the store's fenced terminal close (#67 |
| 518efcdea2 | -x a7e73d6d4e (on main) | fix(reconciler): stop a stale
status heal from reverting a concurrent suspend, kill, or cl |
| 110063944c | -x 97949b7155 (on main) | fix(session): close controller
session rows through the fenced atomic close (#6784) |
| 5e51ef9492 | -x 5f559b68cd (on main) | fix(session): roll back pending
creates through the fenced atomic close (#6802) |
| 704e244d7f | -x 6c2d4dca38 (on main) | fix(start): take the controller
lock before starting the bead-store provider (#6789) |
| 216a5d9061 | -x aa66f2b601 (on main) | fix(events): single-owner
rotation, handle identity checks and a shared lock file stop eve |
| b1a47ea91a | -x f44152a793 (on main) | docs(tutorial): match 01 sample
city.toml to gc init output (#7045) |
| 28bbb8975c | -x 9fc7860118 (on main) | fix(init): retry timed-out dolt
identity/version probes with longer budgets (#7044) |
| 8680df623f | -x 4f518b62a9 (on main) | fix(supervisor): detect a
supervisor running a different gc binary in init/start/status (# |
| d810063ad0 | -x d61b25100a (on main) | fix(supervisor): start the
installed launchd job instead of forking on macOS (#7048) |
| 9a3594029b | -x 7edf7b2aa3 (on main) | fix(sling): refuse a reserved
coordination-class id instead of minting a bead titled with |
| b3923380a3 | -x 00aae9eaf1 (on main) | test: renew approved acp and
hybrid runtime waivers for gc 1.5.1 (#7051) |
| 2affbf30c6 | -x 58b61ecd58 (on main) | fix(deps): bump otel log
modules to v0.21.0 for GO-2026-6615 (#7056) |
| 4d247640f1 | -x 59b3e1f4eb (on main) | fix(security): bump gc-mcp-mail
pyjwt, urllib3 and GitPython past image-gate CVEs (#7058) |
| 5c9fd037c9 | -x 529ee83c9f (on main) | fix(packs): embedded pins at
the latest releases; superseded bundled pins never fetch June |
| 21d0008f4c | -x ef87b59111 (on main) | fix(import): resolve registry
pack --version against registry releases (#7071) |
| 62bd399e4b | -x c9d9852479 (on main) | fix(workflow): read workflow
descendants at TierBoth through the live handle |
| 244c67212a | -x dc7a36f0a3 (on main) | fix(workflow): read
delete-source descendants and workflow-id roots at TierBoth |
| 2acf11cd61 | -x b5d0264263 (on main) | fix(workflow): follow ephemeral
child sources in delete-source at TierBoth |
| fd973a5cfc | -x 1beedddd77 (on main) | fix(bd): probe residence for
unserved by-id reads so a relocated bead is never answered fr |
| c7228d6172 | -x 1855be42a3 (on main) | fix(sling): route a --formula
root through the store that minted it on a split city (#7059 |
| a9e598adf6 | -x bf395c1fe4 (on main) | fix(beads): run bd
recompute-blocked once per scope after a bd upgrade (#7087) |
| 6a817dc1b8 | -x fb07612858 (on main) | fix(storage): clear the
retained work-store copies after a proven migration (#7074) |
| a0a414e847 | -x 74b9254863 (on main) | docs(extmsg): rewrite
connected-clients guide for the shipped API (#6826) |
| 3c7d79d1f4 | -x 5cf1f45804 (on main) | fix(session): never type into a
pending Claude permission prompt; answer approvals by labe |
</details>

## Verification (local, at 5cca92443e; the restore commit and the main
merge were rechecked with build, vet, the
session/cmd/gc/api/cipolicy/scripts pin tests, the gastown pin check and
the pre-push Bazel gate)

- `go build ./...` and `go vet ./...` are clean, and the pre-commit hook
passed.
- `make test-fast-parallel`: all fast jobs pass (unit-core, six cmd/gc
shards, selftests).
- `make dashboard-check` and `make check-docs` pass.
- `go test ./scripts/... ./scripts/cipolicy/` passes (bd
version/contract pins, container security, cipolicy).
- `scripts/check-embedded-pins --skip-bundled` passes. bd v1.3.2 is the
latest release and Dolt 2.2.0 is the version it qualifies. On main
before this PR, the releases check fails because bd v1.3.1 is not the
latest.
- `scripts/check-embedded-pins` without the skip fails on the bundled
check. This is already true on main: main's pin e38ce9cc55 trails main's
core/bd content by 65 files. The script documents that bundled content
moves ahead of the pin between releases, and nightly runs it with
`--skip-bundled`. This PR adds one file to that drift
(`examples/bd/dolt/BUILD.bazel`, the `bd_bin` rename). Getting a
content-matching pin on main needs a separate two-step PR: land the
content, then pin to the squash SHA.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: factory-cloud-austin (via factory builder) <austin@actual.ai>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Jacob Hausler <jacob.hausler@gmail.com>
Co-authored-by: Rongjun GENG <rj.geng@gmail.com>
Co-authored-by: graham-a11y <graham@stryker-digital.com>
Co-authored-by: aphexcx <aphexsa@gmail.com>
Co-authored-by: Brandon Martin <gascity.quartz@boomfartville>
Co-authored-by: a3ackerman <28374790+A3Ackerman@users.noreply.github.com>
Co-authored-by: Jim Wordelman <jim@wordelman.name>
Co-authored-by: investigator <james@wordelman.name>
Co-authored-by: Stephanie Jarmak <36544495+sjarmak@users.noreply.github.com>
Co-authored-by: sjarmak <t@t.co>
Co-authored-by: sjarmak <sjarmak@users.noreply.github.com>
Co-authored-by: CI Bot <ci@beads.test>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: John-Michael Mulesa <jmulesa@gmail.com>
Co-authored-by: quad341 <quad341@users.noreply.github.com>
Co-authored-by: Brandon Dennis <toady00@gmail.com>
Co-authored-by: Jacob Hausler <12172804+jacobhausler@users.noreply.github.com>
Co-authored-by: Chris Sells <csells@sellsbrothers.com>
Co-authored-by: Tao Hansen <tao.hansen@lego.com>
Co-authored-by: Eddie the Engineer <adopt-pr@gascity.com>
Co-authored-by: gascityinc-randy[bot] <279382806+gascityinc-randy[bot]@users.noreply.github.com>
Co-authored-by: Jon Kenkel <3514047+nonathaj@users.noreply.github.com>
Co-authored-by: Austin Born <austin@shinzolabs.com>
Co-authored-by: gascity-eddie[bot] <338826946+gascity-eddie[bot]@users.noreply.github.com>
Co-authored-by: Cherub Kumar <5449665+ckumar1@users.noreply.github.com>
Co-authored-by: Sebastian McConnell <149163536+sabetsain@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant