Skip to content

MR-description completeness fallback (extension of C3) #11

@azevedo

Description

@azevedo

Status

Future enhancement to C3. New candidate surfaced during C3 design discussion. Not in the original 10.

Context

C3 (Plan-driven Requirements Completeness check, separate issue) uses plans as the completeness source. During design, the question was raised: "when reviewing an MR it might also make sense to do a similar check against the MR description".

MR_DESCRIPTION is already captured for MR-scope reviews and passed as context to reviewers via commands/ba/review.md:181, but C3 v1 explicitly does NOT use it as a completeness check source.

Decision

Out of scope for C3 v1. Track as a future enhancement.

Rationale for current exclusion

  • SSoT principle. Checking against plan AND MR description simultaneously creates risk of conflict and duplicated coverage. If plan says "implement A, B, C" and MR description says "implements A and C (skipping B for now)", the completeness check has to pick a side.
  • Trust profile differs. MR descriptions are often written after implementation to summarize what was shipped — sometimes by an author optimizing for reviewer approval. Plans are upfront contracts authored before implementation. Different trust profiles; not equivalently authoritative.
  • C3 v1 keeps a single source per run to avoid the SSoT problem.

Design captured (for the future enhancement)

Position in C3's chain

Insert as a fallback after both plan sources fail:

  1. --plan <path> flag
  2. Existing 7-day mtime fallback (commands/ba/review.md:181)
  3. NEW: MR-description fallback (this enhancement) — only triggers when both plan sources are absent AND scope is MR
  4. Silent skip if all fail

This ordering preserves SSoT: only one source is ever used per run.

Confidence calibration

Verdicts produced from MR-description criteria should carry lower confidence than plan-derived verdicts. Concrete options:

  • Cap all verdicts at confidence ≤ 75 when sourcing from MR description
  • Or: demote each verdict by one anchor from what it would be plan-sourced

Surface the source in the section header: "Requirements check (MR-description fallback — lower confidence)".

Scope

  • MR scope only. Branch/staged/recent scopes have no MR description.
  • Parse MR_DESCRIPTION for structured sections matching ## Acceptance Criteria, ## Behaviors to Test, ## What this does, ## Changes, or similar markdown patterns.
  • If no structured section found, fall back to bullet lists in the description body.
  • If MR description is essentially empty (only an auto-generated template, or just a sentence), skip with a header note.

Conflict avoidance

If both plan AND MR description are available, use plan only. Never use both. This is the SSoT rule.

Trigger conditions for revisit

  • User regularly reviews MRs that have descriptions but no corresponding committed plan — e.g., hotfixes, refactors, or exploratory work where /ba:plan wasn't used
  • Desire for completeness coverage in plan-less MRs — currently those reviews skip the completeness section entirely; this enhancement would partially fill that gap

Dependencies

  • C3 (separate issue) must land first. This is an extension of C3, not standalone.

References

  • C3 issue (Plan-driven Requirements Completeness check)
  • commands/ba/review.md:181 — existing MR_DESCRIPTION capture and context-passing
  • User's own caveats during C3 design: SSoT + trust profile concerns (both legitimate; both reasons this is gated to "no plan available")

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions