docs: Campaign N CLOSED - user-accepted; #260 closed; #262 filed

The acceptance session on Coldeve ran 20 portal transits with zero wedges and captured a real wire-loss recovery live (resend/s=1 nak-in=1 mid-session, converged net-final ledger, graceful logout) - the event class that permanently killed sessions before N1. #260 is closed on that evidence. The one unrelated observation (first-login run-on-the-spot until a recall reset, self-healed, not reproduced on relogin) is filed as #262 with hypotheses and the no-workaround rule restated. Campaign doc, roadmap, and CLAUDE.md pointers flipped to the closed record.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-29 17:48:45 +02:00
parent 5872826a13
commit 91d1d0d6f4
3 changed files with 54 additions and 11 deletions

View file

@ -572,7 +572,7 @@ render/streaming work at `claude-memory/project_render_pipeline_digest.md`.
Documentation entry point: [`docs/README.md`](docs/README.md). Documentation entry point: [`docs/README.md`](docs/README.md).
For canonical state, read in this order: For canonical state, read in this order:
- [`docs/plans/2026-07-29-network-transport-campaign.md`](docs/plans/2026-07-29-network-transport-campaign.md) — **ACTIVE: Campaign N, the retail reliable-transport port.** The #260 root cause (no packet-loss recovery in either direction), the retail mechanism map with symbols, the ACE constraint table, slices N0N6 with gates and review assignments, and the landmine list. Read this before touching anything under `src/AcDream.Core.Net/`. - [`docs/plans/2026-07-29-network-transport-campaign.md`](docs/plans/2026-07-29-network-transport-campaign.md) — Campaign N, the retail reliable-transport port — **CLOSED 2026-07-29, user-accepted** (#260 closed; a real wire loss recovered live during the acceptance session). Still the SSOT for the transport mechanism, the ACE constraint table, and the landmine list — read it (or `claude-memory/project_network_transport_digest.md`) before touching anything under `src/AcDream.Core.Net/`.
- [`docs/plans/2026-07-27-vulkan-campaign.md`](docs/plans/2026-07-27-vulkan-campaign.md) — Campaign V, OpenGL → Vulkan — **CLOSED 2026-07-29**; the completed record of the RHI contract, V0V11 slices, and the GL deletion. Historical reference for `src/AcDream.App/Rendering/`. - [`docs/plans/2026-07-27-vulkan-campaign.md`](docs/plans/2026-07-27-vulkan-campaign.md) — Campaign V, OpenGL → Vulkan — **CLOSED 2026-07-29**; the completed record of the RHI contract, V0V11 slices, and the GL deletion. Historical reference for `src/AcDream.App/Rendering/`.
- [`docs/plans/2026-05-12-milestones.md`](docs/plans/2026-05-12-milestones.md) — milestone targets + freeze list per milestone - [`docs/plans/2026-05-12-milestones.md`](docs/plans/2026-05-12-milestones.md) — milestone targets + freeze list per milestone
- [`docs/plans/2026-04-11-roadmap.md`](docs/plans/2026-04-11-roadmap.md) — what's shipped, what's in flight, what's next - [`docs/plans/2026-04-11-roadmap.md`](docs/plans/2026-04-11-roadmap.md) — what's shipped, what's in flight, what's next

View file

