~bigbes/sr-ht-ecore · parade

main · last commit 18 hours ago · 7bghjra2

← Back to the parade

sr-ht-ecore-dwx Reconcile bearer vs metapat expired-entry handling on cache read (or document the difference) Lined Up

status: open P3 task
bd update sr-ht-ecore-dwx --claim bd close sr-ht-ecore-dwx
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-17T20:38:08Z
Updated2026-08-17T20:38:08Z
Description
What is wrong: sr-ht-ecore/bearer/bearer.go::(*Validator).cached returns a miss on an expired cache entry and leaves deletion to the sweep in remember, while sr-ht-ecore/metapat's (*Validator).cached deletes an expired entry as it reads it. Every other difference between these two deliberately-parallel packages has a written rationale in the code; this one does not.

Why it matters: an unexplained divergence between two packages built to be parallel is exactly the kind of drift the family's copy-with-rationale convention is meant to prevent — the next reader (or the next donor copy) cannot tell whether this is a considered choice or an oversight.

Correct variant: sr-ht-ecore/metapat (delete-on-read).

Fix: make bearer's cached delete-on-read to match metapat, or add a comment in bearer.go explaining why it is deliberately different.

Confidence: verified (part of a bundle of five minor divergences, all verified by the source reports; this is item 3 of that bundle, D46).

Audit: D46 item 3 (cross-repo audit, 2026-08-17)

Depends on

No outgoing dependencies.

Depended on by

Nothing depends on this issue.

No comments.

  • Eugene Blikh created the issue · 2026-08-17T23:38:07Z
Stored rows — what this pane was built from, as read
issues 1 row
id sr-ht-ecore-dwx
content_hash e03c8cd9f2eef3a2b9f20f5bc86647e04a5052c117eca710f3fb9fcff1bdf3a3
title Reconcile bearer vs metapat expired-entry handling on cache read (or document the difference)
description What is wrong: sr-ht-ecore/bearer/bearer.go::(*Validator).cached returns a miss on an expired cache entry and leaves deletion to the sweep in remember, while sr-ht-ecore/metapat's (*Validator).cached deletes an expired entry as it reads it. Every other difference between these two deliberately-parallel packages has a written rationale in the code; this one does not. Why it matters: an unexplained divergence between two packages built to be parallel is exactly the kind of drift the family's copy-with-rationale convention is meant to prevent — the next reader (or the next donor copy) cannot tell whether this is a considered choice or an oversight. Correct variant: sr-ht-ecore/metapat (delete-on-read). Fix: make bearer's cached delete-on-read to match metapat, or add a comment in bearer.go explaining why it is deliberately different. Confidence: verified (part of a bundle of five minor divergences, all verified by the source reports; this is item 3 of that bundle, D46). Audit: D46 item 3 (cross-repo audit, 2026-08-17)
design
acceptance_criteria
notes
status open
priority 3
issue_type task
assignee NULL
estimated_minutes NULL
created_at 2026-08-17T20:38:08Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-17T20:38:08Z
closed_at NULL
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at NULL
is_blocked 0
events 1 row
id 01a01172-2223-74ed-87c7-58505c048597
issue_id sr-ht-ecore-dwx
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-17T23:38:07Z