# AWP Final I1 Convergence to origin/main — Plan and Progress

**Date:** 2026-08-24
**Status:** COMPLETE — final converged source, auth, durability, dogfood and latest published runner digest landed to canonical main
**Branch:** `converge/i1-main-20260824`
**Worktree:** `/home/user/Projects/.worktrees/awp-final-main-convergence-20260824`
**Dogfood base:** `origin/ops/i1-dogfood-deploy@2974f728a797dd8404bfae5b66be30aa79c0b0cb`
**Durability/auth source:** `origin/fix/i0-i1-durable-seam-20260824@e87f404219cc27ee568ff4f4360cef4ce2d956cc`
**Completion boundary:** this work is **not DONE** until the converged exact head is green, pushed to `origin/main`, and a fresh remote fetch proves `origin/main` contains that exact head.

## Goal

Converge the latest dogfood/GOLIVE work with the fully verified ADR-0009 auth/autonomy/durable-transaction branch, resolve every semantic conflict, verify the result on Debian buildboxes including the real PostgreSQL/DBOS SIGKILL proof, then update canonical `origin/main` and verify remote containment.

## Guardrails

1. Never force-push or discard concurrent dogfood work.
2. Preserve the newest remote dogfood changes and the local interrupted FOUNDATION/N2 repairs already checkpointed in `d361ded`; convergence starts from remote `2974f72`, which contains them plus the runner digest pin.
3. Preserve ADR-0009 HTTPS/session/loopback trust boundary from the durability branch.
4. Preserve automatic trusted Merge, durable workflow marker/outbox semantics, and the real crash-window proof.
5. Preserve latest dogfood repository identity, UI receipt, runner versioning, and canonical GOLIVE orchestration work.
6. Resolve overlap semantically; no blanket `ours`/`theirs` for sensitive files.
7. Heavy tests run only on Debian1/2/3.
8. Do not deploy or initiate a real owner FactoryRun; this task is source convergence + canonical main landing.
9. Keep GOLIVE truth at 0/30 unless live evidence independently proves criteria.
10. Update this file after every material checkpoint.

## Task ledger

- [x] H0 Preserve interrupted dogfood WIP as commit `d361ded`; remote contains it.
- [x] H1 Incorporate concurrent dogfood runner-digest commit `2974f72` by basing convergence on latest remote.
- [x] H2 Carry forward dogfood full-gate lint fixes as convergence commit `0ca70ab`.
- [x] H3 Verify pre-merge dogfood convergence base is green on Debian2.
- [x] H4 Merge `origin/fix/i0-i1-durable-seam-20260824` into convergence branch.
- [x] H5 Resolve all auth/dogfood conflicts deliberately and document each resolution.
- [x] H6 Run focused auth + GOLIVE + durability + migration tests on Debian2.
- [x] H7 Run real PostgreSQL 16 DBOS SIGKILL durability proof and Drizzle no-drift on converged head.
- [x] H8 Run full `pnpm check` at exact pushed convergence head.
- [x] H9 Audit canonical truth: GOLIVE remains truthful, no I2-I9 scope, no deployment regression.
- [x] H10 Push convergence branch checkpoint and verify remote exact head.
- [x] H11 Update `origin/main` to the exact final converged green head including latest published runner digest.
- [x] H12 Fetch remote and prove `origin/main == origin/converge/i1-main-20260824 == d52774d` before this final status-only checkpoint; this checkpoint changes documentation only and receives its own exact-head gate/push without further ledger edits.

## Current state

Checkpoint 1:

- latest remote dogfood had advanced concurrently from `d361ded` to `2974f72` only by `infra/dogfood/agent-runner-image.lock`; no force-push was used;
- convergence worktree created from `2974f72`;
- local dogfood lint fix cherry-picked as `0ca70ab`;
- durability/auth branch remains independently green at `e87f404`;
- pre-merge convergence baseline `a14c401` is independently green on Debian2: full `pnpm check` PASS, 47 test files passed / 2 opt-in skipped, 205 tests passed / 3 skipped, build, architecture 6/6, dependency-cruiser zero violations, Prettier clean;
- merge/conflict resolution has not started yet.


Checkpoint 2 — durability/auth merge resolved, focused verification pending:

- merged `origin/fix/i0-i1-durable-seam-20260824@e87f404` with `--no-commit --no-ff`; four textual conflicts occurred, all in GOLIVE tests;
- `apps/control-plane/src/server.ts` auto-merge was audited manually: latest dogfood deployment configuration remains, while ADR-0009 `OperatorSessionManager`, per-request Human authority, System startup/reconciliation authority, loopback listener, durable Task dispatch and durable auto-merge are all preserved;
- `infra/dogfood/deploy-debian3.sh` auto-merge was audited manually: latest dogfood native ACP injection remains (`=1`, translated by runner config to `dogfood-post-prompt-failure-17`), while operator Argon2id hash provisioning, loopback control/web listeners, HTTPS Tailscale Serve and HTTPS Attempt callbacks are preserved;
- `tests/golive/01-ui-loads.spec.ts`: preserved staged dogfood `runUiLoadsProof`/evidence API and added ADR-0009 login + `AWP_OPERATOR_PASSWORD` runtime input;
- `tests/golive/02-control-plane-postgres.test.ts`: preserved live deployed AC-02 health/migration proof; durability branch's destructive local authenticated transport smoke was moved to `tests/integration/control-plane-postgres-auth.test.ts` so it can never reset a live GOLIVE database;
- `tests/golive/04-owner-lifecycle.spec.ts`: preserved latest dogfood staged authoring/approval/recovery/UI-receipt/lock semantics and added authenticated login to every browser session plus operator-password runtime requirements;
- `tests/golive/28-self-project.test.ts`: preserved live canonical self-Project proof and authenticated its protected control-plane read; durability local bootstrap/auth smoke was moved to `tests/integration/self-project-auth.test.ts`;
- GOLIVE AC-19 wording aligned from `target-head fidelity` to product vocabulary `target-revision fidelity`;
- no textual conflict markers remain.


