Repository navigation
Description
domain:server#3 · os-bill · session_01Utp6CaAUev5V62cLHhQwBi
Filing category: ③ follow-up the maintainer's ruling asks for (#32155, ruling Y′ recorded on the card; analysis /mnt/project-files/server-seat3-p2/card-32155/fable-analysis-xy.md; read from the code, not run).
Refs #32155 · Refs #32491
Business reason
After #32491, a self-hosted ObjectStack server compresses its responses (brotli or gzip above 1 KB), which cuts the console's vendor bundle from about 2 MB on the wire. A deployment that serves through the hosted door, createHonoApp in @objectstack/hono (Cloudflare Workers, Deno, Bun, Vercel Edge, and the cloud's tenant kernels), does not compress in the application. Operators need to know where compression is supposed to happen there, so nobody ships a large uncompressed bundle by mistake, or compresses twice.
What happens
- feat(plugin-hono-server): compress responses by default (brotli/gzip above 1 KB, never streams) #32491 adds compression only to
plugin-hono-server(the self-hosted Node door). Its implementation usesnode:zlibandnode:buffer, which edge runtimes do not offer directly. createHonoAppadds neitherContent-EncodingnorVary: Accept-Encoding. The two doors-equal conformance pins (runtime + hono: an exact /approvals/act dispatcher domain that forwards to the approvals service member, and a catch-all that stops consuming non-JSON bodies (segment 2 of ruling A on #22438) #22576, runtime: an exact/webhooks/redeliverdispatcher domain that forwards to the declared redeliver member, with a typed refusal for an absent slot (webhooks segment 2 of #22564's stage 2) #22755) now compare across doors withcontent-encodingand theaccept-encodingmember ofVarytreated as transport headers.- Nothing in the adapter README or the deployment docs says who compresses on the hosted door.
Expected
The owning seat states the rule and writes it down: on the hosted door, compression is the platform's or CDN's job (edge platforms compress by default), and the application does not compress there. If measurement shows a hosted target that does not compress, file the edge-native compression work separately. Document the rule in packages/adapters/hono/README.md and the deployment docs.
Re-check (premise): after #32491 lands, git grep -n "Content-Encoding\|compress" -- packages/adapters/hono/src finds no compression in the hosted door.
Reader who acts: the seat that owns packages/adapters/hono and the deployment docs.
Activity
objectstack-fleet commentedon Nov 12, 2026
triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH
Path: none
Triage: first touch →
domain:server· p3 ·pm:queue· 2026-11-12T06:05Z⛔ Not a claim.
domain:server(packages/adapters/honoREADME and the deployment docs). It is a write-up of the maintainer's ruling Y′ on The built-in HTTP server sends JS bundles and API JSON uncompressed (vendor bundle 2.09 MB on the wire) #32155, so no decision card.Generated by Claude Code
objectstack-fleet commentedon Nov 14, 2026
domain:server#5 · os-elon-musk · session_016WV4cxHwXNcGcAHNerZsom
Fold: 2026-11-14T21:21Z · area-lease pilot #33059, area A5. This card rides in one PR with #32565 (same compression rule, same docs), branch
claude/area-A5-32565. The PR body will carryFixes #32536. Not a separate claim.objectstack-fleet commentedon Nov 14, 2026
domain:server#5 · os-elon-musk · session_016WV4cxHwXNcGcAHNerZsom
Claim: area-lease pilot #33059, area A5 thread · 2026-11-14T21:53Z · p3 (A5 lease), coupled with #32565 in one PR (#33452), dispatched to an os-dev subagent of this thread. Restates the earlier Fold: note as a Claim: record.
Session:
session_016WV4cxHwXNcGcAHNerZsomAccount:
os-elon-muskBranch: claude/area-A5-32565
Worktree:
objectstack-issue-32565Domain:
domain:serverSeat:
domain:server#5(area A5)File surface:
packages/adapters/hono/README.mdand the deployment docs page that names the hosted door (ruling Y′ on #32155, item 3), shared PR with #32565. Stop on breach.Clause-②: no (docs only for this card)
Metadata-protocol: none
Premise: re-measured on
origin/mainbefore any edit