The snippets, ordered obscure → unmistakable
- Snippet 1(Generic tensor helper)
- Snippet 2(Layer base class)
- Snippet 3(Gradient tape)
- Snippet 4(C++ kernel registration)
- Snippet 5(Graph node fragment)
- Snippet 6(tensorflow/__init__.py)
Why this project gives itself away
The give-away. Snippets 1 and 2 could be many ML frameworks (Keras-shaped APIs are common). Snippet 3's tf.GradientTape() is TensorFlow 2's eager-mode autograd — unmistakable spelling. Snippet 4 reveals REGISTER_OP and the C++ attribute DSL — TensorFlow's op-registration system. Snippet 5 names OpKernelContext, OP_REQUIRES, Status::OK() — TF's C++ kernel framework. Snippet 6 is the tensorflow/__init__.py banner plus the tf.compat.v1 namespace, the v1/v2 split that's pure TensorFlow lore.
Why this style. TensorFlow's C++ kernels use op-registration macros and OP_REQUIRES_OK — nothing else looks like this.
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.