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|reconciliations] |
Structured query over vault/facts/*.ndjson via DuckDB. --sql "<duckdb>", --where, --limit. |
scrip ingest <url|file> |
Fetch/read a source and write canonical vault/raw/<slug>.md plus sidecar metadata. HTML/PDF need the optional [ingest] extra. |
scrip new concept|entity <slug> --from raw/... |
Scaffold a derived wiki page for the agent to fill. |
scrip anchor "<quote>" --source raw/<slug> |
Mint a content-anchored footnote for a verbatim source quote. |
scrip fact add --table claims|entities|edges|reconciliations |
Validate and append facts under the write lock; claims mint verified anchors, reconciliations mint ids/timestamps. |
scrip span --claim <id> |
Resolve a claim anchor and print the cited span. |
scrip similar --title ... --from ... |
Score overlap with existing wiki pages before PROMOTE. |
scrip search "<question>" |
Retrieve source blocks for a miss; uses embeddings if an index exists, otherwise lexical grep. Add --long-docs pageindex to try the PageIndex cache first. |
scrip index |
Build the optional embeddings index over vault/raw/ when scriptoria[embeddings] is installed; otherwise exits cleanly and search falls back to grep. |
scrip pageindex build raw/<slug> |
Build the optional PageIndex cache for one raw source when a compatible backend is importable; otherwise exits cleanly. |
scrip pageindex search "<question>" [--source raw/<slug>] |
Search cached PageIndex sections, returning only snippets mapped back to canonical vault/raw/ text. |
scrip watch / scrip unlock |
Watch vault health in a poll loop; clear a stale advisory write lock. |
Every command accepts --root DIR and --json.
The optional scrip-harness package adds the model-bearing commands, including
scrip-harness answer "<question>", which gathers evidence with these primitives
and verifies every citation before printing or saving an answer.
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.
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.6.2.tar.gz.
File metadata
- Download URL: scriptoria-0.6.2.tar.gz
- Upload date:
- Size: 152.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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 |
1961089190833d4cd0de68f08ab5b3875ec8d639fd75d306f1372568b1b95c17
|
|
| MD5 |
d59213720c4dbc26c98c40304838285e
|
|
| BLAKE2b-256 |
327d51b5ec71edb0a8b2642773f061801a1bfb948694ef441af2d74510bed7ad
|
File details
Details for the file scriptoria-0.6.2-py3-none-any.whl.
File metadata
- Download URL: scriptoria-0.6.2-py3-none-any.whl
- Upload date:
- Size: 51.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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 |
ea41ef2b6f3874c9cdd67d69768c845008d80bd8915f13b7b5e8583028d46b1d
|
|
| MD5 |
e5bed63f73f9acf7aac55953a5771a9d
|
|
| BLAKE2b-256 |
df2693c28d8595e73566a9a53a6464c19ace24277f09d27971fc034f3c94be1a
|