fed-sx-m1: Step 1a — next/ skeleton + README + gitignore
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 14s

This commit is contained in:
2026-05-26 19:44:56 +00:00
parent abde5fbac1
commit 11ed4ddf27
6 changed files with 49 additions and 0 deletions

1
next/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
data/

34
next/README.md Normal file
View File

@@ -0,0 +1,34 @@
# next — fed-sx Milestone 1 kernel
Single-instance, single-actor fed-sx server built as Erlang-on-SX modules.
See `plans/fed-sx-design.md` for the architecture and
`plans/fed-sx-milestone-1.md` for the build plan.
## Layout
```
next/
├── kernel/ Erlang-on-SX kernel modules (.erl, hot-loaded via code:load_binary/3)
├── genesis/ SX source files for the genesis bootstrap bundle (DefineActivity, ...)
├── tests/ Bash test scripts driving sx_server.exe via the epoch protocol
└── data/ Runtime state — gitignored
├── log/ per-actor JSONL outboxes
├── objects/ CID-addressed artifacts on disk
├── snapshots/ projection snapshots
├── indexes/ derived projection index files
└── keys/ actor signing keys + bearer tokens
```
## Substrate
The kernel is Erlang-on-SX. Each `.erl` source file is hot-loaded at boot via
`code:load_binary(Mod, Filename, SourceString)` (Erlang Phase 7 BIF). The
underlying SX runtime provides the host primitives the kernel calls into:
`crypto:*`, `cid:*`, `file:*`, `code:*`, and (Step 8) `http:listen/2`.
Tests drive the kernel via the epoch protocol:
```bash
printf '(epoch 1)\n(load "lib/erlang/runtime.sx")\n(epoch 2)\n<test-expr>\n' \
| hosts/ocaml/_build/default/bin/sx_server.exe
```

0
next/genesis/.gitkeep Normal file
View File

0
next/kernel/.gitkeep Normal file
View File

0
next/tests/.gitkeep Normal file
View File

View File

@@ -99,6 +99,10 @@ in isolation, and a clear acceptance check.
## Step 1 — Repo skeleton + canonical CID ## Step 1 — Repo skeleton + canonical CID
**Sub-deliverables:**
- [x] **1a**`next/` directory skeleton, README, `.gitignore` for `data/`
- [ ] **1b**`next/kernel/cid.erl` (from_sx/to_string/from_string/equals) + `next/tests/cid.sh` (10+ cases)
**Deliverables:** **Deliverables:**
``` ```
@@ -920,3 +924,13 @@ A few things still under-specified; resolve as work begins.
60 seconds." Tunable per-projection later; v1 uses the default. 60 seconds." Tunable per-projection later; v1 uses the default.
5. **Genesis bundle format.** Dag-cbor map per §12.2; concrete schema needs 5. **Genesis bundle format.** Dag-cbor map per §12.2; concrete schema needs
one round of refinement once we author the actual definitions in step 4. one round of refinement once we author the actual definitions in step 4.
---
## Progress log
Newest first. One line per sub-deliverable commit. Erlang conformance gate
(`bash lib/erlang/conformance.sh`) must remain 729/729 on every entry.
- **2026-05-26** — Step 1a: `next/` skeleton created (kernel/, genesis/, tests/, data/), README, `.gitignore data/`. Erlang conformance 729/729 preserved.