stella proposals
Review what the adaptive-context loop wants to make durable before it lands — the proposals it induced, the evidence behind each, and Keep/Edit/Ignore as immutable events.
stella proposals is the review surface for the adaptive-context loop. As you work, the loop reflects on turns and induces proposals: things it believes are worth making durable. This command shows you what is pending, the evidence behind each one, and lets you accept it, reword it, or decline it — before it steers anything.
Every decision is recorded as an immutable event, so the review history replays exactly and Ignore is reversible rather than permanent. Offline: reads and appends to .stella/private/context.db only, no API key.
Synopsis
stella proposals list [--all] [--limit <n>]
stella proposals keep <id> [--reason <text>]
stella proposals edit <id> <body> [--reason <text>]
stella proposals ignore <id> [--reason <text>]
stella proposals refreshWhat it does
A learning loop that silently rewrites its own steering is not auditable. The design here is the opposite: the loop may propose, but adoption is a decision a person makes on the record. That is why every verb takes a reason and why nothing is ever destroyed — a governance decision with no reason is not auditable, and a decision that cannot be revisited is not a review.
A proposal must recur across distinct tasks to be induced at all, not merely many times within one. One task that mentions the same thing twenty times is one piece of evidence, not twenty.
stella proposals list
Show pending proposals with the evidence behind each.
--allInclude proposals that have already been decided on, not just the pending ones.
--limit <n>Maximum proposals to show.
Default 20
stella proposals list
stella proposals list --all --limit 100stella proposals keep
Accept a proposal as written. Recorded as an advisory confirmation — it becomes active steering, at advisory enforcement.
<id>RequiredThe proposal's candidate id, as shown by list.
--reason <text>Why. Recorded on the event.
Default kept from the review surface
stella proposals keep cand-3f21 --reason "matches how we actually release"stella proposals edit
Accept a proposal with different wording. The replacement text is what becomes durable; the original stays in the ledger.
<id>RequiredThe proposal's candidate id.
<body>RequiredThe replacement text.
--reason <text>Why.
Default edited from the review surface
stella proposals edit cand-3f21 "Run \`make gate\` before pushing — not \`cargo test\` alone."stella proposals ignore
Decline a proposal. It will not be re-proposed while the decision stands — and because the decision is an event rather than a deletion, you can revisit it.
<id>RequiredThe proposal's candidate id.
--reason <text>Why.
Default declined from the review surface
stella proposals ignore cand-7ab0 --reason "true last quarter, not now"stella proposals refresh
Extract observations from the reflection log and induce proposals over them, without waiting for a turn to reflect.
The loop already does this after every reflection. This verb exists so the review surface is usable on its own: "show me what is pending" is a useless question if the only way to populate it is to run a turn and hope. Replay-idempotent like the loop's own pass — running it twice changes nothing.
stella proposals refresh && stella proposals listcontext.lifecycle.enabled: false in settings.json restores every pre-adaptive behavior wholesale, including turning induction off.
Not the same as stella ingest
stella ingest and stella proposals are two different review surfaces with two different authority models, and they do not share storage. stella proposals reads the adaptive-context ledger in .stella/private/context.db — what the loop induced from your sessions. Ingest writes TOML proposals to .stella/proposals/ from documents, and those are reviewed by editing the files. A document you ingest will not appear here.
Related
stella ingest
Turn markdown you already wrote — AGENTS.md, CLAUDE.md, or any file you name — into reviewable context-record proposals Stella can check, cite, and retire.
stella tune
Eval-driven self-tuning of Stella's own policy — A/B one knob over two loop-bench runs, promote the winner only when it confidently wins, and roll it back on the record.