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.2.tar.gz (152.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.6.2-py3-none-any.whl (51.4 kB view details)

Uploaded Python 3

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

Hashes for scriptoria-0.6.2.tar.gz
Algorithm Hash digest
SHA256 1961089190833d4cd0de68f08ab5b3875ec8d639fd75d306f1372568b1b95c17
MD5 d59213720c4dbc26c98c40304838285e
BLAKE2b-256 327d51b5ec71edb0a8b2642773f061801a1bfb948694ef441af2d74510bed7ad

See more details on using hashes here.

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

Hashes for scriptoria-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ea41ef2b6f3874c9cdd67d69768c845008d80bd8915f13b7b5e8583028d46b1d
MD5 e5bed63f73f9acf7aac55953a5771a9d
BLAKE2b-256 df2693c28d8595e73566a9a53a6464c19ace24277f09d27971fc034f3c94be1a

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

This release

0.6.2 This release

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