PRYAJA3 Approval

Synthetic combined apply approval

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
3
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-45eb403dc986
Responsible agent
Engineer Agent
Responsible role
engineer
Run ID
run-9e17cc06
Task
Synthetic combined approval proof
Thread
Synthetic combined approval proof
Step
PATCH-2
Requested
12 апр. 2026 г., 17:32
Decided
12 апр. 2026 г., 17:32
Notification
pending / attempts=0
Summary
Execute synthetic isolated workspace patch application through combined decision path.
Reason
Controlled approval for live combined verification.
Artifact URI
urn:pryaja3:artifact:code-patch-proposal:run-9e17cc06:PATCH-2
Readiness
proposal_ready

Execution and promotion

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

Execution
applied_verified
Workspace
present
Promotion ready
no
Promotion approval
none
{
  "decision": {
    "status": "approved",
    "actor": "synthetic-live-proof",
    "comment": "combined path verification",
    "decided_at": "2026-04-12T17:32:01.081843+00:00"
  },
  "execution": {
    "status": "applied_verified",
    "executed_at": "2026-04-12T17:32:01.233494+00:00",
    "workspace_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z",
    "report_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/approval-apply-report.json",
    "patch_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch",
    "report": {
      "approval_id": "approval-45eb403dc986",
      "run_id": "run-9e17cc06",
      "task_id": "task-63333f8e",
      "status": "applied_verified",
      "executed_at": "2026-04-12T17:32:01.233494+00:00",
      "source_workspace_root": "/workspace",
      "isolated_workspace_root": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z",
      "proposal": {
        "title": "Synthetic combined comment-only patch",
        "summary": "Insert a harmless comment into test_openproject_webhook.py for combined path verification.",
        "target_files": [
          "apps/api/tests/test_openproject_webhook.py"
        ],
        "validation_plan": [
          "Run apps/api/tests/test_openproject_webhook.py in the isolated workspace."
        ],
        "readiness": "proposal_ready",
        "confidence": 0.99
      },
      "patch": {
        "artifact_uri": "urn:pryaja3:artifact:code-patch-proposal:run-9e17cc06:PATCH-2",
        "has_unified_diff": true,
        "patch_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch",
        "result": {
          "status": "applied",
          "selected_strip": 1,
          "dry_run_attempts": [
            {
              "ok": true,
              "exit_code": 0,
              "strip": 1,
              "argv": [
                "patch",
                "--dry-run",
                "--batch",
                "--forward",
                "-p1",
                "--input",
                "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch"
              ],
              "started_at": "2026-04-12T17:32:01.233686+00:00",
              "finished_at": "2026-04-12T17:32:01.236989+00:00",
              "stdout_preview": "checking file apps/api/tests/test_openproject_webhook.py",
              "stderr_preview": ""
            }
          ],
          "apply_result": {
            "ok": true,
            "exit_code": 0,
            "strip": 1,
            "argv": [
              "patch",
              "--batch",
              "--forward",
              "-p1",
              "--input",
              "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch"
            ],
            "started_at": "2026-04-12T17:32:01.237062+00:00",
            "finished_at": "2026-04-12T17:32:01.239897+00:00",
            "stdout_preview": "patching file apps/api/tests/test_openproject_webhook.py",
            "stderr_preview": ""
          }
        }
      },
      "tests": {
        "status": "passed",
        "results": [
          {
            "path": "apps/api/tests/test_openproject_webhook.py",
            "command": [
              "python3",
              "-m",
              "unittest",
              "discover",
              "-s",
              "apps/api/tests",
              "-p",
              "test_openproject_webhook.py",
              "-v"
            ],
            "pythonpath": "apps/api",
            "start_dir": "apps/api/tests",
            "status": "passed",
            "exit_code": 0,
            "started_at": "2026-04-12T17:32:01.240199+00:00",
            "finished_at": "2026-04-12T17:32:03.140668+00:00",
            "stdout_preview": "",
            "stderr_preview": "test_normalize_openproject_webhook_builds_task_brief_and_forced_thread_binding (test_openproject_webhook.OpenProjectWebhookTests.test_normalize_openproject_webhook_builds_task_brief_and_forced_thread_binding) ... ok test_normalize_openproject_webhook_keeps_engineering_bug_in_development_mode_even_with_analysis_language (test_openproject_webhook.OpenProjectWebhookTests.test_normalize_openproject_webhook_keeps_engineering_bug_in_development_mode_even_with_analysis_language) ... ok test_webhook_endpoint_queues_once_and_deduplicates_repeated_event (test_openproject_webhook.OpenProjectWebhookTests.test_webhook_endpoint_queues_once_and_deduplicates_repeated_event) ... {\"level\": \"INFO\", \"logger\": \"app.main\", \"message\": \"request finished\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122926} {\"level\": \"INFO\", \"logger\": \"httpx\", \"message\": \"HTTP Request: POST http://testserver/v1/board/openproject/webhook \\\"HTTP/1.1 200 OK\\\"\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122927} {\"level\": \"INFO\", \"logger\": \"app.main\", \"message\": \"request finished\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122931} {\"level\": \"INFO\", \"logger\": \"httpx\", \"message\": \"HTTP Request: POST http://testserver/v1/board/openproject/webhook \\\"HTTP/1.1 200 OK\\\"\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122932} ok test_webhook_endpoint_rejects_payload_without_work_package (test_openproject_webhook.OpenProjectWebhookTests.test_webhook_endpoint_rejects_payload_without_work_package) ... {\"level\": \"INFO\", \"logger\": \"app.main\", \"message\": \"request finished\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122935} {\"level\": \"INFO\", \"logger\": \"httpx\", \"message\": \"HTTP Request: POST http://testserver/v1/board/openproject/webhook \\\"HTTP/1.1 400 Bad Request\\\"\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122936} ok ---------------------------------------------------------------------- Ran 4 tests in 0.025s OK"
          }
        ]
      }
    }
  },
  "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-9e17cc06",
    "source_run_id": "run-9e17cc06",
    "task_id": "task-63333f8e",
    "task_title": "Synthetic combined approval proof",
    "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-9e17cc06",
    "child_runs": [],
    "approval_related_runs": []
  }
}

