Clarify verifier post-remediation evidence - #8
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d998f74ac5
ℹ️ 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".
| ## Source Acceptance Matrix Verification | ||
|
|
||
| When `artifacts/moonspec/source-acceptance.json` or `artifacts/moonspec/acceptance-assessment.json` exists and its `featureId` matches the active feature or source-direct baseline, verify every repo-verifiable source row. Do not choose `FULLY_IMPLEMENTED` unless every required repo-verifiable source row is satisfied. | ||
| When `artifacts/moonspec/source-acceptance.json` or `artifacts/moonspec/acceptance-assessment.json` exists and its `featureId`, source, feature directory, issue reference, or requirement IDs match the selected verification baseline, verify every repo-verifiable source row for that baseline. Do not choose `FULLY_IMPLEMENTED` unless every required repo-verifiable source row for the selected baseline is satisfied. In source-direct verification mode, ignore stale or unrelated acceptance artifacts whose source metadata does not match the selected source. |
There was a problem hiding this comment.
Require feature-specific identity before accepting artifacts
Do not treat requirement-ID overlap as sufficient to associate an acceptance artifact with the selected baseline. MoonSpec features commonly reuse IDs such as FR-001 and SCN-001, so an unrelated stale artifact can match solely by those generic IDs and incorrectly add its rows as blocking requirements, directly defeating the instruction to ignore unrelated artifacts in source-direct mode. Require matching source, feature ID/directory, or issue identity; use requirement IDs only after that association is established.
AGENTS.md reference: AGENTS.md:L29-L31
Useful? React with 👍 / 👎.
| - issue-brief verification inputs | ||
| - an explicitly provided `spec.md` or feature directory | ||
| - an active feature directory discovered from repository context | ||
| - an active feature directory discovered from repository context (run `.specify/scripts/bash/check-prerequisites.sh --json --paths-only` to discover it without requiring `plan.md` or `tasks.md`) |
There was a problem hiding this comment.
Mirror the new verifier safeguards into the slash command
Updating only the discovery invocation here leaves the projected Markdown /moonspec.verify command without this commit's post-remediation reinspection, pre-publication, and managed-agent test-boundary rules. MoonMind installs this file directly under .specify/templates/commands/ via bundle/projections/moonmind.yaml, so users of that command can still preserve stale findings or run forbidden host-local tests even though invoking the skill directly behaves correctly. Add the corresponding safeguards to this standalone command asset and cover them in the command regression test.
Useful? React with 👍 / 👎.
| `FULLY_IMPLEMENTED`. Gate on those outcomes only when the selected baseline | ||
| explicitly makes publication itself part of this verification step and the | ||
| workflow has already supplied the resulting publication evidence. |
There was a problem hiding this comment.
Fail when required publication evidence is absent
When the selected baseline explicitly makes publication part of this verification step, requiring the workflow to have already supplied publication evidence before the outcome can gate the verdict creates a false-pass path: an absent deployment, merge, or issue-closure result is precisely the missing evidence that should prevent FULLY_IMPLEMENTED. In post-publication verification or any baseline with an explicit publication acceptance criterion, classify missing evidence as a gap or NO_DETERMINATION rather than skipping the requirement.
Useful? React with 👍 / 👎.
Summary
Verification
python3 tools/validate_bundle.pymoonspec-verifyskill validation passed