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.4.tar.gz (153.5 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.4-py3-none-any.whl (51.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scriptoria-0.6.4.tar.gz
  • Upload date:
  • Size: 153.5 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.6.4.tar.gz
Algorithm Hash digest
SHA256 448e7cdf35bebbb260b96ccb548d85d3a8fdc7e01a3bab2c6a94d9a864541d52
MD5 0a4594c260acf66626474198e2b41299
BLAKE2b-256 2e73b68109ff67f01bf568338830ce5ef689be460b375e629203d54b86db1a95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scriptoria-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 51.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.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 85442563fd9d33a6143cdd6205e7fa5b98989d6036cd49ca1614ce669135c945
MD5 6fdd898d21dc528beda0443a07c5ee4f
BLAKE2b-256 a86d326a93f0e9eb26e685758280470b97e77b7f855f305882e26fe6f9d65ddc

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

This release

0.6.4 This release

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