Resolve Platform Policy Conflict
resolve_platform_policy_conflictResolve a platform-policy dead-end with a structured plan decision.
``decision`` is one of ``reuse_existing_evidence``, ``split_task``,
``raise_project_cap``, ``remove_scenario``, or
``correct_evidence_selector``. ``raise_project_cap`` also requires
``project_cap`` (6..32). The decision becomes a new task-plan section; the
same task lineage is requeued before the escalation resolves.
``correct_evidence_selector`` (web_app tasks, active workspace owner only;
a workspace key or a non-owner gets ``owner_decision_required``) fixes a
frozen ``ready_selector`` no scenario can prove, such as an interaction
criterion frozen with the selector its static sibling proves at route
load. ``selector_corrections`` maps each acceptance-criterion id (the
``criterion_id`` of a list_escalations ``evidence_selector_cells`` entry)
to ``{"expected_ready_selector": <the frozen value>, "ready_selector":
<replacement>}`` (at most 10). Only those selectors change; a stale
expected value, an invalid selector, a cell left with two selectors, or an
interaction criterion that would still share a static sibling's selector
changes nothing. The old and new specs are audited.
On a project that runs the ui-review evidence lifecycle (``ui-review.json``
is a retained evidence catalog), ``raise_project_cap`` changes the
per-run capture budget -- how many scenarios one capture run holds -- not
catalog capacity: the catalog has no scenario limit, so no decision is
needed to make room in it.
On a ``web_app`` task, ``reuse_existing_evidence`` also repairs a frozen
theme-only collision in the same transaction: criteria whose evidence specs
differ only by a light/dark variant token (for example
``setup-timeline-light`` and ``setup-timeline-dark``) are refrozen to one
shared cell that lists the required ``themes``, the old and new specs are
audited, and the plan tells the worker to cover that cell with one
scenario. Criteria on one route, state and variant that name different
ready selectors are likewise refrozen to one selector. Every criterion
keeps its row and alias; unrelated specs are not changed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| decision | Yes | ||
| decision_md | Yes | ||
| project_cap | No | ||
| escalation_id | Yes | ||
| selector_corrections | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |