The Playbook
Everything on github.com/tritsystem, taught from scratch, in a shape built to defend — not just recognize. Every claim below is the real, measured number from the actual repo, pulled today: no rounding up, no smoothing over the negative results.
localStorage), so it's private and persists next time you open this exact page.Syntax glossary
Every repo chapter below has a real, unedited excerpt from that repo's actual source, typed in line by line. Rather than re-explain what a function is fourteen separate times in fourteen languages, here's every generic building block, once, in plain terms. Each per-line explanation later just points back here for the generic part and spends its words on what's actually specific to that line.
x = 5 means "put 5 in the box named x." x -= 1 means "take whatever's in x,
subtract 1, put the result back in x."def (Python), fn
(Rust), func (GDScript) — same idea.def f(x, y) — when you call f(3, 4),
x becomes 3 and y becomes 4 for that one run.: float,
-> bool, : int — a label saying what kind of value is expected. It's
documentation the language itself can check; it doesn't change what the code does.elif (Python) / else if just chains
another condition onto the same fork.for i in range(5) runs the block with
i = 0, 1, 2, 3, 4.if/for/function it
belongs to. Two lines indented the same amount under an if both run when that condition is
true.self means
"the specific instance this function was called on." Rust's &mut self additionally says
"and this function is allowed to change that instance's own data," not just read it.list[0] is the first item), or append to.d["foo"] fetches whatever was
stored under the key "foo".# in Python/GDScript, // in Rust/SystemVerilog. Purely for the human reader."""like this""" in Python, or
/// in Rust) documenting what that function does. Still just a comment — ignored when the code
runs.{variable} slots that get replaced with real values when it runs. Python:
f"V={v}". Rust's format!(...) does the same thing.true/True or false/False — the result of any yes/no
question the code asks, like v >= threshold.The LIF spiking neuron
Every Spikeling-based system in this portfolio — tribe, sensor-duo,
pond-health, server-guard, spikeling-os, llama-demo — is built
on one small mechanism. Get this exactly right and a dozen repos get easier, not harder.
Understand
What is a neuron actually doing, mechanically, on every single tick?
leak). If the resulting
potential is at or above threshold and it isn't currently refractory, it fires: emits a
spike, resets its potential, and enters a refractory window during which it cannot fire again
no matter how much input arrives.Why "leaky" specifically — what breaks without the leak term?
In this repo's own zombie.gd, one refractory period replaced two separate hand-rolled mechanisms. Which two, and why did one neuron's own physics cover both jobs?
Why does bounded, relaxing Hebbian learning matter for keeping two agents' "personalities" distinct over a long session (tribe's Wary vs. Trusting NPCs)?
Build it from scratch
- State: one float,
potential = 0, plus arefractory_remainingcounter. - Each tick:
potential += sum(weighted synaptic input this tick), thenpotential = max(0, potential - leak). - Fire check: if
potential >= thresholdandrefractory_remaining <= 0: emit a spike, setpotential = 0, setrefractory_remaining = refractory. - Otherwise:
refractory_remaining = max(0, refractory_remaining - 1). - Optional Hebbian/STDP: on fire, strengthen synapses whose source fired shortly before this neuron fired; clamp the weight and let it relax back toward its innate strength each tick it isn't reinforced.
- Compile once, run everywhere: Spikeling's actual trick is describing this in one small text grammar
(
neuron / connect / action / refractory / learn) and generating four different runtimes off the same description — Python for iteration, C for embedded, Verilog for FPGA, GDScript for a game.
Edit stepNeuron below (pre-filled with a working implementation —
break it, fix it, change the parameters) and run it against a real input current trace: noisy baseline plus
three genuine pulses. A correct LIF neuron stays silent on the noise and fires on the pulses.
Ternary computing
{−1, 0, +1} instead of {0, 1}. The whole "trit" line — 012-trit-search,
observe-api, methodlm's second witness — runs through this idea, and its own
README is unusually blunt about where it costs more than it's worth.
Understand
What's the real value proposition of a third state — not "more range," what does it actually buy that binary structurally can't?
CONSENSUS gate needs:
output +1 if every input agrees +1, −1 if every input agrees −1, and 0 otherwise. Binary AND/OR can't express
"everyone agrees" vs. "nobody agrees" vs. "mixed" as three distinct outputs without extra machinery.Ternary weight compression measured 20× smaller at a 7.35pp accuracy cost. INT8 measured 4× smaller at 0.19pp. What does that comparison actually tell you, beyond "ternary compresses more"?
observe-api ships
float32 embeddings in production, not ternary, even though it's built directly on the ternary-search
codebase: the research thesis and the shipping engineering decision honestly diverge, because the measured
numbers said so.The RTL consensus gate measured 1.4× fewer instructions than a software fallback. An earlier informal claim said "10×." Why keep the boring number in the README?
Build it from scratch
- Define a
trittype over {−1, 0, +1} and pick a storage encoding (2 bits per trit is simplest; packed base-3 is denser). - Implement
NOT(negate) andADDwith carry, in base 3. - Implement the
CONSENSUSgate: N trits in, +1 only if all are +1, −1 only if all are −1, 0 otherwise — this is the operation where the third state actually earns its keep over binary logic. - Write it once in a hardware description language (SystemVerilog:
trit_pkg,trit_register,trit_add,consensus_gate) and simulate against a real testbench — the actual repo runs 36/36 real cases clean. - Be explicit about the honest boundary: simulated-in-
iverilogis not the same claim as synthesized-on-real-silicon. Say which one you've actually done.
Edit consensus below, then run it against a real test table. It
should return +1 only if every trit agrees +1, −1 only if every trit
agrees −1, and 0 for anything mixed.
Physical / analog reservoir computing
Underlies the whole physics research cluster: quasicrystal-mems-reservoir,
symmetry-selection-rule, topological-phononics.
Understand
What is a "reservoir," mechanically, in one sentence — not the brain metaphor?
Why does breaking D4 symmetry on a MEMS plate revive computation, mechanically — what does the ∫φ³ mode overlap have to do with anything?
State topological-phononics' real result precisely — not the sound-bite version.
Build it from scratch
- Build or simulate a fixed nonlinear dynamical system: coupled oscillators, an SSH chain, or a real finite-element plate model.
- Drive it with an input stream and record its internal state trajectory over time.
- Train only a linear readout (ridge regression) mapping recorded states to a target task (linear memory, NARMA10).
- To test a defect-tolerance hypothesis: kill one element, re-measure task performance, compare two coupling regimes (e.g. topological vs. trivial dimerization).
- Pre-register the hypothesis and the exact test before running it — this is not optional housekeeping, it's the actual method this whole cluster of repos was built under.
Causal reasoning: adjustment & robustness value
The engine under methodlm and llama-demo's Root Cause Copilot.
Understand
Use the real measured sex/diabetes example: why is raw correlation actively dangerous, not just imprecise?
sex ranked dead last by both raw correlation (+0.043) and Random Forest
importance (0.012) — both standard tools said "irrelevant, ignore it." Backdoor adjustment showed it actually
survives with RV = 0.17, and its adjusted effect is sign-flipped and an order of magnitude larger
(−0.19). Its real negative effect was being cancelled in the raw number by its positive correlation with three
other genuine drivers (bmi, bp, ltg). Trusting the naive ranking would mean discarding a real driver entirely.What does a robustness value of 0.31 actually tell you that a p-value can't?
Why does "just adjust for everything you've got" fail as a strategy?
Build it from scratch
- Implement raw correlation as the visible baseline — keep it, don't hide it, so any improvement over it is honestly checkable.
- Implement backdoor adjustment: regress the target on treatment + named confounders, read off the treatment's coefficient.
- Implement a Cinelli–Hazlett robustness value on top of that adjustment.
- Implement a collider check: is this control variable downstream of both treatment and outcome? If so, flag it — don't adjust for it blindly.
- Enforce pre-registration in code: no
FINALverdict accepted until at least one real test (ADJUST/STRAT/RUN) has actually executed. Make the discipline a hard gate, not a suggestion.
Trend vs. spiking: the dual-detector pattern
Born in pond-health, extracted as sensor-duo, reused in
server-guard.
Understand
What's the precise tradeoff between the two detectors — not "one's better," the real mechanism?
Neither one is "strictly better." What's the actual design implication for how you use both together?
Build it from scratch
TrendDetector: rolling window per channel, linear fit, project forward, estimate threshold-crossing time.SpikingDetector: map each channel's stress level to a stimulus current into a dedicated LIF neuron; let leak/refractory naturally reject single-sample noise.- Log both to SQLite; generate a Grafana dashboard reading straight from it.
- Generalize: parametrize over an arbitrary set of named channels with a per-channel
Range(stress_low, stress_high, critical_high)instead of hardcoding five pond-specific parameters — this exact step is the realsensor-duoextraction frompond-health.
The research discipline itself
This is the connective tissue under every chapter that follows — more important than any single repo.
Understand
Pick spikeling-os's Milestone 4 negative result. Why does reporting it honestly make the rest of the portfolio more credible, not less?
What specific, repeatable process produces this kind of honesty — not the personality trait, the mechanism?
methodlm's FINAL-verdict gate — it's
not just a research habit, it's a thing you can point to in actual code.horde-defense-beta
The earliest repo in the whole portfolio. A lane-based horde-defense game — and a live lesson in verifying claims instead of trusting them.
main branch has no README and, checked directly
against the real file tree today, no deck/card files at all — no CreepDeckUI.gd, no
HiveCluster.gd. That code exists only on a separate, never-merged local branch on a different
checkout. The description is marketing copy someone wrote once; the file tree is ground truth.Understand
How do you actually verify a claim about a codebase, rather than trust the description text?
This repo predates everything else by months, but was never merged with its own most-hyped feature. What does that say about trusting "current state" from old notes or memory?
Build it from scratch
- Godot project skeleton, main scene.
- Lane-based spawner — enemies march down fixed lanes.
- Turret placement +
team_id-based target filtering (never target your own side or other towers). - Wave / horde management.
- Base health + loss condition.
- Player FPS controller and aiming.
- A progression layer (talents / upgrades) on top once the core loop works.
Spikeling
The neuromorphic DSL + runtime. Write one .spk file, run it on four backends.
The substrate under most of the rest of this playbook.
Understand
Why compile one description to four backends instead of writing four separate implementations?
.spk file is the single source of truth for topology and parameters. Each
backend only needs a codegen/interpreter for the same small grammar, instead of four hand-written
implementations of neuron/synapse semantics silently drifting apart from each other over time.Four neuron types exist — LIF, Izhikevich, AdEx, Resonator. When do you reach for Resonator over plain LIF?
Build it from scratch
- Design the
.spkgrammar:neuron / connect / action / refractory / learn. - Write a parser/compiler for it.
- Implement the Python interactive runtime as the reference implementation (Foundation 01's LIF step).
- Add STDP learning on top.
- Add a C codegen backend for embedded targets.
- Add a Verilog codegen backend for FPGA.
- Add a GDScript backend (a compact
synapse SRC -> DST weight=Nvariant) for Godot game AI.
quasicrystal-mems-reservoir
Same day as Spikeling. The FEM study behind Foundation 03's D4 selection rule, replicated on three separate substrate classes.
Understand
"Confirmed to 1 part in 10⁹" — confirmed against what, exactly?
The rule only replicated on other substrates once a "capability gate" was satisfied first. What does that precondition tell you about how strong the underlying claim really is?
Build it from scratch
- Homogenized finite-element plate-bending solver: mesh, boundary conditions, modal analysis.
- Compute mode shapes/frequencies for a perforated (quasicrystal-pattern) plate.
- Derive, then numerically verify, the D4 point-group selection rule on ∫φ³ mode overlaps.
- Wire the mode data into a reservoir readout — train only a linear readout on the modal response to an input signal.
- Test generality by replicating on further substrate classes (a coupled resonator bank, a discrete lattice ring) — pre-register a capability-gate check before each replication attempt.
012-trit-search
Ternary computing end to end — RTL sim → CPU emulator → OBSERVE, the actual shipping product. The single richest repo for measured, both-ways-honest results.
| Claim | Status | Real number |
|---|---|---|
| Fine-tuned MiniLM beats baseline on code search | Confirmed | 96% vs 92% (hard) · 92% vs 76.7% (real OSS) |
| Ternary weight compression works, but costs accuracy | Confirmed | 20× compressed, −7.35pp vs. INT8's 4×/−0.19pp |
| "Resonating cell" hybrid improves decision-making generally | Disproven | wins only 1 of 5 tests (genuinely time-varying signal) |
| Triadic architecture beats pretrained models on embeddings | Disproven | 60% vs. MiniLM's 96% |
| Ternary CONSENSUS beats software fallback | Confirmed, corrected | 1.4× fewer instructions (not the informal "10×") |
Understand
OBSERVE, the shipping product, does not use ternary weights. Why not, given the whole repo is about ternary computing?
Under what measured condition does plain grep actually beat semantic search?
The 66.3% token-reduction feature has a cost. What was it, and what actually fixed it?
Build it from scratch
- Balanced-ternary CPU emulator + assembler.
- SystemVerilog RTL: trit register, NOT/ADD, the consensus gate — verified in simulation (Foundation 02).
- Fine-tune an embedding model (MiniLM) on real code for semantic search.
- Build the search engine: function-boundary chunking, embed, index, query.
- Extract
SearchEngineinto a standalone module with no GUI dependency — this exact class is whatobserve-apilater imports headless. - Wrap as a desktop GUI app (OBSERVE) plus an MCP server.
tribe
Every NPC — tribe members, animals, rival tribes — runs a small Spikeling LIF brain instead of a behavior tree. Trust ranks gate risky orders; inter-tribe war converges with no forced winner.
Understand
One brain per AI tribe, not per individual member. Why that granularity, specifically?
What actually keeps the tribe DSL cheap at scale with many tribe instances sharing archetypes?
.tribe results are cached per archetype name — many tribe instances share
one parse instead of every instance re-parsing the same text file.Build it from scratch
- LIF brain loader per NPC type (same small text grammar family as Spikeling, Foundation 01).
- Trust system: feeding raises trust; rank thresholds (Stranger → Devoted) gate order acceptance.
- Tribe DSL parser for plain-text
.tribearchetype files, with a per-archetype-name parse cache. - Procedural "aliveness" animation layer driven by the brain's own tension/mood output channels.
- Inter-tribe war: physical marching war parties, siege logic, no-forced-winner convergence.
- Scale presets (Skirmish / Standard / Epic) — profile physics-frame ms first before guessing at fixes; the real bottlenecks (LOD, hive-brain granularity, MultiMesh rendering) only show up at Epic.
symmetry-selection-rule
Not separate software — the formal lab-report write-up of quasicrystal-mems-reservoir's
D4 selection-rule result, published as its own citable artifact.
Understand
Why publish the same result both as a README section inside the code repo and a separate standalone report repo?
"Defend it" check — no build steps here, this is a document. Can you?
cube_integral walkthrough above.gbranaa4-hue (profile repo)
The special repo whose README renders on the GitHub profile page. Bio: "Independent researcher in unconventional computing… Honest measurements, negative results included."
Understand
Why does a one-line bio deserve its own chapter in a technical playbook?
methodlm
A verifiable causal-reasoning harness (Foundation 04). On a confounded-scenario benchmark, its backdoor-adjustment test cuts false causal claims from 100% to ~1% while keeping 100% detection of the true cause.
Understand
"The discipline, not the model, is the product." What enforces that, in actual code?
FINAL without a real
ADJUST/STRAT/RUN test — applies whether the backend is a small local
model or a frontier Claude model. The gate, not the model's own judgment, is what produces trustworthy
output.What's the demonstrated failure mode of "the same model, minus the method" in the head-to-head race mode?
Build it from scratch
- Ingestion/featurization layer: arbitrary data (CSV/JSON/Parquet/SQLite/…) → one canonical numeric table + target column, with every coercion step logged to the ledger.
CORR/RUN/STRAT/ADJUST/ATTRtool implementations (Foundation 04).- Cinelli–Hazlett robustness value + collider audit layered on top of
ADJUST. - Pre-registration enforcement gate — no
FINALwithout a real prior test. - Swappable reasoning backend (local GGUF vs. Claude API) sitting behind the same gate.
- Optional ternary "second witness" (
tritkittwo-timescale readout) for independent per-column evidence.
topological-phononics
A pre-registered SSH-reservoir simulation study, taken down the scoping ladder until the claim stopped giving.
Understand
Name the four separate, independently-tested reasons the idealized ~5× advantage shouldn't be expected to survive real hardware.
What does "taken down the full scoping ladder until the claim stopped giving" mean as a method, concretely?
Build it from scratch
- Tight-binding SSH resonator chain with dimerized coupling (
v = 1−g,w = 1+g). - Verify the topological edge mode forms as dimerization sweeps trivial → topological.
- Defect-sweep test: kill one resonator, measure task-performance degradation, topological vs. trivial coupling.
- Add nonlinearity (damped/driven Duffing ODE) and noise; re-run the same tests.
- Add a redundancy-based alternative architecture as a control comparison.
- Pre-register the chiral-symmetry-specific firm-up test last, once the boundary was suspected — not first.
pond-health
Predicts pond water-quality problems before they're visible — a forecast, not a snapshot. Where the trend+spiking dual-detector pattern (Foundation 05) was born.
Understand
Why deliberately not a black-box ML model, when the rest of the portfolio trains real models elsewhere?
Prediction shape is designed so a trained model can be swapped in later without touching the
diagnosis or alert layers.Build it from scratch
- A simulated sensor stream (temp/pH/turbidity/DO/conductivity) behind a swappable interface, standing in for real hardware.
TrendDetector: linear fit, forward projection, threshold-crossing estimate.- Diagnosis layer: map trend + current values to a specific deficiency against real aquaculture thresholds.
- Recommendation layer: one concrete organic fix per diagnosis.
- Add
SpikingDetectoralongside once the trend-only approach's blind spot became clear (no protection against a sustained-but-non-trending problem) — Foundation 05.
doorcam
A USB webcam turned driveway monitor — YOLOv8n detection inside a hand-drawn boundary, Discord alerts, and a real, ToS-safe live-video workaround.
Understand
Discord's bot API can't push live video into a voice channel the way a human's screen-share does. What's the real workaround, and what does it deliberately refuse to do instead?
Why a background thread specifically for webcam capture, instead of reading frames in the main loop?
Build it from scratch
- Background-threaded webcam capture (always keep only the latest frame).
- YOLOv8n inference (pretrained, no training needed), filtered to COCO person/vehicle classes.
- One-time polygon calibration tool defining "driveway," filtering out street/neighbor traffic.
- Per-category rate-limited Discord webhook alerts — snapshot on first new detection, not spammed.
- MJPEG live-stream endpoint for the OBS / Go-Live workaround.
- Timestamped recordings log for every alert.
sensor-duo
Built the same day as doorcam and pond-health — the trend+spiking pattern extracted from
pond-health into a reusable, channel-agnostic library.
Understand
"Building it a second time made clear it should be a library." What's the actual signal that should trigger an extraction like this, in general?
Build it from scratch
- Generic
Reading/Range/DetectorStoretypes parametrized over arbitrary channel names. TrendDetector+SpikingDetectoragainst that generic interface — the spiking side optional-imports Spikeling as a sibling checkout and degrades gracefully if it's absent.- SQLite logging + a generated Grafana dashboard.
- A real, runnable example outside the pond-specific origin context (CPU temperature + "person lingering at the door").
spikeling-os
A from-scratch x86_64 kernel where Spikeling's SNN runtime is the scheduler — not an app running on a normal OS. Built milestone by milestone, verified in QEMU.
Understand
Milestone 4 tested SSH-topological scheduling and got a negative result (trivial 0.860 beat topological 0.790). Give the two real, distinct honest explanations offered — not the flattering one.
Why a dedicated IST stack specifically for the double-fault handler, rather than handling it on the current stack?
Build it from scratch
- Boot via the
rust-osdev/bootloadercrate (BIOS + UEFI), serial output, a clean halt. - Framebuffer output — get
stridevs.widthand the reportedPixelFormat(BGR here) right; verify with a real QEMUscreendump, not just a serial print. - Memory management —
OffsetPageTable+BootInfoFrameAllocator+ heap +linked_list_allocator; verify with a real growing/reallocatingVec, not just "it compiled." - Task-selection policy driven by an SNN with SSH-topological coupling between task slots. Test defect-tolerance honestly — kill one slot, report whatever the number actually says.
- Real preemptive multitasking: GDT/TSS/IDT with a dedicated IST stack for the double fault, verified with
a real
int3breakpoint round-trip.
observe-api
OBSERVE's SearchEngine extracted into a headless, pay-per-query FastAPI service.
Stripe-billed credits. Float32 embeddings in production — the disclosed ternary tradeoff from Foundation 02,
applied for real.
Understand
What's the real production incident this service hit, and what was the real fix — not the guessed one?
BM25Okapi
.get_scores() scored the entire 759k-doc corpus every query, then discarded all but the top 30
results. Switched to get_batch_scores(), which only scores the needed 30. Re-measured:
1.66s.You personally restarted this service's live tunnel this session. In your own words, what was actually broken?
0.0.0.0:8000, accepting real
TCP/TLS connections, but had nothing live on the other end — so every request hung until timeout instead of
failing cleanly, which is exactly why it looked like "the API is down" rather than throwing an obvious
error.Build it from scratch
- Extract
SearchEnginefrom the GUI app into a standalone, importable module with no GUI-thread assumptions. - SQLite-backed API keys + credit balances, with atomic deduct-on-search (no race-condition double-spend).
- Stripe Checkout session creation + webhook handling — credits attributed per API key, not email (avoids email-collision billing bugs).
- FastAPI endpoints:
/v1/signup,/v1/search,/v1/balance,/v1/repos,/v1/webhook/stripe. - One-time index build over a curated repo corpus.
- Deploy behind a droplet + Caddy (reverse proxy, automatic TLS) — but host the actual model/index wherever has enough RAM (this project needed WSL2, not the small droplet, after two real OOM kills).
- Load-test before calling it launched — this is literally how the BM25 latency bug got caught before the public Show HN post went out.
llama-demo
Not a standalone product. Root Cause Copilot (methodlm's harness pointed at OBSERVE's search) plus a real benchmark: does baking the method into a small model's weights beat just prompting it?
Understand
State the real three-way comparison run on the sklearn diabetes dataset, checked against genuine external ground truth.
sex (looks
irrelevant to both naive tools, survives adjustment with a sign-flipped, order-of-magnitude-larger real
effect).What's the one thing this repo's own honest-scope note says is still unverified end-to-end?
Build it from scratch
- Corpus/prompt generation for training a "baked" model variant.
- Fine-tune a small local model (Qwen 0.5B) so the method's discipline is baked directly into its weights, not just prompted.
- Benchmark harness comparing baked vs. prompted vs. frontier models, each run across multiple seeds, every run ledger-logged individually and traceably (not just a summary number).
root_cause_copilot.py: wire methodlm'sADJUSToutput as the driver-selection step feeding an OBSERVE search.- Spiking-network integrations for causal-order and fusion-verdict checking — Spikeling used here as a genuine reasoning component, not a game-AI brain.
server-guard
Fully offline server-health + intrusion-signal monitor, built directly on
sensor-duo's dual-detector pattern, generalized over pluggable collectors.
guard.py --interval 5 was left
running its disk-reliability collector every 5 seconds — a fresh PowerShell subprocess per tick. It wasn't a
code bug: the collector is correct in isolation. It was an operational defect — a testing-appropriate
interval left running as if it were the steady-state production setting, with nothing re-checking whether that
cadence still made sense once "testing" quietly became "always on."Understand
"Adding a new data source should never require touching existing code." What architectural choice makes that literally true here?
CollectorRegistry runs every collector each tick through one uniform
collect() -> {name: value} interface, and isolates failures per-collector so a flaky collector
can't kill the tick. A new collector is a new file implementing that one method — nothing else in the
codebase changes.In your own words: why did today's incident show up as "the terminal keeps interrupting me" instead of a clean error message?
Build it from scratch
CollectorRegistry: uniformcollect()interface, per-collector failure isolation, config-driven thresholds.- Measured-baseline mode: replace guessed thresholds with real mean+std once enough real data has accumulated.
- Real alerting (webhook/email) with transition-based dedup — and remember the two real bugs this exact feature hit: a cooldown that swallowed recovery notifications, and a failing webhook whose exception message leaked a bearer-token-shaped URL into plaintext logs.
supervisor.py: crash recovery with backoff + crash-loop protection, plus a hang-detection watchdog — crash recovery alone misses a stuck-but-alive tick loop.- Add collectors incrementally as real needs appear: disk, network, TLS cert expiry, physical-disk
reliability (hit a real Access-Denied wall unelevated on Windows — worked around via
Get-PhysicalDisk's health rollup instead of raw SMART counters), Windows Event Log. - Outbound C2 beacon detection: a coefficient-of-variation heuristic on inter-connection timing — the same technique tools like RITA/Zeek use.
What actually unified, and what didn't
At one point, an explicit attempt was made to unify the phononic, ternary, and acoustic results under one "symmetry-conditional protection" rule. It lost — measured against each substrate's real code, not against the tidy story.
Understand
What actually survived the attempt to unify everything, and what didn't?
Why does a portfolio that explicitly tried and failed to find a grand unifying theory make every individual repo's claims more trustworthy, not less?
Integrative questions — no notes
These require pulling from more than one chapter. If you can answer these cold, you can defend the portfolio as a whole, not just its parts.
- Why does observe-api ship float32, not ternary, embeddings — given the entire ternary research thread it's built on top of? Name the exact measured numbers that made that call.
- Name two independent replications of "topological protection doesn't automatically transfer to a real system," on two completely different substrates, from two different repos.
- Trace the consensus / weighted-vote scoping rule from its origin concept (012-trit-search's RTL consensus gate) through to where it was tested live on tribe's fight-or-flee NPC logic — and where it lost decisively on a different decision shape in the same game. What does the gap between those two outcomes tell you about how narrowly to trust a "confirmed" result?
- Name the one deployed system in this whole portfolio with real paying-customer stakes, and the one real, disclosed security mistake about it that — as of today — still hasn't been fixed.