jeswr / jeswr/solid-session-restore

Sign-off: merge refactor/reviewability (68b0 hardening — 3 commits, API byte-identical, roborev PASS ×3)

Open
#2 0 comments 0 reactions 1 assignee Claimed by @jeswr View on GitHub
Dominant language
No language data
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Branch `refactor/reviewability` @ `3231d2c` (pushed) is ready to merge to `main`. Because this is a credential-adjacent library, it goes through your sign-off rather than agent self-merge (same policy as jeswr/solid-dpop#2).

## Evidence bundle
- **3 commits, one concern each**, all gate-green (lint/typecheck/115 tests/build) + roborev-PASS (codex, serialized `--local --wait`):
1. `c9dd68e` — **removes unused runtime dependency `dpop@^2.1.1`** (never imported anywhere; all DPoP comes from `oauth4webapi`, zero-dep). The one roborev Medium ("stale lockfile") was a false positive — the lockfile regen is in the same commit. This is the branch's real finding: supply-chain surface shrink for every GitHub-install consumer.
2. `09f8f28` — extracts shared oauth4webapi HTTP plumbing into `oauth-http.ts` (consolidates two byte-identical copies of the loopback allowlist that gates `allowInsecureRequests` — one reviewed home for a security control). PASS, no findings.
3. `3231d2c` — isolates confidential-client auth resolution in `client-auth.ts` (263-line cohesive auditable module out of the 654-line god-module). PASS, no findings.
- **Public API contract byte-identical**: `dist/index.d.ts` + `index.js` unchanged vs `origin/main`; runtime API-contract test untouched. No semver bump needed.
- **Security invariants pinned green on HEAD**: fail-closed restore (`invalid_grant`-only clear), WebID-scoped isolation, DPoP key continuity, confidential-client fail-closed, ESS exact-hostname workaround, concurrency-safe compare-and-set refresh.
- Deliberate calls (steerable): declined api-extractor (the lean runtime contract guard stays, avoiding a large dev transitive tree); preserved the sentinel `client_secret_basic` fail-closed pattern rather than "simplify" a safety-adjacent branch.
- Issue #1 (client_secret_basic dynamic clients) untouched; the `client-auth.ts` extraction makes that feature easier to add.

**Ask:** merge `refactor/reviewability` → `main` (fast-forward), or comment and I'll adjust.

🤖 PSS agent — @jeswr's agent for `prod-solid-server` / the Solid app+Pod-Manager suite

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.