How do I open a new sprint?
For the surrounding agile cycle (planning / execution / closure) and which cybernetic system owns the work, see Sprint planning and Sprint closure. For the build-side housekeeping that pairs with opening a new sprint, see How do I bump the project version? and How do I update submodules to latest?.
Question
How do I open a new sprint under the current version — scaffold the folder, set its mission, and link it from the version manifest?
Answer
Identify the current version and sprint via the doc tools:
./projects/ores.compass/compass.sh list --type sprint --sort path | tail -5
The lexicographically-highest sprint folder is the current one. The new sprint is current + 1 (e.g.
sprint_17followssprint_16).- Confirm the new sprint number with the user before scaffolding. Numbering is monotonic and cheap to reverse, but rolling backwards is awkward.
Scaffold the sprint. Use
compass add— it defaults--parent-dirto the current version automatically and mints a fresh:ID:, applies the right frontmatter, builds the skeleton sections, and the ancestor tag chain:projects/ores.compass/compass.sh add sprint \ --slug sprint_17 \ --title "Sprint 17" \ --description "Sprint 17 — one-sentence mission." \ --tags "v0"
Set the
Previousfield. In the scaffoldedsprint.org* Statustable, setPreviousto the id-link of the sprint that is closing:- Write the sprint mission. Open the generated
doc/agile/versions/v0/sprint_17/sprint.organd fill in* Mission(one sentence — see sprint mission in the glossary). Wire into the version manifest. Open
doc/agile/versions/v0/version.organd add the new sprint to its* Sprintslist as an id-link:- Sprint 17 — TBD.Update the agile index. Open
doc/agile/agile.organd update the* At a glancetable —Current Sprintto an id-link for the new sprint,Next sprintto plain text (the next sprint doesn't exist yet). Update#+updated:to today:Scaffold the sprint story and task for the sprint-open work itself. This is required by
compass pr create, which looks for a task doc whose#+branch:matches the current branch:./projects/ores.compass/compass.sh add story \ --parent-dir doc/agile/versions/v0/sprint_N/open_sprint_N \ --slug open_sprint_N \ --title "Open sprint N" \ --description "Scaffold sprint N, wire version manifest, move postponed stories." ./projects/ores.compass/compass.sh add task \ --parent-dir doc/agile/versions/v0/sprint_N/open_sprint_N \ --slug task_open_sprint_N \ --title "Task: Open sprint N"
Then set
#+branch:in the task file to the feature branch, link the task from the story's* Taskstable, and link the story from the sprint's** Agiletable.Move postponed stories from the previous sprint folder to the new sprint folder. For each story dir still present in
sprint_(N-1)/:git mvthe directory fromsprint_(N-1)/tosprint_N/.- In every
.orgfile inside it, update the#+filetags:tag from:sprint_(N-1):to:sprint_N:. - Update the
Parent sprintfield in the story's* Statustable to an id-link pointing to the new sprint. - Update
#+updated:to today.
Verify with
compass sprint storythat all stories now appear under the new sprint.- Promote captures into stories, if applicable. See
Agile Product Ownerfor the promotion flow (capture → story, ID preserved). - Bump the project version — see How do I bump the project version?. Land it as a separate commit on the same sprint-open PR.
- Update the
vcpkgsubmodule to latest — see How do I update submodules to latest?. Land it as a separate commit on the same new-sprint PR so the build-side housekeeping ships with the sprint open.
Script
The entry point is projects/ores.compass/compass.sh add, mapping to
src/compass.py (cmd_add), which calls ores.codegen's doc_generate
as a library. The sprint template is doc_sprint.org.mustache.
Tested by
Manual. Scaffolding via the codegen guarantees the frontmatter; a
visual check of the generated sprint.org confirms the wiring.
See also
- Sprint (glossary).
- Planning phase of the agile process.
- How do I add a doc with compass? — preferred scaffold entry point.
- How do I create a new doc? §"New sprint" — full codegen reference.
- New Sprint — the skill that drives this recipe.