Skip to main content

Roadmap

One view over the whole project: the kernel (OSDev phases), the convergence that links the engine into ring-0, the engine, the mind and the library, and the docs, infrastructure and forge around them. Dependencies that cross from one project into another are drawn as merge links — that's where the repositories meet.

Done 85 In progress 12 Planned 241 Idea 162 | 500 items total
Project: Status:

LplKernel

22 done · 0 active · 108 ahead

The freestanding i686 OS — OSDev learning path, phases 0→11.

Kernel foundations: boot, CPU, interrupts and memory

33%
Status: Done.

Prerequisites and environment

An i686-elf cross toolchain, a build, an emulator and a debugger, set up once so that every later phase builds and boots the same way.

Status: Done.

Bare-bones kernel

Boot through GRUB with Multiboot, print to VGA text mode and to COM1, scroll, use colors, and parse the Multiboot information.

Status: Done.

Interrupts, APIC and SMP

IDT and ISRs 0 to 47, PIC remap, dedicated #PF, #GP and #DF handlers, LAPIC and IOAPIC, x2APIC, the MADT, and AP bring-up.

Status: Done.

Memory management

A physical memory manager, a kernel heap, slab caches, frame, pool and ring allocators, pinned DMA memory and a virtual range manager, with one memory stack per profile.

Status: Planned.

Own bootloader instead of GRUB

Study the boot sequence and write a loader that replaces GRUB, including reading the memory map itself (E820 on BIOS machines).

Read the OSDev pages docs/ROADMAP.md left unchecked: What Order Should I Make Things In, segmentation and segment limits, calling conventions and the System V ABI, IDT problems, Brendan's memory management guide, Processes and Threads, Brendan's multi-tasking tutorial, the OSI model, the recommended books, academic papers, Going Further on x86 and Creating an Operating System.

Status: Planned.

Bitmap frame allocator

The OSDev allocator the kernel skipped: a bitmap frame allocator (one bit per 4 KiB frame, word-wide scans from a next-fit hint, contiguous runs).

Device drivers

21%
Status: Done.

PS/2 mouse driver

An IRQ12 PS/2 mouse feeding the engine's input backend.

Status: Done.

Keyboard held-key state

Expose which keys are down, queried by character through the active layout.

Status: Done.

RTC driver

Read the real-time clock.

Drive the Intel 82540EM that the PCI scan finds on QEMU (BAR0 0xFEB80000) with descriptor rings, DMA, the TDT doorbell and completions, as the native replacement for /dev/lpl0. It covers the 8254x family QEMU emulates as -device e1000.

Status: Planned.

NVMe driver

A minimal NVMe driver: submission and completion queue pairs in shared memory, an MMIO doorbell, PRP lists aligned on 4 KiB, the phase bit, and deep queues from day one (about 1,000 requests in flight for decent throughput and 3,000 to saturate 8 SSDs, Haas and Leis, PVLDB 2023). ATA PIO is skipped.

Platform: ACPI, PCIe, interrupts and timers

0%

Multitasking and scheduling

0%

Save extended state with XSAVE and XRSTOR (CR4.OSXSAVE, XCR0 from CPUID), switch it lazily so integer-only tasks never touch vector registers, and write the policy for SIMD in ring 0: integer kernels as gate P14 does, or saved state.

