frontend-patterns/workplans/FEP-WP-0003-contrasting-schools.md
tegwick da06464f6b Contrast navigation ownership with pinned Zulip sources
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
2026-09-27 00:56:50 +02:00

15 KiB
Raw Blame History

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
FEP-WP-0003 workplan Challenge the language across architectural schools infotech frontend-patterns active codex canon 2026-09-24 2026-09-27 13c123f1-a470-560e-ab8e-b270c387930a

Challenge the language across architectural schools

Part of research/plan/ResearchProgram.md. Full phase completion still requires FEP-WP-0002's evidence gate. Under the user's instruction to continue, a bounded exploratory slice of T01 and provisional case preparation starts before that gate; this is not M1 acceptance or authorization to declare M2 complete.

Compare the six research streams

id: FEP-WP-0003-T01
status: progress
priority: high
state_hub_task_id: "f7a7eea5-5055-545b-a957-55ee4d17a256"

Build a source coverage matrix for streams A–F in ResearchProgram.md. Complete a primary-source review for each stream, including disagreements and independent known uses. Q05 and Q06 guide the comparison; source counts alone do not establish coverage.

Complete contrasting architecture walkthroughs

id: FEP-WP-0003-T02
status: todo
priority: high
state_hub_task_id: "05de53b6-1771-5137-9602-bf614cb1bf0a"

After the M1 review, complete VC-03 through VC-06 using the walkthrough template. Mark coverage of VC-07 through VC-10 with evidence and gaps. Revise sequences and architecture decompositions where constraints break the current model.

Review pattern and ontology changes

id: FEP-WP-0003-T03
status: todo
priority: medium
state_hub_task_id: "2b7252c1-c453-5050-96fb-d86a3f3df0f0"

Record retain/merge/split/reject decisions, revised relations, quality constraints and counterexamples. Write research/reviews/M2-CoverageReview.md against the M2 gate; hand unresolved questions into live work records before closing.

Bounded navigation/rendering slice — 2026-09-26

T01 active: SRC-0018–0022 reviewed across navigation/rendering and a narrow resilience concern. Two existing seeds developed, bringing the corpus to ten hypotheses. See research/reviews/NavigationRenderingEvidence.md and NavigationCoverage.md. No runtime observation, new model calls, canonical admission or complete stream coverage.

T02 remains todo for the post-M1 case gate. VC03-ContentPublication.md is provisional preparation with a baseline, failure trace and offline-reading constraint branch. Next bounded action under T01: select and pin one implementation, test direct loads, no-script navigation, history misses and full/fragment cache behavior. Under T02, independently review the trace and resolve the offline availability gap before calling it complete. T03 remains todo; keep M1 human validation in WP-0002 T03.

User-directed pattern broadening — 2026-09-26

The user explicitly requested broader pattern coverage, superseding the previous slice's candidate-count pause. T01 remains progress: reviewed SRC-0023–0028 and added six hypotheses (Presentation Model, Derived State, Vertical Feature Slice, Islands of Interactivity, Failure Boundary, Focus Return). Sixteen drafts now exist; M1's original seed cap describes its initial subset, not a global admission quota. See research/reviews/PatternBreadthExpansion.md for B01–B06, five synthetic decision probes, counterexamples and deferred candidates. No new runtime/inference calls.

T02/T03 remain todo: probes do not complete VC-04–10 or M2. Next evidence under T01: pin an application and inspect feature imports versus release coupling; exercise render versus request failures and modal focus after invoker removal. Previous navigation/history/cache checks remain open. WP-0002 retains independent-human validation. No frozen-pilot edits, canonical promotion or evidence-gate completion.

Executed rendering/focus boundary slice — 2026-09-26

T01 progress: research/experiments/boundary-recovery pins React 19.3.0, Radix Dialog 1.1.23 and all dependencies; Chromium fixture exercises eight cases. Final immediate run meets 7/8 assertions; separate 100 ms nested-settling condition meets 8/8. Three earlier development results retained, including failures. Ordinary render containment, event-handler exclusion, explicit 503 state, fallback escalation, existing/removed trigger focus and explicit replacement target observed. Immediate nested Escape can close the outer task; root cause unresolved. No delay prescribed as a fix.

Next T01 action: isolate nested dismissal timing, compare production and another browser, verify readiness/ownership without arbitrary delay. Do not mark its assertion resolved from the settled run. Feature/release inspection and navigation checks remain pending. T02/T03 unchanged, sixteen hypotheses, no independent human validation or M1/M2 completion. See research/reviews/BoundaryRecoveryExperiment.md; no model calls.

