✕Cross Docs

Tasks

Find, start, note, block and close tasks (PMO calls them activities).

liveReferenceLast verified 21 Oct 2026
View as Markdown

Find, start, note, block and close tasks (PMO calls them activities). On your own computer, pmo help <command> prints the same text, for example pmo help next.

pmo next

Hand back the one activity to work on now.

pmo next [--eng <slug>] [--module <id>] [--track <t>] [--assignee <id>] [--status <s>] [--phase <p>] [--q <text>] [--mine] [--claim] [--take]

Example

pmo next --module retrieval-v1 --claim --as agent:rag

pmo list

List activities matching a query.

pmo list [<word>] [--eng <slug>] [--module <id>] [--track <t>] [--assignee <id>] [--status <s>] [--phase <p>] [--kind <kind>|none] [--stage <stage>] [--q <text>] [--limit <n>] [--all]

Example

pmo list --client example --group-by module

`pmo help filters` prints these filters in full, and the bare-word search.

pmo show

One activity in full, with its history.

pmo show <id> [--eng <slug>] [--history]

Example

pmo show ret-t01 --history

pmo asks

The activities waiting on a person's answer.

pmo asks [--mine | --to <person>] [--eng <slug>]

Example

pmo asks --mine --as person:you

pmo set

Write one field, or one of the atomic combinations.

pmo set <id> <field=value> [<field=value>…] [--if-match <digest>] [--note <text>]

Example

pmo set ret-t01 status=in_progress --as agent:rag
pmo set ret-t01 estimate_days=3 remaining_days=1.5 --as agent:rag   # working days; empty clears
pmo set ret-t01 estimate_low_h=160 estimate_mid_h=240 estimate_high_h=360 --as person:you   # all three, or none
pmo set ret-t01 estimate_low_h= estimate_mid_h= estimate_high_h= --as person:you            # clear the estimate
pmo set ret-t01 complexity=high --as person:you                                              # low | medium | high
pmo set ret-t01 wait_low_d=5 wait_mid_d=10 wait_high_d=20 --as agent:rag                        # waiting on the client: calendar days, all three or none; never hours
pmo set ret-t01 estimate_low_h= estimate_mid_h= estimate_high_h= wait_low_d=3 wait_mid_d=5 wait_high_d=10 --as person:you   # hours that were really a wait: one write, nothing converted
pmo set ret-t01 kind=code stage=implementation --as agent:rag                                   # code | design | qa | customer | release | decision
pmo set ret-t01 stage=code_review --as agent:rag                                                # a stage on its kind's road; closing a code task moves it to Merged
pmo set ret-t01 kind= stage= --as person:you                                                 # clear both
pmo set ret-t01 client_visible=false --as agent:rag                                             # Internal only: never on the client's report
pmo set ret-t01 after=ret-t02,ret-t03+3d --as agent:rag                                         # waits for ret-t02, and for ret-t03 then 3 calendar days
pmo set ret-t01 after= --as agent:rag                                                           # waits for nothing

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo start

Move an activity to in_progress.

pmo start <id> [--eng <slug>] [--take]

pmo done

Close an activity, with the evidence that closes it.

pmo done <id> --evidence "<what proves it>" [--criteria-met]

Example

pmo done ret-t01 --evidence "paired McNemar, p=0.011" --criteria-met --as agent:rag
pmo done example-077 --evidence "repo=https://dev.azure.com/example/lakehouse/_git/adb-advancedanalytics commit=<its recorded last commit>" --as agent:delivery
# an activity with a repository link closes on its recorded last commit
pmo done ret-t01 --evidence "https://github.com/<org>/<repo>/pull/<n> commit=<40 hex head> evidence=<64 hex>" --as agent:rag
# an agent's pull-request close: green checks on that head, the PR naming the activity id and
# targeting the intake profile's base_branch (dev when the profile names none);
# evidence=<64 hex> is checked for its shape only — nothing reads its value

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo block

Mark an activity blocked, with the reason, as one write.

pmo block <id> --reason "<why>"

Example

pmo block ret-t01 --reason "waiting on the gold set" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo unblock