Related artifacts

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

code_patch_proposal12 апр. 2026 г., 17:32
urn:pryaja3:artifact:code-patch-proposal:run-9e17cc06:PATCH-2
isolated_workspace12 апр. 2026 г., 17:32
urn:pryaja3:artifact:isolated-workspace:approval-45eb403dc986
patch_apply_report12 апр. 2026 г., 17:32
urn:pryaja3:artifact:patch-apply-report:approval-45eb403dc986

Raw approval payload

Low-level request JSON for audit and debugging.

{
  "approval_id": "approval-45eb403dc986",
  "required": true,
  "status": "requested",
  "approval_kind": "repo_write_apply",
  "title": "Synthetic combined apply approval",
  "summary": "Execute synthetic isolated workspace patch application through combined decision path.",
  "reason": "Controlled approval for live combined verification.",
  "artifact_uri": "urn:pryaja3:artifact:code-patch-proposal:run-9e17cc06:PATCH-2",
  "proposal_readiness": "proposal_ready",
  "decision_options": [
    "approve",
    "reject",
    "needs_changes"
  ],
  "resume_supported": true,
  "tool_name": "code.patch",
  "step_id": "PATCH-2",
  "decision": {
    "status": "approved",
    "actor": "synthetic-live-proof",
    "comment": "combined path verification",
    "decided_at": "2026-04-12T17:32:01.081843+00:00"
  },
  "execution": {
    "status": "applied_verified",
    "executed_at": "2026-04-12T17:32:01.233494+00:00",
    "workspace_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z",
    "report_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/approval-apply-report.json",
    "patch_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch",
    "report": {
      "approval_id": "approval-45eb403dc986",
      "run_id": "run-9e17cc06",
      "task_id": "task-63333f8e",
      "status": "applied_verified",
      "executed_at": "2026-04-12T17:32:01.233494+00:00",
      "source_workspace_root": "/workspace",
      "isolated_workspace_root": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z",
      "proposal": {
        "title": "Synthetic combined comment-only patch",
        "summary": "Insert a harmless comment into test_openproject_webhook.py for combined path verification.",
        "target_files": [
          "apps/api/tests/test_openproject_webhook.py"
        ],
        "validation_plan": [
          "Run apps/api/tests/test_openproject_webhook.py in the isolated workspace."
        ],
        "readiness": "proposal_ready",
        "confidence": 0.99
      },
      "patch": {
        "artifact_uri": "urn:pryaja3:artifact:code-patch-proposal:run-9e17cc06:PATCH-2",
        "has_unified_diff": true,
        "patch_path": "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch",
        "result": {
          "status": "applied",
          "selected_strip": 1,
          "dry_run_attempts": [
            {
              "ok": true,
              "exit_code": 0,
              "strip": 1,
              "argv": [
                "patch",
                "--dry-run",
                "--batch",
                "--forward",
                "-p1",
                "--input",
                "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch"
              ],
              "started_at": "2026-04-12T17:32:01.233686+00:00",
              "finished_at": "2026-04-12T17:32:01.236989+00:00",
              "stdout_preview": "checking file apps/api/tests/test_openproject_webhook.py",
              "stderr_preview": ""
            }
          ],
          "apply_result": {
            "ok": true,
            "exit_code": 0,
            "strip": 1,
            "argv": [
              "patch",
              "--batch",
              "--forward",
              "-p1",
              "--input",
              "/isolated-workspaces/approval-45eb403dc986-20260412T173201Z/proposed.patch"
            ],
            "started_at": "2026-04-12T17:32:01.237062+00:00",
            "finished_at": "2026-04-12T17:32:01.239897+00:00",
            "stdout_preview": "patching file apps/api/tests/test_openproject_webhook.py",
            "stderr_preview": ""
          }
        }
      },
      "tests": {
        "status": "passed",
        "results": [
          {
            "path": "apps/api/tests/test_openproject_webhook.py",
            "command": [
              "python3",
              "-m",
              "unittest",
              "discover",
              "-s",
              "apps/api/tests",
              "-p",
              "test_openproject_webhook.py",
              "-v"
            ],
            "pythonpath": "apps/api",
            "start_dir": "apps/api/tests",
            "status": "passed",
            "exit_code": 0,
            "started_at": "2026-04-12T17:32:01.240199+00:00",
            "finished_at": "2026-04-12T17:32:03.140668+00:00",
            "stdout_preview": "",
            "stderr_preview": "test_normalize_openproject_webhook_builds_task_brief_and_forced_thread_binding (test_openproject_webhook.OpenProjectWebhookTests.test_normalize_openproject_webhook_builds_task_brief_and_forced_thread_binding) ... ok test_normalize_openproject_webhook_keeps_engineering_bug_in_development_mode_even_with_analysis_language (test_openproject_webhook.OpenProjectWebhookTests.test_normalize_openproject_webhook_keeps_engineering_bug_in_development_mode_even_with_analysis_language) ... ok test_webhook_endpoint_queues_once_and_deduplicates_repeated_event (test_openproject_webhook.OpenProjectWebhookTests.test_webhook_endpoint_queues_once_and_deduplicates_repeated_event) ... {\"level\": \"INFO\", \"logger\": \"app.main\", \"message\": \"request finished\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122926} {\"level\": \"INFO\", \"logger\": \"httpx\", \"message\": \"HTTP Request: POST http://testserver/v1/board/openproject/webhook \\\"HTTP/1.1 200 OK\\\"\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122927} {\"level\": \"INFO\", \"logger\": \"app.main\", \"message\": \"request finished\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122931} {\"level\": \"INFO\", \"logger\": \"httpx\", \"message\": \"HTTP Request: POST http://testserver/v1/board/openproject/webhook \\\"HTTP/1.1 200 OK\\\"\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122932} ok test_webhook_endpoint_rejects_payload_without_work_package (test_openproject_webhook.OpenProjectWebhookTests.test_webhook_endpoint_rejects_payload_without_work_package) ... {\"level\": \"INFO\", \"logger\": \"app.main\", \"message\": \"request finished\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122935} {\"level\": \"INFO\", \"logger\": \"httpx\", \"message\": \"HTTP Request: POST http://testserver/v1/board/openproject/webhook \\\"HTTP/1.1 400 Bad Request\\\"\", \"service\": \"pryaja3-target-api\", \"timestamp_ms\": 1776015122936} ok ---------------------------------------------------------------------- Ran 4 tests in 0.025s OK"
          }
        ]
      }
    }
  },
  "responsible_agent": "Engineer Agent",
  "responsible_role": "engineer",
  "responsibility_source": "plan_step_role"
}