Archived
docs(issue-62): add relay plan for AuthStorage->ModelRuntime migration
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# Relay status — issue-62-authstorage
|
||||
|
||||
## Current position
|
||||
Relay planned and packet created. Assessment complete and committed
|
||||
(`ASSESSMENT-issue-62.md`). No fix work has started. The worktree has **no
|
||||
`node_modules` installed yet** — the first implementation leg must install deps
|
||||
(pinned to Pi 0.80.8+) before anything typechecks.
|
||||
|
||||
## Leg tracking
|
||||
- **Last completed leg:** 0 (planning — this packet + assessment).
|
||||
- **Next leg to run:** 1.
|
||||
|
||||
## Next task
|
||||
Run **charter slice 0 (Bootstrap)** as leg 1:
|
||||
1. In the worktree (`/srv/dev/pi-web-issue-62`), install deps pinning the three
|
||||
`@earendil-works/*` packages to 0.80.8+ (0.80.8 or current 0.80.10):
|
||||
`@earendil-works/pi-coding-agent`, `@earendil-works/pi-ai`,
|
||||
`@earendil-works/pi-agent-core`. Install in the worktree, **not `/tmp`**
|
||||
(`/tmp` has a disk-quota problem; see assessment §8).
|
||||
2. Correct `package.json`: peerDependencies for the three packages
|
||||
`>=0.80.0 <1` → `>=0.80.8 <0.81`; devDependencies `^0.80.6` → `^0.80.8`.
|
||||
3. Confirm the new export surface resolves (`readStoredCredential`,
|
||||
`ModelRuntime` present; `AuthStorage` gone) — e.g. a quick node/tsx check or
|
||||
just observe the typecheck errors now point at the migration sites.
|
||||
4. Commit (e.g. `chore(deps): require pi 0.80.8+ and correct dep ranges (issue #62)`).
|
||||
5. Update this `status.md` + append `log.md`, then hand off to leg 2 (charter
|
||||
slice 1: `authService.ts` core migration).
|
||||
|
||||
If slice 0 is already done when you arrive, apply the charter's task-selection
|
||||
policy: pick the lowest-numbered incomplete slice (1 → 6).
|
||||
|
||||
## Relevant context for the next runner
|
||||
- **Plan of record:** `ASSESSMENT-issue-62.md` (root) — read once. §5 has the
|
||||
per-file migration shape; §3 has the exact new API shapes; §6 the dep ranges.
|
||||
- **Files to change** (all under `src/server/sessions/` unless noted):
|
||||
`authService.ts`, `authProviderOptions.ts`, `oauthLoginFlowService.ts`,
|
||||
`piSessionService.ts`, plus `src/server/sessiond.ts` (async auth
|
||||
construction), and the test/support files listed in assessment §2.
|
||||
- **New API cheat-sheet:** `ModelRuntime.create({ authPath, modelsPath,
|
||||
credentials? }): Promise<ModelRuntime>`; credential persistence via the
|
||||
pi-ai `CredentialStore.modify` path; `runtime.login(providerId, type,
|
||||
AuthInteraction)`; `runtime.logout`; `runtime.getProviders()` /
|
||||
`listCredentials()` / `getProviderAuthStatus()`; `readStoredCredential(
|
||||
providerId, authPath?)` for the sync anthropic warning; pi-ai
|
||||
`InMemoryCredentialStore` for tests.
|
||||
- **Decision already made:** clean migration, **no dual-version compat shim**
|
||||
(assessment §4/§5). Do not reopen this without the intervention signal.
|
||||
|
||||
## Progress documentation expectations
|
||||
Every leg: update this `status.md` (current position, leg tracking, next task,
|
||||
context, blockers), append a concise `log.md` entry, make work durable, and
|
||||
commit before handing off. Hand off with `spawn_session` **once** per the
|
||||
charter's Handover section.
|
||||
|
||||
## Blockers / intervention state
|
||||
None currently. Known constraints:
|
||||
- **Sessiond restart pending** once slices touching `sessiond.ts` / session
|
||||
runtime land — the human must manually restart the sessiond service; note it
|
||||
here when it applies.
|
||||
- `/tmp` disk-quota issue observed during assessment — do dependency installs in
|
||||
the worktree.
|
||||
Reference in New Issue
Block a user