Skip to content

Autofix-class field on findings (B8) #9

@azevedo

Description

@azevedo

Status

Deferred indefinitely. Surfaced during research as a candidate not in the original 10.

Context

ce-code-review tags each finding with an autofix_class field — one of safe_auto, gated_auto, manual, or advisory. This is orthogonal to severity and drives ce's autofix mode's decision about which findings to auto-apply silently.

In ce, severity and autofix_class form a "two-dimensional routing system": severity answers "how urgent if real?", autofix_class answers "how safe to auto-apply?". A finding can be Critical + manual (must-fix but only a human should apply the fix) or Low + safe_auto (minor cleanup that can be auto-applied silently).

Decision

Deferred indefinitely.

Rationale

  • Autofix mode is not on user's short-term horizon.
  • The field has no consumer without an autofix mode — tagging findings with autofix_class is overhead without something that consumes the tag.
  • C1 (non-interactive modes) is also deferred, which is the natural carrier for autofix mode if it ever lands.

Design captured (if revisited)

Decision Choice
Field name autofix_class (copy ce verbatim)
Values safe_auto, gated_auto, manual, advisory (copy ce verbatim)
Location in schema Field in C2's structured record
Reviewer rubric Per-reviewer guidance for assigning the class (to be designed during planning)
Default for missing manual (most conservative)

Trigger conditions for revisit

  • C1 (non-interactive modes) accepted AND autofix mode is in scope — natural moment to introduce this field
  • Any auto-application flow for review findings is requested — this would be a new candidate, of which autofix_class is a prerequisite

References

  • ce-code-review Stage 4 (JSON contract) and routing logic
  • C1 issue (non-interactive modes) — natural carrier when adopted
  • B4+B5+B6+C2 bundle issue — defines the C2 schema this field would slot into

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions