digest
rigger digest [<PROJECT>] [--since <DAYS>] [--json]rigger digest [<PROJECT>] [--since <DAYS>] --md <FILE>What has happened lately, at five lines per project. Five is the constraint the command is built around: read across a line of projects, a paragraph each would be the notes all over again - which is what stopped being read in the first place.
$ rigger digestSince 2026-08-28
alpha shipped v0.1.0 recorded 1 decision, 1 change waiting on you: 2 questions next: v0.2.0 · Search
Quiet: beta, gammaThe lines, in order: what shipped, what was recorded, what waits on you, what is next. A project has fewer lines when it has less to say - none of them is padding.
Under --json it prints the window and one entry per project, moved or not. With --md it also says which note it wrote.
| Field | Type | Meaning |
|---|---|---|
since |
string | The first day of the window, YYYY-MM-DD. |
projects |
array | One entry per project. |
projects[] |
object | One project’s digest. |
projects[].project |
string | The project’s name. |
projects[].facts |
object | What the window holds, as counts. |
projects[].facts.shipped |
array | Versions that shipped in the window. |
projects[].facts.shipped[] |
string | A version. |
projects[].facts.decisions |
integer | Decisions recorded in the window. |
projects[].facts.findings |
integer | Findings recorded in the window. |
projects[].facts.changes |
integer | Changes recorded in the window. |
projects[].facts.waiting |
integer | Questions waiting on the owner. |
projects[].next |
string or null | The current stage as version · title, or the bare version; null when there is none. |
projects[].lines |
array | The lines the text digest prints for the project. |
projects[].lines[] |
string | One line. |
projects[].signal |
string or null | A tier signal for the current week, such as a carrying product that stopped releasing; null when none. |
note |
object | Present only with --md: the note that was written. |
note.path |
string | The file named. |
note.changed |
boolean | False when the file already held this digest. |
Only what moved
Section titled “Only what moved”Across the whole line, a project that has shipped nothing and recorded nothing is named in one line at the end rather than given a block of its own. Seventeen projects at five lines each is not a digest, and a block that says nothing happened says it at five times the length.
Silence is still reported - a project untouched for a fortnight is not the same as one that shipped yesterday - it just costs one line instead of five.
Naming a project shows it whether or not it moved:
$ rigger digest alpha --since 30dSince 2026-08-05
alpha shipped v0.1.0 recorded 1 decision, 1 change waiting on you: 2 questions next: v0.2.0 · SearchThe window
Section titled “The window”--since takes days: 7d (the default), 30d, or a bare 30. The window is printed rather than assumed, so a digest that looks quiet can be read as “quiet in these seven days” rather than “quiet”.
Releases are counted by the day they shipped, which rigger sync reads from their tags. Events are counted by kind - the digest says how much was decided, not what; find and why answer the second question.
A stage name is shown without the asides a plan carries: v0.13.1 · MCP *(deferred from v0.13.0)* reads as v0.13.1 · MCP here. The aside belongs in the plan, not in five lines.
Into a note: --md
Section titled “Into a note: --md”The same digest, written into a markdown note - the day’s note in a vault, say - instead of printed:
$ rigger digest --md "Daily/2026-09-22.md"Added the digest since 2026-09-15 to Daily/2026-09-22.md<!-- rigger digest -->## rigger · since 2026-09-15
**alpha**- shipped v0.1.0- recorded 1 decision, 1 change- next: v0.2.0 · Search
Quiet: beta, gamma<!-- /rigger digest -->Only on an explicit command, and only into the file named: the note is the owner’s, and rigger does not go looking for a vault. The block sits between two HTML comments, which a markdown viewer does not show; they are what makes writing it again a replacement rather than a second copy. Everything outside them is left exactly as it was, and a file that does not exist yet is created.