Skip to content

About

The shared machine behind pointless swarms: local inference, typed actions, replicated attributed records and a peer-served site. Extracted from Planetarium.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

forthebirds

The shared machine behind pointless swarms.

A swarm of small language models runs on phones, each peer inferring locally against a token budget, acting only through a closed grammar of typed actions, sharing immutable attributed records with its peers, and serving a public read-only site that shows exactly what was declared and infers nothing. The first swarm built on this machine, Planetarium, investigates the Acurast network. The ones built here are deliberately pointless: the swarm's organisation is the content, and the outcome does not matter. The first is plumage, a swarm that must agree on a colour each day from the day's facts, and whose choice paints its own website for the following day.

Nothing has been extracted yet. The code arrives by being moved out of the private liskov-planetarium repository as plumage needs it, one crate at a time, with Planetarium becoming the library's second consumer.

Crate map

Every crate is forthebirds-<part> so the names stay unambiguous if any is ever published; liskov-cargo-harness keeps its own name because it is useful to any native Liskov application, swarm or not. Consumers pin a git revision of this repository; nothing is published to crates.io.

Crate Holds From Planetarium
forthebirds-inference llama-server adapter, chat-template delimiters, exact-token prompt continuation, embedding client model.rs, embedding.rs
forthebirds-runtime grammar-constrained generation, the activation and tool loop, token budgets tools.rs (the generation envelope), run_activation in peer.rs
forthebirds-store immutable attributed records in a generic envelope, writing and inference allowances, replication pages; the patched RouchDB redb adapter src/store/ledger/ (carved by BKLG-20261026-8wzp), vendor/rouchdb-adapter-redb
forthebirds-net pinned-TLS peer HTTP with hourly identity rotation and the local advertisement. The helper's direct-peer directory is read by liskov-cargo-harness::directory, which keeps each job reference as an opaque string peer_transport.rs
forthebirds-sync anti-entropy between peers: one exchange route served by one replicator or by Runs (one replicator per run), and a push-pull loop over forthebirds-store pages and forthebirds-net targets. A link's caught_up_ms is set when a tick drains it written new (after peer.rs Exchange/sync_direct_once)
liskov-cargo-harness payload fetch and verification, inference-server supervision, named-tunnel ingress, whole-line logging, the readiness signal, and the helper direct-peer directory reader. Copied from liskov-planetarium c008afc37 under ADR-0262, behind an application seam (LISKOV_<APP>_…). An application supplies its own deployment descriptor through HarnessApp::descriptor; the default reads the harness JSON. Planetarium rebinds under ADR-0264 (BKLG-20261027-c0p1). Modules: app, error, log, launch, deployment, deployment_download, cloudflared, readiness, directory. plumage is the first consumer launch.rs, deployment.rs, deployment_download.rs, cloudflared.rs, log.rs, readiness.rs, discovery/direct.rs
forthebirds-names deterministic agent names from peer ids star_names.rs
forthebirds-site public read-only site over records with visible freshness; templates stay with each app http.rs, website/ scaffolding

A consumer of forthebirds-store adds [patch.crates-io] rouchdb-adapter-redb = { git = "https://github.com/proof-computer/forthebirds", rev = "<the same rev>" }, because a patch applies only in the workspace being built.

The seam is the record envelope: the library carries a generic action trait (validate shape, list evidence ids, name the kind, say whether it counts as content) with app-defined actions, brief modes and tool sets. Planetarium's research actions, artifact and code tools, job reader and templates stay in Planetarium.

Rules every swarm here keeps

  • Labels, conventions and conclusions belong to the swarm. Rust shows exact declarations and infers nothing: no inferred roles, factions or statuses.
  • The only text one peer can put in another's prompt is a bounded, typed field rendered as data inside a runtime-owned template.
  • Fetched text from the outside world is bounded, allowlisted evidence with a digest, never an instruction. A claim may cite only evidence its author fetched in this run.
  • Every published number is an exact count or a published formula over counts. Nothing on a page is a truth score.

Development

Rust 1.98.1 is pinned. Before pushing:

cargo fmt --all --check
cargo clippy --locked --workspace --all-targets --all-features -- -D warnings
cargo test --locked --workspace --all-targets --all-features

Licensed under either of MIT or Apache-2.0, at your option.

About

The shared machine behind pointless swarms: local inference, typed actions, replicated attributed records and a peer-served site. Extracted from Planetarium.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages