CHOIR Apr 3, 2026

Choir

An LLM agent orchestration system for personalized agents with infrastructure-grade architecture.

Read post

WWCOMPANION Apr 3, 2026

WWCompanion

WWCompanion is a manual, user-triggered browser extension forLLM-enabled AI companionship with WaterlooWorks job postings.

Read post

ROSE Apr 3, 2026

ROSE - RDMA Over SPI Engine

A zero-copy, RDMA-inspired transport layer built over SPI, designedfor embedded systems and affordable hardware experimentation.

Read post

LIGHTHOUSE Apr 3, 2026

Lighthouse

Lighthouse is the Jekyll source repository forpeisongxiao.com. It contains the manuallycurated site pages, the photo collection, shared layouts, and theautomation-owned _automated_posts/ area populated by the deployme...

Read post

LIGHTHOUSE Apr 3, 2026

Lighthouse Configuration

This document describes the repository-local configuration and contentconventions used by the Lighthouse site.

Read post

LIGHTHOUSE CLI Apr 3, 2026

lighthouse

lighthouse is the deployment and content-materialization CLI forPeisong’s Lighthouse. It pulls configured repositories, discoverstracked Markdown, rewrites local references into site URLs, generatesJekyll-ready posts,...

Read post

LIGHTHOUSE CLI Apr 3, 2026

lighthouse Quickstart

This is the shortest path from a fresh checkout to a validated localrun of the Lighthouse deployment pipeline.

Read post

MAESTRO Apr 3, 2026

Maestro

Maestro is an embedded, Lisp-like state-machine language with a packedlinked artifact format and a small C runtime. Surface languagesemantics are defined indocs/design/language-specs.md.

Read post

MAESTRO Apr 3, 2026

Maestro Library Design

This document describes the implementation-facing design of theMaestro library and toolchain. Surface language semantics live indocs/design/language-specs.md.

Read post

MAESTRO Apr 3, 2026

Maestro Compile API

This document is a standalone reference for the public parse/link sideof the Maestro API.

Read post

MAESTRO Apr 3, 2026

Maestro Common API

This document is a standalone reference for the common public MaestroAPI surface shared by compile-time and runtime APIs.

Read post

MYRIA Apr 2, 2026

Myria

Myria is a standalone memory service for long-running agents.

Read post

MYRIA Mar 19, 2026

Quick Start

This is the minimal working setup for running Myria locally.

Read post

MAESTRO Mar 19, 2026

Maestro Language Specifications

“Programs must be written for people to read, and only incidentallyfor machines to execute.” – Abelson & Sussman, SICP, preface to the first edition

Read post

CHOIR Mar 8, 2026

Getting Started

This guide walks through setting up Choir from scratch on a single Linux host.

Read post

CHOIR Mar 8, 2026

Commands

Complete choirctl command reference. choirctl is a stateless CLI that communicates with a running choird instance.

Read post

CHOIR Mar 8, 2026

choird

The Choir control plane daemon. Runs on the host, manages agent containers, enforces policy, and owns all durable state.

Read post

CHOIR Mar 7, 2026

Security

Choir’s security model follows the principle: even a malicious, root-level container cannot cause host-level side effects without explicit human approval.

Read post

CHOIR Mar 7, 2026

Configuration

All Choir static resource configuration lives in ~/.choir.d/config.json. Secret values live in ~/.choir.d/secrets.json. Runtime state (sessions, events, memory) lives in Postgres.

Read post

CHOIR Mar 7, 2026

choir-agent

The Choir container runtime. A single Go binary that runs inside Docker containers, managing dual-lane cognition, tool execution, and skill orchestration.

Read post

CHOIR Mar 7, 2026

Development

Guide for building Choir from source and understanding the codebase.

Read post

CHOIR Mar 2, 2026

Gateway (Telegram)

Choir uses Telegram as its user-facing gateway. choird owns all bot tokens and routes messages between Telegram DMs and agent edge lanes.

Read post

CHOIR Mar 2, 2026

Architecture

Choir is an LLM agent orchestration system built on the principle of deterministic outer control plane + stochastic inner cognition: the LLM proposes, the control plane decides.

Read post

CHOIR Mar 1, 2026

choirctl

The Choir command-line interface. A stateless admin client that communicates with choird over UDS or HTTP.

Read post

CHOIR Mar 1, 2026

Tool System

Tools are the only way an LLM can affect or observe the workspace. No implicit context, no hidden mounts, no backdoors.

Read post

CHOIR Mar 1, 2026

Skill System

Skills are deterministic orchestration state machines. They do NOT own locks, commit tools, or mutate the workspace directly – they only propose. The arbiter validates and enforces all constraints.

Read post

CHOIR Mar 1, 2026

Memory Architecture

Each agent has four memory tiers. Session-derived memory (tiers 1-3) is automated by choird. Knowledge (tier 4) is explicitly managed by the agent or operator.

Read post

WP MATERIALIZE Feb 8, 2026

