End-to-end ontology platform monorepo (architecture derived from four-layer AIP / ontology / read-write / language-engine diagrams). The repository root is the product tree; there is no nested daemon-ontology-platform/ folder.
Remote: github.com/daemon-blockint-tech/DAEMON
- TypeScript, Go, and Rust implementations — no stub handlers, no
jest.mockin integration/e2e tests. - Bounded contexts: ingest/normalize only in
collect-sensing; semantic truth inontology; mutations viaread-write-loops. - Publishable npm packages:
@daemon/platform-types,@daemon/sdk,@daemon/cli(Changesets).
| Area | Runtime |
|---|---|
collect-sensing/ |
Go |
ontology/registry, graph/vector engines |
Go + Rust |
read-write-loops/, action-runtime/, api/, products/ |
TypeScript (NestJS gateway) |
security-governance/policy, engine/* |
Rust (+ Go/TS integration) |
toolchain/sdk/ |
TypeScript, Go, Rust, Python |
cp .env.example .env # optional; defaults work for local dev
pnpm install
pnpm run dev:up # docker compose + build deps
pnpm run dev:gateway # NestJS API on :3000 (skips upstream Go ingest/policy in dev)Other useful commands:
pnpm run build
pnpm run test
pnpm run test:repo # full repo tests (set DAEMON_INTEGRATION_REQUIRED=1 when stack is up)
make dev-gatewayGo: go work sync && go test ./collect-sensing/...
Rust: cargo test --workspace
Use header x-api-key: daemon-dev-key (see .env.example).
- Register an entity via ingest (flat body):
curl -sS -X POST http://localhost:3000/v1/ingest/records \
-H 'content-type: application/json' \
-H 'x-api-key: daemon-dev-key' \
-d '{"ontologyId":"default","entityId":"my-entity","payload":{"name":"demo"}}'- Run an automation against that entity:
curl -sS -X POST http://localhost:3000/v1/automations/run \
-H 'content-type: application/json' \
-H 'x-api-key: daemon-dev-key' \
-d '{"steps":[{"id":"s1","action":"notify"}],"loop":{"ontologyId":"default","entityId":"my-entity","patch":{"status":"done"}}}'Ingest must run before automations; otherwise the read path returns 404 with { "code": "NOT_FOUND" }.
Published site (Mintlify): run nvm use (Node 22 per .nvmrc), then cd mintlify && npx mint dev → http://localhost:3000. Deploy path in the Mintlify dashboard: /mintlify. See mintlify/README.md.
Engineering Markdown (docs/):
- Overview
- Bounded contexts
- End-to-end architecture
- Ontology system
- Read-write loops
- Testing
- Deployment
- Observability
- Security & governance
- Original spec reference
Apache-2.0 — see LICENSE.