Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
398f5ce
fix(scripts): remove dead docs/plans citation in check-routed-test-ro…
quad341 Jul 27, 2026
0e6462a
fix(events): honor Since in the archive skip-fast path (176s -> 1.0s)…
quad341 Jul 27, 2026
4f37e7b
fix(scripts): push-gate misreports an impossible slot-dir as a wait-b…
quad341 Jul 27, 2026
0488abb
fix(test): five architectural guards are silent no-ops in any git wor…
quad341 Jul 27, 2026
1a99219
feat(prime): inject unread mail on promptless SessionStart wake (#4487)
csauer02-personal-user Jul 27, 2026
d75e202
fix(sling): warn when --on skips attach on a claimed, unmoleculed bea…
quad341 Jul 27, 2026
74d62e0
fix(scripts): rename push-ownership-guard local 'status' to avoid zsh…
quad341 Jul 27, 2026
422f89c
Wake named sessions for routed demand and retry transient push-guard …
quad341 Jul 27, 2026
c833c29
test(cmd/gc): migrate batch 5 off ambient city discovery (ga-klo4gz.6…
quad341 Jul 27, 2026
e6914ee
fix(dispatch): make the in_progress crash-recovery work-query tier re…
jacobhausler Jul 27, 2026
7a5bdee
fix(cmd/gc): widen CI jitter tolerance in reload-drain timeout test (…
quad341 Jul 27, 2026
af42a94
test(doctor): stop the backup-staleness horizon racing the harness (#…
bourgois Jul 27, 2026
f68a2ed
fix(session): exempt routed-demand wake from idle-sleep suppression (…
quad341 Jul 28, 2026
311effd
fix(acp): publish session activity durably across processes (#4612)
jm2 Jul 28, 2026
a72480e
fix(dolt): dedup compact quarantine mail so a stable quarantine pages…
quad341 Jul 28, 2026
682a072
Guard implicit cwd fallback in non-interactive gc init and gc start (…
quad341 Jul 28, 2026
431711f
Fix event rotation conformance timeout accounting (#4733)
quad341 Jul 28, 2026
dcee9b8
test(cmd/gc): migrate gatedStartProvider.waitForStarts to hangBudget …
quad341 Jul 28, 2026
679e6e4
test(gc): migrate controller hang deadlines to shared wait helpers (#…
quad341 Jul 28, 2026
5fd0545
Deploy: push-ownership-guard deploy-gate branch resolution fix (ga-an…
quad341 Jul 28, 2026
3be16bf
fix(githooks): fail closed on OpenAPI drift without npm (#4750)
quad341 Jul 28, 2026
a091c35
fix(test): make local gate concurrency load-aware (#4755)
quad341 Jul 28, 2026
e740cc0
test(cmd/gc): migrate batch 4 off ambient city discovery (ga-klo4gz.5…
quad341 Jul 28, 2026
c31a67e
test(cmd/gc): migrate batch 6 off ambient city discovery (ga-klo4gz.7…
quad341 Jul 28, 2026
1c85731
test(cmd/gc): migrate two more wall-clock deadlines to hangBudget (#4…
quad341 Jul 28, 2026
bce1069
Fix lifecycle worktree provisioning for existing worktrees (#4777)
quad341 Jul 28, 2026
033ca6f
fix(cmd/gc): resolve bd binary/dolt schema version skew in rig worktr…
quad341 Jul 28, 2026
21146d9
Add generator for checked TESTING.md resource ledger (#4779)
quad341 Jul 28, 2026
4160b0e
fix(materialize): heal pre-manifest skill sinks orphaned by retired r…
A3Ackerman Jul 28, 2026
725eaa8
fix(session): idle-kill ladder consults assigned work, with same-bead…
quad341 Jul 28, 2026
bf24d60
fix(cmd/gc): ambient city walk-up guard + missing GC_CITY override in…
quad341 Jul 28, 2026
08bba7a
fix(paths): route discovery + store-scope through the single path nor…
bourgois Jul 28, 2026
75b40d9
docs(gates): define what the release-gate "Tests pass" criterion must…
quad341 Jul 28, 2026
a404455
feat(api): expose typed pack credential requirement
julianknutsen Jul 29, 2026
4d4fa9f
Merge pull request #4794 from gastownhall/feature/maintainer-city-pac…
julianknutsen Jul 29, 2026
20d01ab
feat(dolt): surface active compaction quarantine markers in gc dolt h…
rjgeng Jul 29, 2026
86e8b1b
fix(dashboard): don't crash the run view when an attached session has…
julianknutsen Jul 29, 2026
30df2e6
fix(tmux): refuse live named-socket replacement (#4819)
julianknutsen Jul 29, 2026
d27aead
fix(runtime/tmux): record poke on hidden-attached nudge path; tag rea…
julianknutsen Jul 29, 2026
cb96dc2
Document safe Git checkout practices in shared worktrees (#4820)
quad341 Jul 29, 2026
1845f1a
test(session): cover the claim-gated projection branch on the Observe…
quad341 Jul 29, 2026
b26d53e
fix(runtime/k8s): propagate Nudge/SendKeys transport errors (#4389) (…
rjgeng Jul 29, 2026
0940a15
perf(cli): stop reloading the city config inside a store open (#4723)
wbern Jul 29, 2026
9daa89d
fix(mail): archive retains message body by closing instead of deletin…
jacobhausler Jul 29, 2026
d213064
feat(resilience): circuit breaker registry keyed by (scope, opClass) …
bourgois Jul 29, 2026
8ea0080
fix(beads): exponential backoff + one-shot breaker signal for persist…
bourgois Jul 29, 2026
588f574
fix(sling): failed pours close their synthetic input convoy (#4788)
julianknutsen Jul 29, 2026
b677c58
fix(cmd/gc): validate explicit city path before scanning registry rig…
rjgeng Jul 29, 2026
d744ba3
fix(api): strip monotonic clock reading before keyset pagination comp…
jacobhausler Jul 29, 2026
1ae8e06
fix(session): stamp pending-create intents from manager clock (#4836)
quad341 Jul 29, 2026
d4d1568
Add registry publish request status command (#4692)
julianknutsen Jul 29, 2026
31ee5bd
fix(beads): classify CachingStore.circuitTripped in the merge oracle …
jacobhausler Jul 29, 2026
74fcfe6
Prevent proxy processes from surviving hard parent exits (#4842)
quad341 Jul 29, 2026
4a636f6
fix(config): warn on always+fresh named session combos (#4832)
jacobhausler Jul 29, 2026
d214278
fix(reaper): normalize both sides of the worktree containment check (…
quad341 Jul 30, 2026
d8ff063
fix(gc): wake cold named on-demand pools on routed demand (#4749)
quad341 Jul 30, 2026
9a88d14
Resolve formula rig scope from GC_RIG in agent worktrees (#4760)
quad341 Jul 30, 2026
e6135a4
Fix API rig creation for symlinked city roots (#4847)
quad341 Jul 30, 2026
c19e7dc
Honor explicit --city for formula scope resolution (#4848)
quad341 Jul 30, 2026
c0f633d
Centralize macOS regression workflow routing (#4850)
quad341 Jul 30, 2026
97503b2
Make workspace leak detection portable and fail closed (#4851)
quad341 Jul 30, 2026
3cfc164
fix(ci): give mac-quality job enough time to finish (ga-sv32ce) (#4873)
quad341 Jul 31, 2026
6fd8f97
fix(runtime/herdr): survive herdr >=0.7.4/0.7.5 — pane-binding livene…
AJBcoding Jul 31, 2026
2a0934e
fix(session): exclude mail message beads from work-release enumeratio…
jacobhausler Jul 31, 2026
0999217
fix(beads): sanitize digit-leading Dolt database names (#4879)
quad341 Jul 31, 2026
915143f
fix(beads): sanitize digit-leading rig prefixes before use as Dolt da…
quad341 Jul 31, 2026
6906751
perf(cli): reuse the write-guard's store read in the bd close gate (#…
wbern Jul 31, 2026
29b36fa
fix(session): show config reason for drained always-mode named sessio…
jacobhausler Jul 31, 2026
2c3b6d9
fix(hook): claim preassigned ready work (#4835)
jm2 Jul 31, 2026
836bcd8
test: keep Dolt identity state outside TempDir cleanup (#4887)
quad341 Jul 31, 2026
1111964
test(build-desired-state): pin always-mode custom-scale-check guard (…
quad341 Jul 31, 2026
cacde5d
Isolate doctor custom-types tests from machine Dolt config (#4890)
quad341 Aug 2, 2026
b02df40
fix(controller): backstop stalled graph-v2 continuation claims (#4845)
jm2 Aug 2, 2026
0212612
fix(reaper): fall back to a portable process scan when /proc is absen…
wbern Aug 2, 2026
c33fd2d
fix(pidutil): make the argv identity check work off Linux (#4853)
wbern Aug 2, 2026
91639e7
fix(pidutil): make the start-time identity check work off Linux (#4854)
wbern Aug 2, 2026
86ef443
fix(dolt): send SIGTERM before SIGKILL in run_bounded's python3 fallb…
rjgeng Aug 2, 2026
38ed358
perf(builtinpacks): memoize embedded pack data and drop a redundant c…
wbern Aug 2, 2026
0223c3a
feat: export native formula step topology (#4928)
julianknutsen Aug 3, 2026
f4650c5
fix(gitcred): accept the Kubernetes Secret-mount permission shape (#4…
julianknutsen Aug 3, 2026
df15c53
Classify and migrate bare EvalSymlinks in the cmd/gc CLI cluster (#4929)
quad341 Aug 3, 2026
9183083
Normalize canonical path comparison inputs in convergence and dispatc…
quad341 Aug 3, 2026
6bedf29
fix: preserve runtime native step topology (#4931)
julianknutsen Aug 3, 2026
220e460
fix(context): single-source the model context-window table (#4527)
johnzook Aug 3, 2026
c4880ae
fix(session): stamp configured-named-session identity on gc session n…
wbern Aug 3, 2026
d2ae83c
Normalize canonical path ingest for formulas, workflows, and skills (…
quad341 Aug 3, 2026
d37a5d5
fix(workflow): preserve existing gc.routed_to on reopen-source (#4688)
brandonmartin Aug 3, 2026
c28fc0e
fix(suspend): align the awake-set gate with the desired-state rig res…
brandonmartin Aug 3, 2026
e6c5bcc
fix(config): PackDirsForRig("") falls back to AllPackDirs for city-sc…
quad341 Aug 3, 2026
2ff1536
fix(pool): preserve assigned slot across cap shrink (#4686)
jm2 Aug 3, 2026
fd56f10
fix(core): make mol-do-work drain step provider-agnostic (GC_BEAD_ID …
figgeous Aug 3, 2026
1f948e6
fix(api): stop suspended rigs making /status permanently partial (#4696)
remuscazacu Aug 3, 2026
fe461a2
fix(provider): skip startup-dialog polling for OpenCode (#4697)
jm2 Aug 3, 2026
50d621f
Normalize configured city and rig paths at ingest (#4948)
quad341 Aug 3, 2026
7f62202
fix(events): scope exports by registered city (#4949)
julianknutsen Aug 3, 2026
137c88f
fix(beads/exec): expose Store.IDPrefix() from GC_BEADS_PREFIX (#4716)
chris-sanders Aug 3, 2026
3b4e9ea
fix(runtime/k8s): pod-local gc init is scaffold-only (--no-start --sk…
chris-sanders Aug 3, 2026
1e668a9
fix(beads): pin the whole update wire in the Store conformance suite …
chris-sanders Aug 3, 2026
bc24dff
fix(runtime/k8s): give the agent a writable per-bead working director…
chris-sanders Aug 3, 2026
85e3e50
fix(cmd/gc): honor external Dolt endpoint in gc init --from (#4720)
chris-sanders Aug 3, 2026
0ca3434
fix: stop blocked work from re-entering dispatch (#4395)
sjarmak Aug 4, 2026
3dbc1b7
Prevent held work from re-entering automatic dispatch (#4952)
quad341 Aug 4, 2026
9b7a1e3
fix(status): report unknown agents separately and keep the name-colum…
jacobhausler Aug 4, 2026
f5a644c
fix(runtime): fail closed when T3 snapshot is unavailable (#4938)
boshu2 Aug 4, 2026
41d35b7
fix(provider): accept claude-opus-5 and canonical claude-* model ids …
jacobhausler Aug 4, 2026
401425c
fix: use portable PID liveness in drift restart (#4953)
boshu2 Aug 4, 2026
a9417bf
feat(doctor): gate bulk deletes on fresh backups (#4957)
sjarmak Aug 4, 2026
b97de0f
docs: explain managed wake behavior for mail (#4954)
boshu2 Aug 4, 2026
e4c6222
feat(events): publish execution facts
julianknutsen Aug 4, 2026
754488c
fix: make controller hosting identity authoritative (#4955)
boshu2 Aug 4, 2026
644fe62
feat(reaper): guard session pruning with backup age (#4959)
sjarmak Aug 4, 2026
3cfe731
fix(ci): add fresh backup state to reaper fixtures (#4960)
sjarmak Aug 4, 2026
4f127d9
fix: bound entire stop sequence by timeout (#4956)
boshu2 Aug 4, 2026
9d7853c
test(docsync): skip ga- agent work directories (#4962)
sjarmak Aug 4, 2026
d4d8b19
refactor(runtime): share setup-command runner (#4217 split 1/10) (#4965)
sjarmak Aug 4, 2026
16f33fc
fix(controller): keep partial dispatcher demand reads retention-only …
sjarmak Aug 4, 2026
9a9a0fd
fix(storehealth): distinguish unmeasured row counts from a real zero …
jacobhausler Aug 4, 2026
f300366
Merge upstream/main into fork — v1.4.0+ resync (117 commits)
bourgois Aug 4, 2026
5bebf14
test(cmd/gc): teach the bd version pin check about pseudo-versions
bourgois Aug 4, 2026
645ad9e
fix(test): restore the path regression tests review found I had made …
bourgois Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .claude/skills/gascity-docs/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,9 @@ freshness test (`TestCLIDocsFreshness`) fails if they drift.
Run the gates in [references/verification.md](references/verification.md). The
durable repo gates are **`make check-docs`** (nav↔file + local markdown links),
**`make diagrams-excalidraw`** (if you touched diagrams), `go run ./cmd/genschema`
(if you touched generated docs), and **`make dashboard-check`** (if you touched
`internal/api/`, the OpenAPI spec, or the dashboard). Beyond the gates: every TOML
(if you touched generated docs), and **`make dashboard-ci`** (if you touched
`internal/api/`, the OpenAPI spec, or the dashboard — `dashboard-check` alone
does not catch a stale generated client). Beyond the gates: every TOML
fence must parse, every internal link and anchor must resolve, no page is orphaned
from the nav, and no body H1 was introduced. Preview on the live site with `make
docs-dev` (or `./mint.sh dev`) at `localhost:3000`.
Expand Down
7 changes: 5 additions & 2 deletions .claude/skills/gascity-docs/references/verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@ make diagrams-excalidraw
go run ./cmd/genschema # writes docs/reference/{cli.md,config.md,schema/*}

# 4. API / dashboard: required when you touch internal/api/, the OpenAPI spec,
# docs/reference/schema/openapi.*, or the dashboard.
make dashboard-check
# docs/reference/schema/openapi.*, or the dashboard. dashboard-check alone
# typechecks/builds/tests against whatever client is already on disk — it
# does not regenerate it, so it misses a client that's drifted from the
# spec. dashboard-ci adds that regen + fail-on-drift check.
make dashboard-ci

# 5. Live preview while editing.
make docs-dev # or: ./mint.sh dev -> http://localhost:3000
Expand Down
21 changes: 16 additions & 5 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,21 @@ if [ -n "$staged_docs" ]; then
make check-docs
fi

# Re-read the index rather than reusing the pre-hook staged_spec snapshot:
# the Go block above runs `go run ./cmd/genspec` and stages the regenerated
# internal/api/openapi.json, so a Go-only commit that moves the API surface
# only shows up here (#4627, #4607). Shared by both branches below so the
# npm-absent fail-closed branch sees the same side effect the npm-present
# branch already accounts for (ga-jg89a5) -- the branches must not diverge
# on which snapshot of "is the spec staged" they trust.
spec_changed=$(git diff --cached --name-only --diff-filter=ACM -- 'internal/api/openapi.json' || true)

# Dashboard SPA rebuild: when internal/api/openapi.json changes, regenerate
# the generated TS API client from the new spec and stage it. When the spec
# OR the SPA source changes, typecheck and rebuild the compiled bundle.
# Guarded on `npm` availability so contributors without Node tooling aren't
# blocked; CI enforces the full regeneration via make dashboard-ci.
if command -v npm >/dev/null 2>&1; then
# Re-read the index rather than reusing the pre-hook snapshot: the Go
# block above runs `go run ./cmd/genspec` and stages the regenerated
# internal/api/openapi.json, so a Go-only commit that moves the API
# surface only shows up here (#4627, #4607).
spec_changed=$(git diff --cached --name-only --diff-filter=ACM -- 'internal/api/openapi.json' || true)
if [ -n "$spec_changed" ]; then
# Regenerate BEFORE typecheck/build below: a client that no longer
# matches the new spec must fail typecheck immediately instead of
Expand All @@ -80,5 +84,12 @@ if command -v npm >/dev/null 2>&1; then
fi
fi
else
if [ -n "$spec_changed" ]; then
echo "error: internal/api/openapi.json is staged but npm is not on PATH — the generated TS API client" >&2
echo "cannot be regenerated, so this commit would ship a stale client with no enforcement until CI runs." >&2
echo "Install Node/npm, or regenerate manually:" >&2
echo " cd internal/api/dashboardspa/web && npm ci && npm run generate:client" >&2
exit 1
fi
echo "warning: npm not on PATH — skipped dashboard SPA typecheck + rebuild. CI will enforce this." >&2
fi
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ jobs:
- 'Makefile'
- 'internal/worker/**'
- 'internal/sessionlog/**'
- 'internal/modelwindow/**'
- 'internal/runtime/**'
- 'internal/config/**'
- 'cmd/gc/template_resolve*.go'
Expand All @@ -121,6 +122,7 @@ jobs:
- 'Makefile'
- 'internal/worker/**'
- 'internal/sessionlog/**'
- 'internal/modelwindow/**'
- 'internal/runtime/**'
- 'internal/config/**'
- 'cmd/gc/**'
Expand Down
Loading
Loading