Shared Execution Policy
This file is the supporting behavioral contract for /nova-plugin:review and the deprecated /nova-plugin:nova-review compatibility entrypoint. Prefer the direct command; the compatibility name remains only for the current major-version migration window.
- Resolve natural-language and explicit
KEY=value inputs using ../_shared/parameter-resolution.md; explicit non-conflicting values take precedence.
- Apply
../_shared/safety-preflight.md before side effects. Never infer approval, destructive scope, credentials, or output destinations.
- Follow
../_shared/output-contracts.md and ../_shared/artifact-policy.md; report completed, skipped, and blocked validation truthfully.
- Respect the frontmatter tool boundary. Missing inputs, unavailable dependencies, overlapping user changes, or repository-policy conflicts are blockers rather than permission to broaden scope.
Execution
- Parse
$ARGUMENTS against the workflow-specific inputs below.
- Read only the context required for the requested scope.
- Apply the workflow contract and its strict output format.
- Stop before unauthorized side effects; otherwise validate in proportion to risk and report residual risk.
Workflow Contract
Generated from workflow-specs/behaviors.v2.json. This block is authoritative. Run node scripts/generate-behavior-surfaces.mjs --write after changing the IR; if explanatory text below conflicts, fail closed.
Generated Behavior Index
- Purpose: Perform evidence-grounded code or design review at the requested depth and output mode without implementation.
- Canonical inputs:
REVIEW_SCOPE(required aliases=INPUT,SCOPE); LEVEL(optional aliases=DEPTH default="standard" exact="lite","standard","strict"); MODE(optional default="full" exact="full","findings-only"); REVIEW_PROFILE(optional default="general" exact="general","plan","codex-review-only","codex-verify-only")
- Resolved variant authority:
{"REVIEW_PROFILE":"codex-review-only"} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"codex-review-only"} -> runtime/contracts/codex-review-only.json; {"REVIEW_PROFILE":"codex-verify-only"} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"codex-verify-only"} -> runtime/contracts/codex-verify-only.json; {"REVIEW_PROFILE":"plan"} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"plan"} -> runtime/contracts/plan-review.json; {} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"general"} -> runtime/contracts/review.json; {"LEVEL":"lite"} normalized={"LEVEL":"lite","MODE":"full","REVIEW_PROFILE":"general"} -> runtime/contracts/review-lite.json; {"LEVEL":"standard","MODE":"findings-only"} normalized={"LEVEL":"standard","MODE":"findings-only","REVIEW_PROFILE":"general"} -> runtime/contracts/review-only.json; {"LEVEL":"strict"} normalized={"LEVEL":"strict","MODE":"full","REVIEW_PROFILE":"general"} -> runtime/contracts/review-strict.json. Declared selector defaults are applied before matching. An exact normalized override wins; a non-exact combination that triggers an alias specialization stops as conflicting, and only a valid combination that triggers no specialization uses the canonical fallback. The complete resolved runtime contract is authoritative and no field falls back to canonical prose.
- Claude static-entrypoint gate: Native command and Skill frontmatter are static. A matching command wrapper may continue after it has verified that its invoked command id equals
resolvedWorkflowId; this canonical Skill must not re-resolve or reject that validated wrapper. Only when this canonical Skill is itself the Claude native invoked entrypoint and no validated wrapper gate exists must resolvedWorkflowId equal review. Otherwise STOP before tools or side effects and invoke the exact direct command /nova-plugin:<resolved commandEntrypoint.directCommandId>; never execute the specialized contract under unmatched canonical frontmatter. Generic and Codex adapters may execute the resolved contract directly under adapter enforcement.
- Decision entries: 7; canonical routes and variants:
review {"REVIEW_PROFILE":"plan"}, review {"REVIEW_PROFILE":"codex-review-only"}, review {"REVIEW_PROFILE":"codex-verify-only"}, review {"MODE":"findings-only"}, review {"LEVEL":"lite"}, review {"LEVEL":"standard"}, review {"LEVEL":"strict"}.
- Workflow steps:
resolve-scope → route → inspect → emit
- Output: mode=
chat; order=findings → impact rationale → directional guidance; severity=Critical, Major, Minor.
- Deviation/failure: mode=
forbid; failure order=status → missing input → allowed values → safe next action.
- Full IR:
runtime/contracts/review.json#behaviorContract embeds the complete decision table, invariants, stops, field definitions, validation, and failure contract from the same source. Detailed guidance below may not override it.
Purpose
Provide structured review findings for code/design artifacts through one
canonical surface, with depth and output shape selected by parameters.
Inputs
Resolve LEVEL, MODE, and REVIEW_PROFILE first, then use the matched
runtime contract's required-input set:
| Resolved profile |
Selector |
Required inputs |
| General review |
{} |
REVIEW_SCOPE |
| Lite review |
{"LEVEL":"lite"} |
REVIEW_SCOPE |
| Findings-only review |
{"LEVEL":"standard","MODE":"findings-only"} |
REVIEW_SCOPE |
| Strict review |
{"LEVEL":"strict"} |
REVIEW_SCOPE |
| Plan review |
{"REVIEW_PROFILE":"plan"} |
PLAN_INPUT_PATH |
| Codex review-only |
{"REVIEW_PROFILE":"codex-review-only"} |
REVIEW_SCOPE |
| Codex verify-only |
{"REVIEW_PROFILE":"codex-verify-only"} |
REVIEW_FILE |
REVIEW_SCOPE is not a universal requirement: plan review uses
PLAN_INPUT_PATH, while Codex verify-only uses REVIEW_FILE.
For the general, lite, findings-only, and strict profiles, REVIEW_SCOPE must
materialize the evidence as supplied text or as an explicit readable file/path
set. A label such as “current branch”, “this PR”, or “the diff against main” is
not itself review evidence because this Skill has no Bash permission to resolve
Git state. Stop and request patch text or an explicit readable file/path set.
Mention the Codex review-only profile only as an optional alternative when the
user explicitly asks for external Codex review; never switch profiles
automatically.
Outputs
MODE=full: complete review output at the selected LEVEL.
MODE=findings-only: stop after prioritized findings at the selected LEVEL.
standard and strict use severity buckets through Critical, Major, Minor.
- Directional suggestions only.
Workflow
- Parse and materialize scope,
LEVEL, MODE, and REVIEW_PROFILE; stop on
semantic branch/diff labels that do not include patch text or readable paths.
- Keep the selected identity as canonical
nova-review; apply depth and
output shape as structured parameters.
- Emit findings with impact rationale, stopping after findings when
MODE=findings-only.
Examples
- Natural trigger:
Use review on this core module change.
- Explicit trigger:
review LEVEL=standard INPUT="inventory service diff".
Safety
- No implementation patches.
- Clearly label facts vs assumptions.
General Review Guidance
Review only materialized evidence in the resolved scope. Stop on semantic Git
labels without patch text or readable paths. Distinguish evidence, inference,
and assumptions; do not modify code, redesign, broaden scope, or invoke an
external Codex profile unless the user explicitly selected it.
Depth expands from high-signal correctness and test gaps (lite), through
complexity, performance, concurrency, failure modes, and maintainability
(standard), to security, integrity, boundaries, evolution, and operational
resilience (strict). Full output groups Critical, Major, then Minor and
states evidence, impact, and conceptual direction.
LEVEL=lite selects the bounded review. /nova-plugin:review-only remains the
direct LEVEL=standard MODE=findings-only compatibility entrypoint; automatic routing must not select the alias. Codex profiles require their complete resolved contract plus
separate shell, network, and authentication approval. Canonical read-only Skill frontmatter does not authorize that external runtime. All variants remain
non-implementation workflows.
1---2name: nova-review3description: Unified canonical review Skill. Apply LEVEL and MODE to review depth and output shape; no code modification.4license: MIT5---67## Shared Execution Policy89This file is the supporting behavioral contract for `/nova-plugin:review` and the deprecated `/nova-plugin:nova-review` compatibility entrypoint. Prefer the direct command; the compatibility name remains only for the current major-version migration window.1011- Resolve natural-language and explicit `KEY=value` inputs using `../_shared/parameter-resolution.md`; explicit non-conflicting values take precedence.12- Apply `../_shared/safety-preflight.md` before side effects. Never infer approval, destructive scope, credentials, or output destinations.13- Follow `../_shared/output-contracts.md` and `../_shared/artifact-policy.md`; report completed, skipped, and blocked validation truthfully.14- Respect the frontmatter tool boundary. Missing inputs, unavailable dependencies, overlapping user changes, or repository-policy conflicts are blockers rather than permission to broaden scope.1516## Execution17181. Parse `$ARGUMENTS` against the workflow-specific inputs below.192. Read only the context required for the requested scope.203. Apply the workflow contract and its strict output format.214. Stop before unauthorized side effects; otherwise validate in proportion to risk and report residual risk.2223## Workflow Contract2425<!-- BEGIN GENERATED BEHAVIOR CONTRACT -->26> Generated from `workflow-specs/behaviors.v2.json`. This block is authoritative. Run `node scripts/generate-behavior-surfaces.mjs --write` after changing the IR; if explanatory text below conflicts, fail closed.2728### Generated Behavior Index2930- **Purpose:** Perform evidence-grounded code or design review at the requested depth and output mode without implementation.31- **Canonical inputs:** `REVIEW_SCOPE`(required aliases=INPUT,SCOPE); `LEVEL`(optional aliases=DEPTH default="standard" exact="lite","standard","strict"); `MODE`(optional default="full" exact="full","findings-only"); `REVIEW_PROFILE`(optional default="general" exact="general","plan","codex-review-only","codex-verify-only")32- **Resolved variant authority:** `{"REVIEW_PROFILE":"codex-review-only"} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"codex-review-only"} -> runtime/contracts/codex-review-only.json`; `{"REVIEW_PROFILE":"codex-verify-only"} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"codex-verify-only"} -> runtime/contracts/codex-verify-only.json`; `{"REVIEW_PROFILE":"plan"} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"plan"} -> runtime/contracts/plan-review.json`; `{} normalized={"LEVEL":"standard","MODE":"full","REVIEW_PROFILE":"general"} -> runtime/contracts/review.json`; `{"LEVEL":"lite"} normalized={"LEVEL":"lite","MODE":"full","REVIEW_PROFILE":"general"} -> runtime/contracts/review-lite.json`; `{"LEVEL":"standard","MODE":"findings-only"} normalized={"LEVEL":"standard","MODE":"findings-only","REVIEW_PROFILE":"general"} -> runtime/contracts/review-only.json`; `{"LEVEL":"strict"} normalized={"LEVEL":"strict","MODE":"full","REVIEW_PROFILE":"general"} -> runtime/contracts/review-strict.json`. Declared selector defaults are applied before matching. An exact normalized override wins; a non-exact combination that triggers an alias specialization stops as conflicting, and only a valid combination that triggers no specialization uses the canonical fallback. The complete resolved runtime contract is authoritative and no field falls back to canonical prose.33- **Claude static-entrypoint gate:** Native command and Skill frontmatter are static. A matching command wrapper may continue after it has verified that its invoked command id equals `resolvedWorkflowId`; this canonical Skill must not re-resolve or reject that validated wrapper. Only when this canonical Skill is itself the Claude native invoked entrypoint and no validated wrapper gate exists must `resolvedWorkflowId` equal `review`. Otherwise STOP before tools or side effects and invoke the exact direct command `/nova-plugin:<resolved commandEntrypoint.directCommandId>`; never execute the specialized contract under unmatched canonical frontmatter. Generic and Codex adapters may execute the resolved contract directly under adapter enforcement.34- **Decision entries:** 7; canonical routes and variants: `review {"REVIEW_PROFILE":"plan"}`, `review {"REVIEW_PROFILE":"codex-review-only"}`, `review {"REVIEW_PROFILE":"codex-verify-only"}`, `review {"MODE":"findings-only"}`, `review {"LEVEL":"lite"}`, `review {"LEVEL":"standard"}`, `review {"LEVEL":"strict"}`.35- **Workflow steps:** `resolve-scope` → `route` → `inspect` → `emit`36- **Output:** mode=`chat`; order=`findings` → `impact rationale` → `directional guidance`; severity=`Critical`, `Major`, `Minor`.37- **Deviation/failure:** mode=`forbid`; failure order=`status` → `missing input` → `allowed values` → `safe next action`.38- **Full IR:** `runtime/contracts/review.json#behaviorContract` embeds the complete decision table, invariants, stops, field definitions, validation, and failure contract from the same source. Detailed guidance below may not override it.39<!-- END GENERATED BEHAVIOR CONTRACT -->4041### Purpose4243Provide structured review findings for code/design artifacts through one44canonical surface, with depth and output shape selected by parameters.4546### Inputs4748Resolve `LEVEL`, `MODE`, and `REVIEW_PROFILE` first, then use the matched49runtime contract's required-input set:5051| Resolved profile | Selector | Required inputs |52| --- | --- | --- |53| General review | `{}` | `REVIEW_SCOPE` |54| Lite review | `{"LEVEL":"lite"}` | `REVIEW_SCOPE` |55| Findings-only review | `{"LEVEL":"standard","MODE":"findings-only"}` | `REVIEW_SCOPE` |56| Strict review | `{"LEVEL":"strict"}` | `REVIEW_SCOPE` |57| Plan review | `{"REVIEW_PROFILE":"plan"}` | `PLAN_INPUT_PATH` |58| Codex review-only | `{"REVIEW_PROFILE":"codex-review-only"}` | `REVIEW_SCOPE` |59| Codex verify-only | `{"REVIEW_PROFILE":"codex-verify-only"}` | `REVIEW_FILE` |6061`REVIEW_SCOPE` is not a universal requirement: plan review uses62`PLAN_INPUT_PATH`, while Codex verify-only uses `REVIEW_FILE`.6364For the general, lite, findings-only, and strict profiles, `REVIEW_SCOPE` must65materialize the evidence as supplied text or as an explicit readable file/path66set. A label such as “current branch”, “this PR”, or “the diff against main” is67not itself review evidence because this Skill has no Bash permission to resolve68Git state. Stop and request patch text or an explicit readable file/path set.69Mention the Codex review-only profile only as an optional alternative when the70user explicitly asks for external Codex review; never switch profiles71automatically.7273### Outputs7475- `MODE=full`: complete review output at the selected `LEVEL`.76- `MODE=findings-only`: stop after prioritized findings at the selected `LEVEL`.77- `standard` and `strict` use severity buckets through `Critical`, `Major`, `Minor`.78- Directional suggestions only.7980### Workflow81821. Parse and materialize scope, `LEVEL`, `MODE`, and `REVIEW_PROFILE`; stop on83 semantic branch/diff labels that do not include patch text or readable paths.842. Keep the selected identity as canonical `nova-review`; apply depth and85 output shape as structured parameters.863. Emit findings with impact rationale, stopping after findings when87 `MODE=findings-only`.8889### Examples9091- Natural trigger: `Use review on this core module change.`92- Explicit trigger: `review LEVEL=standard INPUT="inventory service diff"`.9394### Safety9596- No implementation patches.97- Clearly label facts vs assumptions.9899## General Review Guidance100101Review only materialized evidence in the resolved scope. Stop on semantic Git102labels without patch text or readable paths. Distinguish evidence, inference,103and assumptions; do not modify code, redesign, broaden scope, or invoke an104external Codex profile unless the user explicitly selected it.105106Depth expands from high-signal correctness and test gaps (`lite`), through107complexity, performance, concurrency, failure modes, and maintainability108(`standard`), to security, integrity, boundaries, evolution, and operational109resilience (`strict`). Full output groups `Critical`, `Major`, then `Minor` and110states evidence, impact, and conceptual direction.111112`LEVEL=lite` selects the bounded review. `/nova-plugin:review-only` remains the113direct `LEVEL=standard MODE=findings-only` compatibility entrypoint; automatic routing must not select the alias. Codex profiles require their complete resolved contract plus114separate shell, network, and authentication approval. Canonical read-only Skill frontmatter does not authorize that external runtime. All variants remain115non-implementation workflows.