@ -97,6 +97,41 @@ Copy this block when adding a new issue:
--- ---
## #262 — Run-on-the-spot at first login: no displacement until a recall reset
**Status:** OPEN
**Severity:** MEDIUM (self-heals via any teleport; first-login only so far)
**Filed:** 2026-07-29 (Campaign N acceptance run 1 on Coldeve)
**Component:** login flow / local movement / physics readiness
**Symptom (user report):** on the first login of the acceptance session the
character animated running but did not move ("ran on the spot"); casting a
recall spell — i.e. the first server teleport/position reset — fixed it, and
movement was normal for the rest of a 20-teleport session. The second login
(same binary, minutes later) did not reproduce.
**Evidence:** `artifacts/coldeve-acceptance-20260729/
acceptance-run1-20teleports-1recovery.log` (local). The login reveal was
clean — generation 1 reached collision=True before world-visible — so the
reveal gate is not the culprit. The log shows a large first-position
recenter jump (169,180)→(135,102)@0x87660009. Not yet attributed.
**Hypotheses to test (in order):** (a) server-side position rejection until
the first ForcePosition — our AutonomousPosition stream may have been
ignored by ACE until a position reset (check whether early 0xF61C sends
flowed and what ACE echoed); (b) client physics landed before the walkable
was resident at the exact spawn cell (the run-on-spot presentation is what
a missing contact plane looks like); (c) a Campaign-N interaction is NOT
suspected (the transport ledger was clean at login) but rule it out by
checking the first minute's [net-out]/[net-tick] against the movement
input timeline.
**Next:** reproduce with `ACDREAM_PROBE_RESOLVE=1` + `ACDREAM_PROBE_NET=1`
on a fresh login; the resolve lines name the missing piece directly. Do NOT
add a workaround (no auto-recall, no synthetic position kick).
---
## #261 — Wire LinkStatusSnapshot.PacketLossPercentage from retail's formula ## #261 — Wire LinkStatusSnapshot.PacketLossPercentage from retail's formula
**Status:** OPEN **Status:** OPEN
@ -121,14 +156,18 @@ and the indicator shows non-zero loss under `tools/run-connected-loss-gate.ps1`.
## #260 — Portal-network wedge: outbound actions die + native/GPU memory climbs ## #260 — Portal-network wedge: outbound actions die + native/GPU memory climbs
**Status:** FIX IMPLEMENTED 2026-07-29 — **Campaign N slices N0N6 all **Status:** CLOSED 2026-07-29 — **Campaign N complete and user-accepted.**
shipped and reviewed** (outbound resend `43e60a69`, inbound Slices N0N6 all shipped and reviewed (outbound resend `43e60a69`, inbound
sequence-aligned ISAAC `46d209d0`, retail ack cadence `0265cc42`, NAK sequence-aligned ISAAC `46d209d0`, retail ack cadence `0265cc42`, NAK
emission + reclaim `852a59e3`, the permanent loss gate `4e290f00`, emission + reclaim `852a59e3`, the permanent loss gate `4e290f00`,
handshake/assembler hardening `f9c5e47e`). The loss gate observes real handshake/assembler hardening `f9c5e47e`). Acceptance: the user's Coldeve
injected loss recovering in both directions with the cipher ledger session ran 20 portal transits with zero wedges, and the log captured a
converged. CLOSES when the user's Coldeve endurance session passes the REAL wire loss recovering live (`resend/s=1 nak-in=1` mid-session;
historic 15-minute wedge horizon. Original root-cause record below. `[net-final] resends=1 nak-in=1 … cksum-fail=0 … nakset=0` — evidence at
`artifacts/coldeve-acceptance-20260729/`, local). The exact event that
permanently killed sessions two days earlier is now a sub-second
non-event. One unrelated first-login anomaly filed as #262. Original
root-cause record below.
([`docs/plans/2026-07-29-network-transport-campaign.md`](plans/2026-07-29-network-transport-campaign.md)). ([`docs/plans/2026-07-29-network-transport-campaign.md`](plans/2026-07-29-network-transport-campaign.md)).
The wedge is missing packet-loss recovery in BOTH directions: (a) no outbound The wedge is missing packet-loss recovery in BOTH directions: (a) no outbound
retransmission — ACE's `RequestRetransmit` lists are parsed and consumed retransmission — ACE's `RequestRetransmit` lists are parsed and consumed

View file

@ -1,9 +1,13 @@
# Campaign N — Retail-Faithful Network Transport # Campaign N — Retail-Faithful Network Transport
**Status: IMPLEMENTATION COMPLETE 2026-07-29 — all seven slices (N0N6) **Status: CLOSED 2026-07-29 — user-accepted.** All seven slices shipped and
shipped and reviewed. Remaining acceptance: the user Coldeve endurance reviewed; the acceptance session on Coldeve ran 20 portal transits with
session (§8 rung 4) — play past the historic 15-minute wedge horizon with zero wedges and captured a REAL wire-loss recovery live (`resend/s=1
portal churn; the `[net-tick]`/`[net-final]` counters are the evidence.** nak-in=1` mid-session; converged `[net-final]` ledger; graceful logout) —
the exact event class that permanently killed sessions before N1. Evidence:
`artifacts/coldeve-acceptance-20260729/` (local). #260 closed; the one
unrelated first-login anomaly observed is filed as #262. THE CAMPAIGN IS
CLOSED.
acdream cannot survive a single lost UDP packet in either direction. This acdream cannot survive a single lost UDP packet in either direction. This
campaign ports retail's reliable-transport mechanism (the Sept 2013 named campaign ports retail's reliable-transport mechanism (the Sept 2013 named