Skip to content

Follow-up: drain legacy unlabeled/non-draft auto-doc PR backlog (PR #4964) #4965

Description

@rysweet

Context

PR #4964 (auto-doc PR reconciliation) landed a strict, fail-closed identity gate
(is_auto_doc_pr) that reconciles the single-open invariant only for PRs
that pass ALL four conjuncts: title marker + resolved auto-doc author +
is_draft == true + auto-doc label.

During Step 18a review this was confirmed correct and security-sound: the strict
gate is a deliberate fail-safe so a human (or otherwise non-auto-doc) PR can
never be auto-closed. As a result, legacy title-marker PRs that are non-draft
or unlabeled are intentionally left untouched
and are not drained.

Scope of this follow-up (NON-BLOCKING)

Handle the historical/legacy backlog of "Update documentation with ..." PRs
that predate the label+draft convention (e.g. non-draft or missing the
simard-autonomous label), without weakening the security guard for
newly-generated auto-doc drafts.

Constraints / non-goals

  • MUST NOT relax the label or author conjuncts globally — that would reintroduce
    the spoofing risk flagged in Step 17c security review.
  • Any broadened handling must remain fail-closed and auditable (OTel-only).
  • Consider an explicit, narrowly-scoped legacy-migration path (e.g. a one-shot
    attribution check on author + title marker for PRs on the known auto-doc
    branch pattern) rather than loosening the steady-state gate.

Where

  • src/overseer/doc_pr_reconcile.rs (gate + executor)
  • docs/reference/auto-doc-pr-reconciliation-api.md (Scope section documents the
    current boundary)

Tracked as the documented follow-up referenced by the module docstring after
PR #4964.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions