Products
The unit everything else hangs off, and the five questions it has to answer.
The five questions
Status is one axis, stage is another
ACTIVE, PAUSED, ARCHIVED or SUNSET. Four values, and they mean what they say. Archiving is not deleting: an archived product keeps every task, decision and document it ever had, stops appearing in the places you scan daily, and can be restored whole.
TERMINAL role means finished no matter what you called it.
Next step, focus and mode
Next step - one sentence: what happens next, who does it (you, or an agent), optionally by when. Not a task and not a milestone. set_next_stepwrites it;complete_next_stepcloses it and can write the one after in the same call. Closing a step counts as movement: a product whose steps get closed is never stalled, even with an empty board - which is how work done in git reaches the record in one sentence. A step past its date raises an "overdue step" row in the attention queue; a product in development with no step wears a "no next step" flag.Focus - the few products you are pushing this week. A stamp, not a score: focused products sort first everywhere, and nothing computes it for you. Mode - DEVELOP(movement expected, a step asked for) orMAINTAIN(done and running: silence is healthy, incidents, renewals and money are the signals). It refinesACTIVEand is read only while the product is active.
Goal and numbers
set_goal, reach_goal, archive_goal, record_metric and list_metrics; money metrics ride the financials scopes.
Ideas: the funnel before a product
triage_idea) is a single act: pick the state, answer the two questions (why is this interesting, what would prove it), and optionally say when to look again. That review date lives in the temporal layer, and when it passes the idea appears in the inbox as one to revisit - a promise to yourself, kept by the queue. Nothing is scored: which idea to build is a Decision, with alternatives and confidence.
convert_idea_to_initiative), never a product of its own; a free-standing idea becomes a product (convert_idea_to_product). The server refuses the wrong one of the two (IDEA_FOR_PRODUCT, IDEA_NOT_FOR_PRODUCT), and a converted idea stays, stamped with what it became. Leaving the funnel is archive_idea with a reason - dropped, merged or stale - because "we decided against it" and "it went cold" are different facts a year later.
The weekly review
/review: every active and paused product with what moved since the last review, its next step and what happens to it now; the ideas whose review date has passed; the numbers missing this month; a summary and the stamp. Each thing you say is recorded as an entry (record_review_entry) and executed through the same write it would use anywhere else - focus and pause go through the product, park through the idea's triage - so the review owns no logic and decides nothing for you. It is organization-wide, under its own scopes, and an unfinished one is simply resumed (start_portfolio_review returns the open one). A product absent from the last two completed reviews is flagged as not reviewed lately on the home: that is the "something slipped" the mechanism exists to catch.
Health is computed, never set
Deleting
delete_product is a soft delete: the product disappears from your lists and is recoverable with restore_product. Physically destroying it is purge_product, which is a separate, deliberate act - and one an agent principal may never perform, whatever its token allows.