Skip to content

fix(ship-check): require exact model ids in attribution - #23

Merged
aliasunder merged 1 commit into
mainfrom
fix/pr-monitor-model-id
Sep 17, 2026
Merged

aliasunder merged 1 commit into
mainfrom
fix/pr-monitor-model-id

Conversation

@aliasunder

Copy link
Copy Markdown
Owner

Summary

  • require full runtime model identifiers in every ship-check PR footer and commit trailer
  • forbid family-only labels, translated display names, and guessed attribution
  • make Codex fallback lookup deterministic by matching an explicit current session ID before reading model provenance

Validation

  • independent consistency review across all changed attribution surfaces
  • git diff --check
  • repository-wide searches confirm all posting surfaces carry the exact-ID rule

@aliasunder
aliasunder merged commit d08de78 into main Sep 17, 2026
7 checks passed
@aliasunder
aliasunder deleted the fix/pr-monitor-model-id branch September 17, 2026 00:16
Comment on lines +145 to +146
stop before posting. No exceptions — a comment without a footer misattributes
automated output to the repo owner.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Report attribution blockers instead of stopping silently
Medium severity · correctness · medium confidence

The new stop-condition halts phase agents before posting when the exact runtime model ID cannot be verified, yet the comment-mode summary templates only support a 0-findings reason for not posting, and the four agent files and four phase skills — unlike pr-monitor and the ship-check orchestrator — omit any instruction to report the blocker. A phase that stops for attribution reasons therefore reports indistinguishably from a clean 0-findings run, letting the orchestrator advance the pipeline and potentially declare the PR merge-ready without that phase's review.

Failure scenario: A Codex run where the runtime does not expose the current session ID, or where it cannot be matched to session_meta.payload.id. The phase agent stops before posting per the new rule and returns its summary with the only not-posted state the template provides (0 findings), so the orchestrator records the phase as clean, dispatches the next phase, and may report the PR merge-ready without this phase's review having landed.

Suggested fix
Extend the stop-condition in the four agent files and four phase skills to "stop before posting and report the attribution blocker to the orchestrator" (matching pr-monitor/SKILL.md and ship-check/SKILL.md), and add a blocked state to the comment-mode summary templates (e.g. "Review posted: no (attribution blocker)") so a stopped phase is distinguishable from one with no findings.

umm-actually · deepseek/deepseek-v4-flash-0731

Comment on lines +81 to +82
Use your verified exact runtime model ID for YOUR_MODEL_ID. Preserve version and
variant suffixes; never abbreviate, translate, or guess it.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Define unverifiable-ID behavior for commit trailers
Low severity · correctness · medium confidence

The commit-trailer instructions now require a verified exact runtime model ID but define no behavior when verification fails, while the footer rules in the same file do (stop before posting, report the blocker). A phase agent that cannot verify its ID must choose between committing with a guessed or family-level trailer — explicitly forbidden — or silently dropping the trailer, both of which violate the PR's stated requirement that every ship-check commit trailer carry the exact ID.

Failure scenario: A phase agent in default mode fixes bugs on a Codex run but cannot verify its exact runtime model ID. With no instruction covering the commit path, it either commits with a guessed family-level ID in the Ship-Check trailer (forbidden by the new rule) or omits the trailer, leaving the commit misattributed either way.

Suggested fix
Mirror the footer rule: state that when the exact runtime model ID cannot be verified the agent must stop before committing and report the attribution blocker to the orchestrator, rather than committing with an unverified or omitted trailer.

umm-actually · deepseek/deepseek-v4-flash-0731

@umm-actually

umm-actually Bot commented Sep 17, 2026

Copy link
Copy Markdown

umm-actually reviewed at d08de78

2 new finding(s) posted (2 tracked finding(s) across all runs).

Context notes
  • Priority docs already in context: plugins/ship-check/agents/bug-checker.md, plugins/ship-check/agents/code-quality-reviewer.md, plugins/ship-check/agents/pr-reviewer.md, plugins/ship-check/agents/test-auditor.md, plugins/ship-check/skills/ship-check/SKILL.md, plugins/ship-check/skills/pr-monitor/SKILL.md

umm-actually · deepseek/deepseek-v4-flash-0731

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.

1 participant