---
title: "Build log"
description: "A dated record of what was built and proven, from the project's evidence records — including the days the tests won."
canonical: "https://poolpartyai.com/build-log/"
site: "PoolParty"
generated_from: html
---

*Build log*

# PoolParty development and verification history

Every claim on this site traces to a document written when the thing was proven, not afterwards. There are more than a hundred of them. This is the arc through them — dated, in order, and including the parts that went badly.

1.  2026-08-18 Day one

    ## Enrollment, updates, and scheduling across three operating systems

    -   Sixty-odd evidence records in a single day: enrollment, admission, activation, pause, resume, retirement and removal — written separately for macOS, Windows and Linux rather than once and assumed to port.
    -   Signed packages and rollback on every platform. Update staging, package removal that fails closed, and a separated-key release mechanism.
    -   The scheduler’s failure matrix, node-assignment exclusivity and queue aging — written before there was a queue worth aging.
    -   Directory sign-in and operator credential rotation. The enterprise foundations date from day one; the product around them does not exist yet.

2.  2026-08-19 → 20 Days two and three

    ## Job execution, computer pairing, and batch workloads

    -   The contribution daemon executing real assignments, gated hardware sensing, and supervised child processes.
    -   The local network plane for moving data between machines, and one-click join for a personal pool.
    -   WASM batch workloads and job-group fan-out — the first shape of many machines working on one thing.

3.  2026-08-21 Day four

    ## AI model serving and Windows enrollment

    -   LLM serving, then token streaming, then queued runs and the formation loop (ADR 0100, 0101).
    -   The first Windows enrollment, end to end — and the join confirmed the same day (ADR 0102).
    -   The admitted-peer allowlist for the blob store (ADR 0099): who is allowed to hold your data is a list, not a vibe.

4.  2026-08-22 Day five

    ## App controls and encrypted storage

    -   Sealed storage in two slices: encrypt, split and scatter, then the 2-of-3 recovery rung with device-to-device key approval and reconstruction (ADR 0113, 0114).
    -   The app’s panels executed one by one — machine specs, model fit and streaming chat, network, work, storage, join and consent (ADR 0106 through 0111).
    -   Economy foundations: the catalog served and installed from, the OpenAI-shaped surface answered by the live pool, and the first credits attributed (ADR 0115).

5.  2026-08-23 Day six

    ## macOS signing and verified jobs across two computers

    -   Developer ID signing and notarization, with the keychain custody verified rather than assumed (ADR 0118).
    -   The identifier family renamed to PoolParty before signing, because renaming after signing is how you invalidate everything (ADR 0117).
    -   W1e: the Windows machine joined the live pool, sensed itself truthfully, and executed verified workloads. The first cross-machine pool (ADR 0112).
    -   A guided walkthrough of the whole app, run with the owner at the keyboard against the live signed pool — including the debts it exposed.

6.  2026-08-24 Day seven

    ## Storage recovery, Windows test fixes, and VPN connectivity

    -   A live holder frozen past twice its heartbeat repaired its own sealed placements on the next beat, in the same process, with no restart (ADR 0121).
    -   The Windows continuous-integration leg ran on the pool’s own PC. It queued for four hours and seven minutes, then found five defects in a row — four of them ours (ADR 0116).
    -   VPN coexistence, first slice: the pool stopped advertising a path it cannot use, said so in words a person can act on, and stopped throwing away accepted work on one failed poll (ADR 0120).

7.  2026-08-25 Day eight

    ## MCP integration and encrypted relay connections

    -   The local consume gateway and a Model Context Protocol server. A real Claude Code session registered it with one command and got an answer from the pool’s own model, with no account and no token (ADR 0123).
    -   The hub relayed sealed ciphertext it cannot open, as a last resort only, time-limited and budgeted (ADR 0122) — closing the connectivity work started the day before.

8.  2026-08-26 Day nine

    ## Remote API, native GPU jobs, and app permissions

    -   The hosted consume surface, WAN-shaped but not deployed — the gateway built, the deployment itself deliberately left to a decision (ADR 0126).
    -   The native accelerated workload tier: GPU-tagged jobs placed on machines with the right card, run as digest-pinned programs behind their own separate consent (ADR 0124).
    -   The third-party app surface — “Runs on PoolParty” — a versioned local door for other applications, with consent asked per app (ADR 0125).

9.  2026-08-27 Day ten

    ## Download staging and optional account support

    -   A hosted download front door, staged rather than live (ADR 0128).
    -   An optional owner account — passkey only, a name over an existing node rather than a gate in front of it (ADR 0127).
    -   The credits referral engine, built as the honest half: the part that can be true before a marketplace exists.

10.  2026-08-28 Day eleven

     ## Model selection, remote connectivity, and inference research

     -   The model-picker contract: any LLM command-line tool can point at the pool and choose per request, from lists that carry availability, an honest price or an honest blank, and advisory fit labels (ADR 0131).
     -   The pool mesh — enrolled devices connecting from anywhere, proven on one machine, with the legs that cross networks recorded as staged rather than claimed (ADR 0130).
     -   Mixture-of-experts placement as a research tier, whose own record opens by saying nothing in it is a performance claim, nothing is cross-machine, and no reach is proven (ADR 0129).

### [How to read this]

This is a selection, not the whole file — there are over a hundred evidence records and a directory listing is not a story. Nothing here is reconstructed from memory: each line comes from a document with a date on it, written when the work was proven, and the numbers in parentheses are the architecture decisions behind them.

The bad days are in on purpose. A build log with no failures in it is marketing wearing a timestamp.

Machine names, file paths and node identifiers have been removed. Nothing else has been changed.
