Skip to content

Human approval

Praxis asks because Jira writes are easy to duplicate and hard to undo.

Quality operations below require configured private access.

Read vs preview vs write

KindExamplesConfirmation
READpraxis_doctor, praxis_*_status, praxis_jira_epicnone
PREVIEWpraxis_ba_preview, praxis_architect_preview, recovery previewnone — must not write
LOCAL EXECUTIONpraxis_quality_ensure, praxis_quality_reviewstarts a service or executes tests and persists evidence; no Jira apply
APPLYpraxis_ba_apply, praxis_architect_apply, praxis_developer_claim, praxis_developer_complete, praxis_quality_applyconfirmation=YES and, where required, previewFingerprint

Saying “yes, do it” in chat does not satisfy the Runtime contract. The Skill must call the apply tool with confirmation=YES and the fingerprint from that preview.

What YES means

You accept exactly the previewed Jira creates/updates/transitions. Reject by not calling apply. If Jira changed before this Apply, generate a new preview. If Apply was partial, retry the same fingerprint — do not generate a new preview just to “try again”.

Examples

BA apply: “I confirm BA apply only for the shown preview and the matching fingerprint.”

Architect apply: “I confirm Architect apply only for the shown WP and fingerprint.”

Developer claim: “I confirm claim only for WP-20260914-002 and the shown START_DEVELOPMENT.”

Developer complete: “I confirm complete and the Quality handoff. Do not start Quality and do not move Jira to Done.”

Quality apply: “I confirm only the shown Quality apply.” That approval is the listed issue, properties (including bookkeeping keys), managed comment, the numeric transition id, local manifest, and Quality SQLite update — not “any Done transition”.

Each role transition is a separate approval. Completing Developer does not authorize Quality review.

How to inspect proposed writes: read the preview JSON (issue types, summaries, transition names/ids). How to avoid duplicates: trust idempotent apply; do not re-run apply with a different fingerprint “just in case”.