github gastownhall/gascity v0.14.0-rc1

latest releases: v1.2.1, v1.2.1-rc1, v1.2.0...
pre-releaseone month ago

Changelog

  • de26f10 Add PreCompact session cycling to all gastown pack overlays
  • a56cb2e Add acceptance provider shim support
  • 0562f4a Add example output, GC_NO_SANDBOX mode, and in-city doctor test
  • 4db67bd Add external messaging fabric core services
  • 167acdd Add gc session reset command
  • f6da4cc Add idle session sleep policy
  • 8b2cf59 Add macOS smoke test with sandbox-exec containment
  • 18c29ce Add session list target column
  • e2f2366 Add session reconciler tracing and debugging docs (#306)
  • 398ce6d Add transcript-backed external messaging threads
  • e7032e0 Add tutorial golden acceptance suite
  • 4f1e2d0 Bound implicit city discovery walk-up
  • f1592c8 Clarify polecat nudge and startup guidance
  • 158181f Default session bead title to template name when empty (#95)
  • 15c740d Enforce explicit closed-bead queries (#315)
  • 92fe7eb Expand provider and supervisor search paths
  • 281cedb Fix always-named idle tracker registration
  • 7f69e81 Fix dolt health orphan detection for external rigs
  • 9250eb1 Fix named-session idle timeout reload
  • 61a3c91 Fix opencode provider: change PromptMode from "arg" to "none" (#90)
  • 7a53ab3 Fix session wake state transitions
  • 73f3e1d Fix wait-hold wake suppression (#405)
  • 3edf860 Harden GC city context resolution
  • f0faee9 Make configured agents template-only sessions
  • 18e73ae Merge branch 'feat/http-metrics' into merge/orders-v2-final
  • eda2ca6 Merge branch 'gastownhall:main' into fix/beads-dolt-env-vars
  • d7262aa Merge branch 'main' into docs/fix-broken-links
  • f003091 Merge branch 'main' into feat/smoke-macos
  • 71af936 Merge branch 'main' into fix-supervisor-socket-path
  • fa8c2e7 Merge branch 'main' into fix-supervisor-socket-path
  • 8336278 Merge pull request #106 from deanberris/fix/session-new-singleton-alias
  • 3d15f70 Merge pull request #108 from GraemeF/fix/pack-fetch-startup-race
  • dbadf29 Merge pull request #111 from GraemeF/fix/k8s-startup-grace-period
  • 38e99e6 Merge pull request #114 from alexsiri7/fix/precompact-session-cycle
  • 1138d74 Merge pull request #118 from GraemeF/fix/absolute-settings-path
  • 57a5ba4 Merge pull request #123 from trillium/fix/011-dolt-config-wiring
  • b4c423d Merge pull request #128 from GraemeF/fix/k8s-post-start-liveness
  • 37b7a28 Merge pull request #129 from GraemeF/fix/wake-failure-clears-started-hash
  • 8199ea5 Merge pull request #150 from maphew/fix/linuxbrew-probe-path
  • 7ebbe6c Merge pull request #184 from gastownhall/feat/workspace-hq-prefix-complete
  • 35a971c Merge pull request #202 from quad341/fix/default-named-session-always
  • c3295de Merge pull request #214 from gunabot/fix/claude-auth-env-passthrough
  • f403173 Merge pull request #217 from quad341/fix/reconciler-stale-key-detection
  • fa9227f Merge pull request #218 from quad341/fix/wake-work-from-workset
  • 47f9413 Merge pull request #219 from quad341/fix/sling-propagate-routed-to-molecule-steps
  • cdca275 Merge pull request #246 from thejosephstevens/polecat/ga-cy4
  • 6d149fc Merge pull request #254 from osamu2001/fix-supervisor-socket-path
  • 45a83fa Merge pull request #258 from thejosephstevens/polecat/ga-kic
  • b8c6f84 Merge pull request #259 from thejosephstevens/polecat/ga-40x
  • 13f36e5 Merge pull request #264 from thejosephstevens/polecat/ga-6y3
  • dc782d4 Merge pull request #267 from alexsiri7/fix/routed-to-on-handoff
  • a94bf06 Merge pull request #272 from osamu2001/fix/spawned-session-provider-fallback
  • 8fa5faa Merge pull request #274 from quad341/fix/formula-root-type-molecule
  • 0cd62c5 Merge pull request #305 from osamu2001/fix/opencode-sling-pickup-main
  • 9f1511f Merge pull request #308 from quietlathe2048/feat/smoke-macos
  • 185780d Merge pull request #310 from quad341/fix/test-env-leak-gc-alias
  • ae0d972 Merge pull request #313 from Rome-1/fix/precompact-hook-default
  • a2a35d3 Merge pull request #314 from rainydan/docs/fix-broken-links
  • 057c733 Merge pull request #318 from gastownhall/codex/list-query-unification
  • 49bca28 Merge pull request #330 from gastownhall/maint/fix-pr310-review
  • 96950f1 Merge pull request #332 from gastownhall/maint/fix-pr274-review
  • b0a3c71 Merge pull request #334 from quad341/fix/skip-pool-managed-interrupt-v2
  • cc2019e Merge pull request #335 from quad341/fix/empty-type-session-bead-resolution-v2
  • dc245a0 Merge pull request #338 from gastownhall/maint/fix-pr313-review
  • 5ed0d52 Merge pull request #339 from rileywhite/fix/rig-add-prefix-flag
  • 2c880c2 Merge pull request #340 from osamu2001/codex-user-prompt-submit-hook
  • 1e626d4 Merge pull request #341 from gastownhall/fix/pool-create-pending-claim
  • 9a05327 Merge pull request #342 from gastownhall/ga-5m5fy-dolt-db-repair
  • 31d501e Merge pull request #343 from gastownhall/fix/pool-create-pending-claim
  • a802ba5 Merge pull request #344 from stuartparmenter/fix/beads-dolt-env-vars
  • ff27e0a Merge pull request #352 from gastownhall/fix/pool-create-pending-claim
  • 4fe9bd7 Merge pull request #361 from gastownhall/fix/session-send-main-complete
  • 5054185 Merge pull request #364 from gastownhall/fix/routed-to-metadata-audit-complete
  • edee912 Merge pull request #365 from gastownhall/fix/formulas-monitor-feed-complete
  • db99eb3 Merge pull request #370 from GraemeF/fix/gc-beads-k8s-security
  • e3ce669 Merge pull request #372 from GraemeF/fix/prime-alias-fallback
  • db4ada7 Merge pull request #378 from gastownhall/adopt/pr-257-rebased
  • 7eb59fb Merge pull request #382 from thejosephstevens/polecat/ga-40x-v2
  • d7c7cde Merge pull request #383 from gastownhall/fix/default-scale-check-active-query-complete
  • 1fa5ec1 Merge pull request #385 from gastownhall/fix/named-session-assignee-materialization-complete
  • fb8cb17 Merge pull request #386 from sjarmak/feat/agent-defaults-sling-formula
  • b97b0a5 Merge pull request #387 from wynged/fix/idle-nudge-false-positives
  • 5b01aa2 Merge pull request #39 from EmmittJ/fix/session-list-perf
  • 3901dd8 Merge pull request #396 from brandonmartin/fix/suppress-bd-dolt-autostart
  • 167a5fe Merge pull request #408 from gastownhall/fix/exec-beads-metadata-create-complete
  • a162748 Merge pull request #41 from EmmittJ/fix/provider-builtin-inherit
  • 03657c6 Merge pull request #410 from gastownhall/fix/session-submit-intents-complete
  • 697afb1 Merge pull request #411 from GraemeF/fix/k8s-service-account
  • d3e290b Merge pull request #417 from GraemeF/fix/pod-env-remap
  • 6f06265 Merge pull request #419 from stuartparmenter/feat/init-name-flag
  • 8ccec68 Merge pull request #421 from stuartparmenter/fix/beads-prefix-custom-types
  • d1a2006 Merge pull request #423 from quad341/fix/nil-stderr-segfault
  • 9d7a7e1 Merge pull request #424 from quad341/fix/stale-name-lock-cold-boot
  • b5d9963 Merge pull request #428 from rileywhite/chore/option-defaults-e2e-tests
  • 0ca1f4b Merge pull request #435 from gastownhall/fix/issue-401-402-regressions-complete
  • 199b39a Merge pull request #437 from thejosephstevens/polecat/ga-44n
  • 0344b98 Merge pull request #438 from thejosephstevens/polecat/ga-b8p
  • c6e3c57 Merge pull request #449 from gastownhall/fix/expand-provider-search-paths-97-complete
  • fd535ac Merge pull request #456 from gastownhall/fix/session-reset-complete
  • 4a6c473 Merge pull request #461 from thejosephstevens/fix/pool-excess-drain-reason
  • c1465c1 Merge pull request #462 from gastownhall/fix/gc-city-context-pr-complete
  • 0e9a7dd Merge pull request #463 from gastownhall/fix/findcity-boundary-366-complete
  • d72926d Merge pull request #464 from gastownhall/fix/session-submit-intents-main-complete
  • 00a8c42 Merge pull request #465 from gastownhall/fix/drained-wake-mode-invariant-complete
  • 7799afd Merge pull request #471 from rileywhite/fix/127-startup-race-config-drift
  • e2a74fb Merge pull request #51 from phatblat/phatblat/docs-binary-install
  • a2291cd Merge pull request #510 from rileywhite/fix/497-flaky-idle-drain-test
  • 8445ff6 Merge pull request #511 from rileywhite/fix/491-sling-bead-id-suffix
  • 32a1c75 Merge pull request #517 from gastownhall/fix/478-orders-dispatch-to-suspended-rigs
  • b1046b6 Merge pull request #524 from sjarmak/fix/500-auto-title-all-session-paths
  • 4a7e1aa Merge pull request #526 from sjarmak/fix/520-order-tracking-bead-cleanup
  • 7bd081d Merge pull request #527 from GraemeF/fix/beads-dir-perms
  • 9c5c5d7 Merge pull request #528 from rileywhite/fix/505-scale-check-molecule-detection
  • e8721d8 Merge pull request #531 from rileywhite/fix/508-named-session-scale-check
  • b488f66 Merge pull request #543 from sjarmak/fix/stale-nudge-reaping
  • 2973548 Merge pull request #612 from gastownhall/rc-gate
  • 8d5c9a4 Merge pull request #62 from GraemeF/fix/exec-create-metadata
  • 1585ea2 Merge pull request #625 from gastownhall/fix/619-mail-reply-notify-complete
  • a5a95a5 Merge pull request #66 from sfncore/fix/dolt-health-external-rigs-clean
  • b177ee0 Merge pull request #72 from ericfode/fix/supervisor-controller-socket
  • f7dffce Merge pull request #74 from jakehemmerle/fix-polecat-nudge-guidance
  • 0946982 Merge pull request #84 from gastownhall/fix/beadsmail-city-level-store
  • bbca592 Merge pull request #85 from gastownhall/feat/mail-recipient-resolution
  • 1a8f461 Merge pull request #87 from alexsiri7/fix/handoff-session-reset
  • 4b87f1e Merge pull request #90 from deanberris/fix/opencode-promptmode-none
  • bd05388 Merge pull request #96 from GraemeF/fix/session-new-wake-signal
  • c202f51 Merge remote-tracking branch 'origin/main' into adopt/pr106-push
  • 7550778 Merge remote-tracking branch 'origin/main' into adopt/pr128
  • 38fb1dd Merge remote-tracking branch 'origin/main' into adopt/pr129
  • c929062 Merge remote-tracking branch 'origin/main' into adopt/pr96-ff
  • e860fc7 Merge remote-tracking branch 'origin/main' into adopt/pr96-ff
  • ae048c4 Merge remote-tracking branch 'origin/main' into fix-supervisor-socket-path
  • 0fe5c3e Merge remote-tracking branch 'origin/main' into fix-supervisor-socket-path
  • ab9fa11 Merge remote-tracking branch 'origin/main' into fix-supervisor-socket-path
  • 7c734d2 Merge remote-tracking branch 'origin/main' into fix/session-list-perf
  • 8350661 Merge remote-tracking branch 'origin/main' into polecat/ga-kic
  • 080abe5 Refine idle session sleep behavior
  • 724709f Refresh generated schema docs
  • 6450f88 Revert "feat: formula v2 with transient retries, graph workflow control, and orders-v2 contract"
  • 25d3da6 Revert "feat: orders v2 — formula v2 engine, graph workflows, and orders API (#196)"
  • c05e526 Revert "fix: remove vendored contracts and fix duplicate struct fields from rebase (#197)"
  • 21a17ef Set pending_create_claim unconditionally for bead-only sessions
  • a722063 Set wake_mode=fresh on all gastown pack agents (#113)
  • 30b3f8c Speed up formula catalog and add formula runs endpoint (#316)
  • 63b8a59 Stabilize claude-only nightly acceptance (#577)
  • c2477c7 Use gc.routed_to for dispatched work routing
  • d94bff2 [bug] Dolt watchdog false zombie detection — matches non-dolt processes by name substring (#437)
  • 688f788 [bug] gc prime silently returns raw templates when rendering fails (ga-7mk) (#440)
  • 4825ec7 [codex] Refresh reviewable tutorials through orders (#376)
  • 2804a6f beads: clear ListQuery transition lint
  • 87d9c9c beads: preserve managed dolt database identity
  • 389c129 beads: trim unused init helper db arg
  • d3719eb beads: unify store queries behind ListQuery
  • db690d7 build(deps): bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 (#34)
  • de5136b build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.3 (#28)
  • 733f2f5 chore: add --unassigned to all pool work queries
  • 894861a chore: add .github/bugflow.toml for automated bug investigation
  • e03750f chore: add regression tests for fixed session reconciler issues (#371)
  • c605149 chore: bump dolt to 1.85.0
  • b7cc254 chore: fix lint in k8s startup follow-up
  • a275c75 chore: pin bd to gastownhall/beads@9d9d0e53 (match runtime image)
  • 7954a13 chore: strengthen test evidence for session reconciler regression tests (#414)
  • 5931878 cleanup: remove all mission-control references (#393)
  • 51893e3 feat(extmsg): wire extmsg API endpoints into controller (#251)
  • cd112b9 feat(hooks): add UserPromptSubmit hooks for Codex
  • 3941656 feat(mail): add API recipient resolution with ambiguity rejection
  • f54a882 feat(pack): materialize pack scripts into /scripts/
  • 9197caa feat(pool): default pool work_query to --unassigned
  • d818d60 feat(prompt): graph-worker with continuation group affinity
  • 68c2269 feat(sling): allow pool agents as graph.v2 workflow targets
  • 8119317 feat: CachingStore for event-driven in-memory bead reads (#192)
  • 1158ac9 feat: DELETE /v0/workflow/{id} endpoint
  • 2d41d3a feat: HTTP request metrics and data source tagging (#188)
  • 2b01906 feat: OptionsSchema as authoritative source for provider option defaults
  • e9f533f feat: Store.CloseAll for batch close with metadata
  • 586df80 feat: Store.CloseAll for batch close with metadata (#177)
  • 11860cf feat: add --name flag to gc init for workspace name override
  • 4b7d1cb feat: add Delete to bead Store interface + close?delete=true
  • 1bae291 feat: add HTTP request metrics and data source tagging
  • b416b53 feat: add belongs-to deps from workflow steps to root bead
  • 66d7edb feat: add description_file to formula steps
  • 63a7b9c feat: add description_file to formula steps (#169)
  • 4ef6a5a feat: add effort option to Codex provider (model_reasoning_effort)
  • 8730eed feat: add explicit workspace prefix for HQ beads (#148)
  • 2aa06ad feat: add named configured sessions
  • 5c2e987 feat: add orders monitor feed projections
  • e6644f3 feat: add orders v2 workflow APIs and sling launch
  • eccb580 feat: add semantic session submit intents (#403)
  • c83c18c feat: always use async creation for agent sessions
  • 042992f feat: bead-driven pool scheduling with nested max_active_sessions caps
  • a961203 feat: cache repeated api read responses
  • 2b03e1d feat: comprehensive computeAwakeSet with full test coverage
  • a2b66a8 feat: computeAwakeSet — pure function for reconciler wake decisions
  • 9c5e8bf feat: default pool work_query to --unassigned (#185)
  • b277350 feat: doctor check for custom bead types registration (#170)
  • 0690eac feat: dynamic schema option mutation via template_overrides
  • df3582c feat: emit tool approval events on session stream stall
  • 3ca5169 feat: expose effective session options in GET /v0/session/{id} (#212)
  • 54e84e4 feat: expose effective_defaults in provider public API
  • d107040 feat: expose option_defaults in AgentPatch and AgentOverride (#331)
  • c0dcee9 feat: expose pool target support for sling ui
  • 3950088 feat: expose startup progress phases in supervisor /health
  • ba92ef0 feat: expose startup progress phases in supervisor /health
  • b0fc286 feat: formula v2 with transient retries, graph workflow control, and orders-v2 contract
  • 85783a9 feat: formula v2 with transient retries, graph workflow control, and orders-v2 contract
  • c748f48 feat: gate formula v2 infrastructure behind daemon.graph_workflows flag
  • 6532321 feat: gc formula cook --attach for late-bound DAG expansion
  • 23a0a0b feat: gc workflow delete command and DELETE API endpoint (#191)
  • f7ad181 feat: gc workflow delete — close and optionally delete workflow beads
  • ed88d38 feat: initial message as template override, appended to prompt
  • b666c7d feat: materialize pack scripts into city dir (#183)
  • 50734bc feat: nudge idle sessions that have assigned work (#312)
  • bdc2e7d feat: on-demand sessions stay awake while running until idle_timeout
  • 21ddeb7 feat: on-demand sessions stay awake while running until idle_timeout (#236)
  • 948e12c feat: orders v2 — formula v2 engine, graph workflows, and orders API
  • 3b805d0 feat: orders v2 — formula v2 engine, graph workflows, and orders API (#196)
  • 2e2df0e feat: orders v2 — formula v2 engine, graph workflows, pool removal, and performance (#210)
  • aea82f7 feat: project workflow live updates for orders v2
  • fa46be3 feat: provider-aware session log reading (#176)
  • 401e9f3 feat: replace evaluateWakeReasons with ComputeAwakeSet in reconciler
  • c176a99 feat: retry/ralph v2 — control beads with late-bound DAG expansion
  • e84c9b2 feat: rig-anywhere — global rig index, resolveContext, gc rig default/remove (#175)
  • 92c6c0d feat: rig-level Dolt config for cross-server bead routing
  • c216b0c feat: set effort=max as default for Claude provider
  • 8ab90ae feat: support default_sling_formula in [agent_defaults]
  • d748321 feat: system packs through normal pack expansion (#213)
  • 9c10070 feat: template overrides for agent session creation
  • 819a8e1 feat: tmux InteractionProvider for terminal tool approval detection
  • 7ce8734 feat: tmux InteractionProvider for terminal tool approval detection
  • 1d02c8e feat: v2 control bead fixes, integration tests, strip presentation logic
  • 2e4e173 feat: wire CachingStore into controller for in-memory bead reads
  • 084bb54 fix rig-context resolution for city commands
  • 0cb08cf fix(beads): Ready() excludes infrastructure types to match bd ready
  • 98e7ace fix(beads): chmod fail-soft and align test fixtures to 0700
  • 7f9bac0 fix(beads): create .beads dirs with 0700 perms (#527)
  • 9d61c7a fix(beads-k8s): harden pod security and add operational config
  • 520a879 fix(config): include molecule beads in default EffectiveScaleCheck (#505)
  • 4909e3b fix(exec): detect "no issue found" as ErrNotFound (#121)
  • 0d68c36 fix(exec-beads): coerce non-string metadata values in beadWire (#409)
  • c8d9639 fix(exec-beads): use native bd metadata in gc-beads-k8s (#367)
  • 783d6f3 fix(gc-beads-bd): inherit GC_K8S_DOLT_* env vars for K8s pod support (#422)
  • f352493 fix(hooks): add codex stale-file upgrade + doctor check
  • 3ed2dfc fix(init): install opencode hooks by default
  • 0325c31 fix(install): recreate ~/.local/bin/gc symlink after removing stale binary (#86)
  • 5b832a0 fix(k8s): add startup grace period to stale pod detection (#111)
  • e2f5a94 fix(k8s): detect immediate session death after startup
  • c36c076 fix(k8s): harden prefix switch and custom types in gc-beads-k8s
  • 584e939 fix(k8s): honor post-start cancellation
  • 375e56c fix(k8s): remap GC_RIG_ROOT and BEADS_DIR in buildPodEnv (#417)
  • 055708b fix(k8s): remap all city-scoped env vars and add path boundary check
  • 6f251dd fix(k8s): send initial nudge after session startup (#404)
  • 422400e fix(k8s): set ServiceAccountName on agent pods
  • c39d97b fix(k8s): skip local Dolt init in initCityInPod (#466)
  • 90fbf65 fix(mail): use city-level bead store for all mail
  • 0612cb9 fix(mail): use shared city directory for cross-pod name resolution (#407)
  • 315a7d9 fix(opencode): deliver none-mode startup prompts via nudge
  • 40bf1c3 fix(prime): prefer GC_ALIAS over GC_AGENT for agent resolution (#372)
  • 561881c fix(reconciler): bound scale_check concurrency and transition creating→active (#480)
  • 52ae919 fix(refinery): exclude epics from work-finding query (#397)
  • 3645419 fix(review): address PR #39 feedback
  • 07326fa fix(session): allow named-session aliases in gc session new
  • a854b5d fix(session): pass singleton owner to alias check in gc session new
  • 89a4543 fix(supervisor): drop transient XDG runtime dir propagation
  • 06ca5f7 fix(supervisor): preserve XDG runtime dir in service env
  • 3c1fbf9 fix(supervisor): probe fallback socket paths before start and reload
  • 38b4b90 fix(tmux): use robust nudge path during startup
  • be4fcb9 fix: CachingStore query methods now include closed beads (#298)
  • 24d5b97 fix: CachingStore.List blocks until prime instead of stampeding bd
  • 0014f2a fix: MaybeGenerateTitleAsync returns done channel; CLI awaits before exit
  • 610d229 fix: Tier C test isolation and mail title fallback (#303)
  • f053237 fix: add --follow flag to gc convoy control for agent-scoped serve loop
  • 438e623 fix: add --prefix flag to gc rig add for collision resolution
  • d121636 fix: add BEADS_DOLT_AUTO_START=0 to gc bd and add test coverage
  • d87ccaa fix: add CachingStore priming diagnostics
  • 8cb928b fix: add ErrSessionInitializing sentinel, bump grace period to 240s
  • f39f489 fix: add Linuxbrew paths to provider probe search dirs
  • ef6c0b0 fix: add Probed field to prevent silent fingerprint-mode fallback
  • 3ebb391 fix: add QueryOpt to CachingStore — callers opt into closed beads (#299)
  • 95d7ee7 fix: add TraceReasonPoolExcess constant and rename trace sites
  • 5fd73eb fix: add UserPromptSubmit mail check hook to Codex provider
  • 53d14c6 fix: add bounded timeout and per-bead assertion to idle probe wait
  • 6d7450a fix: add churn circuit breaker for context exhaustion death spirals (ga-cy4)
  • 3a562d0 fix: add field sync guard and fix docstring for mergeProviderOverBuiltin
  • d3b8866 fix: add flock to FileStore to prevent concurrent ID collisions
  • 5f2bd8a fix: add missing cityName variable in doRigList (#186)
  • d84fb44 fix: add searchpath unit tests and document glob ordering
  • 298d573 fix: add test isolation guard rails for supervisor, registry, and dolt (#122)
  • fbf5704 fix: add type field to PATCH /v0/bead/{id} handler
  • 67af3cc fix: address review findings for --prefix flag
  • c50a2ed fix: address review findings for exec metadata serialization
  • 6c8f943 fix: address review findings for formulas monitor feed
  • e2fff92 fix: address review findings for gc-beads-k8s hardening
  • 9340182 fix: address review findings for gc.routed_to metadata routing
  • 29f6f0e fix: address review findings for graph_workflows feature flag
  • b6315a7 fix: address review findings for immediate nudge PR
  • c3d5329 fix: address review findings for session submit intents
  • 5c5c519 fix: address review findings for session submit intents
  • 2bbb615 fix: address review findings in tmux InteractionProvider
  • 0180788 fix: address review findings in tmux InteractionProvider
  • be35c8b fix: adopt canonical runtime names for configured named sessions
  • 8b2be4c fix: adopt pre-existing session beads as canonical named sessions
  • b56f5ac fix: age out stale creating session beads (#182)
  • a8705c4 fix: align bdTestCmd with cityForStoreDir and add boundary tests
  • 0db32b8 fix: align drift detection template_overrides with prepareSessionStart (#211)
  • 7702092 fix: align session reset config handling and add reconcile→wake e2e test
  • 74503b7 fix: allow canRebindConfiguredNamedSession to adopt by session_name/alias
  • b864cbb fix: allow closed configured named sessions to release session names (#136)
  • 13eba4d fix: allow symlinks in ralph check script paths
  • 5afd1ef fix: allow symlinks in ralph check script paths (#174)
  • 38002be fix: apply PR #87 reconciler-side restart logic (upstream alexsiri7)
  • 8a36854 fix: apply auto-title to gc session new, matching API behavior (#524)
  • c0823e1 fix: apply default formula vars in tutorial flows
  • 225151f fix: buildAttemptRecipe fully enriches root and children metadata
  • fa0a4a7 fix: buildAttemptRecipe propagates child metadata and retry/ralph kind
  • 72a31f4 fix: buildAttemptRecipe uses fully namespaced step_ref for attempt IDs
  • 96f2f19 fix: buildAttemptRecipe uses scope kind for ralph iterations, task for retries
  • f10f717 fix: cap WakeConfig by demand to prevent session wake stampede
  • 7e40fdc fix: catch integration test compile errors in CI (#268)
  • 1398c6f fix: centralize PreCompact handoff in base overlay, remove leaf overrides
  • 8ed7dae fix: city providers inherit built-in defaults when command matches
  • 7af49b9 fix: classify pool-excess sessions correctly in reconciler drain path
  • 1123cde fix: clean up stale drift detection fallbacks
  • 56d8e5e fix: clear assignee on work beads orphaned by dead sessions (#273)
  • 0a63a2d fix: clear churn metadata on manual wake and dead productive sessions
  • 6812f1a fix: clear session_key on restart-requested so handoff starts fresh (#87)
  • d5bc3cb fix: clear stale resume metadata on crash recovery
  • 877ec9a fix: clear stale session_key on unexpected death, add wait-hold + tests
  • d0dd592 fix: clear stale session_key when session dies unexpectedly
  • 04a5aad fix: clear started_config_hash in recordWakeFailure
  • c8d348d fix: close drained pool session beads to unblock slot recycling (#209)
  • 1291209 fix: close duplicate open session beads during sync
  • 1fe98d0 fix: close workflow root before finalize bead to prevent stranded workflows (#237)
  • c13f6d1 fix: closed legacy beads permanently block configured named session names
  • 4e3c27d fix: collapse duplicate suspension tests, add propagation coverage
  • 0085b0d fix: complete ContentHash coverage and add tests for fingerprint changes
  • 536bc44 fix: complete EffectiveHQPrefix propagation to all callers
  • d988165 fix: complete empty-type session bead repair coverage
  • 051c320 fix: complete nil stderr guards across all session call sites
  • 04a31cb fix: complete rig-aware Dolt routing for sling and store access
  • f1f5676 fix: complete rig-aware resolution across all city CLI commands
  • 9424106 fix: compose.expand fanout, session lifecycle, and generic graph endpoint
  • ca5e35c fix: compositional metadata propagation across retry/scope/ralph
  • 693cbe6 fix: config-drift drain storm from filesystem-probed CopyFiles (#461)
  • ce16637 fix: correct quickstart link in installation instructions (#275)
  • 3ae9fc3 fix: create controller.sock in supervisor path and wire convergenceReqCh
  • 6773aec fix: cross-rig bd routing — gc bd passthrough and rig-aware graph
  • 9627536 fix: dashboard serve skips pack expansion (#153)
  • 12722a4 fix: default named_session mode to "always" for mayor
  • 2f98349 fix: detect on-demand named session demand from gc.routed_to metadata (#269)
  • ba13237 fix: detect stale session key in reconciler start path
  • 6f0a282 fix: distinguish skipped workflow state
  • 61419e3 fix: evaluate scale_check for named-session on-demand agents (#508)
  • 1368d70 fix: exclude assigned beads from default scale_check count
  • a38afe6 fix: exclude named sessions from derivePoolDesired
  • a1e6f17 fix: exclude root node from formula show step count (#476) (#533)
  • a1debb5 fix: exec beads create must serialize metadata for session bead roundtrip
  • 08a1eed fix: expose named session status in session API (#164)
  • e618268 fix: expose named session status in session api
  • 2ee114a fix: expose status in PATCH /v0/bead/{id} handler
  • fe720be fix: expose title in PATCH /v0/bead/{id} handler
  • 5d145f9 fix: expose title/status/type in PATCH /v0/bead/{id} (#165)
  • 6822763 fix: extend GC_ALIAS preference to all agent resolution paths
  • 36a217e fix: extend nudge supersession to in-flight, add store-verified pruning
  • b562752 fix: fall through to full init when database registration fails
  • 8072102 fix: filter initial_message from template_overrides schema resolution
  • 7b5fd18 fix: filter non-work beads from assigned work pipeline
  • e15cdc6 fix: findLatestAttempt allows scope beads for ralph iterations
  • 217987b fix: findLatestAttempt excludes control beads (scope-check, fanout, etc.)
  • 304876f fix: findLatestAttempt uses step_ref matching instead of dep traversal
  • 70190e0 fix: gate mail reply nudge behind store availability
  • 513a1d1 fix: gate named sessions on effective suspension in compute_awake_set
  • 794e3e7 fix: gate named-always sessions on effective suspension
  • c190eaf fix: gate order dispatch on city-level suspend, use ParseQualifiedName, cover cross-rig pools
  • 77da4fe fix: gc bd passes rig-level Dolt port to bd subprocess
  • a31eda9 fix: gc init and gc rig add write .gitignore entries (#301)
  • 20a93d1 fix: gc mail inbox times out (ga-ki2)
  • b62808b fix: guard empty-config live-hash backfill and use POSIX ps args=
  • 84d46c7 fix: handle legacy pool bead names in resolvePoolSlot (#638)
  • d62f696 fix: handle non-integer scale_check output in named-session path
  • 8bc4b2b fix: harden pre-start and supervisor shutdown (#248)
  • 6215170 fix: harden session submit intents across runtimes (#453)
  • 3e62a27 fix: harden supervisor city restarts
  • 032f058 fix: harden supervisor city restarts (#168)
  • ebf8526 fix: harden supervisor controller socket lifecycle
  • 81e7e50 fix: harden tutorial golden session flows
  • f2cd974 fix: honor fresh wake mode for session startup (#244)
  • 0385576 fix: honor gc mail reply --notify
  • 0975969 fix: honor provider-specific transcript formats
  • 0a9096a fix: honor wake_mode on drain-ack
  • 8266aee fix: implement InteractionProvider on tmux Provider adapter
  • d55bc0d fix: include HQ city bead store in BeadStores() map
  • b9ec4c2 fix: include HQ city bead store in BeadStores() map (#163)
  • cb1dcfc fix: include city bead store in beadStoresForID lookup
  • 2569592 fix: include city bead store in prefix routing and fallback lookup
  • 22dcf5d fix: increase bd subprocess timeout from 30s to 120s
  • ef0c143 fix: increase dashboard API client connection pool to prevent serialization
  • 5fd70d8 fix: increase default exec order timeout from 60s to 300s
  • c03a5be fix: inherit builtin OptionsSchema when city overrides provider by name
  • f16517d fix: inject BEADS_DOLT_PORT in pool scale_check for rig-scoped agents
  • 8f7bb36 fix: isolate tests from host GC_* session environment
  • c58210e fix: keep assigned pool workers in desired counts
  • d64e25a fix: keep namepool agents as pools (#249)
  • dbeac76 fix: keep routed queue work out of assigned demand (#375)
  • 72ba390 fix: keep supervisor city registrations on startup failures
  • 2205e89 fix: keep supervisor city registrations on startup failures (#166)
  • f85224a fix: lazy dolt port resolution in bd store runners
  • d7c489c fix: lazy dolt port resolution in bd store runners (#161)
  • 0b05fd8 fix: legacy bypass must check alias/identifier collisions, not just session_name
  • f555b76 fix: lint fixes, schema regen, reopen-closed-bead in resolve path
  • b999c6d fix: logical grouping recognizes .iteration. and .attempt. suffixes
  • 974a68a fix: logical node uses attempt bead for session link on retry/ralph
  • 6a71a91 fix: looksLikeBeadID rejects hierarchical IDs with dots
  • b54cc70 fix: make --name work across all gc init paths, preserve default semantics
  • 6b251bc fix: make all bd command runners lazy for dolt port resolution
  • 0ee6c0b fix: make city startup non-blocking when session bead list times out
  • c5c1f97 fix: make gc dashboard work out of the box (#467)
  • 522ea2a fix: make workflow-control a named session to survive restarts
  • 8ae1c07 fix: manual sessions bypass pool demand cap in wake evaluation
  • 8207604 fix: manual sessions on implicit agents treated as config-eligible
  • a0e5a2e fix: mark workflow roots in progress at launch
  • 4a8bdb7 fix: match alias_history when adopting pre-existing named session beads
  • 25ec98e fix: materialize named sessions from direct demand
  • e8878d1 fix: merge provider option defaults into API-created agent sessions (#243)
  • 8b2c082 fix: migrate durable waits off invalid wait bead type (#357)
  • da24b25 fix: migrate maintenance scripts from GC_CITY_ROOT to GC_CITY and restore test isolation
  • db4ff3e fix: migration hardening — adopt quad341's fixes + CI test suite (#229)
  • 06fa0dc fix: mode=always named sessions override sleep suppression for WakeConfig
  • ad56a00 fix: nil stderr causes segfault in session materialization
  • b91235f fix: on_demand named sessions wake when Assignee matches their alias
  • 909d2e3 fix: order dispatch applies graph workflow routing to step beads (#231)
  • de9eb99 fix: pack-level patches match rig-scoped agents by name (#333)
  • addb313 fix: parse wisp-root sling responses
  • fa7b820 fix: parse wisp-root sling responses (#173)
  • 79a1b0f fix: pass Claude auth env into managed sessions
  • e52e18d fix: pass HOME, USER, XDG dirs to spawned agent sessions
  • 50a0e1a fix: pass cityPath to newSessionProviderByName in read-only provider
  • b92de84 fix: pass open status filter to doctor beads-store List calls (ga-kic)
  • a84540f fix: pin city-scoped bd commands to city store
  • 0f6018a fix: pin city-scoped bd commands to city store (#171)
  • aff83fe fix: polecat→refinery handoff sets assignee for on-demand wake (#292)
  • 9508f5b fix: pool-managed beads in creating state must enter desired state
  • ef80ab8 fix: post-pool-removal fixups for drained state detection and derivePoolDesired
  • 2363cc6 fix: prefer canonical named session beads in session name index
  • 2a490c2 fix: prefer terminal logical workflow outcomes
  • 0f944c0 fix: prepend provider.Args to title generation command
  • 061c126 fix: preserve attached wake reason in session list
  • 4c46e8f fix: preserve explicit retry child routes
  • 8ce27a6 fix: preserve formula bead priorities and edits
  • 2b502e5 fix: preserve formula bead priorities and edits (#178)
  • 9af96b9 fix: preserve pending-create wake for named sessions (#381)
  • cd64df4 fix: preserve pool semantics for configured named sessions
  • 712b46b fix: preserve wake-reason provider interfaces
  • f234276 fix: promote graph_workflows → formula_v2 in LoadWithIncludes
  • 6ebb7c1 fix: propagate Dolt user/password through all Go env builders
  • 43c7a44 fix: propagate GC_K8S_SERVICE_ACCOUNT to shell providers
  • d43ff5c fix: propagate gc.routed_to to molecule step beads in pool sling (#219)
  • 4b30ebe fix: propagate named-session assignee demand to poolDesired
  • 0c3aa81 fix: propagate wake_mode=fresh identity clearing to completeDrain, gate drain-ack on stop success
  • b6cb1df fix: provider-aware session log reading + Codex JSONL reader
  • a2a642f fix: quote settings path, fix hook staging for custom work_dir agents
  • 2f646da fix: reap stale nudges and supersede duplicates after handoff failures (#543)
  • 63a9135 fix: reconciler applies template_overrides before config-drift hash
  • c66d1fd fix: recover persistent on-demand named sessions (#311)
  • aaa9149 fix: recover stale convergence active wisps (#302)
  • e4227db fix: recover standalone rig worker reconciliation
  • 857051a fix: reload config immediately on watch events
  • 238f89d fix: reload session bead snapshot after sync for fresh named session metadata
  • 2db620a fix: remove BEADS_DIR override from bd store runners
  • 86c40ba fix: remove GC_DOLT_PORT from config fingerprint to prevent restart-drift
  • ac0ff16 fix: remove MaxActiveSessions from workflow-control agent
  • def465f fix: remove backing.List fallback from CachingStore.ListByMetadata
  • 38817ae fix: remove duplicate DELETE /v0/workflow route registration
  • 9c24aa6 fix: remove duplicate template_overrides application in reconciler
  • 4391ae2 fix: remove nonexistent --allow-stale flag from BdStore.Purge
  • 905b918 fix: remove personal formulas from examples (#195)
  • 938172c fix: remove pool_slot wake gate that blocked all sessions
  • 2e099e9 fix: remove redundant embedded field selector (staticcheck QF1008)
  • 9a9f819 fix: remove vendored contracts and fix duplicate struct fields from rebase (#197)
  • becc94f fix: reopen closed named session beads on restart (supersedes PR #204)
  • 115f87e fix: repair empty-type session beads in resolution paths (#335)
  • d6639ed fix: replace Ctrl-C drain with deferred GC_DRAIN_ACK + idle recovery (#295)
  • e266016 fix: replace PreCompact gc prime with gc handoff in Claude default hooks
  • dc5ccbe fix: replace all-or-nothing pack guard with log suppression
  • b151beb fix: replace process-global dolt env vars with per-city config map
  • 8f302f4 fix: replace wall-clock polling with WaitGroup sync in idle drain test (#497)
  • 079496a fix: resolve all golangci-lint warnings (#126)
  • ab54216 fix: resolve all lint warnings and test failures for merge
  • 246e5da fix: resolve lint warnings and pre-existing test failures (#190)
  • c1f1845 fix: resolve macOS symlink paths in test assertions (#30)
  • 56f5c7c fix: resolve pre-existing macOS test failures
  • cf90c82 fix: resolve rebase conflict and address review findings
  • 3ff5e90 fix: resolve rig store from city routes instead of returning city store (#234)
  • 15458dd fix: resolve workflow stores from routed bead prefixes
  • d8b2038 fix: respect dolt.auto-start=false config, don't overwrite port file (#327)
  • 231204b fix: restore MaxActiveSessions=1 on workflow-control, let named session augment
  • 613af14 fix: restore named session materialization in buildDesiredState
  • 91530ac fix: restore opencode startup prompts (#529)
  • ad0bdd6 fix: restore orders v2 branch compatibility
  • 5009e1c fix: retry CachingStore prime up to 3 times on bd list timeout
  • 3732381 fix: retry without resume flag when session key is stale
  • bf1360c fix: revert linter damage to ComputeAwakeSet, add assigned-work tests
  • 325b645 fix: rig skill uses canonical rigs/ path and asks before creating (#189)
  • 6005142 fix: rotate session_key on restart instead of clearing to empty
  • 27cb8dc fix: route all POST /v0/sling paths through gc sling CLI
  • dc03724 fix: route all POST /v0/sling through gc sling CLI (#167)
  • 3bb1055 fix: route bead id lookups by prefix
  • 4b13357 fix: route bead lookups by prefix (#179)
  • 7909e98 fix: route graph workflows in gc order run (#235)
  • 1af897c fix: route rig bugflow launches to the correct bead store (#317)
  • 07cce22 fix: scan packs/ and PackDirs for orders in CLI and API
  • 223dcea fix: scope orphan sweep to startup-only, use label constant everywhere
  • 9ccb158 fix: separate PromptFlag from PromptSuffix for correct long-prompt handling
  • cb761cf fix: session index keyed by bead ID for assignee lookup
  • 3e39bc1 fix: session kill accepts "awake" state and checks provider liveness
  • ca86878 fix: sessions with assigned work stay awake regardless of scaleCheck
  • e537875 fix: set BEADS_ACTOR for session traceability (#162)
  • f249945 fix: set BEADS_ACTOR to session bead ID for traceability
  • 95e06d9 fix: set BEADS_ACTOR to session name for bead traceability
  • 4f1b9cf fix: set BEADS_DIR in bd store runners to prevent parent dir walk
  • 3066fc3 fix: set BEADS_DIR to store dir in bd command runner
  • e13f0a7 fix: ship default overlays for example packs (#42)
  • 36e0839 fix: show supervisor city init state in status
  • 37f0455 fix: show supervisor city init state in status (#134)
  • 5645614 fix: simplify runExternal to remove dead no-op check
  • 23208a0 fix: skip asleep ephemerals in pool bead selection, remove dependency gate from ComputeAwakeSet
  • b39d087 fix: skip config-drift check before started_config_hash is written (#127)
  • 7e0f11d fix: skip interrupt for pool-managed sessions in shutdown and API stop
  • 38ade26 fix: skip mode=always named sessions in capWakeConfigByDemand
  • c10cde6 fix: skip orders targeting suspended rigs (#478)
  • 6aad515 fix: skip session and message beads in idle nudge work lookup
  • 075b742 fix: skip suspended rigs in gc doctor health checks (#262)
  • 8ec33dc fix: sling routing no longer skips retry/ralph control beads
  • 95e9490 fix: spawn pool workers for gc sling routed beads with no assignee (#319)
  • 8d317cd fix: stabilize rc gate acceptance and integration lanes (#636)
  • 559f02c fix: stabilize runtime core wiring (#255)
  • ab1a7a3 fix: stamp pending create claim on pool session beads
  • 466a006 fix: stamp pool_slot metadata for namepool-themed pool instances
  • d112a80 fix: stamp routing labels on Attach-created attempt beads
  • 7b41d1f fix: stop pool-managed sessions immediately during shutdown
  • 490be00 fix: stop template_overrides write from clobbering initial_message (#247)
  • 0d4142a fix: strengthen option_defaults e2e tests per review findings
  • 9005d79 fix: substitute graph route targets before binding
  • 32ac71c fix: suppress bd Dolt auto-start in gc-managed environments
  • 1d4d934 fix: suppress errcheck for os.RemoveAll in test cleanup
  • 5c8261d fix: suppress git progress output during pack fetch (#141)
  • b9373f0 fix: sweep orphaned order-tracking beads on controller startup (#526)
  • 232c639 fix: sync custom bead types and prefix across all providers (#421)
  • 22b2577 fix: sync workflow live capability fixture
  • 174411c fix: tiered digit heuristic for bead ID suffix validation
  • 82c636e fix: tighten tutorial03 session log resolution
  • e56b990 fix: treat drained sessions as explicit-restart dormants (#181)
  • 2f8f063 fix: treat limit=0 as no limit in beads list pagination
  • b10a086 fix: treat workflow routing as intent only
  • addeb2d fix: update gc.routed_to on polecat→refinery handoff
  • c554cee fix: update golden test string and gastown pack for always mode
  • d547ed0 fix: update orders timeout test to match 300s default
  • c8a20c5 fix: update probe PATH test to include Linuxbrew dirs
  • 80603c2 fix: update test for HOME passthrough after PR #272
  • 9de8126 fix: update txtar bead IDs after named session materialization
  • 50188e3 fix: use *string for Agent.DefaultSlingFormula to preserve explicit clears
  • 296651c fix: use CachingStore-wrapped rig stores in collectAssignedWorkBeads
  • 5a78ec5 fix: use absolute path for --settings flag in claude entrypoint
  • 671ffca fix: use canonical bead's session_name as desiredState key for named sessions
  • 32a2816 fix: use correct beads v1.0.0 env var names for Dolt connection
  • ab32bf2 fix: use created_at in review approval checks
  • d8b2b61 fix: use gc rig list --json for health metadata discovery
  • 08f74a5 fix: use immediate nudges for user session sends (#358)
  • 86fdcc9 fix: use isPoolManagedSessionBead, return ErrPoolManaged from StopTurn
  • 2779fe2 fix: use no-assignee in default active scale_check
  • 9f57139 fix: use tracks for workflow ownership edges (#359)
  • ddcc8a4 fix: use type "molecule" for formula root beads instead of "epic"
  • eaae343 fix: use valid bead type for nudge queue beads (ga-bwl) (#253)
  • 4b9c2fb fix: use window activity for tmux last-active (#240)
  • 860ce2f fix: widen bead ID suffix limit from 4 to 5 chars (#491)
  • 8087e09 fix: wire WorkSet into ComputeAwakeSet production wake path
  • b9b336e fix: wire [dolt] config to runtime, unblocking cross-machine beads
  • 4d922ca fix: workflow delete handler scopes to requested store only
  • d0625bd fix: workspace volume mount and tar ownership in K8s provider (#93)
  • f137f8f fixup: adapt IsPool() to isMultiSessionCfgAgent() for current main
  • a30281d gc: wire pool session lifecycle into reconciler
  • da87806 hooks: upgrade stale claude and cursor compaction hooks
  • 5a2a77d perf: add CachingStore.PrimeLabel for fast startup pre-prime
  • 1cd78de perf: add dedicated formulas monitor feed
  • 9c2de42 perf: batch workflow delete into single bd subprocess call
  • 5690219 perf: cache session log file paths to avoid repeated filesystem scans (#187)
  • 58065eb perf: defer convergence reconcile to after "City started"
  • f8bcef2 perf: direct SQL for workflow snapshots (39s → 190ms)
  • 127b54e perf: exclude closed beads from List() and cache prime
  • 6da59a3 perf: reuse session list provider setup state
  • 620fa65 perf: serve status-filtered List from partial cache, defer convergence
  • a63cd53 perf: speed up gc session list from ~22s to ~2.7s
  • 3e73319 perf: unify session provider routing for session list
  • e03de1d perf: use in-memory seq for FileRecorder.LatestSeq instead of scanning file
  • e09eb26 prompt: add handoff to foreman prompt (#284)
  • 1b0da40 prompt: add handoff to mayor prompt (#283)
  • bf6ff09 refactor(extmsg): use labels instead of custom bead types (#266)
  • ce72d35 refactor: add launch aliases to orders v2 contract
  • 8ec76d4 refactor: drive pool demand from assigned work and scale checks
  • 290ac6a refactor: make orders launch the canonical contract name
  • e257830 refactor: migrate example pack.toml files from [agent.pool] to flat fields
  • 8b531d0 refactor: move eng-internal docs to engdocs/
  • 7d20cd8 refactor: remove PoolConfig and IsPool from config and production code
  • c683af3 refactor: remove SQL fast paths, use CachingStore for all bead reads
  • 6b20bf6 refactor: remove dead config_hash metadata field
  • aeb5f9e refactor: rename workflow → convoy/dispatch across codebase
  • f5046db refactor: use bd create --graph instead of bd graph-apply
  • 25faa72 revert: remove idle recovery from reconciler tick (#309)
  • 3bc34e0 revert: remove idle-session nudger for assigned work (#468)
  • 9a6eeff review: port metadata to gc-beads-br, clarify test scope
  • 81ef67b style: fix gofumpt alignment in supervisor test

Don't miss a new gascity release

NewReleases is sending notifications on new releases.