Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
663 lines
24 KiB
JSON
663 lines
24 KiB
JSON
{
|
||
"schema_version": 1,
|
||
"assessed_at": "2026-09-27",
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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."
|
||
}
|
||
],
|
||
"independent_full_contract_uses": null,
|
||
"review": {
|
||
"assessed_at": "2026-09-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"gaps": [
|
||
"No executed storage crash or backup test.",
|
||
"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."
|
||
}
|
||
],
|
||
"independent_full_contract_uses": null,
|
||
"review": {
|
||
"assessed_at": "2026-09-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"gaps": [
|
||
"Atomic supersession and retry contract proposed, not storage-tested."
|
||
],
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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."
|
||
}
|
||
],
|
||
"independent_full_contract_uses": null,
|
||
"review": {
|
||
"assessed_at": "2026-09-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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."
|
||
}
|
||
],
|
||
"independent_full_contract_uses": null,
|
||
"review": {
|
||
"assessed_at": "2026-09-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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": "3edc087c5b4b0a332dd9097334022cdb138437413b933f271e5cf96096cc63be",
|
||
"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."
|
||
}
|
||
],
|
||
"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"
|
||
},
|
||
"gaps": [
|
||
"Independent deployed full-contract recurrence remains unverified.",
|
||
"Keyboard/focus/announcements, late-script activation, interrupted transport, invalid/deleted routes, offline availability and real intermediary behavior remain open."
|
||
],
|
||
"superseded_by": []
|
||
},
|
||
{
|
||
"id": "CAND-0010",
|
||
"path": "research/candidates/ProgressiveEnhancement.md",
|
||
"title": "Progressive Enhancement",
|
||
"sha256": "ec3ab16d680308593af4d22fbbcbea737fe46096c5f3e65968d0db3a8befec21",
|
||
"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."
|
||
}
|
||
],
|
||
"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"
|
||
},
|
||
"gaps": [
|
||
"Independent deployed full-contract recurrence and human/AT validation remain unverified.",
|
||
"Focus visibility, delayed history, overlapping requests, late-script activation, interrupted transport, invalid/deleted routes, offline availability and real intermediaries remain open."
|
||
],
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"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": "129ef7623d11da91f3f5429686455be16180e5477d1706836f5c1c3617698eae",
|
||
"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."
|
||
}
|
||
],
|
||
"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"
|
||
},
|
||
"gaps": [
|
||
"One implementation family; repeated trials are not independent uses.",
|
||
"Animated exits and competing owners remain untested; no production repair claim.",
|
||
"Route continuation is a contrasting context, not independent modal-pattern recurrence; delayed history and AT speech unverified."
|
||
],
|
||
"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-26",
|
||
"reviewer": "Codex",
|
||
"role": "author-model",
|
||
"independent_human": false,
|
||
"last_substantive_review_date": null
|
||
},
|
||
"gaps": [
|
||
"No upstream deployment or real team/release-independence validation.",
|
||
"Distributed atomicity, retention authorization and native-unload/crash behavior remain open."
|
||
],
|
||
"superseded_by": []
|
||
}
|
||
]
|
||
}
|