Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

oc1 — design-corpus STATUS

Источник: dev/fera-research/docs/oc1/STATUS.md (read-only; сгенерировано scripts/sync-docs.mjs)

Zone: ~/dev/fera/project-design/context/ (whole corpus) + read-only cross-checks into ~/dev/fera/fera (workspace layout reality).

Mission: internal contradictions between design docs, design gaps, stale decisions, TECHSPEC-vs-ADR consistency, triage of every OQ.

  • Read ADR.md (1040 lines) and TECHSPEC.md (469) first-hand; meta-rules from ~/dev/fera-project-design/{README,CLAUDE}.md.
  • Three read-only subagents (they report; I write and commit): OQ.md triage · RFC/QA/FUTURE-CHECKS/RESEARCH-OQ-003 audit · NAMING-UX/PREDICT/OPTIM-IDEAS audit. Every load-bearing claim they made was re-verified by me against the files before it went into a finding.
  • Cross-checked doc claims against the real workspace (~/dev/fera/fera, ed4d66e pre-migration snapshot).
  • Findings 1–26 in docs/oc1/, one per file, committed individually.
# File Kind Sev One line
001 001-gpui-residue-after-adr028.md problem mid GPUI killed by ADR-028 but normative in 14 places; renderer-gpui vs renderer-vello; local UI state has no home
002 002-style-token-ron-vs-kdl.md problem mid Style tokens: RON (ADR-029/TECHSPEC/RFC) vs KDL→rkyv (ADR-030); the KDL→rkv compiler is missing from the §0 layout
003 003-techspec-tbd-pointers-resolved.md problem mid All 9 TECHSPEC “TBD — see OQ.md” points at resolved OQs
004 004-adr031-self-contradiction-search-index.md problem high ADR-031:653-655 content tier vs :675-677 plaintext-at-rest for the same field; needs a “locked search?” product call
005 005-encrypted-phantom-type-does-not-encode-tier.md problem mid ADR-016’s compile-time tier guarantee is false; decrypt<T> unbounded
006 006-metadata-tier-unauthenticated-no-aad.md risk high “ChaCha20 or AES-GCM” left open in an Accepted ADR; no AAD → ReadState/outbox/timestamps forgeable
007 007-multiaccount-specified-once-contradicted-everywhere.md problem high Multi-account exists only in TECHSPEC §8; every contract is single-account; no AccountId type exists
008 008-frame-budgets-unowned-unfalsifiable-governor-loops-the-bench.md risk mid 24/45/60–75 fps in 5 docs, zero ADRs; QA gate can’t fail; “never share a frame loop” is unimplementable on one winit surface; the governor adapts the frozen bench’s parameter
009 009-ebr-does-not-make-dlclose-safe.md problem high ADR-001/ADR-020 rest on “epoch drain ⇒ safe unload”; EBR protects data, not code
010 010-native-abi-and-reclamation-three-answers.md problem high ABI and reclamation each have three live answers (#[repr(C)] vs pinned rustc; EBR vs QSBR vs split)
011 011-rfc-v1-scope-contradicts-adr025-026-027.md problem high RFC §2 lists secret chats as a non-goal vs ADR-025 full v1 support; grammers wrap vs mandatory fork; 7 of 31 ADRs have no downstream mention
012 012-naming-renames-never-propagated.md problem mid fload/nylon-ring (20+ vs 2), thefera/the-fera, dangling context/LATTICE.md, 3 names for the ffmpeg module
013 013-no-media-cache-eviction-or-quota-policy.md problem high Research proves ~90 MiB/sticker and demands a quota; no OQ/ADR/QA gate covers eviction for any on-disk cache
014 014-qa-gates-wrong-by-construction.md problem mid 4 QA gates unsatisfiable/superseded, the manifest gate omits layer, and both completeness gates fail today
015 015-module-axis-unimplemented-undocumented.md risk high Zero dylibs in the repo, no nylon dep, and ADR-001/002 list protocol/predictor/engine as swappable while TECHSPEC builds them as core crates
016 016-two-mandated-contract-tests-have-no-trait.md problem mid ADR-014 mandates suites for SearchEngine and renderer Engine; neither trait is defined anywhere
017 017-no-schema-migration-policy-rollback-conflict.md problem high No migration policy anywhere; ADR-021’s “swap ≠ migration” contradicts ADR-024’s N-1 rollback
018 018-amendment-hygiene-no-precedence-rule.md problem mid ADR bodies never rewritten on amendment; Superseded/Proposed legend values unused; no ADR-vs-downstream precedence rule (root cause of 001/002/003/008/011/014)
019 019-missing-decisions-proxy-i18n-conflict-revocation.md question high Seven absent decisions: MTProto proxy, i18n/RTL, two-device conflict, session revocation, account lifecycle, notification policy, backup/export
020 020-capability-ids-frozen-before-written.md problem mid ADR-022 freezes the capability-ID set additively/must-understand; the set has never been enumerated (0 hits corpus-wide)
021 021-downloaded-artifact-hash-warning-is-decorative.md risk high ADR-004’s warning-only hash policy applied to the update path ⇒ verified-then-ignored artifacts on the one path a network attacker uses
022 022-target-platform-set-never-stated-qt-ghost.md problem mid Target OS set stated only inside a QA gate; native-qt appears once and vanishes; “triads” still operative
023 023-no-virtualization-strategy-for-single-pass-list.md problem high Single-pass immediate-mode + 5000-message scene with zero virtualization/windowing/recycling strategy, and no benchmark axis for history depth
024 024-turso-promoted-with-no-adr-no-tier-no-owner.md problem mid Turso has 3 live roles + signed files in the runtime tree, 0 mentions in ADR/TECHSPEC/RFC/QA, no tier, no module home, readiness never re-verified
025 025-predictor-tier-layout-window-and-scope-conflicts.md problem mid Predictor log tier has 3 answers; PREDICT §9 contradicts its own §12; ADR-019/TECHSPEC still train the discarded 5-minute target; PREDICT vs OQ-023 scope conflict
026 026-oq-triage-blockers-stale-resolutions.md question mid Triage of all 27 OQs: 4 block the critical path (003/012/019/020/027), 4 “resolved” entries mislead, OQ-002 duplicated with the stale copy second
027 027-canonical-serialization-undefined.md problem high The signature covers “the whole entry in canonical serialization” — the phrase occurs exactly twice (the rule and its TECHSPEC echo) and is defined nowhere; three serializations (signed JSON vs RON “canonical” copy) in the tree

Cross-cutting conclusions (worth more than the individual findings)

Section titled “Cross-cutting conclusions (worth more than the individual findings)”
  1. The corpus’s failure mode is one-directional propagation. OQ→ADR is maintained (12 dated markers, all mappings correct); ADR→downstream (TECHSPEC/RFC/QA) is not, and ADR→ADR amendment rewriting is not. That single mechanism explains findings 001, 002, 003, 004 (partly), 008, 011, 014, 018, 022, 025 — nine of twenty-six.
  2. Three ADRs are wrong in their bodies (ADR-008 GPUI, ADR-009 axes, ADR-001 swappable list) and one in its load-bearing premise (ADR-020/ADR-001 dlclose). The status legend has an unused Superseded value.
  3. The “surrounding machinery designed, leaf artifact missing” shape recurs: capability IDs (020), Engine/SearchEngine traits (016), migration hooks (017), cache quota (013), localization (019), and StorageEngine’s delete/transaction/migrate methods. Each is cheap now and expensive once the format ships.
  4. The most valuable single artifact missing is a v1 scope list (finding 011 + OQ-019). Secret chats, passkeys and calls entered v1 by ADR, not by survey; RFC says the opposite for secret chats.
  5. fera-scene-v0 has never been executed — the generator is a 15-LOC skeleton, and three independent agents (mine, oc4, oc5) found consequences of that (frozen params vs an assert; the governor adapting a frozen parameter).
  • Intro (seq 4); crypto-tiering broadcast (seq 7); module-unload + cache broadcast (seq 15); answered oc4’s ADR-022 freeze question + contested oc4’s idea-04 #[repr(C)] resolution (seq 20).
  • Confirmed convergences with oc2 (no window layer / no display-list producer — consistent with my 015/016/023), oc4 (ungated contract suite = my 016’s subject), oc5 (CELL_BUDGET vs frozen scene).
  • File the three cheap-but-frozen artifacts as concrete drafts: capability table (020), data-version/migration policy (017), cache quota (013) — each is a few paragraphs and blocks a format decision.
  • Re-check _history/icloud-snapshot only if a contradiction above turns out to be a snapshot artifact.
  • Review other agents’ committed findings for doc-side contradictions (oc2/oc4/oc5 have posted several claims about ADR-023/030/024 wording).