Nested dismissal isolated across browsers/builds — 2026-09-26

T01 progress: unchanged pinned fixture compared across Chromium 151.0.7922.34 and Firefox 155.0, development/production, raw/traced/readiness/experimental-guard variants, three trials each. 43/48 obligations met; all outcomes retained in isolation-results.json. Trace captures inner layer registration/focus before Escape listener ownership transfers: stale outer handler can close both tasks. Production traced failures reproduce the mechanism; unmodified production trials passed. Firefox passed 24/24, not immunity.

Private listener-readiness condition passes 12/12; guard loses input in one production trial and is not a fix. Original fixture/receipts unchanged. See research/reviews/NestedDismissalIsolation.md. Residual under T01: assess lifecycle-safe ownership/routing during activation and teardown before recommending a product repair. No upstream message, deployment, new inference, canonical promotion or M2 completion. Feature/release coupling and navigation evidence remain pending; T02/T03 unchanged.

Experimental ownership routing — 2026-09-26

T01 progress: in-memory layout-registered document router tested against unchanged Radix behavior in a new controlled-dialog fixture. Six scenarios × two browsers × two builds × two variants: routed 24/24, raw 20/24. Raw Chromium fails immediate nested and reopen dismissal in both builds; routed delivery, cancellation, replacement focus and cleanup pass. No sleep, private-readiness wait or retry. Initial development run and its faulty exposed-dialog cancellation assertion retained; corrected runner includes hidden dialogs and verifies listener removal. See research/reviews/NestedOwnershipRouting.md.

The focused question now has an executable candidate mechanism. Broader reuse remains conditional on animated-exit/competing-owner coverage; no production dependency patch, upstream message, pattern promotion or M2 completion. Resume feature/import versus release-boundary and navigation evidence next; keep the router limitation as a live T01 follow-up rather than requiring a production fork here. Sixteen hypotheses, T02/T03 and the independent-human gate unchanged. No model calls.

Feature organization versus independent activation — 2026-09-26

T01 progress: reviewed 17 files at pinned commits in feature-sliced/examples todo-app and react-microfrontends root-config/navbar; SRC-0031–0035 include primary mechanism docs. Partial feature interfaces coexist with one application build; separate build/ release definitions coexist with shared startup dependencies. No build, CI, cloud deployment or rollback execution. FeatureDeploymentSources.json pins all file hashes.

Developed Independent Feature Boundary from the existing seed, bringing the corpus to seventeen hypotheses. Vertical Feature Slice refined; provisional VC-06 traces activation, version skew, partial load failure and rollback with a single-cadence branch. T02 remains todo for its post-M1 gate; this is preparatory work, not M2 acceptance. See research/reviews/FeatureDeploymentBoundaries.md.

Next T01 evidence: local compatible/incompatible feature versions against unchanged host, failed load, activation rollback with fresh and already-running sessions, and shared startup outage. No production workflows/credentials needed. Navigation checks and broader router-lifecycle limits remain live; T03 and human-validation gate unchanged. No model calls, deployment, canonical admission or proven generativity benefit.

Native-module publication/activation/rollback experiment — 2026-09-26

T01 progress: research/experiments/feature-release executes seven scenarios in Chromium/Firefox, 14/14 expected observations. Compatible R2 activation changes fresh sessions, not old document bindings; incompatible R3 evaluates before mount rejection; 404 feature failure preserves neighbor navigation; rollback affects fresh/reloaded sessions; retiring R1 breaks old lazy sessions while loaded R1 persists; shared startup 503 blocks both actions by fixture policy. No CDN, live deployment, backend writes, model calls or execution of upstream example workflows. Inputs/packages/browser hashes and request traces recorded; negative controls distinguished from desirable behavior.

Independent Feature Boundary and provisional VC-06 updated, seventeen hypotheses. Next T01 limits: old-session retention/support policy, concurrent activation updates, safe reload with unfinished work; navigation/history/cache evidence remains pending. Do not build a production release platform to satisfy this research model. T02/T03, independent-human gate and M1/M2 completion remain unchanged. See research/reviews/FeatureReleaseExperiment.md.

Requested activation-update conflicts and safe reload — 2026-09-26

T01 progress: conflicts-reload.mjs adds three HTTP stale-writer cases and nine reload cases in Chromium/Firefox, 21/21 expected observations. Blind overwrite and unguarded reload reproduce loss as negative controls. Conditional replacement rejects stale maps; disjoint intent is explicitly reapplied, same-feature rollback stays unresolved. Draft deferral, preserve/restore, injected storage failure, schema mismatch, explicit discard, unknown-write gating, edit-during-preflight and post-check activation covered. New-page schema revalidation retains incompatible text read-only. See research/reviews/ActivationConflictsAndReload.md. Original release artifacts unchanged.