Checkpoint 3 — converged branch green and remotely synchronized:

- focused normal merge gate at `0089cde`: 12 files / 62 tests PASS covering ADR-0009 auth/session, GOLIVE orchestrator/N2, provider execution, DBOS workflow registration, outbox/marker replay, automatic trusted Merge, and pain regressions;
- real PostgreSQL 16 gate at `0089cde`: authenticated control-plane transport 4/4 PASS, authenticated self-Project bootstrap 1/1 PASS, real DBOS SIGKILL crash-window 1/1 PASS; Drizzle regeneration reported no schema changes and clean tree;
- full `pnpm check` at `0089cde` PASS: 54 test files passed / 5 opt-in skipped, 233 tests passed / 9 skipped, build PASS, architecture 6/6, dependency-cruiser zero violations across 117 modules / 208 dependencies, Prettier clean;
- canonical truth audit: `GOLIVE.md` remains 0/30 re-proven; AC-01 is authenticated HTTPS; AC-19 uses target-revision product vocabulary and automatic trusted Merge; no deployment was performed;
- remote audit after fresh fetch: convergence contains current dogfood `2974f72` and current main `679f6e4`; no dogfood/main commits exist outside convergence; `origin/converge/i1-main-20260824 == 0089cde`.

## Conflict expectations

Historical auth-vs-dogfood overlaps relative to shared base `8832a026`:

- `apps/control-plane/src/server.ts`
- `infra/dogfood/deploy-debian3.sh`
- `tests/golive/01-ui-loads.spec.ts`
- `tests/golive/02-control-plane-postgres.test.ts`
- `tests/golive/04-owner-lifecycle.spec.ts`
- `tests/golive/28-self-project.test.ts`

The durability-only delta after auth base had zero committed path overlap with dogfood at the last audit, but this must be rechecked after the actual merge.

## Evidence log

- 2026-08-24: owner explicitly expanded completion criterion: resolve convergence and push canonical main before DONE.
- 2026-08-24: interrupted dogfood WIP inspected, `git diff --check` clean, checkpointed as `d361ded`.
- 2026-08-24: dogfood focused Node 22 build + FOUNDATION/N2 tests 20/20 PASS at `d361ded`.
- 2026-08-24: full dogfood check found only two lint issues; fixed in local commit `95714cc`.
- 2026-08-24: concurrent session pushed `2974f72` (runner digest lock) after `d361ded`; convergence rebased conceptually by starting fresh from that remote instead of overwriting it.
- 2026-08-24: cherry-picked lint repair to fresh convergence branch as `0ca70ab`.
- 2026-08-24: Prettier-only baseline cleanup committed as `a14c401`; exact full `pnpm check` PASS on Debian2: 205 passed / 3 skipped, architecture 6/6, zero dependency violations, formatting clean.


Checkpoint 4 — canonical main source landing complete:

- fresh race check immediately before landing proved `a73280e` contained current dogfood `2974f72` and current main `679f6e4`, with no commits from either ref outside convergence;
- direct fast-forward push succeeded: `origin/main` moved `679f6e4 -> a73280e`;
- fresh fetch after push proved `origin/main == origin/converge/i1-main-20260824 == a73280e`;
- the remaining operation is only this status-ledger commit. It changes no source, tests, schema, runtime or deployment semantics. It must receive one exact-head `pnpm check`, then be pushed to both convergence and main and verified remotely. No further ledger mutation follows that verification to avoid a self-referential final-commit loop.


Checkpoint 5 — concurrent main publication preserved:

- after the first verified main landing, `origin/main` advanced independently to `28a27cd` via `AWP Image Publisher`; the only change was `infra/dogfood/agent-runner-image.lock`, pinning digest `sha256:5dce472c0375cacc52b5039edc44d5ef9713de59222aefe0c45d90c03b7690ca`;
- final race check stopped rather than overwriting that commit;
- `origin/main@28a27cd` was merged into convergence with no conflict using merge commit `merge: preserve latest published runner digest`;
- no source/runtime behavior outside the generated digest lock changed; H11/H12 are reopened until the new exact head is revalidated and landed.


Checkpoint 6 — final canonical landing before status-only close:

- exact-head `pnpm check` at `d52774d` PASS: 54 test files passed / 5 opt-in skipped, 233 tests passed / 9 skipped, build PASS, architecture 6/6, dependency-cruiser zero violations across 117 modules / 208 dependencies, Prettier clean;
- fresh race check proved current dogfood `2974f72` and current main `28a27cd` were both ancestors of `d52774d` with no outside commits;
- fast-forward push succeeded: `origin/main 28a27cd -> d52774d`;
- fresh fetch proved `origin/main == origin/converge/i1-main-20260824 == d52774d`;
- all H0-H12 completion criteria are satisfied for the source/convergence goal. This status-only commit is the final repository mutation; after exact-head gate it is pushed to both refs and remotely verified with no further edits.

## Blockers

None.

## Next action

Commit this final status-only checkpoint, push it to the convergence ref, run exact-head `pnpm check` on Debian2, race-check current main/dogfood ancestry, fast-forward main to that exact checked commit, fetch and verify both refs equal it. Do not edit anything after successful verification.
