Cover action identity
ClickedEvent carries an area address. LayoutAreaHost.OnClick resolves the control currently
stored at that address; it does not carry the control the browser originally displayed. A
reactive row must therefore keep an address associated with one action, even when its order changes.
The cover originally used unnamed WithView children. Those receive ordinal areas (1, 2,
and so on). Before a progress record arrives, the row is Start / Get or Repair. Afterwards it
is Resume / Start, with the install action folded into Start's menu. A click sent for the old
second child can then execute Start. Menu entries have the same hazard: removing an earlier
link can put Uninstall at Repair's former address.
BuildCoverCtaRow uses the framework's named WithView(control, area) overload for both row
and menu children. The name derives from navigation target or install-dialog mode, independent
of position, label and appearance. SHA-256 gives arbitrary authored targets a fixed path-safe
segment; an occurrence suffix preserves duplicate links as separate controls. A removed action
cannot take another action's address. Existing dialog confirmation and access checks still apply.
Evidence and limits
Education run 34430034774,
shard 1 artifact 10134916847, contains reset trace
5375a5dfcc632167664909a2c7120b1c008a60e4.zip.
Reconstructed 0-trace.trace snapshots show:
input@call@501: the target is the shadow button inside the primary Fluent control labelled Get.input@call@623: the target is the actual 32-pixel chevron, not the primary control. Both sharecta-pill accent, so the abbreviated locator log cannot distinguish them.- Navigation to
DataModeling/NodeTypesappears about 37 seconds after the Get click, followed by the learner's copy. The log records a 25.861-second Orleans scheduler task during this interval.
This rules out the proposed wrong-chevron selector repair. The trace does not record the server's exact control revision at click dispatch, so it does not alone prove which emission caused the navigation. Two tests of the production control builder reproduce the address collisions above: both fail with ordinal areas and pass with named action areas. All 868 Store tests pass locally against the extracted tester references; the native Tests-area gate and learner journey remain required release evidence.
The same Education run first exceeded its 300-second copied-workbench test while opening the
last declared exercise; the retry passed that test in 4.5 minutes. That separate rendering cost
is not fixed by action identity. Neither finding establishes the cause of production
Edu/SelfAssessment's missing-area response.