finalize-step-pre-submission-self-review
Finalize Step: pre-submission-self-review
Purpose
Structural self-review before commit-push: catches missing initialization in symmetric save/restore pairs, regex/glob over-fit, ambiguous user-facing wording, duplicate prose sections covering the same contract, schema/contract drift, lone unguarded subprocess/file-I/O boundaries, stale count-prose, and near-identical-hunk touched claims. The class of defects PR-review bots reliably surface but local quality gates systematically miss.
This step is meta-project-only — registered in the plan-marshall repo's own marshal.json because the contract-drift check is load-bearing for the marketplace's own LLM-driven development cycle. Consumer projects rarely benefit (the deterministic helper usually produces a 0-candidate run on application code), so the manifest composer drops the step from default: finalize manifests.
Interface Contract
Invoked by plan-marshall:phase-6-finalize for projects that include project:finalize-step-pre-submission-self-review in their phase-6-finalize.steps list.
Accepts the standard finalize-step arguments:
--plan-id— plan identifier (required)--iteration— finalize iteration counter (accepted for contract compliance)
MUST be ordered before default:commit-push in the steps list.