writeonce/docs/stories/language-runtime-database
shoney.arickathil 59162f7aca docs: iteration 9c story -- cross-program tables (attach over IPC)
- program B attaches to running program A's persistent database via an
  IPC string in B's wo.toml [connect.<name>]; A registers clients by
  name with read / read+write rights in its [share] manifest section;
  unregistered = refused at connect, under-privileged = catchable trap
- doctrine preserved: A stays the single writer -- B's statements
  execute inside A through the same choke-point row API, B never
  touches A's WAL or slabs; typed statements checked by B's compiler
  against A's table shapes, schema handshake at attach
- four forks recorded for the spec: channel carrier (lean: unix
  socket + SO_PEERCRED), how B's compiler learns A's shapes (lean:
  project reference + live handshake), grant granularity (lean:
  whole-db rights, name+uid identity), blocking semantics (lean:
  blocking round-trip, stop-flag rule applies)
- acceptance sketch: employee sample as A, a thin employee-report
  client as B (read-only GroupBy over the wire) + audit-log writer
  exercising the rights matrix
- slots after 9b (shares its typed surface), before 10 (HTTP is the
  external face; this is the writeonce-native one); prior art:
  04-client-api.md wire protocol + the WAL's value encoding
- roadmap + status board rows added

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 12:13:38 +02:00
..
00-story.md docs: iteration 9c story -- cross-program tables (attach over IPC) 2026-08-15 12:13:38 +02:00
01-principles-doc.md language-runtime-database iterations 2026-08-07 19:36:49 +02:00
02-vm-core.md language-runtime-database iterations 2026-08-07 19:36:49 +02:00
03-compiler-front.md docs: compiler front-end specifications and plans (Tasks 2-6) 2026-08-10 09:11:04 +02:00
04-single-binary-e2e.md language-runtime-database iterations 2026-08-07 19:36:49 +02:00
05-language-surface.md docs: reprioritise to log-watcher-executable only; update stories and plans 2026-08-14 22:16:14 +02:00
06-program-mode-stdlib.md docs: reprioritise to log-watcher-executable only; update stories and plans 2026-08-14 22:16:14 +02:00
07-logwatcher-proof.md docs: reprioritise to log-watcher-executable only; update stories and plans 2026-08-14 22:16:14 +02:00
07b-inferred-gc-mark-sweep.md docs: borrow/GC analysis for the database engine, into the iterations 2026-08-15 09:57:53 +02:00
08-shard-actor-runtime.md language-runtime-database iterations 2026-08-07 19:36:49 +02:00
09-database-engine.md docs: borrow/GC analysis for the database engine, into the iterations 2026-08-15 09:57:53 +02:00
09b-table-relations-query.md docs: borrow/GC analysis for the database engine, into the iterations 2026-08-15 09:57:53 +02:00
09c-cross-program-tables.md docs: iteration 9c story -- cross-program tables (attach over IPC) 2026-08-15 12:13:38 +02:00
10-http-service.md language-runtime-database iterations 2026-08-07 19:36:49 +02:00
11-fibers.md docs: story iterations 11-12 (fibers, blue-green deploy) 2026-08-10 09:58:52 +02:00
12-blue-green-deploy.md docs: story iterations 11-12 (fibers, blue-green deploy) 2026-08-10 09:58:52 +02:00