Requested bounded tests complete; no distributed-store atomicity, native-unload/crash, real backend outcome or retention authorization claim. These remain T01 limits for any production recommendation. Next breadth task: pending VC-03 navigation/history/ full-versus-fragment cache evidence. Seventeen hypotheses; T02/T03 and M1/M2 gates unchanged. No model inference or production actions.

First prospective cycle completed — 2026-09-27

LEARN-0011 preregistered at f3697c1; htmx 2.0.11 navigation/history/cache experiment meets 20/20 registered checks (18 browser rows and repeated explicit HTTP checks). Both browsers reproduce missing-Vary fragment-as-document failure. Outcome is corroboration, not a new discovery. Active/execution effort recorded in research/evolution/cycles/2026-09-27-navigation-effort.json; one cycle cannot show a trend. Candidate profiles/report updated; hypothesis status and provisional VC-03 retained.

WP-0003 T01 retains keyboard/focus/error-feedback and delayed/interrupted enhancement questions; T02 retains independent walkthrough review and offline-reading branch. WP-0006 T03 remains progress for comparable-window review and remaining substantive review-date reconciliation. Choose a new comparison group for materially different questions. M1/M2 and independent-human validation remain open. See research/reviews/NavigationHistoryExperiment.md.

Measured keyboard/focus cycle — 2026-09-27

LEARN-0012 registered at 2b1c9a4 in new comparison group F-navigation-focus-v1. 22/22 native/raw/managed rows complete; raw rows are observations, not fulfillment of managed obligations. Same-ID focus retained by raw htmx, while authored policy adds heading/title/status continuation and preserves newer search focus. Outcome corroboration, hypotheses retained; no AT or human validation, no trend across the two different prospective groups. See research/reviews/NavigationFocusExperiment.md.

WP-0003 T01 next: delayed history restoration and competing-navigation ownership; interrupted/late enhancement remains open. T02 retains AT/independent review and offline branch. WP-0006 T03 remains progress for comparable windows and remaining review-date reconciliation. No M1/M2 completion.

Completion ownership compared; navigation fixture paused — 2026-09-27

LEARN-0013 preregistered at e484cae; 24 completed rows after a retained keyboard-helper correction. Prior policy meets full obligations in 0/12, authored guard 12/12. Record one revision: check navigation completion ownership separately from focus permission, including history, errors and newer-request failure. Same authored family; hypotheses and provisional VC-03 retained. See research/reviews/NavigationOwnershipExperiment.md and NavigationThreadReview.md. Three distinct cycle groups do not establish a trend.

Agreed pause: do not automatically extend the navigation fixture. Next bounded WP-0003 T01 question is a preregistered, pinned read-only Zulip navigation/search source contrast: locate selection/result/focus ownership or counterexamples outside the authored fixture; prior draft/send evidence does not count as navigation support. T01 retains pending history disclosure, multiple misses, redirects, delayed swaps, bfcache/lifecycle and interrupted/late enhancement before any production claim. T02 retains independent human/AT review and offline VC-03 branch. WP-0006 T03 retains review-date reconciliation and useful comparable-cycle windows; no M1/M2 closure.

Independent Zulip navigation source study completed — 2026-09-27

LEARN-0014 preregistered at f3ac569; twelve files at existing Zulip revision 5b06fa3d34f28fa01f459fbf3ba053e3c0858e9c, static ranges/hash manifest and ZN01–ZN08 review retained. Main list-identity guards coexist with off-screen cache updates; shared feedback, auxiliary callbacks and deferred focus limit generalization. One revision: effect-specific applicability and explicit client-fragment addressability. No Zulip app/tests executed, no no-script/full-contract/bug claim. Same Zulip family, new navigation paths; all candidates remain hypotheses. Local fixture stays paused.

WP-0003 T01 follow-up: preregister a bounded caller/transport/test study of auxiliary target lookup and anchor continuations, including deferred focus/search wiring only if needed to establish applicability. Record unknowns; reproduce before claiming a defect. T02 retains independent human/AT and offline-case obligations. WP-0006 T03 retains remaining review dates and comparable-window work; this static protocol is not pooled with runtime cycles. No M1/M2 closure. See research/reviews/ZulipNavigationSourceStudy.md and ZulipNavigationSources.json.