Ideas
A place for work that isn't specified yet. An idea is a lightweight pre-task prompt: a half-formed thought, a piece of friction, a "someone should…". Some earn a real task later; many do not, and that is the point.
Part of the brain.
Ideas exist so that noticing something does not force you to either specify it properly right now or lose it.
Where ideas come from#
- You, via
/toryo-ideafrom inside an agent session, or board. - Any agent session, which can file one the moment it hits friction.
- The end of a coding run.
code-task's final step records process findings here rather than editing config inside a worktree that is about to be deleted, or polluting the task's pull request. Each idea records which run filed it, its PR and its attempt counts. - The session debugger, which files a rule-gap idea when it sees the same waste across several runs.
Those last two are what make this a self-improvement loop rather than a notepad: friction observed while working becomes something you can triage later.
Board's Origin panel says Filed by sequence run, links the PR, and
shows available implement, self-review and review attempt counts,
alongside other ideas from that run. toryo ideas list --origin <run id> lists
them from a terminal.
A note saying an earlier idea is already fixed ("RESOLVED IN …", "the entry
above") closes that idea instead of filing a new one, retaining only work the
note leaves open. toryo ideas add --no-split files the text verbatim.
The model#
An idea has a kind (feature, process, or rule-gap) which keeps the
triage list filterable, and a status: open, promoted, or dismissed. It is
global or scoped to one project. It can name affected files with
toryo ideas add --files a.ts,b.ts; filter with list --has-files or
list --no-files. A category describes the kind of work, and a pin
keeps it in your working set.
Capture may also include impact and effort. Board ranks scored work by impact per unit of effort, so valuable, small work rises without pretending that an unscored idea is a zero-value one.
Scores carry a source, in precedence order: operator (your score, never overwritten automatically), verified (a pass read the code), triage-model and triage (text-only judgement or arithmetic). A later write never overwrites a source that outranks it. Board can bulk-score selected ideas with an explicit agent and model choice while preserving your scores.
The text-only ceiling reserves the top two impact bands for evidence from
reading code. Text-only scores, including add --impact, are capped at 0.5.
toryo ideas update <id> --impact is your score and is uncapped.
Recurrence is counted. Filing an idea identical to an existing open one bumps a counter instead of creating a duplicate. An idea reported eleven times is telling you something an idea reported once is not.
Your working set#
Use toryo ideas pin <id>, toryo ideas unpin <id> and list --pinned to keep
a shortlist. Board has a pin toggle and bulk Pin N / Unpin N actions.
Pinning never changes ranking. Automation never sets or clears a pin, except
that merging ideas carries a pin to the survivor.
Grouped views#
Board's List / Subsystem / Category switcher offers three views of the same
ideas. Subsystem groups by the app or package named by affected files.
Category groups by kind of work, using a taxonomy proposed per scope by
toryo ideas induce-categories. Rename, merge or delete entries with
toryo ideas category, or add one with toryo ideas category-add.
Nightly triage classifies new ideas; toryo ideas classify does it on demand.
Neither overwrites a category you set. When more than 15% of classified ideas
fit no category, board asks you to re-induce. Nothing re-induces automatically.
The terminal views are toryo ideas subsystems and toryo ideas categories.
Triage#
Board's Ideas screen is where they get worked. Browse and filter, sort by impact per effort, select several for bulk scoring or combine them into one editable brief, and then act:
- Dispatch it as a
code-taskrun, straight from the composer - Copy it out into an interactive session
- Mark it promoted or dismissed
The nightly pass merges near-duplicates, scores ideas no model has scored, and files unruled ideas into categories. It flags an idea for verification when a file it names changed since filing or last verification, or left the tree. Only project-scoped ideas naming files are flagged nightly; verify others on demand.
The nightly flag budget (--max-flags, default 100) bounds each scope's
outstanding queue, including ideas already flagged. A quarter is reserved for
the oldest never-verified ideas, so higher-impact ones cannot starve them.
The report says when a scoring model did not answer instead of claiming a clean
pass. --rescore-impact re-asks ideas no model has scored;
--rescore-impact-all re-asks every model-scored idea after a rubric change.
Neither touches operator or verified scores.
Use board's Preview before Triage to inspect the proposed pass. You still decide what is promoted, dismissed, or dispatched.
Verify before closing#
Ideas can outlive the code that prompted them. Board can launch a targeted verification sweep for selected ideas, with the agent and model you choose; scheduled verification applies the same check unattended. The verifier inspects the current base and records concrete evidence. Only an evidence-backed finding that the complete premise is already satisfied can close an idea. Partial coverage, missing evidence, or an unverifiable premise keeps it open with the remaining work recorded.
Verification runs four times nightly, hourly from 04:35 to 07:35 local time,
with 25 ideas per run: up to 100 per scope per night. Scores it writes are
verified. Board's verification status bar and Verifying chip show live
runs.
An idea-backed code-task performs the same premise check before planning. It
dismisses resolved ideas, promotes the survivors into the run, and avoids
spending a worktree and planning session on work that is already done.
Ideas scoped to a project dispatch against that project. All-global ideas dispatch as a project-less run rooted at a directory you choose.
Prefer filing an idea over creating a task when the work is not specified enough to plan yet. Promoting is cheap; unpicking a badly specified task is not.
The quality gate#
toryo ideas cull, also run nightly after verification, asks whether each open
idea is worth doing at all. It closes an idea only as settled, and only when
it can quote the idea's own words reporting the work done. Not actionable
and restates an existing rule (checked against the project's directives)
are proposals, never closures.
list --cull-proposed is your queue. update <id> --clear-cull reverses either
kind of verdict; add --status open to reopen a closure. cull --dry-run shows
verdicts without writing.
Maintenance#
toryo ideas backfill-files lifts file lists from older ideas' text into their
affected files. toryo ideas backfill-impact lowers older text-only impact
scores to the 0.5 ceiling, leaving operator and verified scores alone. Both are
one-shot operations safe to re-run, and both accept --dry-run.
Day-to-day commands:
toryo ideas list --pinned --status open
toryo ideas pin <id>
toryo ideas categories
toryo ideas subsystems
toryo ideas list --cull-proposed
toryo ideas cull --dry-run
Full command surface: CLI & contract reference.