Make first-run commands actually work; add isolated lifecycle tests - #2
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CI on
mainwas already green (28 contract-constant tests). A clone still could not complete the documented first run:board-task-create.pyrequires--created-by,--required-caps,--body, and a v3 contract (work-key/acceptance/output/evidence). The README omitted them.board-task-transition.py --action claim --agent ... --verdict PASSis rejected by argparse.created-byoutsiderequired-capsis cross-agent work and needs--delivery.submitneeds a signedPROGRESS.mdplus--output-ref/--evidence-ref;reviewneeds a top-levelREVIEW.md. Neither file nor the template existed in-repo, though protocol.md already pointed attemplates/REVIEW.md.KB_ROOTis 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
What changed
First-run / docs
examples/README.mdnow use the real CLIs:board-task-claim.py,--actor/--result pass,--delivery return_result, and the PROGRESS/REVIEW file gates.board/is the default--board-root;KB_ROOTis only for wake/lease-check in a knowledge-base layout.board/templates/REVIEW.md(the file protocol.md already described).docs/SKILL.mdlinkreferences/protocol.md→protocol.md.board/README.mdstandalone-clone note; workbuddy setup display roles L3 to matchAGENT_CONTRACTS.Tests / CI
tests/test_lifecycle.py: isolated--board-rootcreate → claim → submit → self-review rejected → independent review → idempotent retry. Also rejects unregisteredcreated-byand missing v3 contract fields.tests/test_docs.py: README/examples cannot regress to--action claim/--verdict PASS.permissions: contents: readandpython -m compileall -q board testsbefore pytest (hyphenated scripts are not imported by the old tests).Robustness
board-lease-check-runner.shexits 1 with a message ifKB_ROOTis unset (previouslycd ""and a surprising relative path).trae-wake-proxy.pyso compileall is clean.pyproject.toml: optionaltestextra, pytesttestpaths, POSIX classifier (fcntl).Testing
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 defaultboard/directory).Checklist
Do not merge until you have reviewed — this is the last original repo after md-reader.