Problem — The session & device lifecycle mechanisms (spec-20260905-045114, placement amendment) were built on the vendored fork (held PRs harmoniqs/opencode#296/#298 as reference); the fork is retiring and amicode main now runs the app overlay on stock canonical opencode v1.18.29. The base contract must land client-side in the overlay.
Approach — Port the client-side mechanisms from the held reference, ADAPTED per the revised placement: the currency token is CLIENT-DERIVED over the fetched projection (count, max, sum + server-version stamp) — no server field; project grouping is client-side over directory/projectID — no server rows or backfill; parity checked client-side against the release channel using the server-reported version; the drift gate becomes a per-harness conformance suite fixture. Honest states (dropdown + home), in-product reset, paginated boot fetch port as-is.
Scope — in: the overlay-side contract (state, currency, grouping, parity, honest states, reset, pagination, H1 harness, conformance fixture). · out: server-side semantics (Harness Contract vNext optional surfaces — separate amendment); the fleet overlay (amicissimo#380, parallel session).
Problem — The session & device lifecycle mechanisms (spec-20260905-045114, placement amendment) were built on the vendored fork (held PRs harmoniqs/opencode#296/#298 as reference); the fork is retiring and amicode main now runs the app overlay on stock canonical opencode v1.18.29. The base contract must land client-side in the overlay.
Approach — Port the client-side mechanisms from the held reference, ADAPTED per the revised placement: the currency token is CLIENT-DERIVED over the fetched projection (count, max, sum + server-version stamp) — no server field; project grouping is client-side over directory/projectID — no server rows or backfill; parity checked client-side against the release channel using the server-reported version; the drift gate becomes a per-harness conformance suite fixture. Honest states (dropdown + home), in-product reset, paginated boot fetch port as-is.
Scope — in: the overlay-side contract (state, currency, grouping, parity, honest states, reset, pagination, H1 harness, conformance fixture). · out: server-side semantics (Harness Contract vNext optional surfaces — separate amendment); the fleet overlay (amicissimo#380, parallel session).