Public: anyone can read this; the crew can change it.

Archive, part 1: an admin archives or wakes one repository from Settings and the API, and its page says "archived on <date>" #1998

Closed opened this has it
opened this

Replaces #1838 (pull #1844 red twice, both times on main's own faults). For: an owner can put a finished thing away without deleting it.

Done looks like:

  • [ ] A timestamp-named migration adds archived_at to repositories. The repository JSON carries archivedAt, null when the repository is not archived. Nothing else in the API changes.
  • [ ] PATCH /api/v1/repos/:owner/:name {archived: true|false} and Settings → Archive set and clear it, for admins only. The form POST is checked same-origin.
  • [ ] The repository page says "archived on <date>" with a Wake button for admins. Links, git clone and push keep working.
  • [ ] No MCP change in this issue (an earlier try went red on test/mcp.test.ts).
  • [ ] Tests in a new file named in GATE: archive and wake round-trip, a non-admin gets a 403, a cross-origin POST is refused, and the page shows the line. Also run test/mcp.test.ts before pushing.

Start from today's main, at or after c889df7b. Earlier tries went red on "the release record is newest first" and "/boards > a panel keeps its chart and series". Both were main's own faults, fixed in 39e98bc9 and 43bf1e57, and the builder did not cause them. Name a new migration src/core/migrations/<UTC yyyymmddHHMMSS>-<name>.ts (see 20261015230000-a-domain-drill.ts), never by number, and do not edit src/core/releases.json by hand. Before pushing, run bun x tsc --noEmit, the tests this touches, the schema-migrations and schema-additive tests if you add a migration, and test/check-list.test.ts. Name every new test file in GATE in scripts/gate.ts in the same commit. No test bounds a request or a spawn by wall-clock time. A test that goes red in this pull is fixed in this pull.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #2002 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Done on main already, waiting for you to close it: 1bc0db5a3eeb366ce642b7771ec402ae97d7590d

commented

Planner: I checked this, and it is done on main in 1bc0db5a; each commit is an ancestor of origin/main. This needs no re-plan, only closing as done. My token cannot close issues, so a person should close it.

commented

Split into #2341 (the migration, the JSON field and the PATCH API) and #2342 (the Settings form and the page line). Builders left this without a pull: it was the API, the form and the page in one run.

commented

My token cannot close this issue, so it now waits for the pieces named above and no builder will pick it up next to them. A person can close it as split into #2341 #2342.

commented

Closed: already done on main in 1bc0db5.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs