Skip to content

Add baseline submission handoff preflight#139

Merged
SoundBlaster merged 2 commits into
mainfrom
codex/baseline-submission-handoff-preflight
Jun 13, 2026
Merged

Add baseline submission handoff preflight#139
SoundBlaster merged 2 commits into
mainfrom
codex/baseline-submission-handoff-preflight

Conversation

@SoundBlaster

Copy link
Copy Markdown
Member

Motivation

SpecHarvester can now produce SpecHarvesterBaselineSubmissionHandoff evidence when a fresh candidate run cannot become a normal refresh decision because SpecPM has no current generated baseline. SpecPM needs a consumer-side gate for that handoff before maintainers use it in first-submission or seeded-baseline review.

Goals

  • Add a read-only specpm producer-bundle preflight-baseline-submission command.
  • Emit SpecPMBaselineSubmissionHandoffPreflightReport with stable JSON output.
  • Verify handoff identity, linked fresh-run and prepare-report digests, missing-baseline diagnostics, maintainer actions, and evidence-only authority.
  • Document that passing preflight is review evidence only, not baseline seeding or registry acceptance.

Changes

  • Added baseline submission handoff preflight implementation in producer_bundle.py and CLI wiring in cli.py.
  • Added regression fixtures/helpers and tests for success, CLI JSON output, no-root warnings, schema/authority drift, linked input drift, and prepare-report mismatch.
  • Added policy docs plus DocC mirror, and linked the flow from intake, producer bundle policy, refresh decision policy, CLI reference, roadmap, workplan, README, and self-spec.
  • Added self-spec capability specpm.registry.baseline_submission_handoff_preflight.

Validation

  • PYTHONPATH=src pytest tests/test_core.py -k "baseline_submission_handoff or baseline_submission_handoff_preflight_policy or refresh_decision_preflight" -q
  • PYTHONPATH=src ruff check src/specpm/producer_bundle.py src/specpm/cli.py tests/test_core.py
  • PYTHONPATH=src ruff format --check src tests
  • PYTHONPATH=src pytest -q
  • PYTHONPATH=src ruff check .
  • git diff --check
  • PYTHONPATH=src python3 -m specpm.cli validate .
  • make docs-build
  • make public-index-generate PUBLIC_INDEX_OUTPUT=/tmp/specpm-baseline-handoff-preflight-public-index
  • make pages-smoke
  • make dev-reload
  • make dev-smoke

Boundaries and Non-Goals

  • Passing preflight does not seed public-index/generated.
  • Passing preflight does not emit SpecPMGeneratedCandidateRefreshDecision.
  • Passing preflight does not accept packages, accept relations, update curated artifacts, or publish registry metadata.
  • The command never runs SpecHarvester, package-manager scripts, or source repository code.

Notes

  • Added a local .0al coordination note for the SpecHarvester -> SpecPM boundary.
  • Next practical follow-up after merge is to run this gate against a real SpecHarvester baseline-submission handoff artifact.

Copilot AI review requested due to automatic review settings June 12, 2026 22:39

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d6a7eaf144

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/specpm/producer_bundle.py Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a consumer-side “baseline submission handoff” preflight gate to SpecPM so maintainers can validate SpecHarvesterBaselineSubmissionHandoff evidence (including linked fresh-run / prepare-report digest alignment) before using it for first-submission or seeded-baseline review—explicitly as review evidence only, not registry/baseline authority.

Changes:

  • Implement preflight_baseline_submission_handoff in producer_bundle.py and expose it via specpm producer-bundle preflight-baseline-submission in the CLI.
  • Add regression fixtures/tests covering success, CLI JSON output, missing --root warning, and several drift/mismatch failure modes.
  • Document the new flow/policy across specs + DocC mirrors and register the capability in specpm.spec.yaml / specpm.yaml.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_core.py Adds fixtures and regression tests for baseline-submission handoff preflight + documentation linkage assertions.
src/specpm/producer_bundle.py Implements baseline submission handoff preflight validation and reporting, including linked input digest verification under --root.
src/specpm/cli.py Wires new producer-bundle preflight-baseline-submission command + JSON/text output.
specs/WORKPLAN.md Records the workplan item for baseline submission handoff preflight as completed.
specs/specpm.spec.yaml Registers new self-spec capability and evidence links for the baseline handoff preflight and its docs.
specs/PRODUCER_BUNDLE_PROPOSAL_POLICY.md Documents the new preflight command and its “evidence-only” boundary in producer bundle policy.
specs/MULTI_PACKAGE_PRODUCER_INTAKE.md Adds intake guidance and checklist for baseline submission handoffs and preflight usage.
specs/GENERATED_CANDIDATE_REFRESH_DECISION_POLICY.md Documents missing-baseline handoff flow and links to the new policy spec.
specs/BASELINE_SUBMISSION_HANDOFF_PREFLIGHT.md Introduces the baseline handoff preflight policy/spec describing verified contract and maintainer boundary.
specpm.yaml Adds the new capability id to the index-provided capabilities list.
Sources/SpecPM/Documentation.docc/SpecPM.md Links the new baseline preflight spec into DocC top-level documentation.
Sources/SpecPM/Documentation.docc/Roadmap.md Adds roadmap note describing the new baseline submission preflight gate.
Sources/SpecPM/Documentation.docc/ProducerBundleProposalPolicy.md DocC mirror updates for producer bundle policy referencing the new preflight.
Sources/SpecPM/Documentation.docc/MultiPackageProducerIntake.md DocC mirror updates for intake guidance re: baseline submission handoffs.
Sources/SpecPM/Documentation.docc/GeneratedCandidateRefreshDecisionPolicy.md DocC mirror updates for refresh decision policy re: missing-baseline handoffs.
Sources/SpecPM/Documentation.docc/CLIReference.md Documents the new CLI command and its semantics/boundary.
Sources/SpecPM/Documentation.docc/BaselineSubmissionHandoffPreflight.md Adds a DocC page summarizing checks and boundary; points to the full policy spec.
ROADMAP.md Repository roadmap note describing the new baseline submission preflight gate.
README.md Mentions the new preflight command and clarifies it is review evidence only.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/specpm/producer_bundle.py Outdated
Comment thread tests/test_core.py
@SoundBlaster

Copy link
Copy Markdown
Member Author

Handled review feedback in 21ffe39.

@SoundBlaster SoundBlaster merged commit f4dcbbe into main Jun 13, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants