Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
e49d0a8
fix(boundary): accept canonical consumer inventory schema
randlee Aug 18, 2026
36e6f60
chore: sync .atm.toml panes to herdr-only roster
randlee Sep 9, 2026
37d51d4
chore(atm): replace deprecated features.codex_hooks with features.hooks
randlee Sep 13, 2026
6351a3e
chore: backfill ATM roster aliases in .atm.toml
randlee Sep 16, 2026
3a739e3
Merge pull request #158 from randlee/chore/atm-role-aliases
randlee Sep 16, 2026
a217ea6
Merge PR #157 (codex_hooks -> hooks flag rename) into chore/atm-toml-…
randlee Sep 16, 2026
c1ae670
Merge remote-tracking branch 'origin/develop' into chore/atm-toml-her…
randlee Sep 16, 2026
71fa796
Merge pull request #156 from randlee/chore/atm-toml-herdr-sync
randlee Sep 16, 2026
3388110
chore(atm): drop stale tmux_pane_id and add publisher alias
randlee Sep 19, 2026
73620b3
chore: integrate beads issue tracking
randlee Sep 19, 2026
b8c0007
chore(atm): normalize aliases to lint-<role> and drop stale tmux_pane_id
randlee Sep 19, 2026
f7fd8b5
chore(atm): pin codex models (clint=terra, cfast=luna)
randlee Sep 19, 2026
83d2c0b
Merge pull request #161 from randlee/chore/atm-toml-herdr-cleanup
randlee Sep 19, 2026
5475971
Merge pull request #162 from randlee/chore/beads-integration
randlee Sep 19, 2026
a23e301
Merge remote-tracking branch 'origin/develop' into fix/inventory-stri…
randlee Sep 19, 2026
1ae9893
fix(boundary): harden inventory edge parsing
randlee Sep 19, 2026
d35afa8
fix(boundary): require planning metadata
randlee Sep 19, 2026
1cc917d
test: add planning metadata to empty inventory fixture
randlee Sep 19, 2026
6bd1827
test(boundary): cover empty and hyphenated inventories
randlee Sep 19, 2026
3f8e61e
Merge origin/develop into fix/public-trait-boundary-schema
randlee Sep 19, 2026
f569fe3
Merge fix/public-trait-boundary-schema into fix/inventory-strict-edges
randlee Sep 19, 2026
5a729fa
Merge fix/inventory-strict-edges into fix/inventory-planning-required
randlee Sep 19, 2026
703df05
fix: preserve inventory edge parse causes
randlee Sep 19, 2026
de76d18
docs: record lint-spx.18 validation
randlee Sep 19, 2026
1324e7f
fix(boundary): close QA inventory gaps
randlee Sep 19, 2026
eedbb3e
fix(boundary): keep inventory helpers crate-local
randlee Sep 19, 2026
7f83534
Fix QA-2 inventory parity assertions
randlee Sep 19, 2026
08be6c4
Record QA-2 parity closeout
randlee Sep 19, 2026
0435eac
Record QA-2 CI failure follow-up
randlee Sep 19, 2026
a6e7ca8
Fix QA-3 assertions and records
randlee Sep 19, 2026
a56ba9c
Record QA-3 closeout
randlee Sep 19, 2026
01a4ab3
Strengthen planning unknown-field assertions
randlee Sep 19, 2026
0324a1e
Clarify QA-3 final fix commit
randlee Sep 19, 2026
795787b
Fix QA-4 records and test assertions
randlee Sep 19, 2026
b1f890e
Record QA-4 closeout
randlee Sep 19, 2026
6fc2388
Strengthen QA-4 message assertions
randlee Sep 19, 2026
59ad208
Record QA-4 assertion follow-up
randlee Sep 19, 2026
150423f
Document installer fixture race redesign
randlee Sep 19, 2026
00b4092
Redesign installer executable fixtures
randlee Sep 20, 2026
92d72cc
Record installer fixture race closeout
randlee Sep 20, 2026
90d8113
Record installer validation evidence
randlee Sep 20, 2026
d2a6a8d
ci: run checks for every pull request target
randlee Sep 20, 2026
a4297f4
Merge pull request #182 from randlee/chore/ci-all-pr-targets
rand-lee Sep 20, 2026
4706648
Merge pull request #180 from randlee/fix/installer-exec-fixture-race
rand-lee Sep 20, 2026
a90a7e7
chore: port beads-backed ATM orchestration
randlee Sep 19, 2026
2ecd624
chore: complete orchestration agent port
randlee Sep 19, 2026
122bbff
chore: reconcile orchestration port dependencies
randlee Sep 19, 2026
4d45ed2
chore: keep orchestration port independent of beads
randlee Sep 19, 2026
6a2c1df
chore: pair task assignment with beads lifecycle
randlee Sep 19, 2026
6e38d36
fix: keep failed QA from unblocking merge
randlee Sep 19, 2026
8598fce
chore: use pane beads actor configuration
randlee Sep 19, 2026
790178b
test: cover orchestration scripts and templates
randlee Sep 19, 2026
03a8c13
style: remove extra orchestration EOF blank lines
randlee Sep 19, 2026
9b5cd47
test: run ported orchestration pytest suites
randlee Sep 19, 2026
2b8faa4
test: align reviewer template contracts
randlee Sep 19, 2026
7f89d48
test: enforce orchestration template contracts
randlee Sep 19, 2026
3f7d463
docs: complete orchestration script test plan
randlee Sep 19, 2026
14d0d2a
test: enforce dev-host triage CLI policy
randlee Sep 19, 2026
473fd52
fix: reject empty triage findings directories
randlee Sep 19, 2026
da0eceb
fix: improve roster check diagnostics
randlee Sep 19, 2026
626568a
ci: install pinned sc-compose for orchestration tests
randlee Sep 19, 2026
102bc77
test: enforce dev-host CLI policy
randlee Sep 19, 2026
cc0f5d4
test: cover orchestration CLI policy
randlee Sep 19, 2026
8efb9af
fix: complete orchestration CLI policy merge
randlee Sep 19, 2026
5a06d6e
fix: make roster diagnostic test Windows-safe
randlee Sep 19, 2026
b7d7ce2
test: enforce template JSON contracts without atm
randlee Sep 19, 2026
b2b84b0
chore: restore upstream orchestration contracts
randlee Sep 20, 2026
2ebe1fe
fix: restore quality manager reviewer ordering
randlee Sep 20, 2026
d11400e
fix: remove duplicate QA reviewer
randlee Sep 20, 2026
f316ba1
docs: record orchestration upstream alignment
randlee Sep 20, 2026
3e5a3c8
fix: retain roster diagnostics as technical behavior
randlee Sep 20, 2026
816508f
fix: retain valid stack guidance link
randlee Sep 20, 2026
74bfd41
fix(boundary): support reference impl owners without graph collisions
randlee Sep 19, 2026
89ee19f
fix(boundary): distinguish trait methods and qualified forwarding edges
randlee Sep 19, 2026
2f51973
fix(boundary): bump graph schema for trait identities
randlee Sep 19, 2026
bd48120
fix(boundary): harden trait method resolution
randlee Sep 19, 2026
15e4000
fix(boundary): track reference impls structurally
randlee Sep 19, 2026
e2477c3
Merge pull request #164 from randlee/fix/trait-identity-gap-tests
randlee Sep 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .agents/skills/beads/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
name: beads
description: Use when working in a repository that uses bd or Beads for durable project task tracking, issue dependencies, blocker management, multi-session handoff, or shared work memory. Trigger when the user asks to find ready work, claim or close tasks, create follow-up work, inspect blockers, recover project context, or choose between local planning and persistent project tracking.
---

