amduat-api/AGENTS.md
2025-12-22 15:32:02 +01:00

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.