{
  "$comment": "GENERATED by extension/substrate/toolMatrix.test.ts (PERK_UPDATE_TOOL_MATRIX=1 node --test extension/substrate/toolMatrix.test.ts) — do not edit",
  "eligible": {
    "address": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_librarian",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "classify_review_feedback",
        "codemode",
        "collect_review_wave",
        "edit",
        "finalize_address",
        "find",
        "grep",
        "land",
        "learn",
        "ls",
        "objective_node",
        "objective_stack_adopt",
        "objective_stack_land",
        "objective_stack_recover",
        "objective_stack_status",
        "objective_stack_sync",
        "perk_stage",
        "post_pr_review",
        "push_annotations",
        "read",
        "ready",
        "reconcile_objective",
        "resolve_submit_conflicts",
        "run_ci",
        "run_learn_wave",
        "run_librarian",
        "run_pr_review_wave",
        "start_review_wave",
        "submit",
        "submit_pr_review",
        "tool_search",
        "write"
      ]
    },
    "audit": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_audit_wave",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "bash",
        "codemode",
        "edit",
        "find",
        "grep",
        "ls",
        "perk_stage",
        "read",
        "run_audit_wave",
        "tool_search",
        "write"
      ]
    },
    "gist-author": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "gist_draft",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "bash",
        "codemode",
        "edit",
        "find",
        "gist_draft",
        "gist_save",
        "grep",
        "ls",
        "perk_stage",
        "read",
        "tool_search",
        "write"
      ]
    },
    "gist-save": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "gist_draft",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "bash",
        "codemode",
        "edit",
        "find",
        "gist_draft",
        "gist_save",
        "grep",
        "ls",
        "perk_stage",
        "read",
        "tool_search",
        "write"
      ]
    },
    "implement": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_librarian",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "classify_review_feedback",
        "codemode",
        "collect_review_wave",
        "edit",
        "finalize_address",
        "find",
        "grep",
        "land",
        "learn",
        "ls",
        "objective_node",
        "objective_stack_adopt",
        "objective_stack_land",
        "objective_stack_recover",
        "objective_stack_status",
        "objective_stack_sync",
        "perk_stage",
        "post_pr_review",
        "push_annotations",
        "read",
        "ready",
        "reconcile_objective",
        "resolve_submit_conflicts",
        "run_ci",
        "run_learn_wave",
        "run_librarian",
        "run_pr_review_wave",
        "start_review_wave",
        "submit",
        "submit_pr_review",
        "tool_search",
        "write"
      ]
    },
    "land": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_librarian",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "classify_review_feedback",
        "codemode",
        "collect_review_wave",
        "edit",
        "finalize_address",
        "find",
        "grep",
        "land",
        "learn",
        "ls",
        "objective_node",
        "objective_stack_adopt",
        "objective_stack_land",
        "objective_stack_recover",
        "objective_stack_status",
        "objective_stack_sync",
        "perk_stage",
        "post_pr_review",
        "push_annotations",
        "read",
        "ready",
        "reconcile_objective",
        "resolve_submit_conflicts",
        "run_ci",
        "run_learn_wave",
        "run_librarian",
        "run_pr_review_wave",
        "start_review_wave",
        "submit",
        "submit_pr_review",
        "tool_search",
        "write"
      ]
    },
    "learn": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_librarian",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "classify_review_feedback",
        "codemode",
        "collect_review_wave",
        "edit",
        "finalize_address",
        "find",
        "grep",
        "land",
        "learn",
        "ls",
        "objective_node",
        "objective_stack_adopt",
        "objective_stack_land",
        "objective_stack_recover",
        "objective_stack_status",
        "objective_stack_sync",
        "perk_stage",
        "post_pr_review",
        "push_annotations",
        "read",
        "ready",
        "reconcile_objective",
        "resolve_submit_conflicts",
        "run_ci",
        "run_learn_wave",
        "run_librarian",
        "run_pr_review_wave",
        "start_review_wave",
        "submit",
        "submit_pr_review",
        "tool_search",
        "write"
      ]
    },
    "objective-author": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_draft",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_dream_wave",
        "run_harvest_wave",
        "run_librarian",
        "run_scout_wave",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "codemode",
        "collect_draft_review_wave",
        "edit",
        "find",
        "grep",
        "ls",
        "objective_draft",
        "objective_node",
        "objective_save",
        "perk_stage",
        "plan_review",
        "push_annotations",
        "read",
        "reconcile_objective",
        "run_dream_wave",
        "run_harvest_wave",
        "run_librarian",
        "run_scout_wave",
        "start_draft_review_wave",
        "tool_search",
        "write"
      ]
    },
    "objective-plan": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "explore_objective_node",
        "find",
        "grep",
        "ls",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_librarian",
        "run_scout_wave",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "codemode",
        "collect_draft_review_wave",
        "edit",
        "explore_objective_node",
        "find",
        "grep",
        "ls",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "plan_save",
        "push_annotations",
        "read",
        "reconcile_objective",
        "run_librarian",
        "run_scout_wave",
        "start_draft_review_wave",
        "tool_search",
        "write"
      ]
    },
    "objective-refine": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_refinement_draft",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "bash",
        "codemode",
        "edit",
        "find",
        "grep",
        "ls",
        "objective_refinement_draft",
        "perk_stage",
        "plan_review",
        "read",
        "tool_search",
        "write"
      ]
    },
    "objective-save": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_draft",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "codemode",
        "collect_draft_review_wave",
        "edit",
        "find",
        "grep",
        "ls",
        "objective_draft",
        "objective_node",
        "objective_save",
        "perk_stage",
        "plan_review",
        "push_annotations",
        "read",
        "reconcile_objective",
        "start_draft_review_wave",
        "tool_search",
        "write"
      ]
    },
    "plan": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_librarian",
        "run_scout_wave",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "bash",
        "codemode",
        "collect_draft_review_wave",
        "edit",
        "find",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "plan_save",
        "push_annotations",
        "read",
        "run_librarian",
        "run_scout_wave",
        "start_draft_review_wave",
        "tool_search",
        "write"
      ]
    },
    "save": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "bash",
        "codemode",
        "collect_draft_review_wave",
        "edit",
        "find",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "plan_save",
        "push_annotations",
        "read",
        "start_draft_review_wave",
        "tool_search",
        "write"
      ]
    },
    "stack-review": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "bash",
        "codemode",
        "collect_review_wave",
        "edit",
        "find",
        "grep",
        "ls",
        "open_stack_review",
        "perk_stage",
        "push_annotations",
        "read",
        "start_review_wave",
        "submit_pr_review",
        "tool_search",
        "write"
      ]
    },
    "submit": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "find",
        "grep",
        "ls",
        "objective_node",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_librarian",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "classify_review_feedback",
        "codemode",
        "collect_review_wave",
        "edit",
        "finalize_address",
        "find",
        "grep",
        "land",
        "learn",
        "ls",
        "objective_node",
        "objective_stack_adopt",
        "objective_stack_land",
        "objective_stack_recover",
        "objective_stack_status",
        "objective_stack_sync",
        "perk_stage",
        "post_pr_review",
        "push_annotations",
        "read",
        "ready",
        "reconcile_objective",
        "resolve_submit_conflicts",
        "run_ci",
        "run_learn_wave",
        "run_librarian",
        "run_pr_review_wave",
        "start_review_wave",
        "submit",
        "submit_pr_review",
        "tool_search",
        "write"
      ]
    },
    "unscoped": {
      "read-only": [
        "bash",
        "collect_draft_review_wave",
        "explore_objective_node",
        "find",
        "gist_draft",
        "grep",
        "ls",
        "objective_draft",
        "objective_node",
        "objective_refinement_draft",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "push_annotations",
        "read",
        "run_audit_wave",
        "run_dream_wave",
        "run_harvest_wave",
        "run_librarian",
        "run_scout_wave",
        "start_draft_review_wave",
        "tool_search"
      ],
      "read-write": [
        "add_objective_node",
        "bash",
        "classify_review_feedback",
        "codemode",
        "collect_draft_review_wave",
        "collect_review_wave",
        "edit",
        "explore_objective_node",
        "finalize_address",
        "find",
        "gist_draft",
        "gist_save",
        "grep",
        "land",
        "learn",
        "ls",
        "objective_draft",
        "objective_node",
        "objective_refinement_draft",
        "objective_save",
        "objective_stack_adopt",
        "objective_stack_land",
        "objective_stack_recover",
        "objective_stack_status",
        "objective_stack_sync",
        "open_stack_review",
        "perk_stage",
        "plan_draft",
        "plan_review",
        "plan_save",
        "post_pr_review",
        "push_annotations",
        "read",
        "ready",
        "reconcile_objective",
        "resolve_submit_conflicts",
        "run_audit_wave",
        "run_ci",
        "run_dream_wave",
        "run_harvest_wave",
        "run_learn_wave",
        "run_librarian",
        "run_pr_review_wave",
        "run_scout_wave",
        "start_draft_review_wave",
        "start_review_wave",
        "submit",
        "submit_pr_review",
        "tool_search",
        "write"
      ]
    }
  },
  "postures": {
    "packages": {
      "npm:@ff-labs/pi-fff": {
        "gated": "allowed",
        "posture": "research",
        "stages": "all"
      },
      "npm:@juicesharp/rpiv-ask-user-question": {
        "gated": "allowed",
        "posture": "universal",
        "stages": "all"
      },
      "npm:@juicesharp/rpiv-todo": {
        "gated": "allowed",
        "posture": "delegation",
        "stages": [
          "implement",
          "submit",
          "address",
          "land",
          "learn",
          "stack-review"
        ]
      },
      "npm:@juicesharp/rpiv-web-tools": {
        "gated": "allowed",
        "posture": "research",
        "stages": "all"
      },
      "npm:@ollama/pi-web-search": {
        "gated": "allowed",
        "posture": "research",
        "stages": "all"
      },
      "npm:@plannotator/pi-extension": {
        "gated": "blocked",
        "posture": "never",
        "stages": []
      },
      "npm:pi-mono-linear": {
        "except": {
          "names": [
            "linear_create_issue",
            "linear_update_issue",
            "linear_create_comment",
            "linear_upload_file",
            "linear_upload_file_to_issue_comment",
            "linear_configure_auth"
          ],
          "posture": "never"
        },
        "gated": "allowed",
        "posture": "research",
        "stages": "all"
      },
      "npm:pi-subagents": {
        "gated": "allowed",
        "posture": "delegation",
        "stages": [
          "implement",
          "submit",
          "address",
          "land",
          "learn",
          "stack-review"
        ]
      },
      "npm:pi-web-access": {
        "gated": "allowed",
        "posture": "research",
        "stages": "all"
      }
    },
    "paths": {
      "<inline:pi-subagents:prompt-runtime>": {
        "gated": "allowed",
        "posture": "child-engine",
        "stages": "all"
      }
    },
    "unknown": {
      "gated": "blocked",
      "stages": "all"
    }
  },
  "stages": [
    "gist-author",
    "gist-save",
    "objective-author",
    "objective-save",
    "objective-plan",
    "plan",
    "save",
    "implement",
    "submit",
    "address",
    "land",
    "learn",
    "audit",
    "objective-refine",
    "stack-review"
  ],
  "tools": {
    "add_objective_node": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save",
        "objective-plan",
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "bash": {
      "gated": "verdict",
      "owner": "builtin",
      "registrar": "core"
    },
    "classify_review_feedback": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "codemode": {
      "gated": "blocked",
      "owner": "builtin",
      "registrar": "extension"
    },
    "collect_draft_review_wave": {
      "declared": "deferred",
      "exposure": "direct",
      "gated": "allowed",
      "kind": "action",
      "mode_over_stage": true,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save",
        "objective-plan",
        "plan",
        "save"
      ]
    },
    "collect_review_wave": {
      "declared": "deferred",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn",
        "stack-review"
      ]
    },
    "edit": {
      "gated": "blocked",
      "owner": "builtin",
      "registrar": "core"
    },
    "explore_objective_node": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "allowed",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-plan"
      ]
    },
    "finalize_address": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "find": {
      "gated": "allowed",
      "owner": "builtin",
      "registrar": "core"
    },
    "gist_draft": {
      "declared": "always",
      "exposure": "direct",
      "gated": "carve-out",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "gist-author",
        "gist-save"
      ]
    },
    "gist_save": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "gist-author",
        "gist-save"
      ]
    },
    "grep": {
      "gated": "allowed",
      "owner": "builtin",
      "registrar": "core"
    },
    "land": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "learn": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "ls": {
      "gated": "allowed",
      "owner": "builtin",
      "registrar": "core"
    },
    "objective_draft": {
      "declared": "always",
      "exposure": "direct",
      "gated": "carve-out",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save"
      ]
    },
    "objective_node": {
      "declared": "always",
      "exposure": "direct",
      "gated": "carve-out",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save",
        "objective-plan",
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "objective_refinement_draft": {
      "declared": "always",
      "exposure": "direct",
      "gated": "carve-out",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-refine"
      ]
    },
    "objective_save": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save"
      ]
    },
    "objective_stack_adopt": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "objective_stack_land": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "objective_stack_recover": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "objective_stack_status": {
      "declared": "deferred",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "query",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "objective_stack_sync": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "open_stack_review": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "interactive",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "stack-review"
      ]
    },
    "perk_stage": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "allowed",
      "kind": "host",
      "mode_over_stage": true,
      "owner": "perk",
      "stages": [
        "gist-author",
        "gist-save",
        "objective-author",
        "objective-save",
        "objective-plan",
        "plan",
        "save",
        "implement",
        "submit",
        "address",
        "land",
        "learn",
        "audit",
        "objective-refine",
        "stack-review"
      ]
    },
    "plan_draft": {
      "declared": "always",
      "exposure": "direct",
      "gated": "carve-out",
      "kind": "action",
      "mode_over_stage": true,
      "owner": "perk",
      "stages": [
        "objective-plan",
        "plan",
        "save"
      ]
    },
    "plan_review": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "allowed",
      "kind": "terminal",
      "mode_over_stage": true,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save",
        "objective-plan",
        "plan",
        "save",
        "objective-refine"
      ]
    },
    "plan_save": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-plan",
        "plan",
        "save"
      ]
    },
    "post_pr_review": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "push_annotations": {
      "declared": "deferred",
      "exposure": "direct",
      "gated": "allowed",
      "kind": "action",
      "mode_over_stage": true,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save",
        "objective-plan",
        "plan",
        "save",
        "implement",
        "submit",
        "address",
        "land",
        "learn",
        "stack-review"
      ]
    },
    "read": {
      "gated": "allowed",
      "owner": "builtin",
      "registrar": "core"
    },
    "ready": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "reconcile_objective": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save",
        "objective-plan",
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "resolve_submit_conflicts": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "run_audit_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "carve-out",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "audit"
      ]
    },
    "run_ci": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "run_dream_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "carve-out",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author"
      ]
    },
    "run_harvest_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "allowed",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author"
      ]
    },
    "run_learn_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "run_librarian": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "carve-out",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-plan",
        "plan",
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "run_pr_review_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "run_scout_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "allowed",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-plan",
        "plan"
      ]
    },
    "start_draft_review_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "allowed",
      "kind": "orchestration",
      "mode_over_stage": true,
      "owner": "perk",
      "stages": [
        "objective-author",
        "objective-save",
        "objective-plan",
        "plan",
        "save"
      ]
    },
    "start_review_wave": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "orchestration",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn",
        "stack-review"
      ]
    },
    "submit": {
      "declared": "always",
      "exposure": "model-only",
      "gated": "blocked",
      "kind": "terminal",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn"
      ]
    },
    "submit_pr_review": {
      "declared": "always",
      "exposure": "direct",
      "gated": "blocked",
      "kind": "action",
      "mode_over_stage": false,
      "owner": "perk",
      "stages": [
        "implement",
        "submit",
        "address",
        "land",
        "learn",
        "stack-review"
      ]
    },
    "tool_search": {
      "gated": "allowed",
      "owner": "builtin",
      "registrar": "extension"
    },
    "write": {
      "gated": "blocked",
      "owner": "builtin",
      "registrar": "core"
    }
  }
}
