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.7.0.tar.gz (155.9 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.7.0-py3-none-any.whl (52.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scriptoria-0.7.0.tar.gz
  • Upload date:
  • Size: 155.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.7.0.tar.gz
Algorithm Hash digest
SHA256 5b2533094ce9d026b6cc45f2156b9f4f1d747f28a16c82318553edfd3eaa94a1
MD5 1ce276819f3d19a9c5d92e3154b13cfb
BLAKE2b-256 1713c5f221946d131937de79f1d1a011de8bc91cac4a096c5da60c41f26a0b41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scriptoria-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 52.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f32f684c6690f1364fca16ff107fb97ff01c4de0fef501f0577bb3d87186a4ae
MD5 b108d7421e507b59dca15520e956f561
BLAKE2b-256 8061ca6fe340fce77b944340a0c1a5eb8aab278e464067ea8a4413b5132666e8

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

This release

0.7.0 This release

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

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