Clear a block and the reason, as one write.

pmo unblock <id> [--to open|in_progress]

Example

pmo unblock ret-t01 --to in_progress --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo hold

Put an activity on hold, with the reason, as one write.

pmo hold <id> --reason "<why>"

Example

pmo hold ret-t01 --reason "parked until the Q4 budget lands" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo resume

Take an activity off hold and clear the reason, as one write.

pmo resume <id> [--to open|in_progress]

Example

pmo resume ret-t01 --to in_progress --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo ask

Ask a person a question on an activity, and pause it until they answer.

pmo ask <id> "<question>" --to <person>

Example

pmo ask ret-t01 "Staging or prod for the dry run?" --to you --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo answer

Answer the open ask on an activity and resume it.

pmo answer <id> "<answer>" --as person:<you>

Example

pmo answer ret-t01 "Staging — prod after the readout" --as person:you

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo note

Append a line to an activity's notes.

pmo note <id> "<text>" [--replace]

Example

pmo note ret-t01 "re-blessed at 0.757" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo create

Create an activity under a feature; PMO gives it the handle <client>-<project>-<module>-<n>.

pmo create --eng <slug> --feature <id> --text "<a plain-English title anyone can read>" [--module <id>] [--owner <id>] [--due <iso>] [--estimate <days>] [--remaining <days>]

Example

pmo create --eng accelerator --feature acc-feat-002 --text "Check search answers are as good as last week" --estimate 2 --as agent:rag
# every new activity belongs to a feature — --feature is required, and the module is the feature's
# unless --module names it; list them with `pmo feature list --eng accelerator --module <id>`
# an activity's feature can be changed (`pmo set <id> feature=<id>`), never cleared
# PMO gives it the module's next handle, <client>-<project>-<module>-<n> (cross-vault-retrieval-7);
# there is no --id, and a number is never given twice

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo archive

Archive an activity — the reversible delete, and the only one.

pmo archive <id> [--eng <slug>]

pmo unarchive

Bring an archived activity back exactly as it was.

pmo unarchive <id> [--eng <slug>]

pmo plan

Say whether a task was in the agreed plan or taken on later.

pmo plan <id> planned|later|unreviewed [--eng <slug>] [--note "<why>"]

Example

pmo plan acc-158 later --note "asked for in the review, not in the plan" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo after add

Add one activity this one waits on.

pmo after add <id> <waits-on-id>

pmo after remove

Stop waiting on one activity.

pmo after remove <id> <waits-on-id>

pmo adr add

Reference an ADR from an activity, a feature or a module.

pmo adr add <activity-id> <repo>:<NNNN> | pmo adr add --feature <id>|--module <id> <repo>:<NNNN> [--eng <slug>]

Example

pmo adr add ret-l02 vault:0171 --as agent:rag
pmo adr add --feature acc-feat-reranker-v2 vault:0171 --eng accelerator --as agent:rag
pmo adr add --module retrieval-v1 pmo:0005 --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo adr remove

Stop referencing an ADR from an activity, a feature or a module.

pmo adr remove <activity-id> <repo>:<NNNN> | pmo adr remove --feature <id>|--module <id> <repo>:<NNNN> [--eng <slug>]

Example

pmo adr remove --module retrieval-v1 pmo:0005 --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo evidence add

Attach what was actually done, with the hours if they were measured.

pmo evidence add <id> --session <sid> --summary "<what was done>" [--hours <n> --hours-basis vcu_tokens|vcu_engineering --hours-status verified|first_valuation] [--source view|session|person]

Example

pmo evidence add ret-t01 --session s-2026-09-10 --summary "ran E2" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo evidence accept

Accept one piece of evidence — never a status change.

pmo evidence accept <id> <n> --as person:<id>

Example

pmo evidence accept ret-t01 0 --as person:you

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.

pmo move

Move activities to another engagement — the id does not change.

pmo activity move <id|from..to> [<id>…] --eng <slug> --to <slug> --to-module <id> [--to-feature <id>] [--dry-run] --as person:<id>

On this page