frontend-patterns/research/evolution/profiles.json
tegwick 9baf6f1829 Complete bounded recovery checks and reconcile blocked workplans
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e738-9e15-7600-87e6-90dec3a7beef
2026-09-28 11:06:35 +02:00

811 lines
35 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"schema_version": 1,
"assessed_at": "2026-09-28",
"profiles": [
{
"id": "CAND-0001",
"path": "research/candidates/ConflictCopy.md",
"title": "Conflict Copy",
"sha256": "24f250d89ac17d96df287d67c275b5320b48c8356b57ae126a6c941e92a1c6e9",
"status": "draft",
"maturity": "hypothesis",
"decision": "Preserve competing versions instead of silently losing one.",
"evidence": [
{
"kind": "documentary",
"family": "Joplin",
"ref": "research/reviews/LocalFirstEvidenceExpansion.md",
"scope": "Documented detected-note conflict copy."
},
{
"kind": "documentary",
"family": "Obsidian",
"ref": "research/reviews/LocalFirstEvidenceExpansion.md",
"scope": "Optional conflict-file mode, not default behavior."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/M1-SeedReview.md",
"substantive_review_scope": "Editorial review of the connected core; M1 revise/defer."
},
"gaps": [
"Authorized retention and export are separate decisions.",
"Complete contract recurrence and fault-tested deployed behavior remain unverified."
],
"superseded_by": []
},
{
"id": "CAND-0002",
"path": "research/candidates/LocalCommitBoundary.md",
"title": "Local Commit Boundary",
"sha256": "22165fc2979e8f4d8859b34417cb71e7b5ec7a8440ad045aee2383d499648013",
"status": "draft",
"maturity": "hypothesis",
"decision": "Define when a local change is durably accepted.",
"evidence": [
{
"kind": "documentary",
"family": "Ink & Switch",
"ref": "research/reviews/LocalFirstEvidenceExpansion.md",
"scope": "Local-first motivation."
},
{
"kind": "documentary",
"family": "Joplin",
"ref": "research/reviews/LocalFirstEvidenceExpansion.md",
"scope": "Local storage and synchronization architecture."
},
{
"kind": "runtime",
"family": "authored SQLite / Git recovery fixture",
"ref": "research/reviews/StorageReceiverRecovery.md",
"scope": "SQLite WAL/FULL: pre-commit process kill rolls back; post-commit kill preserves document and outbox. No power-loss/backup proof."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-28",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-28",
"substantive_review_ref": "research/reviews/StorageReceiverRecovery.md",
"substantive_review_scope": "SQLite WAL/FULL: pre-commit process kill rolls back; post-commit kill preserves document and outbox. No power-loss/backup proof."
},
"gaps": [
"Process-kill recovery observed in SQLite fixture; power-loss, device-loss backup and full frontend contract remain unverified.",
"Local acceptance is not off-device recovery."
],
"superseded_by": []
},
{
"id": "CAND-0003",
"path": "research/candidates/PendingSynchronization.md",
"title": "Pending Synchronization",
"sha256": "9c5cb0f4ea4e6f4406ce55513ca2c252172427a49d8280ae1a9c713f1d11b070",
"status": "draft",
"maturity": "hypothesis",
"decision": "Keep accepted local intent visible until synchronization resolves.",
"evidence": [
{
"kind": "documentary",
"family": "Joplin",
"ref": "research/reviews/LocalFirstEvidenceExpansion.md",
"scope": "Per-item synchronization metadata."
},
{
"kind": "runtime",
"family": "authored SQLite / Git recovery fixture",
"ref": "research/reviews/StorageReceiverRecovery.md",
"scope": "SQLite atomic supersession/restart plus Git identity replay after lost local acknowledgement; one authored integration, no frontend recurrence."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-28",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-28",
"substantive_review_ref": "research/reviews/StorageReceiverRecovery.md",
"substantive_review_scope": "SQLite atomic supersession/restart plus Git identity replay after lost local acknowledgement; one authored integration, no frontend recurrence."
},
"gaps": [
"Atomic supersession observed in SQLite fixture; concurrent in-flight supersession, UI states and general receiver retention remain unverified."
],
"superseded_by": []
},
{
"id": "CAND-0004",
"path": "research/candidates/ExplicitReconciliation.md",
"title": "Explicit Reconciliation",
"sha256": "d48a40aab7417b8b8f8406094c84b9e90d0ca8c2f94d6e616d0b80499dc04959",
"status": "draft",
"maturity": "hypothesis",
"decision": "Resolve divergent content while retaining provenance.",
"evidence": [
{
"kind": "documentary",
"family": "Joplin",
"ref": "research/reviews/LocalFirstEvidenceExpansion.md",
"scope": "Documented manual conflict resolution."
},
{
"kind": "documentary",
"family": "Obsidian",
"ref": "research/reviews/LocalFirstEvidenceExpansion.md",
"scope": "Conflict comparison workflow."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/M1-SeedReview.md",
"substantive_review_scope": "Editorial review of the connected core; M1 revise/defer."
},
"gaps": [
"Atomic resolution/provenance UI not executed.",
"Overlap with Conflict Copy remains an open merge question."
],
"superseded_by": []
},
{
"id": "CAND-0005",
"path": "research/candidates/LocalDraftState.md",
"title": "Local Draft State",
"sha256": "8e5f427975c76083c80b895bc68b7130b249be5129c2854f3df11cc374b4b240",
"status": "draft",
"maturity": "hypothesis",
"decision": "Separate unfinished intent from refreshed authoritative data.",
"evidence": [
{
"kind": "documentary",
"family": "Kubernetes / GitLab / React Router",
"ref": "research/reviews/TransactionalEvidenceExpansion.md",
"scope": "Rejection and pending-input mechanisms motivate recovery."
},
{
"kind": "static-code",
"family": "Zulip",
"ref": "research/reviews/FrontendRecoveryImplementations.md",
"scope": "Pinned composer draft storage; partial lifecycle."
},
{
"kind": "static-code",
"family": "Element / Matrix",
"ref": "research/reviews/FrontendRecoveryImplementations.md",
"scope": "Pinned composer draft restoration; partial lifecycle."
},
{
"kind": "runtime",
"family": "authored release fixture",
"ref": "research/reviews/ActivationConflictsAndReload.md",
"scope": "Same-tab preservation/refusal/discard and post-navigation schema check."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/M1-SeedReview.md",
"substantive_review_scope": "Editorial review of the connected core; M1 revise/defer."
},
"gaps": [
"No native-unload, crash, multiple-tab or access-revocation guarantee.",
"Full base/draft/current merge contract is not verified in deployed frontends."
],
"superseded_by": []
},
{
"id": "CAND-0006",
"path": "research/candidates/VersionCheckedMutation.md",
"title": "Version-Checked Mutation",
"sha256": "6a3335ae2fa1de51c95dcbfa8d766d988a3f7a9604fb608b8a0bcf9a10b64198",
"status": "draft",
"maturity": "hypothesis",
"decision": "Reject an operation whose observed base is stale.",
"evidence": [
{
"kind": "documentary",
"family": "Kubernetes",
"ref": "research/reviews/TransactionalEvidenceExpansion.md",
"scope": "Conditional PUT; precise version mechanism."
},
{
"kind": "documentary",
"family": "GitLab",
"ref": "research/reviews/TransactionalEvidenceExpansion.md",
"scope": "Optional last_commit_id; different failure surface."
},
{
"kind": "runtime",
"family": "authored release fixture",
"ref": "research/reviews/ActivationConflictsAndReload.md",
"scope": "Related conditional activation-map mechanism in one process, not the full frontend pattern."
},
{
"kind": "runtime",
"family": "authored SQLite / Git recovery fixture",
"ref": "research/reviews/StorageReceiverRecovery.md",
"scope": "Actual Git receive-pack rejects a forced divergent branch update; related ancestry mechanism, not exact-version frontend semantics."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-28",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-28",
"substantive_review_ref": "research/reviews/StorageReceiverRecovery.md",
"substantive_review_scope": "Actual Git receive-pack rejects a forced divergent branch update; related ancestry mechanism, not exact-version frontend semantics."
},
"gaps": [
"Distributed atomicity and complete frontend recurrence remain unverified.",
"Refetch does not authorize overwriting conflicting intent."
],
"superseded_by": []
},
{
"id": "CAND-0007",
"path": "research/candidates/MutationOutcomeTracking.md",
"title": "Mutation Outcome Tracking",
"sha256": "e04cb835fd054bfaf88616375bd0262deffb2801ea04105be92543bfa9582179",
"status": "draft",
"maturity": "hypothesis",
"decision": "Retain operation identity when transport outcome is uncertain.",
"evidence": [
{
"kind": "documentary",
"family": "Stripe",
"ref": "research/reviews/TransactionalEvidenceExpansion.md",
"scope": "Idempotency mechanism."
},
{
"kind": "documentary",
"family": "React Router",
"ref": "research/reviews/TransactionalEvidenceExpansion.md",
"scope": "Cancellation does not imply server rollback."
},
{
"kind": "static-code",
"family": "Zulip",
"ref": "research/reviews/FrontendRecoveryImplementations.md",
"scope": "Pinned send/recovery state."
},
{
"kind": "static-code",
"family": "Element / Matrix",
"ref": "research/reviews/FrontendRecoveryImplementations.md",
"scope": "Pinned client and SDK transaction/echo paths."
},
{
"kind": "runtime",
"family": "Element / Matrix",
"ref": "research/reviews/MatrixRecoveryExperiment.md",
"scope": "Real SDK with synthetic transport: lost acknowledgement, identity reuse and authoritative echo."
},
{
"kind": "runtime",
"family": "authored SQLite / Git recovery fixture",
"ref": "research/reviews/StorageReceiverRecovery.md",
"scope": "Actual Git same-commit replay is a no-op, reachable identity survives GC, fresh identity repeats intent; no arbitrary operation ledger."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-28",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-28",
"substantive_review_ref": "research/reviews/StorageReceiverRecovery.md",
"substantive_review_scope": "Actual Git same-commit replay is a no-op, reachable identity survives GC, fresh identity repeats intent; no arbitrary operation ledger."
},
"gaps": [
"No production server deduplication or complete retention-window guarantee.",
"Cancelling local UI is not remote compensation."
],
"superseded_by": []
},
{
"id": "CAND-0008",
"path": "research/candidates/InvalidateAndReproject.md",
"title": "Invalidate and Reproject",
"sha256": "47c405adbc3caac2383768ed3d30b6a2e7ff1f44f4954c340049e78944227844",
"status": "draft",
"maturity": "hypothesis",
"decision": "Refresh a projection after mutation without equating acceptance and visibility.",
"evidence": [
{
"kind": "documentary",
"family": "React Router",
"ref": "research/reviews/TransactionalEvidenceExpansion.md",
"scope": "Concurrency and pending-state guidance."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/M1-SeedReview.md",
"substantive_review_scope": "Editorial review of the connected core; M1 revise/defer."
},
"gaps": [
"Read-your-write and acceptance/refresh distinction still proposed.",
"No independent deployed full-contract observation."
],
"superseded_by": []
},
{
"id": "CAND-0009",
"path": "research/candidates/URLAddressableState.md",
"title": "URL-addressable State",
"sha256": "07d524c3c0dd080bd42ff5dd79a36e6ecd2a8654f07ece880b483477f7ca4497",
"status": "draft",
"maturity": "hypothesis",
"decision": "Make a navigable state reconstructible from its URL.",
"evidence": [
{
"kind": "documentary",
"family": "htmx",
"ref": "research/reviews/NavigationRenderingEvidence.md",
"scope": "History behavior and history-cache misses."
},
{
"kind": "documentary",
"family": "Web platform",
"ref": "research/reviews/NavigationRenderingEvidence.md",
"scope": "pushState changes history, not server dereferenceability."
},
{
"kind": "runtime",
"family": "htmx in authored public-catalog fixture",
"ref": "research/reviews/NavigationHistoryExperiment.md",
"scope": "NH01–NH06: native/enhanced routes, history hit/miss, actual browser cache ordering and missing-Vary negative control; explicit Node validator checks separate."
},
{
"kind": "runtime",
"family": "htmx in authored public-catalog fixture",
"ref": "research/reviews/NavigationOwnershipExperiment.md",
"scope": "NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
},
{
"kind": "static-code",
"family": "Zulip",
"ref": "research/reviews/ZulipNavigationSourceStudy.md",
"scope": "ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
},
{
"kind": "static-code",
"family": "Zulip",
"ref": "research/reviews/ZulipTargetLookupCallPath.md",
"scope": "ZT01-ZT04: traced target-message-lookup and anchor-navigation continuations to their unconditional completion points; no captured-list guard or test coverage located. No reproduction or application execution."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/ZulipTargetLookupCallPath.md",
"substantive_review_scope": "Traced call-path corroboration of the previously flagged auxiliary-callback gap; still author-model, no application execution."
},
"gaps": [
"Independent application recurrence and human/AT validation remain unverified.",
"Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open.",
"Zulip's target-lookup and anchor-navigation continuations have a traced absence of a captured-current-list guard and no located test coverage for a stale-navigation race (unreproduced, not a defect claim); deferred editing focus and search callback wiring remain separately unverified."
],
"superseded_by": []
},
{
"id": "CAND-0010",
"path": "research/candidates/ProgressiveEnhancement.md",
"title": "Progressive Enhancement",
"sha256": "1dc3885ef896b9a7cb61af11fa8893484eb1e13454207326abc7250d5ca4382b",
"status": "draft",
"maturity": "hypothesis",
"decision": "Keep essential actions usable when enhancement is unavailable.",
"evidence": [
{
"kind": "documentary",
"family": "htmx",
"ref": "research/reviews/NavigationRenderingEvidence.md",
"scope": "Boosted links and forms."
},
{
"kind": "documentary",
"family": "SvelteKit",
"ref": "research/reviews/NavigationRenderingEvidence.md",
"scope": "Form actions and rendering/page options."
},
{
"kind": "runtime",
"family": "htmx in authored public-catalog fixture",
"ref": "research/reviews/NavigationHistoryExperiment.md",
"scope": "NH01–NH06: native/enhanced routes, history hit/miss, actual browser cache ordering and missing-Vary negative control; explicit Node validator checks separate."
},
{
"kind": "runtime",
"family": "htmx in authored public-catalog fixture",
"ref": "research/reviews/NavigationFocusExperiment.md",
"scope": "NF01–NF06: Tab/Enter navigation, raw versus authored focus/status policy, held-response ownership and background update; DOM evidence only, not AT speech."
},
{
"kind": "runtime",
"family": "htmx in authored public-catalog fixture",
"ref": "research/reviews/NavigationOwnershipExperiment.md",
"scope": "NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
},
{
"kind": "static-code",
"family": "Zulip",
"ref": "research/reviews/ZulipNavigationSourceStudy.md",
"scope": "ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
},
{
"kind": "static-code",
"family": "Zulip",
"ref": "research/reviews/ZulipTargetLookupCallPath.md",
"scope": "ZT01-ZT04: traced target-message-lookup and anchor-navigation continuations to their unconditional completion points; no captured-list guard or test coverage located. No reproduction or application execution."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/ZulipTargetLookupCallPath.md",
"substantive_review_scope": "Traced call-path corroboration of the previously flagged auxiliary-callback gap; still author-model, no application execution."
},
"gaps": [
"Independent application recurrence and human/AT validation remain unverified.",
"Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open.",
"Zulip's target-lookup and anchor-navigation continuations have a traced absence of a captured-current-list guard and no located test coverage for a stale-navigation race (unreproduced, not a defect claim); deferred editing focus and search callback wiring remain separately unverified."
],
"superseded_by": []
},
{
"id": "CAND-0011",
"path": "research/candidates/PresentationModel.md",
"title": "Presentation Model",
"sha256": "5ff03b5799b0a9e5ec6b54b21034720d89dbc8ffde7c4cdcf71616cdf57baf49",
"status": "draft",
"maturity": "hypothesis",
"decision": "Separate presentation decisions from view mechanisms.",
"evidence": [
{
"kind": "documentary",
"family": "Fowler",
"ref": "research/reviews/PatternBreadthExpansion.md",
"scope": "Named pattern and illustrative model/view discussion."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-26",
"substantive_review_ref": "research/reviews/PatternBreadthExpansion.md",
"substantive_review_scope": "Source normalization, decision probes and counterexamples."
},
"gaps": [
"No executed model/view integration or independently reviewed full-contract use."
],
"superseded_by": []
},
{
"id": "CAND-0012",
"path": "research/candidates/DerivedState.md",
"title": "Derived State",
"sha256": "9f29b9f1296a52b83f08dfd97437c4dc16e4949ddac1ff3b3830e3fc9831bd4f",
"status": "draft",
"maturity": "hypothesis",
"decision": "Compute a result from explicit authoritative inputs.",
"evidence": [
{
"kind": "documentary",
"family": "Redux",
"ref": "research/reviews/PatternBreadthExpansion.md",
"scope": "Selector guidance, not a requirement for a global store."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-26",
"substantive_review_ref": "research/reviews/PatternBreadthExpansion.md",
"substantive_review_scope": "Source normalization, decision probes and counterexamples."
},
"gaps": [
"Snapshot coherence and changed-locale cache test still planned."
],
"superseded_by": []
},
{
"id": "CAND-0013",
"path": "research/candidates/VerticalFeatureSlice.md",
"title": "Vertical Feature Slice",
"sha256": "d6b332b9c104a079bd4b72512b8ddd1a889199b2e2e531753c411688053e647a",
"status": "draft",
"maturity": "hypothesis",
"decision": "Group a capability across UI, state and behavior with explicit interfaces.",
"evidence": [
{
"kind": "documentary",
"family": "Feature-Sliced Design",
"ref": "research/reviews/PatternBreadthExpansion.md",
"scope": "Layer/slice and public-interface guidance."
},
{
"kind": "static-code",
"family": "Feature-Sliced Design",
"ref": "research/reviews/FeatureDeploymentBoundaries.md",
"scope": "Pinned todo-app interfaces coexist with one application build."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-26",
"substantive_review_ref": "research/reviews/FeatureDeploymentBoundaries.md",
"substantive_review_scope": "Static feature/import versus release-boundary assessment."
},
"gaps": [
"Build/import enforcement not executed.",
"Feature organization does not establish independent activation."
],
"superseded_by": []
},
{
"id": "CAND-0014",
"path": "research/candidates/IslandsOfInteractivity.md",
"title": "Islands of Interactivity",
"sha256": "821a1497da10c02ae11fa6f56cb8e205a4f32c40b39770ab8ca3f907561a260a",
"status": "draft",
"maturity": "hypothesis",
"decision": "Activate selected interactive regions within a document.",
"evidence": [
{
"kind": "documentary",
"family": "Astro",
"ref": "research/reviews/PatternBreadthExpansion.md",
"scope": "Client-island mechanism and execution placement."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-26",
"substantive_review_ref": "research/reviews/PatternBreadthExpansion.md",
"substantive_review_scope": "Source normalization, decision probes and counterexamples."
},
"gaps": [
"No executed island fixture, performance comparison or complete recurrence study."
],
"superseded_by": []
},
{
"id": "CAND-0015",
"path": "research/candidates/FailureBoundary.md",
"title": "Failure Boundary",
"sha256": "a6e76ed17a92baade683d5df96fa8ecd066c593661e6a14983a86d046e7d9c2c",
"status": "draft",
"maturity": "hypothesis",
"decision": "Contain specified failure classes while preserving useful neighboring work.",
"evidence": [
{
"kind": "documentary",
"family": "React",
"ref": "research/reviews/PatternBreadthExpansion.md",
"scope": "Error boundary scope and exclusions."
},
{
"kind": "runtime",
"family": "React",
"ref": "research/reviews/BoundaryRecoveryExperiment.md",
"scope": "Real package in authored host: render/event/request distinction and fallback escalation."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-26",
"substantive_review_ref": "research/reviews/BoundaryRecoveryExperiment.md",
"substantive_review_scope": "Authored runtime fixture and failure-class interpretation."
},
"gaps": [
"Synthetic host, not full application recurrence.",
"Boundary cannot imply containment for all asynchronous failures."
],
"superseded_by": []
},
{
"id": "CAND-0016",
"path": "research/candidates/FocusReturn.md",
"title": "Focus Return",
"sha256": "9149c2f563eafcfec983a9285949225840d97804568309bd16bbb1eb6b3dde77",
"status": "draft",
"maturity": "hypothesis",
"decision": "Restore meaningful focus after a temporary interaction ends.",
"evidence": [
{
"kind": "documentary",
"family": "WAI-ARIA APG",
"ref": "research/reviews/PatternBreadthExpansion.md",
"scope": "Dialog focus obligations."
},
{
"kind": "static-code",
"family": "Radix",
"ref": "research/reviews/NestedDismissalIsolation.md",
"scope": "Pinned layer/listener ownership implementation."
},
{
"kind": "runtime",
"family": "Radix",
"ref": "research/reviews/NestedOwnershipRouting.md",
"scope": "Authored fixture: raw 20/24 versus routed 24/24; browser/build limits retained."
},
{
"kind": "runtime",
"family": "htmx in authored public-catalog fixture",
"ref": "research/reviews/NavigationFocusExperiment.md",
"scope": "NF01–NF06: Tab/Enter navigation, raw versus authored focus/status policy, held-response ownership and background update; DOM evidence only, not AT speech."
},
{
"kind": "runtime",
"family": "htmx in authored public-catalog fixture",
"ref": "research/reviews/NavigationOwnershipExperiment.md",
"scope": "NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
},
{
"kind": "static-code",
"family": "Zulip",
"ref": "research/reviews/ZulipNavigationSourceStudy.md",
"scope": "ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/ZulipNavigationSourceStudy.md",
"substantive_review_scope": "Static navigation contrast; partial mechanisms, not independent full-contract use."
},
"gaps": [
"One implementation family; repeated trials are not independent uses.",
"Animated exits and competing owners remain untested; no production repair claim.",
"Route ownership is a contrast, not independent modal recurrence; AT speech and broader history/lifecycle cases remain unverified.",
"Zulip auxiliary target/anchor callbacks, deferred editing focus and search callback wiring remain unverified; static guards do not prove whole-application ownership."
],
"superseded_by": []
},
{
"id": "CAND-0017",
"path": "research/candidates/IndependentFeatureBoundary.md",
"title": "Independent Feature Boundary",
"sha256": "60b78725ed4036681675d4c68244fc25aea6e0dffb09d54a7108e3fcbf527b4f",
"status": "draft",
"maturity": "hypothesis",
"decision": "Separate feature release, activation and session transition contracts.",
"evidence": [
{
"kind": "documentary",
"family": "single-spa / webpack",
"ref": "research/reviews/FeatureDeploymentBoundaries.md",
"scope": "Mechanism documentation, not deployed independence proof."
},
{
"kind": "static-code",
"family": "react-microfrontends examples",
"ref": "research/reviews/FeatureDeploymentBoundaries.md",
"scope": "Root config/navbar are one example family with shared startup gating."
},
{
"kind": "runtime",
"family": "authored release fixture",
"ref": "research/reviews/FeatureReleaseExperiment.md",
"scope": "Publication/activation/rollback across fresh, loaded and lazy sessions."
},
{
"kind": "runtime",
"family": "authored release fixture",
"ref": "research/reviews/ActivationConflictsAndReload.md",
"scope": "Conditional activation updates and safe reload policies, including negative controls."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-26",
"substantive_review_ref": "research/reviews/ActivationConflictsAndReload.md",
"substantive_review_scope": "Authored activation/reload experiment and guarantee limits."
},
"gaps": [
"No upstream deployment or real team/release-independence validation.",
"Distributed atomicity, retention authorization and native-unload/crash behavior remain open."
],
"superseded_by": []
},
{
"id": "CAND-0018",
"path": "research/candidates/CapabilityContractBoundary.md",
"title": "Capability Contract Boundary",
"sha256": "a678f88e9b53d7273e29e3aea2d23f2297055253dcf4518444d3089fa6da4331",
"status": "draft",
"maturity": "hypothesis",
"decision": "Declare a UI capability's semantic surface separately from its runtime-isolation mechanism.",
"evidence": [
{
"kind": "documentary",
"family": "Web Components",
"ref": "research/reviews/CapabilityContractSources.md",
"scope": "CC01: Custom Elements observedAttributes/lifecycle callback mechanism, narrower than a full semantic contract."
},
{
"kind": "documentary",
"family": "webpack",
"ref": "research/reviews/CapabilityContractSources.md",
"scope": "CC02: Module Federation expose/consume module and share-scope dependency-negotiation mechanism, one layer below any UI-facing contract."
}
],
"independent_full_contract_uses": null,
"review": {
"assessed_at": "2026-09-27",
"reviewer": "Codex",
"role": "author-model",
"independent_human": false,
"last_substantive_review_date": "2026-09-27",
"substantive_review_ref": "research/reviews/CapabilityContractSources.md",
"substantive_review_scope": "Two real substrate specs read directly; the prompting AI-chat transcript is not evidence."
},
"gaps": [
"No known use of an explicit capability contract, as distinct from its substrate mechanisms, has been located.",
"Enforcement, versioning and compatibility checking are unverified; a contract with no tooling is only documentation.",
"Only one family per substrate mechanism inspected; no independent recurrence."
],
"superseded_by": []
}
]
}