Skip to content

Program Decision Log

A program waits on decisions: a vendor go/no-go, a scope cut, a release date. The program decision log keeps each of those calls in one place, with the person who owns it, when it is due, and what the owner expects it to change, until somebody makes the call.

The project Decisions view is a record of what a team already decided, written as notes on tasks. The program decision log tracks a call before it is made: it has an owner, a due date, and an open state. A decision can be logged here and later explained in a task note. The two features are separate and neither one feeds the other.

Open a program, then More → Decisions. The page has two lists:

  • Awaiting: decisions that are still open, soonest due first. Undated decisions come last. A decision past its due date reads Overdue.
  • Made: decisions that have been made, most recent first, each with the date it was decided.

A decision that is withdrawn leaves both lists. The record is kept, and nobody has to pretend the call was made.

A program with no decisions shows No decisions logged.

Choose Log a decision and fill in:

FieldNotes
DecisionRequired. The call being waited on, e.g. “Go or no-go on the vendor cutover”.
OwnerOptional. Any member of the program.
Due dateOptional.
Owner’s impact estimateOptional free text, e.g. “recovers 2 days · P80 back to Dec 5”.

On an awaiting decision, Mark made moves it to Made and records the date. Withdraw removes it from the log. On a made decision, Reopen moves it back to Awaiting. A made decision cannot be withdrawn directly: reopen it first.

The impact estimate is the owner’s, not the engine’s

Section titled “The impact estimate is the owner’s, not the engine’s”

TruePPM does not compute the impact estimate. It is text the owner typed, and it is always shown under the label Owner’s estimate · as of the date the decision was last changed. It is never styled like a forecast figure. Editing any field of the decision moves that date. Impact computed from a linked task or risk against the live P80 is planned separately (#4773).

The log follows the program’s roles:

ActionRole
Read the logViewer and up
Log, edit, mark made, withdraw, reopenTeam Member and up
Delete a decisionProgram Manager and up

A closed program’s log is read-only. Deleting is held one tier above editing because the log is a record. To take a decision off the log, withdraw it.

Through the API, a decision can link to one task or one risk. The linked item must belong to a project in the same program, and you must be a member of that project to set the link. A program member who is not in the linked project still sees that a task or risk is linked, but not its name.

The workspace backup archive includes the decision log. The program seed export does not include decisions yet (#4776), so a program exported and re-imported that way arrives without its decision log.

GET /api/v1/programs/{program_id}/decisions/?status=awaiting|made|withdrawn
POST /api/v1/programs/{program_id}/decisions/
GET /api/v1/programs/{program_id}/decisions/{id}/
PATCH /api/v1/programs/{program_id}/decisions/{id}/
DELETE /api/v1/programs/{program_id}/decisions/{id}/

decided_at is set by the server when status becomes made and cleared on reopen. It cannot be written directly. The full schema is in the API reference.