Repository navigation
Conversation
A proposal is an open sprint labelled proposal with no task under it, a state derived on read (item.Unstarted), so no schema change and nothing in work.Check. The site groups open proposals in one collapsed Proposed section on the overview and the project page, shows a dropped one among the closed sprints with its reason, and the day page names proposed, started and dropped. The day's activity text moves from cli to site (activity.go) so the summary and the day page share the proposal rows, and FirstSentence to records so the site can cut a goal; both free room in the cli package, which sits at its size cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An agent that sees work the repo needs outside its task now records it as a proposal: pm sprint propose writes the sprint labelled proposal, its frame and the Evidence as its first finding, and prints the project's other proposals and open sprints so a duplicate is dropped at once. pm show (every level, --json too) leaves proposals out, so the running work stays what session start shows; the first task starts one. pm sprint close --dropped closes a proposal nobody started as not done, with its reason and no report; a PR review cannot name one. Every command argument that takes an item id is classed for a proposal in internal/cli/testdata/proposal_commands.json: a Go test holds the cases to the command tree, and tests/test_proposals.py runs each against a real store. prime.md gains the rule and sends pm feedback to pm itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Evidence that opens with a fence rendered broken: its first line sat on the bullet's line and the closing fence opened a new block. The entry now reads "- Proposal evidence:" with the Evidence below it, all indented. A dropped proposal no longer makes its project read RUNNING, and Items.Unstarted checks the type before scanning children, so site.State on a task stays cheap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A start by pm task move was dated from the moved task's creation, a day before the proposal or after it, so the day page named the wrong day or none. pm task move now leaves a move note on the item, in the store's own write, and item.Arrived dates the task's coming under the sprint by it; a task made in the sprint keeps its creation date. A drop writes no records, so it now refuses while a need under the proposal is open, naming pm need close --dropped, and while a design page draft is tagged with it, which no later close would publish. OpenSprintRows moves the duplicate list's rows to site, keeping cli under its cap. A sprint page with no tasks says so instead of drawing one empty box. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The cli package sits at its size cap, and pm where's report, with the site URL it shares with pm show and pm record link, reads only the clone's files and services: a seam of its own. No behaviour changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The ratcheted linters read the moved code as new: All was past funlen's cap and UserHomeDir's error went unchecked. Same output as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The owner decided that a proposal becomes ordinary work only when they say so: pm sprint promote deletes the label proposal and leaves a dated note, pm sprint promote, in one store write. A proposal is now simply an open sprint carrying the label; pm task add --sprint and pm task move --to refuse one, naming the promote. The day page dates a sprint's start by the promote note, so the move note on every task move goes: the start no longer depends on tasks. Dropped is closed with the label, and a reopen makes it a proposal again. The item-id class table gains sprint promote and refuses task add and task move into a proposal; prime.md's rule now says to promote only when the owner asks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
What
pm sprint propose <project> --title "…": an agent records something the repo needs, outside its task, as a sprint: the frame plus## Evidence(the sprint's first finding). Its output lists the project's open sprints and proposals for the duplicate check.proposal: no schema change, nothing new inwork.Check.pm sprint promote <id>(run when the owner asks) removes the label and makes it an ordinary sprint;pm task addandpm task moveinto a proposal are refused until then.pm show(every level,--json) andpm task readyleave proposals out;pm show --sprint IDshows one.pm sprint close --dropped --reasondrops one (refused while a need or a design draft holds it);pm sprint reopenrestores it.pm where's report moved tointernal/cli/whereunchanged, to keepinternal/cliunder its size cap.prime.md: the propose rule;pm feedbackis for pm itself.internal/cli/testdata/proposal_commands.json; a test fails on an unclassed one.Design: the
sprint-proposalsdesign page (draft until the sprint closes);sprint-lifecycle,work-store,pm-cli,views-and-siteupdated.Evidence
make test: 163 passed.make test-go: 20 packages ok.make lint: clean.tests/test_proposals.py: 8 passed.tests/test_hooks.py: 25 passed.make test163 passed,make test-gook,make lintclean,tests/test_proposals.py8 passed; CI green on 3a07c32.🤖 Generated with Claude Code