docs: C4 route 4b scoping — split three ways, and two corrections
Scoping at 44830a0e puts 4b at 1,300-2,200 production lines (centred ~1,700)
plus ~2,500-3,500 lines of test work — 4-6x route 4a and ~2x route 2, the two
largest landings in this campaign, which took 4 and 5 review rounds. Split into
4b-1 (infrastructure, no behaviour change), 4b-2 (far branch), 4b-3 (teleport
and cell-less, with the ~739-line class deletions). 4b-1 stays separate
regardless of appetite for landings.
Corrects two errors in documents from yesterday:
AP-135 does NOT retire with 4b. Its own condition is retirement with the
free-fall sweep gate, which 4b does not touch, and its sites are the airborne
no-op branches — 4a-owned dispositions. The trap is that its two writes sit
inside OnPosition, which 4b rewrites heavily.
Retail has exactly ONE ConstrainTo on the remote arm (@0x00454272); all three
nonzero-returning MoveOrTeleport branches funnel through it. My route-4 scoping
implied a distinct remote-teleport arming site. There is none, so 4b must not
add a second one — the post-operation arm 4a introduced becomes the only arm.
Records a new failure mode 4b must not create: a DeferredCell park WITHDRAWS the
entity (InWorld false, Active cleared, clock suspended, residency dropped), and
Forget-on-every-accepted-Position kills the park without restoring any of it. If
the next packet classifies Interpolate, no placement runs and the remote stays
withdrawn indefinitely — invisible AND intangible, the #184 class through a
third door. Direction: refuse rather than park; the next packet is the retry,
because remote Positions are a 5-10 Hz stream.
Two transfer errors named explicitly so they are not repeated: do not port route
2's re-issue funnel (re-issuing a superseded pose is wrong for a repeated
stream), and do not port its ack machinery (retail's remote arm has no
SendPositionEvent).
Also records that remotePlacementRequired fires for every non-visible remote on
the graphical host — a routine hot path, not a teleport rarity — and that
deleting the legacy blocks removes the only handler for null/Rejected*, which
during the login window is every remote packet.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
44830a0eb3
commit
dda1e2a03a
2 changed files with 171 additions and 2 deletions
|
|
@ -297,8 +297,23 @@ same commit) → docs/handoff commit. No workarounds; no fused slices.
|
|||
own live evidence, not a silent convergence.
|
||||
- Register row **AP-135** (the airborne no-op's retained acdream
|
||||
bookkeeping: the server cell id for the free-fall sweep gate, and the
|
||||
last-server-position sample) retires with 4b's transition machinery, not
|
||||
before.
|
||||
last-server-position sample) — **CORRECTED 2026-08-04: this row does NOT
|
||||
retire with 4b.** Its own stated condition is retirement together with the
|
||||
free-fall sweep gate (`RuntimeRemotePhysicsUpdater.cs:342`), which 4b does
|
||||
not touch, and its sites are the airborne no-op branches — 4a-owned
|
||||
dispositions, not 4b's far-snap/teleport/cell-less. The trap is that those
|
||||
two writes sit physically inside `OnPosition`, which 4b rewrites heavily,
|
||||
so an implementer will assume they go. They stay. See
|
||||
[`2026-08-04-c4-route-4b-scoping-and-split.md`](../research/2026-08-04-c4-route-4b-scoping-and-split.md).
|
||||
- **4b is itself split into 4b-1 / 4b-2 / 4b-3** (2026-08-04). Scoping put
|
||||
4b at 1,300-2,200 production lines — 4-6x route 4a — plus ~2,500-3,500
|
||||
lines of test work. 4b-1 is infrastructure with no remote behaviour change
|
||||
(the per-entity placement owner, the service-window guard, the
|
||||
refuse-rather-than-park policy, N3's headless `RetryPending` pump); 4b-2 is
|
||||
the far branch alone; 4b-3 is teleport/cell-less and the ~739-line class
|
||||
deletions. 4b-1 stays a separate landing regardless: it is where the
|
||||
park-withdraws-the-entity failure mode is decided, and it must not be
|
||||
reviewed alongside a large deletion.
|
||||
Note the route-4 Create half is ALREADY DONE (C3b/C3c); the remaining work is
|
||||
steady-state remote Position plus the deletions. AP-131 is NOT retired by
|
||||
either sub-slice — see the scoping doc for why route 4 alone cannot.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue