Skip to content

PTG v0.1.0 — team test scaffold

Pre-release
Pre-release

Choose a tag to compare

@dirvine dirvine released this 24 Jun 22:17
· 32 commits to main since this release

PTG v0.1.0 — team test scaffold

⚠️ Pre-release. A research artifact for internal team experimentation, not a stable API. PTG requires a live llama-server and a gated Gemma model — it is not a drop-in library.

This is the first tagged build of Project Thousand-Gemma: a distributed, prompt-based cortical mesh simulator in Rust implementing Jeff Hawkins' Thousand Brains Theory. A teammate can now clone → start the QAT server → run a mesh → swap column prompts to experiment with abstraction levels.

Quick start

git clone https://github.com/saorsa-labs/brain && cd brain

# 1. Start the verified Gemma 4 QAT model server (downloads ~2.6 GB on first run)
scripts/start-gemma4-qat.sh        # serves on http://127.0.0.1:18136

# 2. Probe it
cargo run -p ptg-cli --bin ptg -- --probe \
    --vllm-url http://127.0.0.1:18136 --model gemma-4-e2b-qat

# 3. See the mesh wiring (no inference)
cargo run -p ptg-cli --bin ptg -- --dry-run \
    --column-pack examples/column-packs/abstraction-ladder-9.toml \
    --topology torus --torus-width 3 --torus-height 3 --columns 9

# 4. Run it live (9 columns, 3 abstraction levels, 3x3 torus)
cargo run -p ptg-cli --bin ptg -- \
    --vllm-url http://127.0.0.1:18136 --model gemma-4-e2b-qat \
    --column-pack examples/column-packs/abstraction-ladder-9.toml \
    --topology torus --torus-width 3 --torus-height 3 --columns 9 \
    --min-ticks 2 --ticks 3 --max-tokens 2048 --temperature 0 \
    --input "A satellite in decaying orbit shows rising thermal load, decreasing altitude, and intermittent guidance resets. What will happen next?"

Full walkthrough (prerequisites, 3-tier model setup, topologies, experiment recipes, de-risk ladder, common failures): docs/TUTORIAL.md.

What's in this release

  • 5-crate Rust workspace (panic-free, clippy-clean under -D warnings, 78 tests)
  • ptg CLI with --topology {default,ring,ring-bi,torus,fully-connected,small-world}, --column-pack, --min-ticks, --max-tokens, --temperature, --dry-run, --probe, multimodal --image-url
  • Pluggable topologies with degeneracy guardrails (Phase 3)
  • Column packs (TOML) for abstraction-level experiments + abstraction-ladder-9.toml example
  • scripts/start-gemma4-qat.sh portable launcher
  • ptg-bench + ptg-judge binaries for benchmark methodology and the A2 mechanism-activation judge
  • Docs: Specification, Architecture, Roadmap, Benchmarking methodology, Tutorial

Pilot research signal (not a benchmarked result)

From a single live QAT run on the 9-column abstraction ladder — captured as a research direction in the README:

  • Confidence stratifies by abstraction level: high-level columns reported mean confidence ~0.92 vs ~0.68 for low-level columns on a causal prompt.
  • Low-level drift without divergence: on ambiguous token input, low-level columns drifted toward token prediction, but lateral exchange pulled them toward the dominant physics framing.
  • Topology changes propagation: a niche "context" column's framing propagated fast on a 4-neighbor torus (0.98 conf) but stayed isolated on a 1-neighbor ring (0.85 conf).

Central tension worth investigating: lateral consensus is a homogenizing force — great when the dominant frame is correct, a failure mode when the dissenting view is the one that matters. See the README's Early research signal section.

Known limits

  • Gated model required. Gemma is gated; you must accept the license and authenticate with hf login before the launcher can download it.
  • llama-server required (built from llama.cpp). The launcher detects it but does not build it.
  • No integration LLM yet. The mesh emits per-column outputs; "voting" is confidence-threshold filtering only.
  • Embeddings blocked. The live server returns HTTP 501 on /v1/embeddings, so semantic-cosine convergence is deferred.
  • Fail-fast. One column emitting truncated/malformed JSON aborts the epoch (use the de-risk ladder in the tutorial).
  • Confidence is self-reported. An overconfident model converges prematurely; --min-ticks is the workaround.

Validation

  • cargo fmt --all --check
  • cargo clippy --all-features --all-targets -- -D warnings -D clippy::panic -D clippy::unwrap_used -D clippy::expect_used ✅ (0 issues)
  • cargo check --workspace --all-targets
  • cargo test ✅ (78 passed, 0 failed)
  • End-to-end validated against a live gemma-4-e2b-qat server.

License

Dual-licensed under MIT OR Apache-2.0.