~bigbes/sr-ht-ecore · parade

main · last commit 18 hours ago · 7bghjra2

← Back to the parade

sr-ht-ecore-6r2 Parameterize the hardcoded Vary header in mcphttp.PrivateCache so dolt can adopt mcphttp Lined Up

status: open P2 bug
bd update sr-ht-ecore-6r2 --claim bd close sr-ht-ecore-6r2
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-17T20:36:07Z
Updated2026-08-17T20:36:07Z
Description
What is wrong: sr-ht-ecore/mcphttp/cache.go's PrivateCache hardcodes vary = "Cookie, Authorization". This is the one stated blocker preventing sourcehut-dolt from importing mcphttp instead of carrying its own private copy, since dolt deliberately uses Vary: Authorization alone.

Why it matters: mcphttp was extracted precisely because the Host guard, the commit-time cache wrapper and the two transport options are byte-identical across six services (artifacts, bench, coverage, curator, dolt, specs) — yet nothing imports it (grep across all nine service trees returns zero real imports, only two doc-comment mentions in bench and specs falsely claiming the swap is blocked because the ecore commit adding mcphttp is unpublished/unpinned — verifiably false, both pinned ecore revisions already contain the package). Because each service kept its own private copy, the identical cacheWriter.Flush bug was independently discovered and fixed twice (ecore 3bd158f/00d7582, artifacts 6c44e03), and two other defects in this same audit (a service missing Stateless: true, two services missing Flush on their cacheWriter) are direct consequences of copy-don't-import continuing instead of the package being adopted.

Correct variant: mcphttp itself, once this one blocker is removed.

Fix: make vary a parameter/field on mcphttp.PrivateCache (or on StreamableOptions), defaulting to "Cookie, Authorization" but overridable so dolt can pass "Authorization" alone. This unblocks each of the six services deleting their private privateCache/cacheWriter/allowHosts/hostAllowed copies and importing mcphttp directly — that consumer-side work is separate follow-up work per repo, not part of this issue.

Confidence: verified (two doc-comment mentions found, zero real imports; both services' pinned sr-ht-ecore revisions confirmed to already contain mcphttp).

Audit: D10 (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:36:06Z
Stored rows — what this pane was built from, as read
issues 1 row
id sr-ht-ecore-6r2
content_hash 5a67ac288a1f220cf4ef8e7674c6a12e4b32044d52cf9db6af99a2055527cab6
title Parameterize the hardcoded Vary header in mcphttp.PrivateCache so dolt can adopt mcphttp
description What is wrong: sr-ht-ecore/mcphttp/cache.go's PrivateCache hardcodes vary = "Cookie, Authorization". This is the one stated blocker preventing sourcehut-dolt from importing mcphttp instead of carrying its own private copy, since dolt deliberately uses Vary: Authorization alone. Why it matters: mcphttp was extracted precisely because the Host guard, the commit-time cache wrapper and the two transport options are byte-identical across six services (artifacts, bench, coverage, curator, dolt, specs) — yet nothing imports it (grep across all nine service trees returns zero real imports, only two doc-comment mentions in bench and specs falsely claiming the swap is blocked because the ecore commit adding mcphttp is unpublished/unpinned — verifiably false, both pinned ecore revisions already contain the package). Because each service kept its own private copy, the identical cacheWriter.Flush bug was independently discovered and fixed twice (ecore 3bd158f/00d7582, artifacts 6c44e03), and two other defects in this same audit (a service missing Stateless: true, two services missing Flush on their cacheWriter) are direct consequences of copy-don't-import continuing instead of the package being adopted. Correct variant: mcphttp itself, once this one blocker is removed. Fix: make vary a parameter/field on mcphttp.PrivateCache (or on StreamableOptions), defaulting to "Cookie, Authorization" but overridable so dolt can pass "Authorization" alone. This unblocks each of the six services deleting their private privateCache/cacheWriter/allowHosts/hostAllowed copies and importing mcphttp directly — that consumer-side work is separate follow-up work per repo, not part of this issue. Confidence: verified (two doc-comment mentions found, zero real imports; both services' pinned sr-ht-ecore revisions confirmed to already contain mcphttp). Audit: D10 (cross-repo audit, 2026-08-17)
design
acceptance_criteria
notes
status open
priority 2
issue_type bug
assignee NULL
estimated_minutes NULL
created_at 2026-08-17T20:36:07Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-17T20:36:07Z
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 01a01170-4a26-755b-8520-af41fba5d682
issue_id sr-ht-ecore-6r2
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-17T23:36:06Z