The snippets, ordered obscure → unmistakable

  1. Snippet 1(shared/objectIs.js (-ish))
  2. Snippet 2(useReducer site call (synthesised))
  3. Snippet 3(Functional-component idiom)
  4. Snippet 4(ReactFiberLane.js (paraphrased))
  5. Snippet 5(ReactInternalTypes.js (paraphrased))
  6. Snippet 6(ReactHooks.js)

Why this project gives itself away

The give-away. Snippets 1 and 2 are deliberately generic — any reducer-style state container could ship them. Snippet 3 introduces the JSX + useState signature, which puts you in React/Preact/Solid territory. Snippet 4 is the smoking gun: the Lane bitmask scheduler is a React-specific architecture decision; SyncLane, TransitionLane1, IdleLane only exist here. Snippet 5 is the Fiber record — React's internal reconciler node, named after Pixar's render farm and unique to this project. Snippet 6 names ReactCurrentDispatcher, the shared-internals indirection that powers cross-renderer hook calls.

Why this style. React's reconciler is famous for treating scheduling as a first-class concern; the Lane bitmask and Fiber record are the load-bearing data structures of the modern (concurrent) renderer.

How a Framed puzzle is built

Every Framed project ships exactly six snippets, hand-ordered from deeply obscure to unmistakable. The first snippet must be plausible for a dozen codebases — a generic loop, a small utility, a comment that could appear anywhere. The last snippet carries a project-specific tell: a function name, a code-comment idiom, a file header, a build invocation. Between them sit four snippets that gradually narrow the field. Reading them in order is half the puzzle: a returning Framed player learns to triangulate on indentation conventions, comment voice, naming, and the small-but-distinctive choices that betray a project's era and community.

Lanes + Fiber are public concepts; see React's RFC #213.