Wiring the per-library derivation policy (issue #85) into a derivation module: the shared DerivationPolicy trait, the AllowDerivation marker + policy package object, gating the structural case-class/enum rules, the ;/| list-encoding gotcha, and the integration test module.
Bootstrapping a new Kindlings derivation module. Build configuration, 3-layer file structure, entry points (type class + inlined body), implementation requirements REQ-1 through REQ-12, test coverage checklist, error hierarchy, syncing from Hearth.
Profile JMH benchmarks with JFR: statistical execution sampling (any JDK) and deterministic method timing/tracing (JDK 25+, JEP 520) to measure exact invocation counts and timing of macro-generated codec/encoder/decoder methods. Covers exact sbt/JMH commands, targeting generated methods, reading results, and the JDK gating.
Quick-reference table of commonly used Hearth API signatures: Expr, Type, MIO, ValDefsCache, CaseClass, Enum, LambdaBuilder, Environment. Always verify with MCP.
Cross-compilation pitfalls for Scala 2.13 + 3 macros with Hearth. Path-dependent types, splice isolation, type constructor matching, reification failures, Array ClassTag, upcast constraints, phantom types, asInstanceOf semantics, IsMap ordering.
Parsing selector/path lambdas (`_.a.b.each.when[T]`) and building optics-like marker DSLs with Hearth. DestructuredExpr step-chain walking, per-platform markers + invariant evidence, CaseClass copy-with-modification, non-exhaustive MatchCase, runtime-typeclass delegation. Reference: the `optics` module (quicklens reimplemented).
Deriving type classes for case classes: CaseClass.parse, primaryConstructor, field access, Expr_?? existential types, decoder construction, nest vs nestInCache, dual-path derivation.
Creating IsCollection and IsMap providers for external collection types (e.g. cats NonEmptyList, NonEmptyMap). Helper method pattern, runtime helper pattern, fromUntyped matching, SBT reload.