Conversation
Walking a stranger through `cards init` → replace the starter with the
epic/story/task ladder → create, link, claim, export surfaced three gaps:
- Definition-declared users (workspace.users, or the settings.default_user
seed) never reach the users table, and the ownership check only consulted
the table. A fresh `cards init` workspace's `me` could create cards but
not claim them. checkUserExists now accepts declared users, the workspace
snapshot merges registered + declared, and the unknown_user hint names
`cards users register` alongside POST /v1/users.
- `list -q` on an empty collection printed `{"items":[]}`, which a
`list -q | while read id` loop would feed straight to the next command.
Quiet mode now keys on the presence of `items`, not its length.
- project-practices.md told the reader to "write the JSON in this document"
but carried only a settings snippet. §2 now has the five ladder files,
extracted and verified against a fresh init end to end.
Re-pins the two claimWithRetry doc-audit anchors the service edit moved.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
…review Co-Authored-By: Claude Fable 5.1 <[email protected]>
Two threads. Thread 1 finishes Sprint A (069ec1d1, c0102825) plus the TakeNext owner check (1c877e6c, promoted to todo) and one new integration test card proving the three-call loop. Thread 2 files the README/site refresh as a parent card with four children (visuals, home + nav, README cut, using-cards split) in backlog, sequenced so the text lands after the CLI flags it documents. Closes ea7ea2a3 as already shipped. Adds a cards-8080 launch config for serving the project board by name. Co-Authored-By: Claude Fable 5.1 <[email protected]>
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
cards initworkspace could create cards asmebut not claim them: definition-declared users never reached the users table, and the ownership check only consulted that table.checkUserExistsnow accepts declared users, the workspace snapshot merges registered + declared, and theunknown_userhint namescards users register.list -qon an empty collection printed{"items":[]}, which alist -q | while read idloop would feed to the next command. Quiet mode now keys on the presence ofitems, not its length.project-practices.mdnow includes the five ladder JSON files (it previously told the reader to copy them but only shipped a settings snippet). Board snapshot closes the related cards; sprint note for 09-06 and acards-8080launch config land with it.Test plan
go test ./internal/core ./internal/cli ./internal/docauditcards initworkspace: create a card as the declared default user, then claim it (cards take/ owner patch) without registering firstcards list -qon an empty board prints nothing (no{"items":[]})internal/agentguide/skill/references/project-practices.md§2 match a working epic/story/task initMade with Cursor