frontend-patterns/research/reviews/M2-CoverageReview.md
tegwick 7295172f1e Close local review loose ends and record blocked workplan gates
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e241-8285-7a63-8c0c-51c9cb824dc3
2026-09-27 17:20:43 +02:00

12 KiB
Raw Blame History

M2 coverage and ontology review

Reviewed 2026-09-27 by Codex, author-model, under FEP-WP-0003 T03. M2 result: revise/defer; not passed. This completes the current editorial review, not the evidence gate. It assesses all seventeen candidates and all ten case briefs against the research program. No new application tests, independent review, source retrieval or prospective learning cycle was performed.

Gate assessment

M2 criterion Assessment Basis and remaining owner
M1 prerequisite blocked M1 review is revise/defer; WP-0002 T03 retains independent usefulness, validated seed cases and quality limits
Evidence from all six streams partial Documentary coverage exists in A–F; mechanism tests and source inspections have unequal scope. Full-contract independent uses remain unassessed; WP-0003 T01
Coverage matrix for ten application types delivered, with gaps Matrix below distinguishes prepared reasoning from validated coverage; planned cases have no completion credit
Candidate and relation dispositions delivered, provisional Seventeen dispositions below; conditional relations remain proposals, no canonical admission
Four further completed contrasting cases unmet VC-03/06 provisional; VC-04/05 planned. WP-0003 T02 retains completion after M1

Six-stream evidence assessment

The coverage inventory, breadth review and current profiles provide the detailed locators. Counts of files, documents, browser rows or repeated trials do not count independent uses.

Stream Available evidence Missing coverage / decision
A — historical GUI architecture Fowler documentary contrast, Presentation Model normalization and synthetic probes Retain view/model separation as a hypothesis; no executed independent whole-contract presentation use
B — web navigation and hypermedia htmx history/cache, focus and completion-ownership fixtures; pinned Zulip navigation source contrast Authored fixture and static application paths are distinct; offline availability, auxiliary continuations, lifecycle and independent accessible use remain unresolved
C — rendering and execution Astro/SvelteKit documentary mechanisms; authority/projection comparison separates placement from acceptance Selective activation is plausible; no island performance comparison or broad streaming/resumability validation
D — state authority and synchronization Transactional/local-first sources, Zulip acceptance/projection source study, Matrix SDK with synthetic receiver Client mechanisms do not establish real receiver deduplication, durable commit/restart or backup. WP-0003 T04 retains those tests
E — composition and organization Pinned feature-sliced and microfrontend example inspection; native-module activation/rollback and conflict/reload fixtures Source organization, artifact publication and session transition differ; no independent team/deployment or distributed-store guarantee
F — quality patterns React failure-class fixture, Radix dismissal/focus experiments, navigation focus contrast DOM observations do not validate assistive-technology speech, human usability, privacy/security boundaries or general performance

The latest acceptance/projection study retains response/event ordering and reopened-edit ownership as unknown. Its proposed next reproduction remains WP-0003 T01; this review does not infer a defect from callbacks.

Application coverage matrix

States agree with context.json. “Partial” below means relevant reasoning exists, not that the case has passed the required walkthrough.

Case State / evidence Unresolved coverage
VC-01 transactional administration Partial: synthetic draft, core recovery candidates Independent decision usefulness, actual write/receipt semantics, keyboard recovery
VC-02 offline field notes Partial: synthetic draft, local commit/propagation/conflict sequence Real storage restart/commit, receiver identity lifetime, device-loss backup and retention scope
VC-03 content publication Partial: provisional walkthrough, navigation/history/focus fixtures Offline-reading branch, interrupted enhancement, independent human/AT review
VC-04 collaborative editor Unresolved: brief only Durable changes versus presence, reconnect/undo and authorization changes; no completed trace
VC-05 real-time dashboard Unresolved: brief only Subscription lifetime, staleness and bounded overload; no completed trace
VC-06 microfrontend estate Partial: provisional walkthrough, feature release fixtures Real operational independence, retention/support policy and independent case review
VC-07 storefront Unresolved: brief; catalog navigation and transactional hypotheses are leads No integrated cart/price/authoritative-checkout decision trace
VC-08 SaaS workspace Unresolved: brief; presentation/derived-state hypotheses are leads No integrated dense-interaction/long-session case or coherence test
VC-09 local-first personal tool Partial conceptual overlap with VC-02; brief remains planned Privacy, optional synchronization and backup/restore have no dedicated completed case
VC-10 mobile web Unresolved: brief; persistence/reload hypotheses are leads Constrained-memory startup, interrupted sessions and mobile recovery lack a dedicated completed case

