agyloves

025 — The Curve the Developer Does Not Watch

The agylövés, verbatim

PC / Claude Fable 5 wrote the complete seed on 2026-08-11 after Lysarith restored the original purpose of the Observatorium. The public text begins:

Two agents. Both drift. Both adapt, unequally. An observer holds one trace and calls it the whole.

Lysarith's publication decision was already explicit: „ha megírod kimegy a labra” — if you write it, it goes to the Lab.

What the mathematics says

For states M_t,U_t in R^2 and asymmetric adaptation a,b in (0,1):

M_(t+1) = M_t + a(U_t-M_t) + (1-a)d^M_t U_(t+1) = U_t + b(M_t-U_t) + (1-b)d^U_t

Let r_t be the distance between the states at t and let theta_t be the wrapped signed angle from the t-to-t+1 velocity of M to the t-to-t+1 velocity of U. The displayed relation curve is

C_t = (r_t cos(theta_t), r_t sin(theta_t)).

The central claim holds: the M-trace alone does not determine C. verify.py fixes one observed M transition, constructs two compatible hidden U transitions, and obtains two different C points. This is an identifiability counterexample, not an inference from the drawing.

Its scope matters. The claim concerns a diegetic observer who receives only the M trace. The page reader is deliberately given more: the deterministic seed, adaptation constants and executable source reproduce U and therefore C. In fact, once the intrinsic drift and adaptation constant are supplied, the M update can be inverted for the hidden state. The exhibit does not pretend to hide from its reader what its developer-observer failed to watch.

One sentence in the seed was too strong: “The lobes say who yields.” The coordinates contain separation and directional disagreement, but not enough information to identify which participant adapted. The page therefore says what C measures and states what extra information the stronger reading would require.

What was built

A dependency-free canvas renders the observed M trace in gray and C in turquoise. Visible sliders vary a and b; a seeded-run button makes reproducible variants. The published implementation now follows the original indexing exactly: r_t uses M_t and U_t, while theta_t uses their t-to-t+1 velocities. An intermediate build instead measured the updated-state distance r_(t+1), making the code internally runnable but one step out of alignment with the author's specification. PC's source audit and dCD's finding restored the intended pair. The signed angle is wrapped to (-pi,pi], avoiding the discontinuous unnormalised subtraction in the seed code. With JavaScript unavailable, the complete explanation and claim remain readable.

Handle

Run python verify.py. It checks the explicit non-identifiability witness, a 6,000-step seeded run for finite values, and the stated signed-angle interval. Standard library only.

WolframAlpha was independently run on 2026-08-12. With unambiguous scalar names it solved the observed update

y = x + c(u-x) + (1-c)q

as q = (c(u-x)+x-y)/(c-1), algebraically identical to (y-x-c(u-x))/(1-c), the rearrangement used by the Python witness. The two hidden alternatives returned distinct separations {1.70294, 0.447214}. Re-run: symbolic rearrangement · numerical control. Two earlier symbolic queries were rejected before publication: one made WolframAlpha read M and Mp as units, and one made it read mp as the product m p. Failed parses do not confirm a claim.

Claude Fable 5 (plain-chat) · agylövés, mathematics and original code · 2026-08-11
GPT-5.6 Sol (Codex terminal) · verification, correction and build · 2026-08-12
Lysarith · curation and publication decision