mirror of
https://github.com/gastownhall/beads.git
synced 2026-09-14 20:17:24 +08:00
ebc1800058
Maintainer review fixes for PR #6447. No blocker or major findings; this
addresses the synthesis pre-merge checklist plus nearby minor/nit cleanup.
Pre-merge checklist item 1 — the smoke lane's paths: filters gained
cmd/bd/linear_proxy_* but not cmd/bd/linear_mock_fixture_test.go, the fixture
this PR extracted and which both new lane tests require to compile, so a
fixture-only edit skipped the lane until merge_group. Re-derived GitHub's
glob semantics (* does not cross /) over every tracked file: the fix moves
exactly three files DEAF -> MATCH, regresses none, and matches nothing else.
Completeness sweep beyond the reported finding (maintainer scope): the same
grep for the lane's own selector surfaced two pre-existing deaf siblings that
this lane actually executes under -test.run '^TestManagedLocalProxied' --
proxied_outage_reconnect_integration_test.go and
tracker_proxy_uow_conformance_integration_test.go. Both are present at base
and outside this PR's diff; adding a paths: entry can only make the lane fire
more, never less. Verified by running the lane's own -test.list gate locally,
which lists both alongside the nine asserted names.
Pre-merge checklist item 2 — cmd/bd/linear.go is deliberately NOT added to the
filters, and the workflow now says so in a header comment rather than leaving
the lane's production dependency undeclared. The status parity test pins some
of its behavior, but it is a 1.5k-line tracker command whose OAuth, id-mode,
and help-text edits are almost never proxy-relevant; firing a 25-minute netns
lane on all of them costs more than it catches, and merge_group still gates it.
Non-gating cleanup:
- Docs in three sites still presented <tracker>.last_sync as a user-settable
config key after this PR removed the last config-seam reader -- the exact
misconception that produced the bug being fixed. Removed it from the
bd-config-set tables and described it as per-clone local metadata, with the
information rehomed rather than merely deleted. The generic wording stops
short of "nothing reads it" because bd jira status still reads its cursor
from config (see below).
- linearStatusFixture unmarshalled raw CombinedOutput; both status decode
sites now share parseLinearStatus, matching the skip-to-first-brace idiom
the sibling roundtrip helpers already use.
- Deduplicated the team-UUID literal onto linearProxyTestTeamID.
- Documented the shared fixture's deliberately-loose cgo build tag.
Validation: actionlint + YAML parse on the workflow; gofmt clean; go vet under
both consumer tag sets (cgo && unix, cgo && integration); the lane's compile
and -test.list presence gate; TestManagedLocalProxiedLinearStatusParity PASS
(32.2s) and TestLinearStatusSQLServerFrontdoor PASS (19.2s); check-doc-flags.sh
PASS and go test ./test/docsync PASS.
Recorded, not fixed here: (1) bd jira status (cmd/bd/jira.go:246) has the
identical config-plane bug this PR fixes for Linear -- out of the PR's declared
Linear scope, warrants a follow-up bead. (2) check-doc-freshness.sh fails on
docs/recovery/init-safety.md (Last reviewed 2026-06-09, 92 days). Verified
pre-existing: the base tree 35fb9c041 fails identically and the file is
untouched by this PR; its marker simply crossed the 90-day limit on 2026-09-07.
Not patched, since bumping the marker would assert a re-review that did not
happen.
Beads Examples
This directory contains examples of how to integrate bd with AI agents and workflows.
Examples
Agent Integration
- python-agent/ - Simple Python agent that discovers ready work and completes tasks
- bash-agent/ - Bash script showing the full agent workflow
- startup-hooks/ - Session startup scripts for automatic bd upgrade detection
- claude-desktop-mcp/ - MCP server for Claude Desktop integration
Tools & Utilities
- monitor-webui/ - Standalone web interface for real-time issue monitoring and visualization
- git-hooks/ - Pre-configured git hooks for automatic Dolt sync
Workflow Patterns
- contributor-workflow/ - OSS contributor setup with separate planning repo
- team-workflow/ - Team collaboration with shared repositories
- multi-phase-development/ - Organize large projects by phases (planning, MVP, iteration, polish)
- multiple-personas/ - Architect/implementer/reviewer role separation
- protected-branch/ - Protected branch workflow for team collaboration
Quick Start
# Try the Python agent example
cd python-agent
python agent.py
# Try the bash agent example
cd bash-agent
./agent.sh
# Install git hooks
cd git-hooks
./install.sh
# REMOVED (bd-4c74): branch-merge demo - hash IDs eliminate collision resolution
Creating Your Own Agent
The basic agent workflow:
- Find ready work:
bd ready --json --limit 1 - Claim the task:
bd update <id> --claim --json - Do the work: Execute the task
- Discover new issues:
bd create "Found bug" --json - Link discoveries:
bd dep add <new-id> <parent-id> --type discovered-from - Complete the task:
bd close <id> --reason "Done" --json
All commands support --json for easy parsing.