Doctor reports 3 missing agent beads. Unfixable through doctor
gt install ~/gt --git
gt rig add langra http://192.168.4.99:3012/matt/langra.git
# set up the config/settings.json and the langra/settings/config.json
gt crew add matt --rig langra
gt crew at langra/matt
17:01:27 ~/gt
$ gt doctor --fix
✓ town-config-exists mayor/town.json exists
✓ town-config-valid mayor/town.json valid (name=gt, version=2)
✓ rigs-registry-exists mayor/rigs.json exists
✓ rigs-registry-valid All 1 registered rig(s) exist
✓ mayor-exists mayor/ directory exists with required files
✓ global-state Global state healthy
✓ stale-binary Cannot locate gt source repo (not a development environment)
✓ beads-binary bd 0.61.0
✓ dolt-binary dolt 1.83.6
✓ dolt-server-reachable Dolt server reachable (2 rig(s) in server mode)
✓ town-git Town root is under version control
✓ town-root-branch Town root is on main branch
✓ foreign-remotes No extra remotes configured
✓ branch-protection Branch protection installed in post-checkout hook
✓ claude-settings All Claude settings.json files are up to date
✓ daemon Daemon is running (PID 87801)
✓ tmux-global-env GT_TOWN_ROOT=/Users/matt/gt in tmux global env
✓ boot-health Boot watchdog healthy
✓ town-beads-config Town beads config.yaml present
✓ beads-custom-types All custom types registered
✓ beads-custom-statuses All custom statuses registered
✓ formulas 42 formulas up-to-date
✓ prefix-conflict No prefix conflicts found
✓ rig-name-mismatch No rig specified (skipped)
✓ rig-config-sync All registered rigs have valid configuration
✓ stale-dolt-port All Dolt port files are consistent
✓ prefix-mismatch No prefix mismatches found
✓ database-prefix All database prefixes match routes.jsonl
✓ idle-timeout-config All 1 rigs have dolt.idle-timeout set to "0"
✓ routes-config Routes configured correctly (3 routes)
✓ rig-routes-jsonl No rig-level routes.jsonl files (1 rigs checked)
✓ routing-mode Beads routing.mode is explicit
✓ session-name-format All Gas Town sessions use current naming format
✓ orphan-sessions All 7 Gas Town sessions are valid
⚠ zombie-sessions Found 1 zombie session(s) (fixing)...
✓ orphan-processes No runtime processes found
✓ wisp-gc No abandoned wisps found
✓ misclassified-wisps No misplaced ephemerals found
✓ jsonl-bloat issues.jsonl not bloated
✓ stale-beads-redirect No stale beads files or redirect issues found
✓ beads-redirect-target All beads redirect targets are valid
🔧 stale-runtime-files No stale runtime files found (fixed)
✓ persistent-role-branches All 1 persistent roles on main branch
✓ clone-divergence All 3 clones in sync with origin/main
✓ default-branch-all-rigs All 1 rig(s) with custom default_branch validated
✓ identity-collision 1 worker lock(s), all healthy
✓ linked-panes All 2 Gas Town sessions have independent panes
✓ socket-split-brain Town socket is default — no split-brain possible
✓ themes 2 session(s) have correct themes
✓ crash-reports No recent crash reports found
✓ env-vars All 2 session(s) have correct environment variables
✓ patrol-molecules-exist All 1 rig(s) have patrol formulas accessible
✓ patrol-hooks-wired Daemon configured with 10 patrol(s)
✓ patrol-not-stuck No stuck patrol wisps found
✓ patrol-plugins-accessible All plugin directories accessible
✓ patrol-plugin-drift Plugin source not found (skipping drift check)
✖ agent-beads-exist 3 agent bead(s) missing (fixing)...
✓ stale-agent-beads No stale agent beads found
✓ rig-beads-exist All 1 rig identity beads exist
✓ role-config-valid Role config uses built-in defaults
✓ rig-settings All 2 rig(s) have settings/ directory
✓ session-hooks All 7 settings.json file(s) use proper session_id passthrough
✓ runtime-gitignore .runtime/ properly gitignored
✓ legacy-gastown No legacy .gastown/ directories found
✓ deprecated-merge-queue-keys No deprecated merge_queue keys in 2 rig(s)
✓ land-worktree-gitignore .land-worktree/ gitignored in 2 rig(s)
✓ hooks-path-all-rigs All 0 clone(s) have hooks configured
✓ sparse-checkout No legacy sparse checkout configurations found
✓ priming Priming subsystem is correctly configured
✓ town-claude-md Town-root CLAUDE.md has all required sections
✓ crew-state All 1 crew state files valid
✓ crew-worktrees No cross-rig worktrees in crew directories
✓ commands-provisioned Town-level slash commands provisioned (handoff, review)
✓ lifecycle-hygiene No stale lifecycle messages found
✓ lifecycle-defaults All lifecycle patrols configured
✓ hook-attachment-valid All hook attachments are valid
✓ hook-singleton All handoff beads are unique
✓ orphaned-attachments No orphaned handoff beads found
✓ stale-task-dispatch No stale task-dispatch hooks found
✓ hooks-sync All 7 hook targets in sync
✓ dolt-metadata All 1 rig(s) have Dolt server metadata
✓ dolt-orphaned-databases No orphaned databases in .dolt-data/
✓ unregistered-beads-dirs No unregistered beads directories found
✓ null-assignee-steps No in_progress beads with NULL assignee found
✓ worktree-gitdir-valid All worktree gitdir references are valid
──────────────────────────────────────────
✓ 83 passed ⚠ 1 warnings ✖ 1 failed 🔧 1 fixed
✖ FAILURES
✖ 1. agent-beads-exist: 3 agent bead(s) missing
└─ Run 'gt doctor --fix' to create missing agent beads
⚠ WARNINGS
⚠ 1. zombie-sessions: Found 1 zombie session(s)
└─ Run 'gt doctor --fix' to kill zombie sessions
🔧 FIXED
✓ 1. stale-runtime-files: No stale runtime files found (fixed)
Error: doctor found 1 error(s)
Usage:
gt doctor [flags]
Flags:
--fix Attempt to automatically fix issues
-h, --help help for doctor
--no-start Suppress starting daemon/agents during --fix
--restart-sessions Restart patrol sessions when fixing stale settings (use with --fix)
--rig string Check specific rig only
--slow string[="1s"] Highlight slow checks (optional threshold, default 1s)
-v, --verbose Show detailed output
Bug Description
Doctor reports 3 missing agent beads. Unfixable through doctor
Steps to Reproduce
Clean setup:
Expected Behavior
No doctor issues
Actual Behavior
Environment
Gas Town v0.12.1 (Homebrew)
v0.12.1@Homebrew
Logs / Error Output
Additional Context