Skip to content

I1403 — Backfill the projection once, deliberately, and record what it created

Apply the projection so that every canonical record exists on GitHub exactly once, adopt the 19 records that already exist rather than duplicating them, and record the run as evidence.

READY wave 3 · p0 · implementation profile · runs alone

Part of work-graph-github — The projection to GitHub is gated, identified and traversable, and a merged pull request leads back to the outcome it served.

Ready. Every dependency is done, so majordomus plan start I1403 will be accepted.

Objective

Apply the projection so that every canonical record exists on GitHub exactly once, adopt the 19 records that already exist rather than duplicating them, and record the run as evidence.

Why

The gate that follows is only honest against a projection that has been applied. This is the one outward-facing mutation in the milestone: it creates roughly 172 public issues, and it must be a confirmed act with a dry run read first, not a side effect of any other issue.

Current state

GitHub holds 8 milestones and 19 issues against 15 milestones and 184 issues canonically. `scripts/github-sync --check` reports 191 findings at 867f3a9.

Desired state

`scripts/github-sync --check` exits 0. Every canonical record holds the number it was projected onto. The run is recorded as evidence with its date and the count it created.

Scope

  • .ai/repo/project
  • .ai/repo/ci/github-drift-baseline.txt

Out of scope

  • Any change to the adapter, which I1401 and I1402 own
  • Closing or reopening a GitHub issue by hand

Dependencies

Acceptance criteria

  • The dry run is read and its counts agree with the check before anything is applied
  • The 19 existing issues are adopted, not duplicated, and the issue count after the run equals the canonical count
  • scripts/github-sync --check exits 0 immediately after the run
  • The gate's baseline is lowered to zero in the same commit, so the backlog cannot silently return
  • The run is recorded as evidence naming the date, the counts and the commit

Validation

  • scripts/github-sync --plan
  • scripts/github-sync --check

Evidence required

  • backfill_applied

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Risk

High and outward-facing. It publishes 172 issues to a public repository in one run and cannot be undone cheaply. It requires the operator's explicit confirmation and must run after I1401, or the pagination ceiling will corrupt it.

Timeline

started
verified
completed

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I1403.yaml. Read it back with majordomus plan show I1403.