Skip to content

Make first-run commands actually work; add isolated lifecycle tests - #2

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/first-run-lifecycle-ci-34c1
Aug 13, 2026
Merged

Make first-run commands actually work; add isolated lifecycle tests#2
cursor[bot] merged 1 commit into
mainfrom
cursor/first-run-lifecycle-ci-34c1

Conversation

@andersyin

Copy link
Copy Markdown
Owner

Summary

CI on main was already green (28 contract-constant tests). A clone still could not complete the documented first run:

  • board-task-create.py requires --created-by, --required-caps, --body, and a v3 contract (work-key / acceptance / output / evidence). The README omitted them.
  • Claim is not a transition action. board-task-transition.py --action claim --agent ... --verdict PASS is rejected by argparse.
  • created-by outside required-caps is cross-agent work and needs --delivery.
  • submit needs a signed PROGRESS.md plus --output-ref / --evidence-ref; review needs a top-level REVIEW.md. Neither file nor the template existed in-repo, though protocol.md already pointed at templates/REVIEW.md.
  • KB_ROOT is not an input to create/claim/transition. Only wake/lease-check use it when the board is installed as $KB_ROOT/.kb/board.

No new product features. Zero extra runtime dependencies.

Type of change

  • Bug fix
  • New feature
  • Documentation improvement
  • Other (CI compileall, cheap lifecycle tests)

What changed

First-run / docs

  • README and examples/README.md now use the real CLIs: board-task-claim.py, --actor / --result pass, --delivery return_result, and the PROGRESS/REVIEW file gates.
  • Clarify that this clone's board/ is the default --board-root; KB_ROOT is only for wake/lease-check in a knowledge-base layout.
  • Add board/templates/REVIEW.md (the file protocol.md already described).
  • Fix docs/SKILL.md link references/protocol.mdprotocol.md.
  • board/README.md standalone-clone note; workbuddy setup display roles L3 to match AGENT_CONTRACTS.

Tests / CI

  • tests/test_lifecycle.py: isolated --board-root create → claim → submit → self-review rejected → independent review → idempotent retry. Also rejects unregistered created-by and missing v3 contract fields.
  • tests/test_docs.py: README/examples cannot regress to --action claim / --verdict PASS.
  • CI: permissions: contents: read and python -m compileall -q board tests before pytest (hyphenated scripts are not imported by the old tests).

Robustness

  • board-lease-check-runner.sh exits 1 with a message if KB_ROOT is unset (previously cd "" and a surprising relative path).
  • Raw docstring on archived trae-wake-proxy.py so compileall is clean.
  • pyproject.toml: optional test extra, pytest testpaths, POSIX classifier (fcntl).

Testing

python3 -m compileall -q board tests
python3 -m pytest tests/ -v

36 passed locally (Python 3.12). Please confirm GitHub Actions is green on this PR before merging.

After merge, a smoke test is: follow the README quickstart against --board-root /tmp/my-board (or the default board/ directory).

Checklist

  • No external runtime dependencies added (zero-dep policy)
  • First-run commands match the actual CLIs
  • Cheap tests cover create/claim/submit/review on an isolated board
  • README updated

Do not merge until you have reviewed — this is the last original repo after md-reader.

Open in Web Open in Cursor 

The README quickstart could not create, claim, submit, or review a task:
claim is a separate script, transition uses --actor/--result, and v3
create requires registered agents plus delivery for cross-agent work.
Add an isolated-board pytest path, compileall in CI, and the REVIEW
template the protocol already described.

Co-authored-by: andersyin <andersyin@users.noreply.github.com>
@cursor
cursor Bot merged commit 9b92d86 into main Aug 13, 2026
4 checks passed
@andersyin
andersyin deleted the cursor/first-run-lifecycle-ci-34c1 branch August 22, 2026 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants