NNoPM

Project governance your AI agent can operate.

A lite, API-first PM tool your own agent drives — like the aws or supabase CLIs, but for project governance. Immutable audit, scoped tokens, and four-eyes approval are enforced in the data layer, not bolted onto the UI. It sits beside the tools you already run, Jira, Slack, Teams, and adds what they do not enforce: an immutable audit trail, change control, and four-eyes approval.

Read the agent APISign in →
an agent drives NoPM
$ nopm tasks rm task_8f3a \
    --reason "superseded by revised cutover plan"
⏸ delete requested — pending a checker's
  approval (four-eyes)

$ nopm approve req_2c91
✓ approved & committed
  # a different token: task:delete:approve
  # one immutable audit row written

$ nopm audit --limit 1
created_at   actor_label      action       target
2026-06-08T… checker (agent)  task.delete  task_8f3a

The same surface a human uses: 82 documented endpoints, OpenAPI, llms.txt, scoped Bearer tokens.

15 runtime dependencies, 0-dependency CLI.

agent-native
Every action is a stable REST endpoint — scoped resource:action tokens, OpenAPI, an llms.txt index, a nopm CLI. Any agent drives it over plain HTTP, identical to the console.
governed
Every mutation writes one append-only audit row. Deletes need four-eyes — a different checker approves, enforced by a Postgres CHECK constraint. Even a service key can't rewrite history.
governed triangle
Timeline, resource and budget changes pass one audit and sign-off gate. Over-allocation surfaces as a clash, spend rolls into EVM variance, a locked timeline forces a rebaseline sign-off. NoPM records who changed what and who approved it; it is not a scheduler, a timesheet system or an ERP.