~bigbes/sr-ht-dolt · parade

main · last commit 5 hours ago · ti41arbu

← Back to the parade

sr-ht-dolt-5bo Adopt sr-ht-ecore/mcphttp instead of dolt's private mcpsrv cache/hostguard copies Lined Up

status: open P2 task
bd update sr-ht-dolt-5bo --claim bd close sr-ht-dolt-5bo
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-17T20:38:58Z
Updated2026-08-17T20:38:58Z
Description
What is wrong: `sr-ht-ecore/mcphttp` was extracted specifically because the Host guard, the commit-time cache wrapper, and the MCP transport options are byte-identical across services — and dolt still carries a private copy (`privateCache`/`cacheWriter`, `allowHosts`/`hostAllowed`, and the options literal) instead of importing it. dolt pins an ecore revision (`…20260816081411-3bd158fbb232`) that already contains the `mcphttp` package, including its Flush fix (3bd158f), so the "not resolvable" excuse other siblings' comments give does not apply here either.

Why it matters: the duplication is what produced D02 (dolt's copy is missing the Flush fix) — the identical bug was independently discovered and fixed twice elsewhere in the family (ecore 3bd158f/00d7582, artifacts 6c44e03) instead of being fixed once upstream and inherited.

Sibling that already does it correctly: none yet fully adopts it, but the target package is `sr-ht-ecore/mcphttp/{mcphttp,hostguard,cache}.go`. One real blocker specific to dolt: `mcphttp` currently hardcodes `vary = "Cookie, Authorization"`, while dolt deliberately uses `Authorization` alone (dolt's `/mcp` is bearer-only, an argued and correct choice for dolt) — so `vary` needs to be parameterized in `mcphttp.PrivateCache` before dolt can adopt it.

Fix: once `vary` is parameterized upstream in ecore (a prerequisite, not dolt-local work), delete dolt's local `privateCache`/`cacheWriter`/`allowHosts`/`hostAllowed`, import `mcphttp`, and call `PrivateCache`/`HostGuard`/`StreamableOptions()` with `Authorization`-only vary. Keep the MCP tool-registration code itself local — that part is intentionally not shared.

Status: verified — grep for `sr-ht-ecore/mcphttp` imports across all nine service trees returns zero real imports (two doc-comment mentions elsewhere, none in dolt).

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:38:57Z
Stored rows — what this pane was built from, as read
issues 1 row
id sr-ht-dolt-5bo
content_hash a7be3c20ae5af0a6b8e00a4765f9613215128b6354d30c123bcc9aec9cbd7562
title Adopt sr-ht-ecore/mcphttp instead of dolt's private mcpsrv cache/hostguard copies
description What is wrong: `sr-ht-ecore/mcphttp` was extracted specifically because the Host guard, the commit-time cache wrapper, and the MCP transport options are byte-identical across services — and dolt still carries a private copy (`privateCache`/`cacheWriter`, `allowHosts`/`hostAllowed`, and the options literal) instead of importing it. dolt pins an ecore revision (`…20260816081411-3bd158fbb232`) that already contains the `mcphttp` package, including its Flush fix (3bd158f), so the "not resolvable" excuse other siblings' comments give does not apply here either. Why it matters: the duplication is what produced D02 (dolt's copy is missing the Flush fix) — the identical bug was independently discovered and fixed twice elsewhere in the family (ecore 3bd158f/00d7582, artifacts 6c44e03) instead of being fixed once upstream and inherited. Sibling that already does it correctly: none yet fully adopts it, but the target package is `sr-ht-ecore/mcphttp/{mcphttp,hostguard,cache}.go`. One real blocker specific to dolt: `mcphttp` currently hardcodes `vary = "Cookie, Authorization"`, while dolt deliberately uses `Authorization` alone (dolt's `/mcp` is bearer-only, an argued and correct choice for dolt) — so `vary` needs to be parameterized in `mcphttp.PrivateCache` before dolt can adopt it. Fix: once `vary` is parameterized upstream in ecore (a prerequisite, not dolt-local work), delete dolt's local `privateCache`/`cacheWriter`/`allowHosts`/`hostAllowed`, import `mcphttp`, and call `PrivateCache`/`HostGuard`/`StreamableOptions()` with `Authorization`-only vary. Keep the MCP tool-registration code itself local — that part is intentionally not shared. Status: verified — grep for `sr-ht-ecore/mcphttp` imports across all nine service trees returns zero real imports (two doc-comment mentions elsewhere, none in dolt). Audit: D10 (cross-repo audit, 2026-08-17)
design
acceptance_criteria
notes
status open
priority 2
issue_type task
assignee NULL
estimated_minutes NULL
created_at 2026-08-17T20:38:58Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-17T20:38:58Z
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-e52e-7274-8526-d7670528b26e
issue_id sr-ht-dolt-5bo
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-17T23:38:57Z