Skip to content

docs(adr): ADR-0076 OQ#9 裁决 — catch-all 洗白、步骤①吸收完成 (#2462) - #3576

Merged
os-zhuang merged 1 commit into
mainfrom
docs/adr-0076-step1-verdict
Jul 27, 2026
Merged

docs(adr): ADR-0076 OQ#9 裁决 — catch-all 洗白、步骤①吸收完成 (#2462)#3576
os-zhuang merged 1 commit into
mainfrom
docs/adr-0076-step1-verdict

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

裁决(防止将来执行者按旧文本行动)

ADR D11/OQ#9 原文写"until the catch-all is retired by step ③"——步骤③ 用相反的刀法达成了目标:18 个域体全部搬出、dispatch() 缩成关卡序 + first-match 注册表、if 链域分支清零。

病根从来不是 catch-all 本身,而是它委托进的那个不可枚举的上帝 if 链("declared≠mounted≠implemented" 的 v16 缝 bug 类就藏在那里)。委托进"关卡+注册表"薄管线是合理终态:路由表可枚举(DomainHandlerRegistry.list())、每条有 owner 模块与接缝测试、cloud fallback 织物(/share-links per-env 主面、/notifications 唯一 owner)走同一管线并被 conformance 41 断言 + dogfood 351 端到端锁定。

步骤①("删死分支")被吸收:已无分支可删,只有有主的注册表条目。cloud 侧验证:objectos-runtime 240 测试(含 kernel-resolver 策略)对拆解后 dispatcher 原样通过。

可选 polish(adapter 枚举注册表挂显式路由)需把关卡序 middleware 化——成本大于收益,有意不排期(conformance + route-parity 门在位)。

纯 docs(skip-changeset)。关联 #2462

🤖 Generated with Claude Code

…ep (1) absorbed (#2462)

Step (3) decomposed the dispatcher the other way around: 18 domain
bodies moved out, dispatch() shrank to gates + a first-match registry,
and the if-chain reached zero domain branches. The disease was never
the catch-all — it was the unenumerable god if-chain it delegated
into. Delegating into a thin gates+registry pipeline is the terminal
shape; "kill the dead callable branches" is absorbed (no branches
left, only owned registry entries). The adapter-enumerates-registry
polish is deliberately not scheduled.

Cloud-side verification: objectos-runtime 240 tests (incl. the
kernel-resolver strategy) pass unchanged against the decomposed
dispatcher.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Jul 27, 2026 7:29am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation size/xs labels Jul 27, 2026
@os-zhuang os-zhuang added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Jul 27, 2026
@os-zhuang
os-zhuang merged commit 8e5def1 into main Jul 27, 2026
17 of 18 checks passed
@os-zhuang
os-zhuang deleted the docs/adr-0076-step1-verdict branch July 27, 2026 07:37
os-zhuang added a commit that referenced this pull request Jul 27, 2026
…re splitting into per-prefix mounts (#3608) (#3637)

The first place anyone (human or agent) tempted to "fix" the catch-all
looks is this line, not the issue tracker. Anchor the #3576 verdict and
the #2852 RLS-leak failure mode here; reopen conditions stay archived
on #3608 (closing as deliberately-unscheduled).

Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xs skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant