neurocore.skills.builtin.approval

ApprovalSkill — a human-in-the-loop gate that pauses a run for sign-off.

On first execution the skill suspends the run (context.suspend). The executor persists a SUSPENDED run; a human then approves or rejects via neurocore runs approve <run_id>, which resumes the run with a decision in resume_data. Approval continues the flow; rejection (when require is true) fails the run.

Works on both execution paths: flowengine checkpoints the sync path, and NeuroCore’s async/DAG executor detects metadata.suspended after the step.

Blueprint usage — explicit component:

components:
  - name: human_review
    type: approval
    config:
      message: "Approve sending the email?"
      require: true

or the approval: step sugar (desugars to the same component):

flow:
  steps:
    - component: draft_answer
    - approval: {name: human_review, require: true}
    - component: send_email

Classes

ApprovalSkill

Suspend the run until a human approval decision is supplied.