wp-materialize

wp-materialize is an automation compiler that materializes specified Markdown files into WordPress posts.Git/filesystem state is the single source of truth; WordPress is a derived view.

Read post

SITECOMPANION Jan 20, 2026

SiteCompanion

SiteCompanion is a browser extension that allows you to run AIpipelines on the visible text of any site.

Read post

DOFS Sep 14, 2025

network/switch/unicast_table.h

UnicastTable::UnicastTableUnicastTable() = defaultUnicastTable::add_entrybool add_entry(NodeId dst_node, PortId dst_port, PortId out_port)UnicastTable::delete_entrybool delete_entry(NodeId dst_node, PortId dst_port, P...

Read post

DOFS Sep 14, 2025

network/switch/switch_buffer.h

SwitchBuffer::PerPortSched::drain_oncevoid drain_once(PortId port)SwitchBuffer::PerPortSched::drain_one_commonbool drain_one_common(PortId port)SwitchBuffer::PerPortSched::on_dequeue_commitvirtual void on_dequeue_comm...

Read post

DOFS Sep 14, 2025

network/switch/shared_buffer.h

SharedBuffer::SharedBufferSharedBuffer(Simulator *const sim, NetworkSwitch *const owner, Bytes total_bytes, uint16_t ports)SharedBuffer::drain_onevirtual bool drain_one(PortId port) overrideSharedBuffer::enqueue_packe...

Read post

DOFS Sep 14, 2025

network/switch/routing_alg.h

dofs::hash_ecmpPortId hash_ecmp(NodeId src_node, PortId src_port, NodeId dst_node, PortId dst_port, uint32_t differentiator, uint16_t port_count) noexcept;dofs::hash_ecmpinline PortId hash_ecmp(NodeId src_node, NodeId...

Read post

DOFS Sep 14, 2025

network/switch/multicast_table.h

McTree::MulticastTable::MulticastTableMulticastTable()McTree::MulticastTable::add_child_portbool add_child_port(std::size_t group_id, uint16_t tree_id, PortId out_port)McTree::MulticastTable::add_treebool add_tree(std...

Read post

DOFS Sep 14, 2025

network/switch/ecn_shared_red.h

SharedREDEngine::SharedREDEngineexplicit SharedREDEngine(Rng *const rng = nullptr) noexcept : _rng(rng), _avg_total_bytes(0.0), _avg_port_bytes()SharedREDEngine::process_packetvirtual Packet &process_packet(Packet...

Read post

DOFS Sep 14, 2025

network/switch/ecn_engine.h

ECNEngine::process_packetvirtual Packet &process_packet(Packet &pkt, SwitchBuffer *buf) noexcept = 0ECNEngine::~ECNEnginevirtual ~ECNEngine() = defaultdofs::header_trimstatic inline void header_trim(Packet &am...

Read post

DOFS Sep 14, 2025

network/switch/ecn_dedicated_red.h

DedicatedREDEngine::DedicatedREDEngineDedicatedREDEngine(Bytes min_th, Bytes max_th, double p_max, bool back_to_sender, Rng *const rng) noexcept : _min_th(min_th), _max_th(max_th), _p_max(p_max), _back_to_sender(back_...

Read post

DOFS Sep 14, 2025

network/switch/dedicated_buffer.h

DedicatedBuffer::DedicatedBufferDedicatedBuffer(Simulator *const sim, NetworkSwitch *const owner, Bytes total_bytes, uint16_t ports)DedicatedBuffer::drain_onebool drain_one(PortId port) overrideDedicatedBuffer::enqueu...

Read post

DOFS Sep 14, 2025

network/packet.h

Packet::PacketPacket(NodeId src_node, PortId src_port, NodeId dst_node, PortId dst_port, PacketProtocol proto, FlowPriority prio, PacketSeq seq = 0, FlowId flow = 0, uint16_t entropy = 0, uint8_t notifications = 0, By...

Read post

DOFS Sep 14, 2025

network/nic/load_balance.h

LBRandomPacketSpraying::LBRandomPacketSprayingexplicit LBRandomPacketSpraying(Rng *const rng) noexcept : LoadBalance(rng)LBRandomPacketSpraying::get_entropyvirtual uint16_t get_entropy(const Packet &context) noexc...

Read post

DOFS Sep 14, 2025

network/nic/congestion_control.h

CongestionControl::CongestionControlexplicit CongestionControl(Bytes init_cwnd, Bytes max_cwnd) noexceptCongestionControl::cwndBytes cwnd() const noexceptCongestionControl::cwnd_maxBytes cwnd_max() const noexceptConge...

Read post

DOFS Sep 14, 2025

network/network_switch.h

NetworkSwitch::NetworkSwitchNetworkSwitch(Simulator *const sim, NodeId id, uint16_t total_ports, ECNEngine *const ecn, SwitchBuffer *const buf, const RoutingTables *const rt, Time forwarding_latency, Time multicast_du...

Read post

DOFS Sep 14, 2025

network/network_node.h

NetworkNode::NetworkNodeexplicit NetworkNode(Simulator *const sim, NodeId id, NodeType type) noexceptNetworkNode::recv_pktvirtual void recv_pkt(Packet &pkt, PortId ingress) = 0NetworkNode::~NetworkNodevirtual ~Net...

Read post

DOFS Sep 14, 2025

network/network_nic.h

NicSchedulingWeights::NetworkNic::NetworkNicNetworkNic(Simulator *const sim, NodeId id, uint16_t total_ports, SwitchBuffer *const buf, Time nic_latency, Bytes mice_elephant_threshold, PacketSeq ooo_threshold, CCType c...

Read post

DOFS Sep 14, 2025

network/link.h

Link::LinkLink(Simulator *const sim, LinkId id, NetworkNode *a, PortId a_port, NetworkNode *b, PortId b_port, Time latency, double bandwidth_gbps) noexceptLink::bandwidth_gbpsdouble bandwidth_gbps() const noexceptLink...

Read post

DOFS Sep 14, 2025

hosts/subscriber.h

Subscriber::SubscriberSubscriber(Simulator *sim, NodeId id, Publisher *publisher, std::unique_ptr<SubBasePolicy> policy, Time mgmt_latency, Time heartbeat_period) noexceptSubscriber::recv_flowvoid recv_flow(Node...

Read post

DOFS Sep 14, 2025

hosts/publisher.h

Publisher::Pending::arm_staging_if_neededvoid arm_staging_if_needed() noexceptPublisher::Pending::on_staging_timervoid on_staging_timer() noexceptPublisher::PublisherPublisher(Simulator *sim, NodeId id, Time update_la...

Read post

DOFS Sep 14, 2025

hosts/policies.h

PubBasePolicy::select_multicast_groupsvirtual PacketGroups select_multicast_groups(PacketGroups update_groups_mask) = 0PubBasePolicy::~PubBasePolicyvirtual ~PubBasePolicy() = defaultPubRRPolicy::PubRRPolicyexplicit Pu...

Read post

DOFS Sep 14, 2025

hosts/mgmt_msg.h

EndSimulationMsg::kindMgmtKind kind() const noexcept overrideHeartbeatMsg::HeartbeatMsgexplicit HeartbeatMsg(NodeId sid, NodeStatus st, Time t) noexcept : subscriber_id(sid), status(st), generated_at(t)HeartbeatMsg::k...

Read post

DOFS Sep 14, 2025

core/timer.h

Timer::TimerTimer()Timer::elapsedTime elapsed() const noexceptTimer::initvoid init() noexceptTimer::nowTime now() const noexceptTimer::startTime start() const noexceptdofs::initvoid init() noexcept{

Read post

DOFS Sep 14, 2025

core/time.h

Timereturn Time(a._nsec * b._nsec);Timereturn Time(a._nsec + b._nsec);Timereturn Time(a._nsec - b._nsec);Timereturn Time(ms * 1000ULL * 1000ULL);Timereturn Time(ns);Timereturn Time(s * 1000ULL * 1000ULL * 1000ULL);Tim...

Read post

DOFS Sep 14, 2025

core/simulator.h

Simulator::Cmp::operatorbool operator()(const Item &a, const Item &b) const noexceptSimulator::SimulatorSimulator() = defaultSimulator::cancelbool cancel(EventId id)Simulator::create_linkstd::pair<LinkId, L...

Read post

DOFS Sep 14, 2025

core/rng.h

Rng::Rngexplicit Rng(seed_type seed = default_seed()) noexcept : _eng(seed)Rng::choose_weightedtemplate<typename T> template<typename T> T choose_weighted(const std::vector<std::pair<double, T>>...

Read post

DOFS Sep 14, 2025

core/node.h

Node::NodeNode(Simulator *const sim, NodeId id, NodeType type) noexceptNode::NodeNode(const Node &) = deleteNode::bootvoid boot(Time boottime_ns)Node::idNodeId id() const noexceptNode::operator=Node &operator=...

Read post

DOFS Sep 14, 2025

core/logger.h

Logger::LoggerLogger(Logger &&) = deleteLogger::LoggerLogger(const Logger &) = deleteLogger::LoggerLogger(std::string_view path, bool append) noexceptLogger::closevoid close() noexceptLogger::flushvoid flu...

Read post

DOFS Sep 14, 2025

core/error.h

dofs::log_errorvoid log_error(std::string_view type, std::string_view message, std::optional<uint64_t> timestamp = std::nullopt) noexcept;DOFS_ERROR#define DOFS_ERROR(TYPE, MSG)DOFS_ERROR_ST#define DOFS_ERROR_ST...

Read post

DOFS Sep 14, 2025

Style Guide for DOFS

Coding style matters a lot. Good coding styles makes the code lookbetter to the eye, and can help mitigate some pitfalls and confusions.

Read post