fed-sx-m1: Step 1a — next/ skeleton + README + gitignore
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 14s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 14s
This commit is contained in:
1
next/.gitignore
vendored
Normal file
1
next/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
data/
|
||||
34
next/README.md
Normal file
34
next/README.md
Normal 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
0
next/genesis/.gitkeep
Normal file
0
next/kernel/.gitkeep
Normal file
0
next/kernel/.gitkeep
Normal file
0
next/tests/.gitkeep
Normal file
0
next/tests/.gitkeep
Normal file
@@ -99,6 +99,10 @@ in isolation, and a clear acceptance check.
|
||||
|
||||
## 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:**
|
||||
|
||||
```
|
||||
@@ -920,3 +924,13 @@ A few things still under-specified; resolve as work begins.
|
||||
60 seconds." Tunable per-projection later; v1 uses the default.
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user