writeonce/reference
shoney.arickathil 9279175f26 scaffold sibling crates, multi-app ecommerce, REST + concurrency docs
- scaffold 14 placeholder crates (app, db, engine, gen, http, logic,
  policy, ql, service, sub, txn, ui, value, wal) — empty Cargo.toml +
  src/lib.rs to receive code phase-by-phase from `rt`
- restructure docs/examples/ecommerce into multi-app layout: apps/admin
  and apps/storefront, with shared/ types/logic/components, per-app
  app.wo + wo.toml, and reusable .htmlx components (layout, money,
  order-row)
- add reference/rest/{blog,ecommerce}.rest — VS Code/JetBrains HTTP
  request files driving the running prototype, including 501/404/405
  expectations for stubbed endpoints
- add docs/plan/09-concurrency-scaleout.md and docs/plan/ui/00-overview.md;
  refine docs/plan/assembly/02-writeonce-stance.md
- refresh templates (about, article, header/footer, home, layout, styles)
  and add static favicon/logo
- add infra/sync.sh and tighten .gitignore for reference/ symlinks
2026-05-04 13:39:58 +02:00
..
crates move blog prototype to reference 2026-04-21 03:30:18 +02:00
rest scaffold sibling crates, multi-app ecommerce, REST + concurrency docs 2026-05-04 13:39:58 +02:00
writeonce-api begin 2026-04-05 00:45:02 +02:00
writeonce-app begin 2026-04-05 00:45:02 +02:00
README.md add go source code as reference 2026-04-21 05:34:04 +02:00

reference/ — archived for reference

Source material preserved alongside the active codebase. Nothing here is on the build path of the root workspace.

reference/crates/ — v1 writeonce blog

The original writeonce blog engine: 13 Rust crates implementing a flat-file content store, three sidecar indexes, a minimal HTTP server, and an .htmlx template layer.

Crate Responsibility
wo-model Article domain type + content loader
wo-seg Append-only .seg binary file format (~475 LOC)
wo-index title.idx, date.idx, tags.idx sidecar indexes
wo-store Composes seg + indexes, exposes the query API
wo-watch inotify-driven content ingest
wo-event Domain event type
wo-sub Subscription layer (pre-engine-native LIVE)
wo-rt v1 runtime glue
wo-http, wo-route, wo-serve HTTP server
wo-htmlx .htmlx template engine
wo-md Markdown rendering

It is a nested workspace. Build or test it standalone:

cd reference/crates
cargo build
cargo test

See docs/runtime/database/07-wo-seg-migration.md for the plan to replace these crates with the new .wo runtime at crates/wo-rt/ via phased coexistence. The v1 codebase is the source that migration reads from.

reference/writeonce-api/ and reference/writeonce-app/

Earlier exploration snapshots that predate the v1 crates. Self-contained; no active build wiring.

Research source trees, gitignored. User-specific absolute paths — each contributor sets their own:

ln -s <path-to-linux-src> reference/linux
ln -s <path-to-go-src>    reference/go
  • reference/linux/ — the Linux kernel source. Read io_uring/, fs/notify/inotify/, kernel/eventfd.c, include/uapi/linux/*.h when designing kernel-primitive modules. See per-primitive reference cards under docs/plan/linux/.
  • reference/go/ — the Go source tree. Read src/runtime/netpoll_epoll.go, src/runtime/netpoll.go, src/runtime/asm_*.s, src/runtime/sys_linux_*.s when designing the runtime layer — writeonce's crates/rt/src/runtime/ mirrors Go's src/runtime/ file-per-flavour naming. See docs/plan/assembly/ for the asm policy doc that cites this tree.