Lesson 063: dataclass for succinct record types
Focus
Anchor one invariant before you branch mentally: Intermediate drills dataclass for succinct record types; spin token 567494 makes this page unlike its neighbours.
Key ideas
- Angle
Intermediate: micro cadence3mixesdataclass for succinct record types; spin27388. - Ritual: List two regressions CI should catch later.
- Guardrail: separate demo-trick from shipping discipline verbally.
Example (LESSON_UID = "intermediate-063")
# Intermediate drill L063 topic-6 micro-2 pattern-12
LESSON_UID = "intermediate-063"
spin_a, spin_b, spin_c = 37, 665, 209
from io import StringIO
buf = StringIO()
rounds = 3 + 2 % 5
for idx in range(rounds):
buf.write(f"seg-{idx}-{(idx * 63 + spin_b) % 997}\n")
buf.seek(0)
dump = buf.read()
print("lines", dump.count("\n"))
print("peek", dump.splitlines()[0] if dump else "<empty>")
from pathlib import Path
import tempfile
with tempfile.TemporaryDirectory() as scratch:
target = Path(scratch) / "scratch-63.txt"
snap = [76, 119, 162, 205, 248]
target.write_text("\n".join(str(x) for x in snap), encoding="utf-8")
print("scratch_bytes", target.stat().st_size, "rolling", sum(snap) % (209 + 131))
Practice
Practice 17: Swap print order once; reconcile dependency thinking. Literal nudge 17.
Fingerprints
- lesson_uid:
intermediate-063 - umbrella band:
dataclass for succinct record types(3/10) - lesson_index:
1999