# eliciter-core
[](https://crates.io/crates/eliciter-core)
[](https://docs.rs/eliciter-core)
[](../../LICENSE)
The deterministic, offline kernel behind [`eliciter`](../../README.md) — a
structured-discovery interview engine modeled as a falsification-based alignment
mechanism.
Claims are **hypotheses**, not facts. Their standing (`open` → `challenged` →
`withstood` / `disproven`) is *computed* — a pure fold over an append-only event
log — never stored. Exact-match detectors flag intra-spec and spec-vs-reality
contradictions over caller-supplied canonical identity; a deterministic readiness
gate reports whether the spec has *survived falsification*. No LLM, no network, no
fuzzy matching — which is what makes the whole kernel golden-testable.
```rust
use std::sync::Arc;
use eliciter_core::{Engine, FilesystemStore};
let store = FilesystemStore::new("/tmp/elicitation")?;
let engine = Engine::new(Arc::new(store));
let state = engine.open_session("design-review", None)?;
// ... append claims/evidence ...
let report = engine.readiness("design-review")?;
println!("ready to plan? {}", report.ready);
# Ok::<(), eliciter_core::EngineError>(())
```
The MCP server façade lives in the `eliciter` crate; this crate has no MCP
or network dependency. See the [root README](../../README.md) for the tool surface
and [`docs/spec.md`](../../docs/spec.md) for the full design.
## License
[Apache-2.0](../../LICENSE).