A fresh ▸ start work used to branch from whatever HEAD the board's checkout happened to hold, so anything merged on GitHub or pushed by a teammate was missing from the agent's world. Now, when an origin remote exists, the launch fetches origin/main (bounded by BOARD_FETCH_TIMEOUT, default 10s) and branches from it — without ever touching the main checkout itself. No remote, a failed fetch or a timeout all fall back to branching from HEAD exactly as before: launching is never blocked by network weather. The ticker narrates honestly either way: when origin/main is ahead of the local checkout the launch line says by how much, and when the fetch had to be skipped it says that too. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
54 lines
2.2 KiB
Bash
54 lines
2.2 KiB
Bash
# Task manager settings — copy to manager/local/.env (gitignored) and edit.
|
|
# Precedence: process environment > local/.env > these defaults.
|
|
|
|
# Port the board serves on. Pinned by default so the URL is bookmarkable;
|
|
# adapters and drivers read the same value, so changing it here changes it
|
|
# everywhere at once.
|
|
BOARD_PORT=26071
|
|
|
|
# Which agent adapter runs headless jobs (core/adapters/<name>, overridable
|
|
# in local/adapters/<name>). Ships with: claude, opencode.
|
|
BOARD_AGENT_ADAPTER=claude
|
|
|
|
# The binary each adapter launches jobs with. Point them at stub scripts
|
|
# to test the board's plumbing without spending tokens.
|
|
BOARD_CLAUDE_BIN=claude
|
|
BOARD_OPENCODE_BIN=opencode
|
|
|
|
# Command prefixes headless agents may run in their worktree — the
|
|
# project's test/check commands, comma-separated, in plain neutral form
|
|
# (each adapter renders them into its vendor's permission rules; the
|
|
# git/gh grants per launch intent are built in). Headless runs have no
|
|
# human at a permission prompt, so a test runner missing from this list
|
|
# is a test the work agent cannot run.
|
|
BOARD_AGENT_COMMANDS=python3 -m unittest,python3 -m pytest
|
|
|
|
# Where work-agent worktrees are created, relative to the repo root.
|
|
BOARD_WORKTREES=.worktrees
|
|
|
|
# GitHub plumbing. The gh CLI used for PRs (stub-able like claude); the git
|
|
# remote PRs are pushed to (empty = the repo's first remote); and how often
|
|
# to poll open PRs of cards sitting in review/ for reviews and checks.
|
|
BOARD_GH_BIN=gh
|
|
BOARD_GIT_REMOTE=
|
|
BOARD_PR_POLL_INTERVAL=60
|
|
|
|
# Seconds a work-agent launch waits for `git fetch origin main` before
|
|
# giving up and branching from local HEAD. Fresh launches branch from
|
|
# origin/main when the fetch succeeds; no remote or a dead network just
|
|
# means today's behaviour, never a blocked launch.
|
|
BOARD_FETCH_TIMEOUT=10
|
|
|
|
# Seconds between disk polls of the stage directories.
|
|
BOARD_WATCH_INTERVAL=2
|
|
|
|
# In-memory caps: events kept per session, and board-level history
|
|
# (moves + agent lifecycle). Full logs always persist to local/state/.
|
|
BOARD_EVENTS_CAP=800
|
|
BOARD_HISTORY_CAP=300
|
|
|
|
# Where update.sh fetches the task-manager distribution from (a git URL).
|
|
# Updates replace manager/core/ and the top-level scripts; they never touch
|
|
# tasks/, plans/, reference/ or manager/local/.
|
|
BENCH_SOURCE=
|