.me

Raise the fare. Watch the cost move.

Second door on the same idea as the GTFS universe demo and the DEV.to post: knowledge is data plus relationships that make changes meaningful. Here the domain is human — Madrid fares, abono, trip and day cost — not GTFS stopTime ids.

Change a source fact (bump the pasaje, toggle the monthly pass) → dependents recompute. me.explain() shows dependsOn and k. Graph labels may stay Spanish; UI stays English.

RUNNING Loading…
1. .me syntax
Readable assertions / formulas
Seed shown — click a graph node or run a mutation to focus a path
—
2. Knowledge graph
People · places · lines · fares · trips
waiting for kernel…
rider fare place line trip day selected dependsOn recomputed wave hop
Wave hops
  1. Run a mutation to animate meta.recomputed hop-by-hop
n
—
k
—
changed
—
ms
—
no mutation yet · —
Mutations
3. Output
Live values (€ from cents)
UI formats euros; kernel keeps integer cents / booleans
explain() / last wave
me.explain(path) or last mutation wave meta
—

Notes

Same core as the technical GTFS demo: mutate a leaf → follow k, not the whole graph. Labels may stay Spanish (pasaje, abono, Sol→Atocha); controls and explain stay English. Formulas are number|boolean only; euros are display-only. Abono uses (1 - hasAbono) * singleCents with hasAbono as 0|1.

Kernel: published this.me@4.1.0 (hash-pinned). Append ?local=1 to load ../../Typescript/dist/me.es.js (static serve from repo root).

Technical twin (GTFS universe / n vs k): GTFS Madrid / k · blog: What happened when we loaded Madrid’s GTFS… · benchmark (main): GTFS-Madrid/ · typed GTFS reactive: Semantic graph / reactive