fix(chargen): Campaign CC CC7 review fix round — F1-F9 — REVIEW-CLOSED
Both dual-lens reviewers of `9cf6c522`+`ddcbf1fb` returned PASS-with-items. This round closes all nine findings: F1 files AP-229 for the screen-layering divergence (retail destroys/ reconstructs the current UI framework via UIFlow::UseNewMode; acdream keeps both CharacterManagementUiController and CharacterCreationUiController mounted for the whole lifetime and reveals/occludes) plus its narrow residual risk (the shared RetailDialogFactory can hand UiRoot.Modal to a dialog opened by the still-ticking, occluded management screen on an inbound CharacterError) and what already matches retail (selection/ world-name persistence, click-through isolation, one coherent Modal stack). F2 rewrites the connected-gate script's roster-full step with the exact `@modifylong max_chars_per_account` recipe and the pending-delete-counts note. F3 adds AP-221's console-diagnostic lines to the known-gaps paragraph. F4 adds an empty-name/AP-227 step. F9 notes that a uniform Random pick over 13 heritages can repeat. F5 adds an App-layer source-text pin (GameWindowLiveSessionOwnershipTests.LiveSessionRuntimeFactoryBinds CharacterCreatedAndCreationFailedToTheStatusWriter) for the delegate wiring the reviewer proved was deletable without breaking any test — no practical seam exists to construct LiveSessionRuntimeFactory without a GameWindow, so this follows the file's own established source-text-pin pattern; the payload shape is already pinned separately at SessionStatusWriterTests. F6 corrects the CC7 ledger's checksum-assertion wording (it is a round-trip purity check, not an independent golden — the golden is CharacterCreateTests.ComputeChecksum_ExactRetailAccumulationSet) and cross-references it from the test's own doc comment. F7 corrects the CC7 ledger's fixture-ordering claim (it had chargen constructing first, backwards from RetailUiRuntime.Tick's real management-then-chargen order) and reorders CharacterScreensFixedCanvas ArbiterTests to match production, adding ClickThrough/ZOrder assertions that pin the occlusion the reviewer previously verified only by hand. F8 records a known flake (RuntimeCollisionReportingStateTests. WarmedSteadyContactRefreshDoesNotAllocate, allocation-assertion load sensitivity, pre-existing) seen under full-solution parallel load on both reviewer runs. Campaign status: all seven slices (CC1-CC7) are REVIEW-CLOSED; the campaign is CODE-COMPLETE pending the user's own connected gate. Runtime 1735/0 (unchanged), App 5257/3 skips (+1: the new F5 pin). Full Release build: 0 warnings, 0 errors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
ddcbf1fbf2
commit
2176ba768e
6 changed files with 175 additions and 19 deletions
|
|
@ -430,10 +430,22 @@ public sealed class LiveSessionControllerCharacterCreationTests
|
|||
/// test above never checked — against exactly the shape
|
||||
/// <c>CharacterCreateInfo.Unpack</c>/<c>Appearance.Unpack</c> parse (see
|
||||
/// <see cref="CharacterCreate"/>'s own doc comment for the ACE
|
||||
/// cross-reference). The checksum is recomputed via the SAME production
|
||||
/// <see cref="CharacterCreate.ComputeChecksum"/> formula rather than
|
||||
/// re-deriving the sum a second time by hand in the test.
|
||||
/// cross-reference).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campaign CC CC7 review-fix round, F6 (2026-08-16): the checksum
|
||||
/// assertion below (<c>Assert.Equal(CharacterCreate.ComputeChecksum(r),
|
||||
/// decoded.Checksum)</c>) is a ROUND-TRIP/PURITY check, not an
|
||||
/// independent golden — it recomputes the SAME production
|
||||
/// <see cref="CharacterCreate.ComputeChecksum"/> formula the encode side
|
||||
/// already used, rather than re-deriving the sum a second time by hand,
|
||||
/// so it proves the wire-encode/decode round trip is lossless but
|
||||
/// cannot by itself catch a bug shared by both the encoder and this
|
||||
/// formula. The checksum's actual golden value (the 19-term retail
|
||||
/// accumulation set, hand-summed to <c>205u</c>) is pinned separately
|
||||
/// at <c>CharacterCreateTests.ComputeChecksum_ExactRetailAccumulationSet</c>
|
||||
/// (<c>tests/AcDream.Core.Net.Tests/Messages/CharacterCreateTests.cs</c>).
|
||||
/// </remarks>
|
||||
[Fact]
|
||||
public void Finish_SendsEveryWireFieldByteExactAgainstACEsUnpackShape()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue