PRYAJA3 Approval

Добавление audit event после approval resume queueing

Human gate for repo writes, promotion gates and other risky actions. Decisions are sent to the canonical target API.

Approval state

Current decision status and linked runtime entities.

Status
approved
Kind
repo_write_apply
Responsible
Engineer Agent
Run status
completed
Mode
development
Artifacts
6
Family runs
1
Verification runs
0
Promotion
completed
Human notification
pending
approvedcode.patchOpen runOpen task cardJSON reportMarkdown report

Decision

Approve, request changes or reject. The API keeps approval, run, checkpoint and audit state in sync.

This approval is already terminal.

Follow-up actions

Canonical execution controls for approved repo writes, promotion gates and checkpoint resume. Destructive steps still pass through the target API policy layer.

Resume run
Resume the graph runtime from the durable approval checkpoint.

Request details

The proposal or gated action that requires a human decision.

Approval ID
approval-4847d69112b1
Responsible agent
Engineer Agent
Responsible role
engineer
Run ID
run-f1ab1acd
Task
Подготовь proposal patch для apps/api/app/main.py: добавь короткий audit event после approval resum…
Thread
Подготовь proposal patch для apps/api/app/main.py: добавь короткий audit event…
Step
PATCH-5
Requested
13 апр. 2026 г., 10:44
Decided
13 апр. 2026 г., 10:46
Notification
pending / attempts=0
Summary
Предлагается добавить запись короткого audit event в `apps/api/app/main.py` после постановки в очередь возобновления approval. Так как точные строки кода обработчика approval resume queueing отсутствуют в предоставленном контексте, unified_diff оставлен пустым.
Reason
Требуется подтверждение перед внесением изменений, так как точный код обработчика approval resume queueing неизвестен из контекста.
Artifact URI
urn:pryaja3:artifact:code-patch-proposal:run-f1ab1acd:PATCH-5
Readiness
needs_followup

Execution and promotion

Post-approval execution state, verification lineage and promotion readiness.

Execution
no_diff
Workspace
present
Promotion ready
no
Promotion approval
none
{
  "decision": {
    "status": "approved",
    "actor": "admin",
    "comment": "live resume smoke",
    "decided_at": "2026-04-13T10:46:04.053245+00:00"
  },
  "execution": {
    "status": "no_diff",
    "executed_at": "2026-04-13T10:46:04.208304+00:00",
    "workspace_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z",
    "report_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z/approval-apply-report.json",
    "patch_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z/proposed.patch",
    "report": {
      "approval_id": "approval-4847d69112b1",
      "run_id": "run-f1ab1acd",
      "task_id": "task-0a5e9788",
      "status": "no_diff",
      "executed_at": "2026-04-13T10:46:04.208304+00:00",
      "source_workspace_root": "/workspace",
      "isolated_workspace_root": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z",
      "proposal": {
        "title": "Добавление audit event после approval resume queueing",
        "summary": "Предлагается добавить запись короткого audit event в `apps/api/app/main.py` после постановки в очередь возобновления approval. Так как точные строки кода обработчика approval resume queueing отсутствуют в предоставленном контексте, unified_diff оставлен пустым.",
        "target_files": [
          "apps/api/app/main.py"
        ],
        "validation_plan": [
          "Запустить тесты API (apps/api/tests/test_approvals_api.py).",
          "Проверить, что при возобновлении approval создается соответствующий audit event."
        ],
        "readiness": "needs_followup",
        "confidence": 0.5
      },
      "patch": {
        "artifact_uri": "urn:pryaja3:artifact:code-patch-proposal:run-f1ab1acd:PATCH-5",
        "has_unified_diff": false,
        "patch_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z/proposed.patch",
        "result": {
          "status": "no_diff",
          "selected_strip": null,
          "dry_run_attempts": [],
          "apply_result": null
        }
      },
      "tests": {
        "status": "not_run",
        "results": []
      }
    }
  },
  "promotion": {
    "state": "completed",
    "ready_for_merge": false,
    "summary": "Archived obsolete smoke/recovery/system-test entry; not actionable for the user.",
    "source": "self",
    "root_run_id": "run-f1ab1acd",
    "source_run_id": "run-f1ab1acd",
    "task_id": "task-0a5e9788",
    "task_title": "Подготовь proposal patch для apps/api/app/main.py: добавь короткий audit event после approval resum…",
    "approval_state": "archived",
    "approval_execution_parent_run_id": null,
    "review_readiness": null,
    "engineering_readiness": null,
    "tests_overall_status": null,
    "tests_count": 0,
    "requirements": [],
    "promotion_execution_state": null,
    "promotion_execution_executed_at": null,
    "promotion_execution_workspace_path": null,
    "promotion_execution_target_root": null,
    "promotion_execution_report_path": null,
    "promotion_execution_diff_path": null,
    "promotion_bundle_artifact_ids": [],
    "updated_at": "2026-04-17T15:15:46.960347Z",
    "completed_at": "2026-04-17T15:15:46.960347Z"
  },
  "lineage": {
    "root_run_id": "run-f1ab1acd",
    "child_runs": [],
    "approval_related_runs": []
  }
}