Exchange data between components through a router that passes ownership of shared memory instead of copying payloads. The OSDev list named message passing, shared memory, remote procedure calls, pipes and sockets; in one ring-0 address space they reduce to rings that hand buffers over, and a call served on another core is a request ring (#273).

Per-CPU data structures from the OSDev multiprocessing list: one block per online core holding its current task, its run queue, its idle and wake state and its counters, on cache lines no other core writes, reached by the running core in constant time.

Kernel services: file systems, networking, isolation, 64-bit and power

0%
Status: Planned.

High-performance networking

0%

Ethernet, ARP, IPv4, ICMP, UDP, TCP, DHCP and DNS over the kernel's own NIC drivers, then a poll-mode zero-copy data plane: DMA from the NIC into pinned buffers of the ring-0 consumer, with RSS spreading flows across cores.

The kernel submits compiled circuits to a quantum processor the way it submits compute work to a GPU, with deadlines aware of decoherence and memory with a bounded lifetime.

Ring-0 safety and integrity

33%

Place a small sample of allocations in a fixed pool against unmapped guard pages, aligned to one edge, so an out-of-bounds write or a use-after-free faults at the offending instruction, cheaply enough to stay on in release.

Give cartridges an authenticator, not only the FNV-1a hash: an HMAC with a build key over BLAKE2s or SHA-256 (integer, freestanding, about 200 lines) rather than Ed25519, checked by engine::bootGame before a cartridge runs.

A written contract for the in-kernel mind: reserved memory, a strict list of allowed actions, quotas, a circuit breaker, no unbounded allocation in hot loops, fallback policies, and official limits (model size, memory budget, latency target, allowed action types).

Compile the kernel, libk, libkxx and the ring-0 libraries with -fstack-protector-strong in every build path, and give the kernel its own __stack_chk_guard and __stack_chk_fail, as the OSDev Meaty Skeleton step asks.

Build, test and measurement tooling

30%

One command that runs the host batteries, builds the three kernel paths, boots every image headless, and compares every fold signature against the oracle, with expected values read from the oracle at run time.

Status: Planned.

Kernel image size gate

Record the .text, .data and .bss sizes of lpl.kernel with libengine and check them against the Multiboot and low-memory map, keeping the renderer optional if the budget is exceeded.

Status: Planned.

Bochs as a second emulator

Run the kernel on Bochs with its debugger, and add unit testing following the OSDev guide.

Kernel counters are emitted as one structured line, '[LPLTLM] <domain> <key>=<value> ...', read by an anchored reader in validate.sh, with format violations counted.

CI builds the kernel with xmake and with build.sh on every PR, asserts that both give the same state hash against a single-threaded Linux oracle, forbids bare standard-library includes outside lpl/std/, and fails on a stale bake (validate.sh, extended to ai/ and ecology/).

LplAssistant and LplKnowledge build without LplPlugin: a foundation option detects it, and standalone builds are host-only with plain type aliases and no Fixed32 substitute, so they can never claim parity. Binaries carry the lpl- prefix.

The bottleneck is data movement

0%

Put data written by different cores (ring head and tail counters, per-CPU heap state, per-core counters) on separate 64-byte lines, after measuring the coherence traffic.

CPU and GPU see the same buffers at stable addresses: on unified memory (the Framework's Radeon 8060S) allocate in the GPU-visible region through a path both sides see, with the right barriers and cache invalidations; on discrete or virtual GPUs use shared virtual memory or virtio host-memory windows.

0%

A joules-per-tick budget on real hardware that fails when it regresses, in the shape of test-tick-allocations, measuring what turbostat measures: RAPL, APERF/MPERF and residency per C-state. Then joules per token for ring-0 inference, with the idle draw subtracted and published separately.

A UDP packet goes from the NIC to the GPU with no intermediate copy: DMA regions shared by the NIC and the GPU, the SoA ECS feeding the upload, and a lock-free single-producer ring from the interrupt to the main loop. Then the path is measured with the benchmark harness.

Hot algorithms are chosen by memory-access cost: sequential O(n log n) over scattered O(n), cache-oblivious layouts, bit-packing and quantisation, incremental recomputation.

0%

Map the whole model, let a page fault pull an expert straight off NVMe by DMA, pin the shared experts and evict the specialists, and prefetch before the fault. A 236B mixture of experts reads only 21B per token, so it decodes faster than a dense 70B while knowing more.

Convergence

18 done · 2 active · 20 ahead

The two-repo merge: the engine linked natively into ring-0 (Model B, then U1→U5).

The engine in ring 0

66%
63%

Every authoritative value (simulation state, consensus confidences, transformer activations, poses) is Q16.16 and trigonometry comes from CORDIC, so final states match bit for bit across machines. Float stays at the render, camera and wire edges.

Engine and kernel convergence

8%

Determinism gates for the engine (LplPlugin)

46%

The cube pile (1024 Fixed32 entities, AABB collisions, a spatial hash) folds its state and its image identically on the host oracle and the booted kernel.

Status: Done.

Erasure code parity (gate P11)

A codec/ module of integer-only GF(2) algebra, with no float and no libm, whose host path is vectorised and whose ring-0 path is scalar, folding the same signatures on both. It serves network erasure coding, robust cartridges and archival research.

Ten opcodes, a reference interpreter, and a specification written in bytes rather than prose; a machine rebuilt from the engraving runs the canonical program identically on both targets.

A history/ module where a fact is a sextuple (subject, predicate, object, interval, source, confidence in Fixed32), sources are weighted, independent confirmations fuse, a contradicted claim is demoted and never deleted, and the whole folds identically on the host and in ring 0.

Status: Done.

Journey parity (gate P20)

A dated constraint seeds someone, he walks of his own accord along attested links, and his arrivals return to the chronicle as Cause::Emergent, where a divergence score can judge them.

Status: Planned.

Parity gate for liminal spaces

Backrooms-like spaces: absurd global geometry with disturbingly perfect local detail, streamed by integer world coordinates.

Road and river networks that follow the terrain without the model placing each segment: Parish-Mueller L-systems balancing global goals and local constraints along radial and grid tensor fields, with districts from Voronoi parcels.

Determinism gates for the mind (LplAssistant)

100%
Status: Done.

Mind parity (gate P14)

A transformer thinking in ring 0 that produces the same tokens as the host: eight-bit weights, Q16.16 activations, RMSNorm, base-two RoPE from CORDIC, causal attention with a bounded KV cache, SwiGLU, seeded top-k and grammar-constrained decoding.

Status: Done.

Satellite parity (gate P15)

A hosted room node, the kernel's satellite profile and an eventual microcontroller decide the same things: when to send, when to stop, whether the wake word was heard, whether the node is hearing itself.

Status: Done.

Agency parity (gate P16)

mind/ in ring 0: a persona as data with Fixed32 traits, intent treated as an untrusted packet, a budget counted in work, a bounded memory, integer recall, and a ReAct loop over separate seams, so the assistant acts instead of only answering.

Status: Done.

Reasoning parity (gate P17)

The demon picks every move of a turn with the ring-0 transformer under a grammar rebuilt from the action alphabet at each step.

Determinism gates for the library (LplKnowledge)

50%
Status: Done.

Corpus parity (gate P18)

Bake the canonical corpus of gate P13 into a .lplknow image with a host tool, read it back in ring 0 through libknowledge, rebuild the history from what came back, and fold exactly gate P13's signatures.

LplPlugin

30 done · 4 active · 155 ahead

The cross-platform engine — simulation, network, BCI, rendering.

Engine foundations

27%

Indirect calls through virtual ecs::ISystem in hot loops are watched and removed where they show up in profiles.

Status: Done.

Core engine foundations

An ECS fed by a kernel ring buffer, pinned zero-copy memory, dynamic packets and a generic component dispatcher, validated by measurement.

Split the engine into flat modules built by xmake (C++23, no RTTI, no exceptions), with a facade, a BCI module, a software rasterizer and a GPU backend.

One worker per core, small jobs on lock-free queues, idle workers steal, a waiting thread runs jobs instead of blocking, and the two ends of every queue sit on separate cache lines.

Simulation and network

12%

The server rewinds to the instant the client saw, validates the action there and resumes the present, using the same snapshot history as desync detection and rollback.

engine::Server runs multi-instance in freestanding, so the kernel is a hosting server and not only a client, with transport and authoritative tick in ring 0.

Brain-computer interface and neurofeedback

22%

A calibration phase of about 30 s at rest records the baseline, the class means and covariances, and the rest power that sets the muscle gatekeeper threshold, per user and per session.

Massive simulation and infrastructure

18%

Each client receives only entities inside its interest radius as spawn, despawn and delta, update rate and precision fall with distance, entities go out by priority until a per-client byte budget is spent, and clients can declare interest queries.

Immersion

0%
0%

Photorealistic rendering, haptic feedback, spatial audio, strict determinism and a direct NIC-to-GPU path, toward a FullDive prototype with multimodal feedback.

Variable rate shading on the periphery and on motion-blurred regions, dithered crossfade between LODs, ray-traced contact shadows, async compute and temporal upscaling.

The engine drives stimulation devices within published safety limits: galvanic vestibular stimulation to feel motion without moving, tDCS to aid BCI training, focused ultrasound, and somatosensory haptics.

Rendering

10%

Push each vertex down by its squared horizontal distance times a factor that grows with camera altitude, so curvature is invisible at sea level and visible from a plane or a summit.

A bounded raymarch between the water surface and the bed with per-channel extinction, in-scattering and volumetric shadow from crests, on top of the Fresnel already shipped.

Scatter routes generation attributes (elevation, distance to a river, local density, colour) into the instance data, and shading blends material layers such as moss, snow or mud from them.

Status: Planned.

A renderer path for general meshes

The renderer consumes a general mesh, which would unblock cubed-sphere planets with gnomonic projection, Marching Cubes, Transvoxel, Dual Contouring or Surface Nets, displacement overhangs, Gerstner surfaces and 3D density caves.

Fill the domains of the 50-criteria graphics grid where nothing exists: image import and export, image-sequence export, a dynamic cursor and vector drawing tools, multi-selection, transform history, imported 3D models, portals or render-to-texture in a scene, tessellation, HDRI environments, non-Cartesian coordinates, mesh animation and relief mapping.

Animation and locomotion

0%

A heuristic IK solver (FABRIK or CCD) run after animation, with joint limits and eased weights: feet and ankles on rough ground, a pelvis offset, hands on tagged surfaces.

Procedural worlds

3%
Status: Planned.

Fixed32 simplex noise in 2D and 3D

A libm-free Fixed32 gradient or simplex noise beside the value noise, usable in 2D for terrain and climate and in 3D for density fields.

Status: Planned.

Zone graph for long migrations

The road network from roadMap and connectPlaces becomes a macroscopic graph, so a migration crosses the map in O(edges).

A disease model where scent-marked territories flatten the infection curve: territorial species limit spread, gregarious r-strategists are decimated fast.

The world director

45%
60%

Before any Caine code, validate.sh must be able to go green, a parity baseline must be recorded, and every planned symbol must be grounded by a search. Each later phase ends on three checks: one definition per new symbol, a caller outside tests, and a fresh binary.

80%

A reason-act-observe loop with a turn budget, a transcript that references the journal, and an end-to-end proof that it fixes a real defect unattended, run from lpl-demon.

Editor and cartridges

40%

Game logic and AI-written behaviour change without rebuilding the engine, behind a clear frontier: an API whitelist and no raw memory access. Two routes exist: a deterministic bytecode and native C compiled by libtcc.

Engine tooling and measurement

44%

LplAssistant

4 done · 2 active · 44 ahead

The local mind — inference in ring 0, directing a deterministic engine.

The local mind

11%
Status: In progress.

The local mind, rewritten for ring 0

33%

A personal assistant that listens, thinks, remembers and searches, running entirely on the owner's machines in ring 0, at the same level as Caine. The capabilities llama.cpp offers (parallel slots, prefix reuse, embeddings, speculative decoding, expert offload, one model per role) are the checklist to reproduce natively.

The base system context is fixed for an epoch, decoded once into a KV prefix, saved, and reused verbatim after a restart. Changes (the date, home events, a new speaker) enter as chronological system messages at safe boundaries, and compaction opens a new epoch. Each contextual fact is a typed producer with a stable key and pure renderers, composed in a fixed order.

Deep research

17%
0%

A research loop that plans, searches, reads whole sources, names its gaps, searches again and writes a sourced report under a token budget, with persistent state, a fast mode and an explicit heavy mode. The owner's bet is a medium local model plus engineering rather than a paid cloud agent.

Status: In progress.

Search providers and fetch policy

100%

A fully local, key-free retrieval stack: a metasearch with a fallback, and structured providers (Wikipedia and any MediaWiki wiki, Stack Exchange, GitHub repositories, issues and docs, domain documentation, Reddit, Discourse forums, OpenAlex with its native filters, arXiv), each degrading on its own. Fetching obeys a domain allowlist and denylist and a concurrency cap.

Every page or large tool output is stored whole under a hash, the prompt gets a bounded skim plus the hash, and a retrieve tool fetches exact slices on demand, so pages are read in full without flooding the context. Stages pass only compressed findings to each other (columnar or ESON, keys once, row counts to detect truncation), and internal passes write terse output.

Write the report section by section, every claim with a numbered citation, never re-injected into the chat. Refuse to publish without per-branch metadata, checked URLs, a minimum number of sources and domain diversity, and always state the run's limits. A knowledge graph may be emitted as an output, never used as the store, and several reports can later be merged into one decision view.

Voice and satellites

0%

Each room gets an ESP32-S3 with an ICS-43434 I2S microphone (the INMP441 is end of life) and an opto-coupled relay, for about 20 to 23 EUR. It runs only a small wake-word model, streams audio over Wi-Fi and UDP after detection, and switches GPIO on compact binary commands. BLE scans give room presence; Zigbee and Thread cannot carry continuous audio, and Matter adds nothing when both ends are owned.

The world director, on the mind's side

17%

The model decides WHAT a world should be in a few hundred tokens of tool calls, and the deterministic engine decides HOW. Every act is validated against a grammar derived from one component declaration, journalled, undoable and replayable. In the artistic direction the director is Laplace, the demon; Caine is a code name.

A French sentence goes to the model, which emits tool calls constrained by the grammar of the current world; the engine executes them through the journal and the critics report back to the model.

Beyond terrain, the director proposes interactive content: adventures, encounters, NPC directives and dialogue, decor, quests, gameplay constraints and scene variations. Each mode is a bounded structured output, and a short-range context memory keeps decisions coherent.

LplKnowledge

1 done · 3 active · 27 ahead

The library — a corpus the engine can read, and the demon can cite.

The library

14%
0%

LplKnowledge is the memory a model reads instead of RAG and its database: one versioned signature section in .lplknow and one implementation of 'filter first, similarity second', read by mapping and identical on the host and in ring 0. A strict structured filter removes most of the corpus, similarity ranks the subset, and a join, not the model, supplies the linked facts.

Structured corpora are cloned or bulk-synced and ingested with the CTS URN or source identifier as key: First1KGreek and Open Greek and Latin, CSEL and Patrologia Latina, OpenMedFr, PROFITEROLE and SRCMF, the Middle English Texts Series, MGH and OPenn, plus static dumps such as Sefaria, OpenITI, SARIT, TLA, CBETA and Papyri.info. Repositories without a static publication come first, before they disappear.

Internet Archive and Open Library, Gallica, Europeana, the Library of Congress, Wikisource, the British Library and FranceArchives are catalogued, and fetched where free, next to the HathiTrust and Gutenberg parts, with heritage OAI-PMH endpoints such as Europeana EDM, Rijksmuseum, e-codices and BDRC.

0%

A reproducible offline mirror of the OSDev wiki built from its weekly XML dump: atomic acquisition, a streaming parse, the category taxonomy, a logical view over a single physical copy, rendering and offline search, usable while working on the kernel.

0%

media/ extracts from a video its transcript, two or three informative frames per minute and its metadata, picks frames at motion troughs by reading codec motion vectors without decoding, and indexes the result as a source.

The owner's playlist on procedural generation (430 and more videos, 30 listed, from creators such as Sebastian Lague, SimonDev and Herbert Wolverson) gets its titles, descriptions, transcripts and keyframes indexed so procedural-generation work can cite it.

The reconstructed past

5%

Wikidata, GDELT, Internet Archive and FamilySearch crossed into one probabilistic model of history that can be simulated, queried statistically and cross-examined the way a historian would.

Each source conversation gets its own report: turn ids T01 to Tnn local to the file and taken at delivery, the source line of each turn, a fixed Question/Answer/Sources/Note block, derived views (tables, chronological index, sources) updated on each addition, and an append-only extension journal.

Archive media (Rosetta, DNA)

0%

Choose and prototype a medium that needs no power once written and no proprietary reader: fused-quartz voxels (Project Silica), micro-engraved sapphire or ceramic readable with a microscope, M-DISC; LTO only as a migrating 10 to 15 year tier, DNA later.

Keep the DNA storage notes as a research thread: 2 bits per base, costly writes and cheap reads, decay by water, oxygen and UV, silica encapsulation, short redundant oligos, homopolymer and GC constraints, rotation coding, inner and outer codes, enzymatic synthesis and composite DNA.

Docs

10 done · 1 active · 42 ahead

The book, the READMEs and this site, and the talks and papers about the project.

The book

8%
0%

Chapter 10, Figure 10.1 and Annex D show what the code does: the engine (libengine.a), the mind (libassistant) and the library (libknowledge) linked in ring 0. The ring-3 design stays as a reference box: what it was, why the code surpasses it (no ring crossing left to cheapen, so no syscall, SWAPGS or PKRU switch), and what survives of it inside ring 0.

The preface or chapter 1 states the law with its three angles and its figures, chapter 10 is organised around it, a section presents paging as an application cache (the expert is a page, a fault that reads NVMe, oracle-driven prefetch), and an inference section explains what mixture-of-experts decouples and why bandwidth decides.

New sections 9.2.5 (energy of data movement), 9.2.6 (determinism as an energy discipline), 9.6.4 (wake-up accounting), 9.9 (measuring energy, including energy per token) and optionally 9.3.4 (platform power: ASPM, EEE, APST, PSR).

0%

One chapter argues that NVMe, virtio, io_uring, AF_XDP and RDMA verbs converged on one design (descriptor ring, doorbell, completion) that LplKernel met several times: the measured cost of a copy and a syscall, a ring and doorbell in its own driver, NVMe, the rkey capability, and what RDMA does not bring when there is no kernel boundary.

A chapter presents the cross-ring gates P6 to P21 (rendering, world generation, living world, endless world, botany, erasure codes, Rosetta plate, reconstructed past, mind, satellite, agency, reasoning, corpus, caves, journey, relief), their folds, counters and controls, and the verification failures the project paid for: a check that cannot fail, a check satisfied for the wrong reason, a test green by symmetry of the bug.

Chapter 12 covers weighing knowledge (storage is not the bottleneck), what can be reached and what is lost, the temporal graph and contradiction, possible worlds, retrieving without hallucinating, the Rosetta plate, the .lplknow image and its ring-0 reader, how a world cites what it was built from, and the demon's test of rebuilding a real past.

0%

A new Part VI opens with chapter 11 in 17 sections, from why to generate rather than store to measuring rather than rereading. It fixes the architecture of these systems, including how they allocate memory, tells the inversion (the AI decides, deterministic C++ executes) and the lineage from Flakkari through EngineSquared to LplPlugin, and uses the measured tables as sidebars with four Mermaid diagrams.

The preamble says six parts; the reading paths gain a game-engine path through chapter 11 and an archivist path to chapter 12; the vision states the four layers and the library's place; chapter 10 gains 'store the generator, not the result'; Annex B gains the new terms (temporal knowledge graph, fountain code, GF(2), M4RI, TEI/CTS, IIIF, GBNF, WFC, MCP and others); Annex C gains the sources of the new chapters.

Each existing chapter receives its share: ch1 the fixed step justified by biology; ch2 memory bandwidth as the inference bottleneck, pooling versus GC and entity budgets; ch3 the demon chapter (Laplace 1814 as a specification); ch4 possible worlds and transactional parallelism; ch5 unified memory and inverse kinematics; ch6 prediction as the demon predicting its master, state hashing as a fold, inputs as the only irreducible, erasure coding; ch7 decision-to-knowledge latency; ch8 the demon refuted; ch9 zero-watt archive media and the energy cost of hallucination; ch10 store the generator, not the result. The LplPlugin wiki is folded with a correct chapter mapping.

100%

Every section, old and new, goes through humaniser-fr then profil-voix one at a time, and every ASCII diagram from the source documents (Rosetta decoding stack, DNA pipeline, webhook architecture, LT fountain, MCP) is redrawn in Mermaid with English node text.

Chapter 10 places LplKernel in the immutable-OS size table (a 7.5 MiB bootable ISO, about 9 MiB of RAM, no persistence, about 28 times smaller than Talos), uses the July 2024 CrowdStrike outage as the counter-example in 10.9 (a ring-0 agent whose bad update bricked machines) with the degraded boot of LPL_PLUGIN_UNAVAILABLE as the answer it lacked, and states the x86_64 dependency in 10.3.

A documented study of what a quantum-classical OS needs: no-cloning (no fork, copy-on-write, snapshot or swap), data movement by entanglement swapping, decoherence-aware scheduling, magic-state factories, logarithmic quantum forking, and the QPU as an offload accelerator.

Docs and site

43%

The issues are the roadmap now and the site reads them, so docs/ROADMAP.md leaves the repository and goes to the owner's private archive, after every idea and piece of knowledge in it has an issue or a place in the book.

The site uses an abyss-black background, off-white text, sparing amber and orange accents, JetBrains Mono and Inter, 0 px radius and 1 px blueprint lines, in a research-paper style with a bare-metal terminal edge.

A reviewed guide, published in the repositories, fixes the role of each repository and which links which, the hard determinism contract, the per-slice parity workflow, naming with spelled-out acronyms, the dual build and the dev loop, the server and client profiles, the commit rules, and the two numbering rules (gates, book chapters).

Talks, articles and papers

0%

Infrastructure

0 done · 0 active · 6 ahead

The machines behind Laplace — remote access, private names and TLS, a home server, a router, backups.

Laplace infrastructure

0%
Status: Planned.

Code on the home PC from anywhere

0%

From the metro on 4G, open VS Code on the home PC: the PC answers by name, SSH works, Moonlight shows the screen, and the link is direct, not relayed.

0%

Every service has a name that resolves privately at home and from anywhere on the tailnet, with a certificate valid on every device.

Status: Planned.

A replaceable home server

0%

The services run on a low-energy server described entirely in a versioned tree, backed up 3-2-1, with secrets out of the repository and an encrypted disk.

0%

A mini-PC router replaces the Bbox: it gets the public address, routes IPv4 and IPv6, hosts WireGuard and a restricted UPnP, and later boots LplKernel.

Buy a Framework Desktop with the maximum soldered memory, choosing between the AI Max+ 395 (128 GB, 256 GB/s) and the PRO 495 (192 GB, 273 GB/s, up to 160 GB allocatable to the GPU) after checking the GPU-allocatable share, the PCIe generation of the NVMe slots and sustained thermals. It hosts local large models, the infrastructure, and LplKernel as a second real test machine.

Forge

0 done · 0 active · 1 ahead

One day Laplace runs the forge: LplCraftSkills and forgeron on LplKernel servers.

Laplace runs the forge

0%

This roadmap was read from the GitHub issues of the Laplace project on 2026-10-05, when the site was last built. Each track is a parent issue and each card one of its sub-issues, linked from its title; the steps below a card count into its progress.