Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,12 @@ svalinn (TLS) → lith-http (Elixir :4000) → BEAM NIFs → core-zig (C ABI)
- **Elixir** — OTP control plane, HTTP API
- **Rust** — BEAM NIF (Rustler), studio backend
- **ReScript** — Client libraries (if needed)
- **Bun** — JavaScript runtime and package management
- **Nickel** — Configuration

### BANNED
- TypeScript, Python, Go, Java, Node.js, npm
- Deno (use Bun)

## Build Commands

Expand Down
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ Lithoglyph is structured in layers, each with a specific language and responsibi

== Core Invariants

These are *non-negotiable* guarantees:
These are *non-negotiable* intended requirements (_status: enforcement incomplete; reversibility theorem intended_):

[horizontal]
Truth Ownership:: On-disk truth is owned by the block/journal layer; higher layers do not bypass it.
Expand Down
2 changes: 1 addition & 1 deletion docs/API-REFERENCE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1204,7 +1204,7 @@ https://lith.example.com/v1
[source,bash]
----
# API Key (header)
curl -H "X-Lith-API-Key: lith_sk_live_abc123" \
curl -H "X-Lith-API-Key: ${LITH_API_KEY:?set your API key}" \
https://lith.example.com/v1/query

# JWT Bearer token
Expand Down
12 changes: 7 additions & 5 deletions docs/SECURITY-AUTH.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -238,27 +238,29 @@ lith auth create-key \
--expires "2025-12-31"

# Output:
# API Key: lith_sk_live_abc123...xyz789
# Key ID: key_01234567
# API Key: <generated-api-key>
# Key ID: <generated-key-id>
# WARNING: This key will only be shown once. Store it securely.

# List keys (shows metadata only, not secrets)
lith auth list-keys

# Revoke a key
lith auth revoke-key key_01234567 --reason "Rotation"
lith auth revoke-key "${LITH_KEY_ID:?set the key ID to revoke}" --reason "Rotation"
----

==== Usage

Supply the generated API key through the `LITH_API_KEY` environment variable.

[source,bash]
----
# HTTP header (preferred)
curl -H "X-Lith-API-Key: lith_sk_live_abc123...xyz789" \
curl -H "X-Lith-API-Key: ${LITH_API_KEY:?set your API key}" \
https://lith.example.com/v1/query

# In GQL session
lith shell --api-key "lith_sk_live_abc123...xyz789"
lith shell --api-key "${LITH_API_KEY:?set your API key}"
----

==== Key Scopes
Expand Down
Loading