Skip to main content

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

scriptoria-0.6.0.tar.gz (152.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scriptoria-0.6.0-py3-none-any.whl (51.3 kB view details)

Uploaded Python 3

File details

Details for the file scriptoria-0.6.0.tar.gz.

File metadata

  • Download URL: scriptoria-0.6.0.tar.gz
  • Upload date:
  • Size: 152.7 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

Hashes for scriptoria-0.6.0.tar.gz
Algorithm Hash digest
SHA256 cc8f9ccbda7e2ae588fce14eed242029936d7df3ccb245aef50a40cb13337b76
MD5 4ea6ca610a2056a8846a72c1b1ac1f34
BLAKE2b-256 7a9be34493d27f6c805ec0b5bbaf055d7c9074727b684f71afa22a89dc643fa7

See more details on using hashes here.

File details

Details for the file scriptoria-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: scriptoria-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 51.3 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

Hashes for scriptoria-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72b63cee4315dbf727043b6cce57abf7b47a44ea5094f534e02a4d1ecc3a78aa
MD5 7124cf17d2adfc3f544f561508ef19e1
BLAKE2b-256 4136ebad6adb437e23d3046e40b5ec500e2adadea5c6ac90874f20a26a5eddfb

See more details on using hashes here.

Release history Release notifications | RSS feed

0.10.0

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

This release

0.6.0 This release

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page