Transcribe assessment (2026-10-23)¶
Workspace: this repository. Package 0.8.8. Branch main. Latest tag v0.8.8.
Layout¶
Area |
Role |
|---|---|
|
Notebook / page / OCR attempt models |
|
Shared kernel for UI and CLI |
|
Ollama vision and text clients |
|
Import and bulk ImportRun |
|
25 modules + coordinator |
|
Prompt / lexical / names detectors |
|
Host-agnostic tag kernel + catalog |
|
Streamlit shell on port 8510 |
|
Offline default suite; acceptance under |
|
Hygiene, Sphinx, Pages assemble |
|
Markdown authority; Sphinx builds the same tree |
CLI entry: transcribe / python -m transcribe. UI entry: transcribe-ui. Compose service transcribe-web binds 8510. Port 8501 is reserved for TranscriptX.
Shipped product surfaces¶
Surface |
Evidence |
|---|---|
OCR multipass, prefer/promote, timeout + model-load circuits |
|
Review workbench |
|
Reading, Library, Search |
|
Organisation tags |
|
Export JSON / Markdown / text / HTML / EPUB / PDF |
|
Fine-tune export (OCR; train outside the app) |
|
Corpus bulk import / bulk OCR / bulk Analyse |
|
25 analysis modules |
|
Detect (built-ins + custom) |
|
Workspace backup / restore |
|
Doctor + Diagnostics |
CLI |
Home (Create / Import + Ollama health) |
|
Settings hub |
|
Pages + Sphinx (I4–I5) |
|
CLI commands: init, import, models, run, status, multipass, export-finetune, export, doctor, detect, bulk-import, corpus-doctor, backup, restore, bulk-run, bulk-analyse.
Nav groups: unlabeled primary (Home, Library, Search) → Workflow → View → System. Specs in ui/navigation.py.
Analysis modules (25)¶
stats, lexical_diversity, understandability, ner, sentiment, epistemic_markers, entity_sentiment, keyphrases, wordclouds, topic_modeling, bertopic, semantic_similarity, topic_shift, emotion, fine_grained_emotion, contextual_emotion, affect_tension, moments, highlights, summary, insights, llm_summary, llm_action_items, llm_custom_qa, narrative_summary.
Pins and semantic_class (almost all adaptation; moments is a fork): analysis_port_pins.md. These are notebook adaptations, not TX-depth packages.
Tests and CI¶
Metric (survey) |
Value |
|---|---|
|
about 134 |
|
about 1122 |
Default pytest |
offline; excludes |
PR CI |
|
Acceptance gates: tests/acceptance/hardening/, corpus/, ocr_lifecycle/.
Docs¶
Indexes: index.md, USER_INDEX.md, DEV_INDEX.md, CONTRACT_INDEX.md. Twenty-six contracts under docs/contracts/. Sphinx + GitHub Pages landed. RTD hostname remains owner-gated.
Open for 0.9.0 (own plans)¶
ID |
Gap |
|---|---|
U2.2 |
No |
U2.4 |
README / install docs are Docker-preferred but the consolidated “first notebook in 15 minutes” acceptance is still open. |
I6 |
No |
Doc drift |
DEV_INDEX.md still said I5 was remaining while the infra plan marks I5 done. Fixed in the wave-0 index pass. |
U0–U1, U3, U4 corpus gate, I0–I5 are landed in code and plans.
Non-goals already written¶
Autobiography / context importers, cloud OCR, audio / diarization, OpenCV preprocess, in-app training, TranscriptX library coupling, stranger-testing as a release gate. See PRODUCT.md and ROADMAP.md scope lean.
Boundary checks¶
No
import transcriptx/from transcriptxundersrc/ortests/.tests/unit/test_core_no_streamlit.pykeeps Streamlit out of the kernel.JSON-on-disk is the source of truth; SQLite FTS is disposable.