Skip to content

fix(server): guard persisted PR cache continuations - #28

Closed
alimek wants to merge 1 commit into
access/04c3-pr-read-effectsfrom
access/04c3-persisted-read-effects
Closed

alimek wants to merge 1 commit into
access/04c3-pr-read-effectsfrom
access/04c3-persisted-read-effects

Conversation

@alimek

@alimek alimek commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Summary

External PR reads could touch persisted storage or publish held values after current authority changed during an await. External summary/stack reads now use Effect Cache with the existing TTL and service epochs, isolated by authority and action scope. Trusted reads retain disk persistence and restart reuse.

 PR read
-  persisted get -> lookup -> serialize -> backing set
+  external: checked memory cache -> checked publication
+  trusted: existing persisted cache
 revision invalidation / held publication
+  current composite admission after waits, before effects

Revision invalidation preserves typed denial without disabling caching. Held diff, summary, detail and stats continuations recheck before publication/delivery. Existing write scopes and invoking refresh authority remain intact.

Stack base: access/04c3-pr-read-effects at exact accepted c14c83d5ce70dc6165d715ce255c42c8764c6b29; PR27 remains OPEN/unmerged. Only approved 04c3b2. Final PR write effects04c4 and05–14 remain deferred; ResourceGrantGuard stays CLOSED.

Refs #5, #1.

Evidence

  • Before: removing the two held-record guards makes three permanent regressions fail: summary, stale diff and detail publish denied values after a Clock wait.
    After: 65 focused tests pass: 21 cache/storage cuts and controls, 44 service cache/refresh/scope controls. Final typed-fixture changes also pass their 14 affected tests.
  • Real SQL + Deferred cuts cover grant/root/membership/action changes after external lookup, invalidation permits, revision read, UUID and backing-write continuation. External reads perform zero backing get/set/remove or digest; denial starts no alternate lookup and does not disable persistence. Trusted restart/expiry/revision, ordinary failure, coalescing and cancellation controls pass.
  • Named ./node_modules/.bin/vp run --filter t3 typecheck, five-file lint/format and diff checks pass. Unselected tests use CLI name filters; no committed skips, full-repo checks or CI watching.

Merge Danger

Door: Two-way. Existing disk format and contracts unchanged.

Blast Radius: Bounded. PR read caches, refreshes and held values; external reads rebuild memory after restart. Source acceptance and integration remain coordinator work.

Model: gpt-6.1-sol. Harness: Codex.

@alimek

alimek commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

Consolidated into #30 at the same accepted final source tree (b66e06e), now targeting feature/connection-resource-access. Closing this individual stack PR as superseded; its commits, review record and branch remain preserved. No feature activation or main/upstream merge. Tracking issues remain open until integration verification.

@alimek alimek closed this Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant