35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
# AGENTS.md — amduat-api
|
|
|
|
This repo hosts the **API/daemon surface** for Amduat.
|
|
|
|
## Scope
|
|
|
|
- `vendor/amduat/` is the **core C substrate** (ASL/PEL/TGK libs, codecs, adapters, reference CLIs).
|
|
- This repo should keep `amduatd` **thin**: HTTP transport, request parsing, auth, and mapping to core library calls.
|
|
- Do **not** re-implement substrate semantics here; add features to the core repo and call into it.
|
|
|
|
## Build
|
|
|
|
- Configure: `cmake -S . -B build`
|
|
- Build: `cmake --build build -j`
|
|
|
|
## Run (local Unix socket)
|
|
|
|
- Prepare store root (from core tools): `vendor/amduat/build/amduat-asl init --root .amduat-asl`
|
|
- Start daemon: `./build/amduatd --root .amduat-asl --sock amduatd.sock`
|
|
|
|
## Submodule workflow
|
|
|
|
- Update core to recorded commit: `git submodule update --init --recursive`
|
|
- Bump core commit:
|
|
- `git -C vendor/amduat fetch`
|
|
- `git -C vendor/amduat checkout <commit-or-tag>`
|
|
- `git add vendor/amduat && git commit -m "Bump amduat core"`
|
|
|
|
## API principles
|
|
|
|
- Single daemon instance = single ASL store root.
|
|
- Local auth = filesystem permissions on the socket (no extra auth yet).
|
|
- Prefer streaming/batching endpoints (`missing`/`pack`) before adding complex higher-level APIs.
|
|
- Keep the on-wire contract versioned (`/v1/...`) and additive.
|