Candidate dispositions and counterexamples

“Retain” means retain a qualified draft hypothesis. No candidate has sufficient new evidence here for promotion, merge or deletion. Rejecting a universal claim is not rejecting the useful conditional pattern. No relation is made mandatory merely to connect the graph. The preview ontology review supplies the core separation rationale; the breadth and runtime reviews above supply extensions.

Candidate Disposition Distinction / counterexample that constrains the language
CAND-0001 Conflict Copy Retain separately from reconciliation Preserving divergent intent need not include a user resolution workflow; authorized retention and privacy still constrain preservation
CAND-0002 Local Commit Boundary Retain Locally accepted durable intent differs from editable draft and remote acceptance; memory-only feedback is a counterexample to durability
CAND-0003 Pending Synchronization Retain Locally accepted work awaiting replication differs from a remote write of unknown outcome; network retry alone does not make the record durable
CAND-0004 Explicit Reconciliation Retain separately from copy A bounded conflict can be resolved without keeping a permanent copy; automatic convergence can remove the need for explicit user reconciliation
CAND-0005 Local Draft State Retain Mutable user intent differs from accepted records and presentation state; a refresh must not silently erase newer edits
CAND-0006 Version-Checked Mutation Retain Base-version preconditions prevent stale intent application; an idempotency key alone does not prove valid ancestry
CAND-0007 Mutation Outcome Tracking Retain Lost acknowledgement leaves outcome unknown; cancelling UI or creating a fresh operation identity can duplicate accepted work
CAND-0008 Invalidate and Reproject Retain Read refresh is distinct from mutation acceptance; failed refresh does not prove rejected write or authorize draft rollback
CAND-0009 URL-addressable State Retain Address reconstruction differs from content availability and authorization; client fragments do not imply server dereferenceability
CAND-0010 Progressive Enhancement Retain Essential task continuity differs from URL changes or selective hydration; a no-script link that loses the essential action does not satisfy the contract
CAND-0011 Presentation Model Retain Presentation decisions differ from domain authority and editable intent; a wrapper with no independent decisions does not justify an extra model
CAND-0012 Derived State Retain Computed results differ from independently editable state; incomplete inputs or stale memoization invalidate a derived result
CAND-0013 Vertical Feature Slice Retain separately from independent release Capability-oriented modules can share one build; import grouping is not evidence of autonomous deployment
CAND-0014 Islands of Interactivity Retain Selective execution differs from task fallback, fault containment and security isolation; islands alone guarantee none of those
CAND-0015 Failure Boundary Retain Specified render containment differs from request/handler failures and remote compensation; a failed fallback may itself escape
CAND-0016 Focus Return Retain narrow scope Temporary interaction return differs from non-modal route continuation; removed invokers and nested ownership need explicit targets/policy
CAND-0017 Independent Feature Boundary Retain separately from source organization Artifact release, activation binding and session lifetime differ; changing an import map does not update an already-bound session

Relations and quality constraints

Retain the conditional relations in the frozen 0.1 manifest as historical proposals; no inverse or transitive inference is authorized. The current language must preserve these decisions when a later export is considered:

  • Reject unconditional requires between Conflict Copy and Explicit Reconciliation. Preservation and resolution answer different questions; neither universally requires the other's particular mechanism.
  • Keep local acceptance, remote outcome and read projection separate. Pending Propagation and Mutation Outcome Tracking may compose, but neither establishes the other's preconditions. Version-Checked Mutation and operation identity solve different risks.
  • Keep feature organization, activation and session transition separate. Do not merge Vertical Feature Slice with Independent Feature Boundary or infer release autonomy.
  • Keep modal return separate from route completion ownership. Reuse shared concerns without broadening Focus Return into every navigation policy.
  • Preserve cross-cutting obligations: authorized retention, explicit backup scope, receipt/deduplication windows, stale-ancestry handling, newer-draft preservation, keyboard recovery and fallback ownership. Existing tests qualify mechanisms only; they do not confer security, accessibility, crash-safety or performance certification.

These are editorial dispositions of existing distinctions, not new empirical findings. The canonical responsibility vocabulary stays provisional; classification coverage must not be presented as maturity or proof that the seed inventory is complete.

Existing work retains the gaps

No new task or workplan is opened. WP-0003 T01/T02/T04 retain stream evidence, contrasting case completion and real storage/receiver validation. WP-0002 T03 retains the M1 independent-usefulness gate. WP-0004 retains gated canonical export and held-out/real-repository evaluation. T03's review artifact is complete with an explicit defer result; M2 may be reassessed only when those existing evidence obligations change. No prospective trend or human validation is inferred from completing this editorial review.