First hosted node

Building a home for Pitchfork.

A Pancakes node begins as a network-accessible, locally governed home for Pitchfork. This page follows the work from the accounting engine to a recoverable hosted node and its first visible Mood Ring response.

Current position

Two tracks can begin.

Ready Blocked Queued
Ready Ready Blocked Blocked Queued Queued Queued Queued Queued

Pitchfork Core and the deployment reconciliation are ready to proceed in parallel. No milestone is complete yet, and no Droplet creation is authorized by readiness alone.

Parallel foundations

Software and operations meet at deployment.

The host does not need to wait for all application work, and the application does not need a server to prove its core behavior. Both foundations must be ready before the node is installed on the Droplet.

Track A

Node software

  1. A1 Ready

    Pitchfork 0003 · Core foundation

    Build the installable, deterministic, database-independent accounting engine and its persistence contracts.

  2. A2 Blocked

    Pancakes 0007 · Node foundation

    Build Flask, SQLAlchemy adapters, Alembic migrations, health checks, configuration, and the atomic unit of work.

    Waiting on Pitchfork 0003.

  3. A3 Queued

    Local vertical slice

    Submit one authorized event, settle it once, persist resource state, retrieve its projection, and prove rollback and idempotency with SQLite.

Track B

Hosting foundation

  1. B1 Ready

    Site Ops 0018 · Consolidation

    Reconcile hostnames, capacity, runtime layout, security, health, backup, and rollback decisions into one deployment baseline.

  2. B2 Blocked

    Site Ops 0019 · Checkpoint 1

    Provision and harden the distinct Ubuntu Droplet, establish administrator and service boundaries, and verify reboot recovery.

    Waiting on the applicable 0018 decisions and explicit spending authorization.

Both foundations ready

Converged sequence

From private node to visible response.

  1. 1

    Deploy the private developer node

    Checkpoint 2

    Run systemd → Gunicorn → Pancakes Flask → Pitchfork on the hardened host, initially with SQLite and loopback-only access.

  2. 2

    Introduce hosted persistence

    Checkpoint 3

    Add PostgreSQL and Alembic-managed schema, then prove durability, concurrent idempotency, backup, and restoration.

  3. 3

    Open bounded HTTPS access

    Checkpoint 4

    Add the selected hostname, Nginx, TLS, and only the externally approved routes after authentication, privacy, logging, and rate-limit review.

  4. 4

    Complete the Mood Ring smoke test

    Checkpoint 5

    Send only a derived symbolic colour, settle it through Pitchfork, retrieve the background projection, and verify the visible response after restart, reboot, and restoration.

Definition of the first proof

An authorized network request is settled exactly once, its resulting state is persisted atomically, and a projection can be retrieved after restart without exposing the private record that produced it.