de-bloat: remove six-subject curriculum and 101 paper; learning/ holds dafit's papers only
This commit is contained in:
1 parent
6d22e13c3e
commit
bef05648ae
2 files changed
-90
No files matched your search
@@ -40,30 +40,6 @@ Host information is NOT held in this paper.
|
|||||||
- Paper follows reality: any claim about a host in this repo must be
|
- Paper follows reality: any claim about a host in this repo must be
|
||||||
host-verified against eachpath.local records.
|
host-verified against eachpath.local records.
|
||||||
|
|
||||||
## Learning (per-technology resources)
|
|
||||||
|
|
||||||
Every piece of technology we run gets a learning folder, so we can drill
|
|
||||||
down on the subject itself before the next round-trip builds on it.
|
|
||||||
|
|
||||||
- Folder per technology (see curriculum below).
|
|
||||||
- Ritual per folder: source of truth (official docs/spec first, never
|
|
||||||
second-hand), estate mapping (our host, port, version, config quoted
|
|
||||||
from the host record in eachpath.local), drills (hands-on questions
|
|
||||||
answered on OUR estate), and the ten-word understood-check said back.
|
|
||||||
- Learning gate: a primitive runs for real only after its paper is read
|
|
||||||
and explained back. We build ON knowledge, not around it.
|
|
||||||
|
|
||||||
Curriculum, in strict dependency order:
|
|
||||||
|
|
||||||
| # | Technology | Host record (eachpath.local) | Status |
|
|
||||||
|---|------------|------------------------------|--------|
|
|
||||||
| 1 | NATS + JetStream | `saturn.eachpath.local/vms/nats-dev.eachpath.local/` | open |
|
|
||||||
| 2 | Python asyncio + nats-py | runtime: nimmerworld-dev | next |
|
|
||||||
| 3 | PostgreSQL (Phoebe) | `.../phoebe-dev.eachpath.local/` | later |
|
|
||||||
| 4 | Godot client (GDScript, WebSocketPeer) | mimas/lab; boundary rule: pure client | later |
|
|
||||||
| 5 | FreeIPA / DNS / VLANs | athena, remus, romolus, spine+access | later |
|
|
||||||
| 6 | OPNsense (vulkan) | `vulkan.eachpath.local/` | later |
|
|
||||||
|
|
||||||
## Clients
|
## Clients
|
||||||
|
|
||||||
Client = one crossing callback on the effect side. Runtime-first build order.
|
Client = one crossing callback on the effect side. Runtime-first build order.
|
||||||
|
|||||||
@@ -1,66 +0,0 @@
|
|||||||
# NATS + JetStream 101
|
|
||||||
|
|
||||||
Learning-gate paper for subject 1 of the curriculum
|
|
||||||
(see [the curriculum](../README.md#learning-per-technology-resources)).
|
|
||||||
We build ON knowledge, not around it.
|
|
||||||
|
|
||||||
## 1. Source of truth
|
|
||||||
|
|
||||||
Read these, in this order, and quote them back rather than paraphrase:
|
|
||||||
|
|
||||||
- NATS core concepts: <https://docs.nats.io/nats-concepts/what-is-nats>
|
|
||||||
- Subjects and wildcards: <https://docs.nats.io/nats-concepts/subjects>
|
|
||||||
- JetStream overview: <https://docs.nats.io/nats-concepts/jetstream>
|
|
||||||
- Durable consumers and replay semantics: <https://docs.nats.io/nats-concepts/jetstream/js_walkthrough>
|
|
||||||
- Reference (for drills): <https://docs.nats.io/reference/reference-protocols/nats-protocol>
|
|
||||||
|
|
||||||
No blogs, no tutorials, no chat summaries. If something is missing from
|
|
||||||
the official sources, that is itself a finding worth recording here.
|
|
||||||
|
|
||||||
## 2. Estate mapping (our reality, host-verified)
|
|
||||||
|
|
||||||
| Item | Value | Truth of record |
|
|
||||||
|------|-------|-----------------|
|
|
||||||
| Host | `nats-dev.eachpath.local` (Saturn VM 122), `10.0.30.122` | [host record](../../eachpath.local/saturn.eachpath.local/vms/nats-dev.eachpath.local/nats-dev.eachpath.local.md) |
|
|
||||||
| NATS server | v2.10.24, `/usr/local/bin/nats-server` | host record |
|
|
||||||
| Ports | client `30000`, HTTP/monitoring `30001` | host record |
|
|
||||||
| JetStream | enabled, file store `/var/lib/nats/jetstream` (max 10 GB file / 1 GB memory) | host record |
|
|
||||||
| Streams | `REGISTER` -> `nimmerverse.register.>` (durable), `CYCLE` -> `nimmerverse.cycle.>` (100k msgs) | host record, 2026-11-06 |
|
|
||||||
| First round-trip | `VM123 ALIVE 2026-11-06` published to `nimmerverse.register.pulse`, replayed by durable consumer `nyx-probe` | host record, 2026-11-06 |
|
|
||||||
| Client library | `nats-py 2.16.0` in nimmer-lib venv (aynee) | verified 2026-11-06 |
|
|
||||||
|
|
||||||
## 3. Drills
|
|
||||||
|
|
||||||
Hands-on, on OUR estate, answers written into this paper:
|
|
||||||
|
|
||||||
- D1: Is the server alive right now? Read its identity from the HTTP
|
|
||||||
monitoring port *without* a client library. (curl is a client too.)
|
|
||||||
- D2: List the streams and their message counts, from the monitoring
|
|
||||||
port only.
|
|
||||||
- D3: Publish one message of your own words and read it back via a
|
|
||||||
durable consumer. Prove the bus *remembers* after the publisher is
|
|
||||||
gone.
|
|
||||||
- D4: Prove the bus *forgets on schedule*: find the retention setting
|
|
||||||
on `CYCLE` and show where 100k lives in `nats stream info`.
|
|
||||||
- D5: Subjects are names, and names carry meaning: publish to
|
|
||||||
`nimmerverse.register.pulse` and subscribe `nimmerverse.register.*`.
|
|
||||||
Explain why the `*` matched and when you would use `>` instead.
|
|
||||||
- D6: Replay from sequence 1 for a *second* durable consumer and watch
|
|
||||||
the first one's position remain untouched. Explain why two listeners
|
|
||||||
on the same bus can disagree about *where they are* without ever
|
|
||||||
corrupting each other.
|
|
||||||
|
|
||||||
## 4. Understand-check (ten words)
|
|
||||||
|
|
||||||
Said back, in our own words, before any primitive builds on this bus.
|
|
||||||
|
|
||||||
> draft (nyx, 2026-11-06): *the bus keeps every message until retention says stop; consumers read independently.*
|
|
||||||
> dafit's version: (to be said back)
|
|
||||||
|
|
||||||
## 5. Open questions
|
|
||||||
|
|
||||||
dafit's question log starts here. Every answer that teaches something
|
|
||||||
gets written into this paper, dated, host-verified if it touches our
|
|
||||||
estate.
|
|
||||||
|
|
||||||
- (waiting for the first question)
|
|
||||||
Reference in new issue
Block a user