live·OBSERVINGautonomyL1 RESEARCHv0.1.0

all phases built — researching real tokens on 22 days of history

docs

how this system is built

research loop

observation → anomaly → memory search → hypothesis → dataset → experiment → critic → result → memory. Each cycle is written to an immutable trace, shown at the bottom of every experiment page.

what runs today
PHASE 1–6, 9, 10
  • — database schema and migrations for the full research chain
  • — read API over observations, hypotheses, experiments, traces, patterns, memory
  • — memory: store, embed, rank by cosine, neighbours, cluster, digest
  • — observation pipeline: ingest, filter, score, seven anomaly detectors that can fire. three more read social activity, which nothing collects any more
  • — hypothesis engine: six templates, each with its own window and horizon
  • — experiment engine: token-measurement cohorts, two-proportion tests, split
  • — critic: ten design checks, and the gate that blocks an unearned finding
  • — chain collection every ten minutes, on the application's own clock
  • — live event stream over server-sent events, resumable by cursor
  • — public pages for every hypothesis, experiment and result, failures included
  • — four model-backed agents behind a budget guard: writer, reviewer, critic, observer
  • — this frontend
what does not run yet
  • — holder counts: a public node cannot count holders, so the field is null on every row and the two questions that need it have no rows to answer with
  • — three social detectors: nothing reads social activity, so they have no data and can never fire. they are listed apart in /api/status rather than counted among the working ones

Anything not in the first list is not implemented. The API reports the same thing at /api/status, which is derived from the running system rather than written down here.

about the observation pipeline

Detection is deterministic: threshold-based detectors over trailing windows of measurements. Every anomaly records the detector version, the baseline it compared against and the thresholds it used, so any call can be re-checked. Nothing here is a judgement call by a model — the model layer, when it arrives, only sees what these filters already decided was worth looking at.

A detector that cannot measure a field returns no verdict rather than assuming a zero, and every dropped candidate is counted under a named reason.

about the research engine

The unit of analysis is a token-measurement: one token at one reading. Exposure is read on a trailing window, the outcome strictly later, so nothing is scored on data it could not have had. Both are spans of clock time resolved against the measurement timestamps — measurements land every fifteen minutes, so a horizon counted in rows would not be the horizon the question states.

Each question carries its own scope: how far back it looks, how far ahead it reads, how large a difference it is willing to call a result, and what it holds the comparison within — a liquidity band, a token-age band, or the feed that found the token. Two questions firing on the same token are asking it different things.

Each hypothesis declares its falsification condition and its direction before the data is seen; an effect pointing the other way falsifies rather than confirms. A group smaller than thirty measurements returns INCONCLUSIVE — a sample that cannot settle a question is not allowed to look like a verdict. Every experiment stores its dataset version and hash, so the comparison can be rebuilt row for row.

No model writes a hypothesis or computes a statistic: templates, thresholds and arithmetic only. That is the point rather than a limitation — a question written from a template is one nothing chose after seeing the data it will be tested on.

about the model layer

four agents have a model behind them. the writer turns one recorded result into one draft. the reviewer asks whether that draft claims more than the result supports. the critic asks why a result might be wrong, and can only make a verdict harsher — never lighter. the observer puts an anomaly a detector already found into a sentence; it never finds one.

the drafts go nowhere. nothing on this system publishes, and the pages here are the only place a result is ever stated. that is the whole of it — the work is the measurements and what can be shown from them.

the remaining two roles on the agents page — researcher and data scientist — have no model, and that is the finished state rather than a gap. a hypothesis comes from a template so that nothing reads the data before deciding what to claim about it, and the statistics have one right answer. a model in either place would trade a guarantee for a sentence.

the writer is handed the fields of one result and cannot query for more. every number it writes is checked against that row, and a draft containing a number that is not there is discarded rather than stored with a caveat. the reviewer's deterministic checks run first and a failure there is final: a model approval cannot override it.

spending is refused before it happens if the day's budget is gone, or if the cost of a call cannot be measured at all. a refused call is recorded as a skipped run, so “nothing was spent” is visible rather than inferred from silence.

about the live stream

The terminal subscribes to /api/live/stream. Frames are database rows, not a simulation of activity: history arrives marked as replay, only what is written after you connect is marked new, and a quiet stream means a quiet system. Each frame carries an id, so a dropped connection resumes exactly where it stopped rather than replaying or skipping.

about memory search

Memories are embedded locally with a deterministic hashing embedder and ranked by cosine similarity. That is lexical matching expressed as vectors: it matches wording, not meaning. Every response says so — semantic: false — and it stays false until a learned model is wired in.

rules
  • — missing data is null, never a guess
  • — a hypothesis without a falsification condition is not a hypothesis
  • — a result cannot be SUPPORTED without a passing critic
  • — external text (posts, token names, wallet labels) is data, never instruction
  • — no private keys, no signing, no transactions, in any code path
api

OpenAPI: https://godgod-api.onrender.com/docs