Deterministic scriptorium-keeper (the `scrip` CLI): staleness, provenance integrity, and fact queries for an agent-compiled knowledge base
Project description
scrip
The deterministic keeper of a scriptorium knowledge base.
The agent owns judgment (synthesis, fact extraction, reconciliation, promotion).
scrip owns only what LLMs are unreliable or expensive at: content hashing,
staleness over a dependency graph, provenance-anchor integrity, and
structured queries over the facts layer. Files are the source of truth;
.kb/manifest.json is only a regenerable speed cache.
Install
uv tool install ./scrip # installs the `scrip` command
# or, without installing:
uv run --project scrip scrip --help
Commands
| Command | What it does |
|---|---|
scrip status |
Report STALE / OK / UNCOMPILED artifacts from the dependency graph. --no-cache recomputes from files; --rebuild-manifest regenerates the cache. |
scrip verify |
Check every provenance anchor still resolves to text in its source; check referenced sources exist and claim_ids are unique. Fails on BROKEN and AMBIGUOUS by default; --allow-ambiguous downgrades AMBIGUOUS to a warning. |
scrip query [claims|entities|edges|contradictions] |
Structured query over vault/facts/*.ndjson via DuckDB. --sql "<duckdb>", --where, --limit. |
scrip index |
v0 stub for the embeddings retrieval rung. |
Every command accepts --root DIR and --json.
Exit codes
| Code | Meaning |
|---|---|
0 |
clean / success |
1 |
actionable finding (stale artifacts; broken citations) |
2 |
usage error |
3 |
data error (malformed frontmatter / NDJSON; missing source; duplicate id) |
4 |
internal error |
Code 1 is an expected outcome the agent branches on, not a crash.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scriptoria-0.2.0.tar.gz.
File metadata
- Download URL: scriptoria-0.2.0.tar.gz
- Upload date:
- Size: 125.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
442df33e2e7d36ce5eea59be72423a0ec46689dcfb191652f27693bf4379548a
|
|
| MD5 |
9227e4b3fab0da69bb090c04f4a227fb
|
|
| BLAKE2b-256 |
daec672498ba499c93f39b1e7345f9d9020c578bcfcef771e871f37d5d098fc8
|
File details
Details for the file scriptoria-0.2.0-py3-none-any.whl.
File metadata
- Download URL: scriptoria-0.2.0-py3-none-any.whl
- Upload date:
- Size: 33.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dd43ad87a8f53a1ecc25b0e3066db34e4c615ff516e5595e7d351e33485878a
|
|
| MD5 |
e786f3e2dd74250da74efbbb68597245
|
|
| BLAKE2b-256 |
290eb9976360b8db71864d406c8d382fb31559cd0eebea23334b2942e8ec545e
|