Architecture
SkeinRank is designed around a split between a fast runtime path and a slower control-plane path.
Runtime path
Local SDK/CLI, dictionary snapshots, document text extraction, alias matching, canonicalization, passport output, and optional FastAPI extraction endpoints.
FastLocalDeterministic
Control-plane path
Governance API, PostgreSQL terminology store, roles, suggestions, stop lists, API tokens, snapshots, Elasticsearch evidence checks, and enrichment jobs.
PreviewReview workflowUI/API
Current packages
Section titled “Current packages”| Package | Role |
|---|---|
skeinrank-core | Core SDK, CLI, extraction, canonicalization, document helpers. |
skeinrank-server | FastAPI service wrapper for extraction and rerank contracts. |
skeinrank-provider-elasticsearch | Optional Elasticsearch provider and enrichment CLI. |
skeinrank-governance | SQLAlchemy/Alembic foundation for terminology governance. |
skeinrank-governance-api | FastAPI control-plane API for profiles, terms, aliases, users, roles, tokens, suggestions, and snapshots. |
skeinrank-ui | React/TypeScript governance console. |
Snapshot-first direction
Section titled “Snapshot-first direction”The governance layer should publish snapshots. Runtime extraction should consume snapshots. That keeps the online matching path simple and avoids turning every extraction request into a database-backed workflow.