Related artifacts

Patch proposals, execution outputs, approval state artifacts and verification reports.

approval_resume_state13 апр. 2026 г., 10:46
urn:pryaja3:artifact:approval-resume:approval-4847d69112b1:approved
isolated_workspace13 апр. 2026 г., 10:46
urn:pryaja3:artifact:isolated-workspace:approval-4847d69112b1
patch_apply_report13 апр. 2026 г., 10:46
urn:pryaja3:artifact:patch-apply-report:approval-4847d69112b1
approval_resume_execution13 апр. 2026 г., 10:46
urn:pryaja3:artifact:approval-resume-execution:approval-4847d69112b1
approval_resume_report13 апр. 2026 г., 10:46
urn:pryaja3:artifact:approval-resume-report:run-f1ab1acd:approval-4847d69112b1
Approval execution completed with no diff to apply; the isolated workspace already matched the approved proposal.
approval_resume_checkpoint13 апр. 2026 г., 10:46
urn:pryaja3:artifact:approval-resume-checkpoint:run-f1ab1acd:approval-4847d69112b1

Raw approval payload

Low-level request JSON for audit and debugging.

{
  "approval_id": "approval-4847d69112b1",
  "required": true,
  "status": "approved",
  "approval_kind": "repo_write_apply",
  "title": "Добавление audit event после approval resume queueing",
  "summary": "Предлагается добавить запись короткого audit event в `apps/api/app/main.py` после постановки в очередь возобновления approval. Так как точные строки кода обработчика approval resume queueing отсутствуют в предоставленном контексте, unified_diff оставлен пустым.",
  "reason": "Требуется подтверждение перед внесением изменений, так как точный код обработчика approval resume queueing неизвестен из контекста.",
  "artifact_uri": "urn:pryaja3:artifact:code-patch-proposal:run-f1ab1acd:PATCH-5",
  "proposal_readiness": "needs_followup",
  "decision_options": [
    "approve",
    "reject",
    "needs_changes"
  ],
  "resume_supported": true,
  "tool_name": "code.patch",
  "step_id": "PATCH-5",
  "decision": {
    "status": "approved",
    "actor": "admin",
    "comment": "live resume smoke",
    "decided_at": "2026-04-13T10:46:04.053245+00:00"
  },
  "execution": {
    "status": "no_diff",
    "executed_at": "2026-04-13T10:46:04.208304+00:00",
    "workspace_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z",
    "report_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z/approval-apply-report.json",
    "patch_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z/proposed.patch",
    "report": {
      "approval_id": "approval-4847d69112b1",
      "run_id": "run-f1ab1acd",
      "task_id": "task-0a5e9788",
      "status": "no_diff",
      "executed_at": "2026-04-13T10:46:04.208304+00:00",
      "source_workspace_root": "/workspace",
      "isolated_workspace_root": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z",
      "proposal": {
        "title": "Добавление audit event после approval resume queueing",
        "summary": "Предлагается добавить запись короткого audit event в `apps/api/app/main.py` после постановки в очередь возобновления approval. Так как точные строки кода обработчика approval resume queueing отсутствуют в предоставленном контексте, unified_diff оставлен пустым.",
        "target_files": [
          "apps/api/app/main.py"
        ],
        "validation_plan": [
          "Запустить тесты API (apps/api/tests/test_approvals_api.py).",
          "Проверить, что при возобновлении approval создается соответствующий audit event."
        ],
        "readiness": "needs_followup",
        "confidence": 0.5
      },
      "patch": {
        "artifact_uri": "urn:pryaja3:artifact:code-patch-proposal:run-f1ab1acd:PATCH-5",
        "has_unified_diff": false,
        "patch_path": "/isolated-workspaces/approval-4847d69112b1-20260413T104604Z/proposed.patch",
        "result": {
          "status": "no_diff",
          "selected_strip": null,
          "dry_run_attempts": [],
          "apply_result": null
        }
      },
      "tests": {
        "status": "not_run",
        "results": []
      }
    }
  },
  "responsible_agent": "Engineer Agent",
  "responsible_role": "engineer",
  "responsibility_source": "tool_registry_role_allowlist"
}