# Beads

Use Beads as the shared project task system. Local plans, scratch files, and personal memories are useful, but they are not the durable source of truth for project work.

## First Step

Run:

```bash
bd prime
```

If that prints nothing, check whether the repository has an active Beads workspace:

```bash
bd where
```

## Preferred Route

Use the `bd` CLI when shell access is available. It is the most compact and direct Beads interface.

## Core CLI Workflow

1. Find work:

```bash
bd ready
bd list --status=open
bd list --status=in_progress
```

2. Inspect before editing:

```bash
bd show <id>
```

3. Claim work atomically:

```bash
bd update <id> --claim
```

4. Create durable follow-up work when implementation reveals new tasks:

```bash
bd create "Short title" --description="Why this exists and what needs to be done" --type=task --priority=2
```

5. Close completed work:

```bash
bd close <id> --reason="Completed"
```

## What Belongs In Beads

Use Beads for:

- shared project tasks
- blockers and dependencies
- discovered follow-up work
- work that must survive thread reset, compaction, or handoff
- status that another person or agent should be able to resume

Use agent-local planning tools only for the current turn's execution checklist. Do not treat them as shared project state.

## Rules

- Do not create markdown TODO files as the source of truth when Beads is available.
- Do not use `bd edit`; it opens an interactive editor. Use `bd update` flags instead.
- Prefer `--json` when parsing `bd` output programmatically.
- If hooks are installed, `bd prime` may already be injected. Run it manually when context is missing.
- Do not auto-close or mutate tasks unless the work is actually complete.
4 changes: 4 additions & 0 deletions .agents/skills/beads/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "Beads"
short_description: "Project task tracking with bd"
default_prompt: "Use $beads to inspect ready work and manage durable project tasks."
37 changes: 32 additions & 5 deletions .atm.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,57 @@ default_team = "sc-lint"
[rmux]
session = "sc-lint"

