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

1.2 KiB

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.