asolaria / loop /README.md
Jessedbrown's picture
Sync with GitHub main 85faeb1 (part 2)
4204a3b verified
|
Raw History Blame Contribute Delete
3.98 kB
# aether-loop
The ADDRESS / ROUTE / LOOP front half of the Asolaria request path, ported to Rust 1.81 from the Node
request-path modules, with a stdlib Python referee that checks byte-identical HBP rows.
Two crates live here:
- `.` (`aether-loop`) — the ports: PID minter, revolver, Brown-Hilbert room addressing and the HBP room
descriptor, the project-room router, the dispatcher rows (`row=rotation`, `row=prism_forward`), the
mock free agent, the hookwall pass library (`stamp_pid`, observation row, three-outcome verdict incl.
`OBSERVE_ONLY`, `pass`/`pass_chain`, dual-emit, the Fischer ledger append), the free-agent `loop_cycle`
(`row=project_swap`, `row=prism_in`) and the context `runLoop` builds, the GC runtime, the
omni-engine never-explode gulp, quant score and extract -> register -> place cycle with its
live-format `mintPid`, and the Path A `run_primitive_loop`.
- `vendor-pid-mod/` (`asolaria-os-metal-pid-mod`) — the reductions `pid-mod.rs` kernel, vendored
byte-identical with its own 27 tests. Owner decision pending on the personal data it carries (see its
`PROVENANCE.md`); it is not to be published before that decision.
Each source module names its upstream file and lines; see `PROVENANCE.md`. `src/js.rs` holds the
ECMAScript string operations the upstream lines rely on (UTF-16 `slice`/`charCodeAt`, the `trim` set,
`JSON.stringify` of a string).
## What is wired as a seam (other builders' lanes)
- SCORE (`asolaria-score`) and Fischer (`fischer-kernel`): the gate calls them through
`hookwall::GateLanes` where upstream calls them (`score(pid, content)`, then
`fischerEval(pid, envelope, sc, { prevHash })`); `pass`, `pass_chain` and `loop_cycle` take the lanes.
The Path A `run_primitive_loop` calls SCORE through a closure on `(pid, answer_sha16)`.
- Fischer and observation ledger appends: `pass` appends when given a path (`None` under upstream
`dryRun`).
- Live opencode spawn and the GNN HTTP infer: the lane boundary, not ported.
- Filesystem district build, the `ROOM.hbp` swap marker and the prism append: the integrator's lane;
the row builders are pure and take the timestamp as a parameter.
## Open integration items
- `dispatchRoom`'s `room_answer` outbox row (room-dispatcher.mjs:162-207), the Path A outbox: no
directory of the tree emits it yet. On the mock + `skipGnn` path its `gnn_score`, `reverse_risk`,
`promoted` and `gnn_status` follow from the mock's `k/1000`; `shannon_H` and `shannon_eff` need V8's
`Math.log2`, which `gate/observed/src/score.rs` ports for the efficiency in e4 (no `H.toFixed(4)`
accessor there yet).
- Two ports of `pid-minter.mjs` (tuple form), `primes.mjs` and `pid-chain-revolver.mjs` exist in the tree
(this crate and `model/hrm-mtp`, which also has `preWarm`); the integrator picks one.
- `runLoop`'s per-verdict tally (asolaria-loop.mjs:104-118) is kept by the caller from each
`CycleOutcome`; `would_rename` becomes upstream's `renamed` once the caller's `ROOM.hbp` append succeeds.
## Scores
The forward-gate score crosses this lane in e4 units (1/10000), the unit of the tree's SCORE lane
(`gate/observed`). The hookwall forward gate threshold is 7200 (upstream `score >= 0.72`); the mock
agent's `k/1000` enters as `10k`, and a score from another lane as `Math.floor(score * 10000)` in binary64.
## Build and check
Measured on Rust 1.81.0: 29 tests pass, the referee checks 111 rows with 0 mismatches, and the same 111
rows were equal to the upstream Node modules' own output (a cold-lane check outside this directory).
```bash
# from this directory
cargo +1.81.0 fmt --check
cargo +1.81.0 clippy --locked --all-targets -- -D warnings
cargo +1.81.0 test --locked
cargo +1.81.0 build --locked --example emit_rows
python3 referee/referee_hbp.py --check target/debug/examples/emit_rows
# vendored kernel
cd vendor-pid-mod
sha256sum -c UPSTREAM.sha256
cargo +1.81.0 clippy --locked --all-targets -- -D warnings
cargo +1.81.0 test --locked
```