# Window 1: Core agents
[[rmux.windows]]
name = "agents"
layout = "even-horizontal"

[[rmux.windows.panes]]
name = "team-lead"
alias = "lint-lead"
model = "sonnet"
env = { ATM_IDENTITY = "team-lead", ATM_TEAM = "sc-lint", CLAUDE_CODE_TASK_LIST_ID = "sc-lint" }

[[rmux.windows.panes]]
name = "clint"
tmux_pane_id = "%46"
command = "codex -c features.codex_hooks=true --yolo"
command = "codex -c features.hooks=true --model gpt-5.6-terra --yolo"
env = { ATM_IDENTITY = "clint", ATM_TEAM = "sc-lint", CLAUDE_CODE_TASK_LIST_ID = "sc-lint" }

[[rmux.windows.panes]]
name = "quality-mgr"
alias = "lint-quality-mgr"
model = "sonnet"
env = { ATM_IDENTITY = "quality-mgr", ATM_TEAM = "sc-lint", CLAUDE_CODE_TASK_LIST_ID = "sc-lint" }

# Window 2: Specialists
[[rmux.windows]]
name = "support"
layout = "even-horizontal"

[[rmux.windows.panes]]
name = "cfast"
command = "codex -c features.codex_hooks=true --yolo"
command = "codex -c features.hooks=true --model gpt-5.6-luna --yolo"
env = { ATM_IDENTITY = "cfast", ATM_TEAM = "sc-lint", CLAUDE_CODE_TASK_LIST_ID = "sc-lint" }

[[rmux.windows.panes]]
name = "quality-mgr"
name = "flint"
model = "fable"
env = { ATM_IDENTITY = "flint", ATM_TEAM = "sc-lint", CLAUDE_CODE_TASK_LIST_ID = "sc-lint" }

# Window 3: Publishing
[[rmux.windows]]
name = "publishing"
layout = "even-horizontal"

[[rmux.windows.panes]]
name = "publisher"
alias = "lint-publisher"
model = "sonnet"
env = { ATM_IDENTITY = "quality-mgr", ATM_TEAM = "sc-lint", CLAUDE_CODE_TASK_LIST_ID = "sc-lint" }
env = { ATM_IDENTITY = "publisher", ATM_TEAM = "sc-lint", CLAUDE_CODE_TASK_LIST_ID = "sc-lint" }

[[rmux.windows.panes]]
name = "spare"
env = { ATM_TEAM = "sc-lint" }

[startup.team-lead]
all = ["Read /codex-orchestration SKILL.md"]
81 changes: 81 additions & 0 deletions .beads/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Dolt database (managed by Dolt, not git)
dolt/
embeddeddolt/
proxieddb/

# Runtime files
bd.sock
bd.sock.startlock
sync-state.json
last-touched
.exclusive-lock

# Daemon runtime (lock, log, pid)
daemon.*

# Push state (runtime, per-machine)
push-state.json

# Lock files (various runtime locks)
*.lock

# Credential key (encryption key for federation peer auth — never commit)
.beads-credential-key

# Local version tracking (prevents upgrade notification spam after git ops)
.local_version

proxied_server_client_info.json

# Worktree redirect file (contains relative path to main repo's .beads/)
# Must not be committed as paths would be wrong in other clones
redirect

# Sync state (local-only, per-machine)
# These files are machine-specific and should not be shared across clones
.sync.lock

# Workspace operation gate (internal/workspacegate): physical-root gate
# files live beside the guarded root inside .beads (e.g. dolt.gate.lock)
*.gate.lock*
export-state/
export-state.json
last_pull

# Ephemeral store (SQLite - wisps/molecules, intentionally not versioned)
ephemeral.sqlite3
ephemeral.sqlite3-journal
ephemeral.sqlite3-wal
ephemeral.sqlite3-shm

# Dolt server management (auto-started by bd)
dolt-server.pid
dolt-server.log
dolt-server.lock
dolt-server.port
dolt-server.activity

# Debug-mode pprof artifacts (written when dolt.debug: true in config.yaml)
dolt-pprof/

# Corrupt backup directories (created by bd doctor --fix recovery)
*.corrupt.backup/

# Backup data (auto-exported JSONL, local-only)
backup/

# Per-project environment file (Dolt connection config, GH#2520)
.env

# Legacy files (from pre-Dolt versions)
*.db
*.db?*
*.db-journal
*.db-wal
*.db-shm
db.sqlite
bd.db
# NOTE: Do NOT add negation patterns here.
# They would override fork protection in .git/info/exclude.
# Config files (metadata.json, config.yaml) are tracked by git by default
# since no pattern above ignores them.
81 changes: 81 additions & 0 deletions .beads/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Beads - AI-Native Issue Tracking

Welcome to Beads! This repository uses **Beads** for issue tracking - a modern, AI-native tool designed to live directly in your codebase alongside your code.

