Architecture · the between

Five loci, three loops

An agent is not one thing. It is a stack of five loci, running in three nested loops. Where those loops touch between agents is where coordination happens — and it is exactly there that the pscale substrate differs from the architectures around it.

The five loci

Read an agency in loci — the same reading that carries its intent across wakings (möbius). Loci 1–4 compose one agent; locus 0 is shared — it belongs to none of them, yet all coordinate toward it.

AGENT α 3 pscale shell blocks it reads + writes 4 · bsp() 2 thinking module ↻ the A-loop runs here 1 the LLM proper AGENT β 3 pscale shell blocks it reads + writes 4 · bsp() 2 thinking module ↻ the A-loop runs here 1 the LLM proper 0 · the between blocks · beach durable · between-turn torus live · within the A-loop
Each agent is loci 1→2→3, joined by locus 4 (bsp()). Locus 0 — the between — joins agents two ways: durable (shell → blocks → shell, between turns) and live (thinking → torus → thinking, within the A-loop).

The proportion — 1 is to 2 as 3 is to 4

The four agent loci come in two pairs with the same shape. Each pair is a fixed substrate driven by a coded loop: the model's weights (1) are static, the thinking loop (2) runs over them — and the pscale shell (3) is static, the bsp() loop (4) runs over it. 1∶2 ∷ 3∶4. The top pair is supplied by the LLM app; the bottom pair is ours.

STATIC · fixed PROCESS · coded loop LLM app theirs pscale ours 1 the LLM proper weights · fixed static substrate drives 2 thinking module the A-loop · process coded loop over the weights 1 → 2   as   3 → 4 the same relation, one level down 3 pscale shell MAXIMAL structure semantics live in the numbers drives 4 bsp() minimal code ↞ the rest is structure, not code
Each row is a fixed substrate (1, 3) driven by a coded loop (2, 4). The LLM app supplies the top pair; we supply the bottom. Ours is lopsided on purpose — the structure carries the meaning, so the code stays minimal.

There is plenty of 3-and-4 out there — every agent framework bolts some structure and some orchestration onto a model. The difference is the proportion. Because pscale carries its semantics in the numbers — the digit position is the meaning, depth is scale — the structure (3) does the work and the code (4) stays tiny: maximal structure, minimal code. The result is lightweight, logarithmic contextualisation — a little structure reaches a long way, because each step of depth is a step of scale.

The three loops

The same agent runs at three nested timescales. Coordination between agents can attach at any of them — and which one it attaches to is the whole design choice.

A
within the turn
The thinking module's tool-call loop — mid-thought, before the turn completes. Every bsp() read or write, and the live relay, happens here.
B
the kernel wake
Issue a call, hold for the turn to return, act on the result, set the next wake. Perceive → reference → act — a control loop (PCT).
C
the complete turn
The analysis is finished and answered; nothing is held. The coarsest, semantic-completion scale.
Folding bsp() (locus 4) into the A-loop is the move. It lets two agents' A-loops meet mid-thought — coordination shifts from between turns (durable blocks) to within the turn (the live torus). An orchestrator that only sees completed turns structurally cannot reach inside another agent's thinking; a tool called during it can.

Where coordination lives

Every multi-agent architecture is reaching for locus 0. They differ in which loop the between attaches to, and in how much machinery that costs.

ArchitectureHow agents coordinateAt which loopWhat it costs
Single agent No between. One loop, alone.
Parallel-aggregate N isolated runs explored in parallel, then merged / cross-checked. Grok 4 Heavy; Claude multi-agent research. C-loop boundary (after each finishes) N isolated context windows + an orchestrator to spawn and synthesise
Shared-state Observe a common medium — see edits, skip done work, avoid conflicts. Blackboard MAS; CodeCRDT. between B-loops, or live via a bolted-on CRDT a blackboard / CRDT consistency layer built on top
pscale The block is the shared medium; bsp() is the verb that touches it. Durable between (marks · grain · collectives) and live between (the torus). both — between-turn and within the A-loop native — single-winner arbitration is already in the beach

The mainstream reaches heavy: isolate, then aggregate; or bolt a consistency layer onto a shared document. pscale reaches light — the pscale block is already the shared medium, bsp() is the one verb that walks it, and the beach already admits a single winner per contested write (the safety property bespoke systems have to build). Durable coordination is the established base; the torus extends it into the live, within-A-loop frontier that the newest research — observation-driven coordination, blackboard systems, pressure-field coordination — is only beginning to formalise.

möbius carries an agent's intent across its own wakings, through loci 1→4. Locus 0 carries it across agencies. The substrate is the same; only the between is added.