/target/

# Claude Code agent runtime state. Contains session lock files that
# carry the agent's process identifier and acquisition timestamp.
# Local to each contributor's session; not project content.
.claude/

# Cargo.lock at the workspace root is tracked so the binary crates
# (`keleusma-cli` and the `examples/rtos` demonstrator) build
# reproducibly from this commit. Library crates that resolve
# against the workspace root's lockfile pin their dependency
# versions for development; downstream library consumers continue
# to resolve their own lockfile against their own constraints.
# The `examples/rtos/Cargo.lock` remains gitignored because the
# detached crate carries heavy bare-metal git dependencies whose
# revisions are pinned through `rev = "..."` in the manifest.
examples/rtos/Cargo.lock

# Project-local scratch directory, committed via a .gitkeep marker with
# its contents ignored. Use `tmp/` for transient files such as commit
# messages, draft text, scratch scripts, and probe outputs.
tmp/*
!tmp/.gitkeep

# Local, never-committed material such as credentials, API keys, and
# environment-specific secrets.
secret/

# Precompiled Keleusma bytecode artefacts. The wire format is
# producer-specific and goes stale across V0.2.x patch releases
# whose semantic content is unchanged but whose archived
# representation may shift (e.g. when `rkyv` updates the
# auxiliary body layout). Hosts that want precompiled bytecode
# regenerate it at build time, typically through a `build.rs`
# that walks `*.kel` sources and emits `*.kel.bin` to `OUT_DIR`.
# See `examples/rtos/build.rs` for the canonical pattern.
*.kel.bin