## What is Beads?

Beads is issue tracking that lives in your repo, making it perfect for AI coding agents and developers who want their issues close to their code. No web UI required - everything works through the CLI and integrates seamlessly with git.

**Learn more:** [github.com/steveyegge/beads](https://github.com/steveyegge/beads)

## Quick Start

### Essential Commands

```bash
# Create new issues
bd create "Add user authentication"

# View all issues
bd list

# View issue details
bd show <issue-id>

# Update issue status
bd update <issue-id> --claim
bd update <issue-id> --status done

# Sync with Dolt remote
bd dolt push
```

### Working with Issues

Issues in Beads are:
- **Git-native**: Stored in Dolt database with version control and branching
- **AI-friendly**: CLI-first design works perfectly with AI coding agents
- **Branch-aware**: Issues can follow your branch workflow
- **Sync-ready**: Uses Dolt remotes for backup and team sharing

## Why Beads?

✨ **AI-Native Design**
- Built specifically for AI-assisted development workflows
- CLI-first interface works seamlessly with AI coding agents
- No context switching to web UIs

🚀 **Developer Focused**
- Issues live in your repo, right next to your code
- Works offline, syncs when you push
- Fast, lightweight, and stays out of your way

🔧 **Git Integration**
- Dolt-native sync via bd dolt push / bd dolt pull
- Branch-aware issue tracking
- Dolt-native three-way merge resolution

## Get Started with Beads

Try Beads in your own projects:

```bash
# Install Beads
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash

# Initialize in your repo
bd init

# Create your first issue
bd create "Try out Beads"
```

## Learn More

- **Documentation**: [github.com/steveyegge/beads/docs](https://github.com/steveyegge/beads/tree/main/docs)
- **Quick Start Guide**: Run `bd quickstart`
- **Examples**: [github.com/steveyegge/beads/examples](https://github.com/steveyegge/beads/tree/main/examples)

---

*Beads: Issue tracking that moves at the speed of thought* ⚡
76 changes: 76 additions & 0 deletions .beads/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Beads Configuration File
# This file configures default behavior for all bd commands in this repository
# All settings can also be set via environment variables (BD_* prefix)
# or overridden with command-line flags

# Issue prefix for this repository (used by bd init)
# If not set, bd init will auto-detect from directory name
# Example: issue-prefix: "myproject" creates issues like "myproject-1", "myproject-2", etc.
# issue-prefix: ""

# Use no-db mode: JSONL-only, no Dolt database
# When true, .beads/issues.jsonl is the only local store
# no-db: false

# Enable JSON output by default
# json: false

# Feedback title formatting for mutating commands (create/update/close/dep/edit)
# 0 = hide titles, N > 0 = truncate to N characters
# output:
# title-length: 255

# Default actor for audit trails (overridden by BEADS_ACTOR or --actor)
# actor: ""

# Optional JSONL sidecar for explicit agent/tool interaction audit records.
# Issue history is always recorded in the database and is visible with
# bd history <id> --events; this only controls .beads/interactions.jsonl.
# audit:
# enabled: false

# Export events (audit trail) to .beads/events.jsonl on each flush/sync
# When enabled, new events are appended incrementally using a high-water mark.
# Use 'bd export --events' to trigger manually regardless of this setting.
# events-export: false

# Multi-repo configuration (experimental - bd-307)
# Allows hydrating from multiple repositories and routing writes to the correct database
# repos:
# primary: "." # Primary repo (where this database lives)
# additional: # Additional repos to hydrate from (read-only)
# - ~/beads-planning # Personal planning repo
# - ~/work-planning # Work planning repo

# Dolt-native backup (periodic backup for off-machine recovery)
# This is full database backup only. Cross-machine sync uses Dolt remotes.
# backup:
# enabled: false # Disable auto-backup entirely
# interval: 15m # Minimum time between auto-backups
# git-push: false # Disable git push (backup locally only)
# git-repo: "" # Separate git repo for backups (default: project repo)

# Optional JSONL auto-export for viewers, interchange, and issue-level migration.
# Disabled by default; enable only when an integration needs fresh .beads/issues.jsonl.
# Use relative paths under .beads/ for JSONL import/export filenames.
# export:
# auto: false
# path: issues.jsonl
# interval: 60s
# git-add: false
# import:
# path: issues.jsonl

# Integration settings (access with 'bd config get/set')
# Non-secret keys (stored in the database):
# - jira.url, jira.project
# - linear.team_id
# - github.org, github.repo
#
# Secret keys (stored in this file but prefer env vars to avoid git exposure):
# - linear.api_key → use LINEAR_API_KEY env var instead
# - github.token → use GITHUB_TOKEN env var instead

dolt.shared-server: true
sync:
remote: "https://doltremoteapi.dolthub.com/randlee/sc-lint"
Loading
Loading