application capa

application-transcription

Forge module wrapping infrastructure-transcription — local speech-to-text engine selection (stub / whisper.cpp).

Forge module wrapping infrastructure-transcription — local speech-to-text engine selection (stub / whisper.cpp).

Tierapplication
Roleunclassified (baselined)
Pathcrates/application/transcription
Edition2024
Targetsapplication_transcription
Public items9 across 0 modules
Tests2

What it is for

application-transcription — wraps infrastructure-transcription.

Adds the Forge ModuleIdentity and an engine-selection seam (build_transcriber) so a consumer picks a LOCAL engine from config instead of hardcoding an impl. No schema of its own: the legal consumer persists the transcript into its own evidence tables (extracted_text + a custody event), so this wrapper owns no migration. See ADR 0019.

Capabilities

EngineConfig

application-transcription — wraps infrastructure-transcription.

Item
pub enum EngineConfig
EngineConfig :: fn default() -> Self
fn build_transcriber(cfg : & EngineConfig) -> Result <Arc <dyn Transcriber>, TranscriptionError>

TranscriptionModule

application-transcription — wraps infrastructure-transcription.

Item
pub struct TranscriptionModule
TranscriptionModule :: fn new() -> Self
TranscriptionModule :: fn name(& self) -> & 'static str
TranscriptionModule :: fn version(& self) -> & 'static str
TranscriptionModule :: fn migrations(& self) -> Vec <MigrationSet>
TranscriptionModule :: async fn migrate_pending(& self, _pool : & PgPool) -> std::result::Result <u32, MigrationError>

How to use it

No examples/ target and no doctest in this crate's rustdoc. The tests listed under Verification are the closest executable usage.

Module structure

No public modules: the crate root is its whole surface.

Public surface

`crate root`

ItemWhat it is
pub enum EngineConfigWhich local engine backs the transcriber
EngineConfig :: fn default() -> Self
fn build_transcriber(cfg : & EngineConfig) -> Result <Arc <dyn Transcriber>, TranscriptionError>Build a local transcriber from config
pub struct TranscriptionModuleForge module identity for transcription (no migrations — schema-less wrapper).
TranscriptionModule :: fn new() -> SelfCreate the module.
TranscriptionModule :: fn name(& self) -> & 'static str
TranscriptionModule :: fn version(& self) -> & 'static str
TranscriptionModule :: fn migrations(& self) -> Vec <MigrationSet>
TranscriptionModule :: async fn migrate_pending(& self, _pool : & PgPool) -> std::result::Result <u32, MigrationError>

No pub use re-exports: every item above is declared in this crate.

Boundary

Reaches into infrastructure.

Shares tier application with 120 other crates: application-agreements, application-ai, application-analytics, application-approvals, application-assessments, application-audit-log, application-auth, application-billing, … (120 total).

_What this crate deliberately does NOT own is a judgment. No committed registry records one for it, so none is stated here._

Where it sits

Tier (ontology)application
Architectural role (taxonomy)unclassified (baselined)
Locationcrates/application/transcription
Vocabulary in force (lexicon)current

Tier flow. Which tiers this crate's own edges cross.

flowchart LR
  n_application["application"] --> n_infrastructure["infrastructure"]

Dependencies

Runtime, in this workspace.

CrateTierOptionalOnly on
`application-core`applicationnoalways
`infrastructure-transcription`infrastructurenoalways

Runtime, from outside the workspace.

CrateRequirementFeaturesOptionalOnly on
async-trait^0.1noalways
sqlx^0.8runtime-tokio, postgres, chrono, uuid, jsonnoalways

Development, from outside the workspace.

CrateRequirementFeaturesOptionalOnly on
tokio^1full, macros, rt-multi-threadnoalways

Build. None.

Depended on by. Nothing in this workspace.

Signal flow — what reaches this crate, and what it reaches.

flowchart LR
  SELF["application-transcription"]
  SELF -->|runtime| n_application_core["application-core"]
  SELF -->|runtime| n_infrastructure_transcription["infrastructure-transcription"]
  classDef self fill:#1f883d,stroke:#1f883d,color:#fff;
  class SELF self;

Feature flags

FeatureEnablesOn by default
cudawhisper-rs, infrastructure-transcription/cudano
defaultyes
faster-whisperinfrastructure-transcription/faster-whisperno
whisper-rsinfrastructure-transcription/whisper-rsno
flowchart LR
  n_cuda["cuda"] --> n_whisper_rs["whisper-rs"]
  n_cuda["cuda"] --> n_infrastructure_transcription_cuda["infrastructure-transcription/cuda"]
  n_default["default"]
  n_faster_whisper["faster-whisper"] --> n_infrastructure_transcription_faster_whisper["infrastructure-transcription/faster-whisper"]
  n_whisper_rs["whisper-rs"] --> n_infrastructure_transcription_whisper_rs["infrastructure-transcription/whisper-rs"]

Targets

KindNameSource
libapplication_transcription`src/lib.rs`

Error model

No public error type was detected: no public item declares a type named *Error, and no public signature returns one.

Operational characteristics

PropertyEvidence
async public surfaceyes
async runtimenone detected
database accessyes
network I/Onone detected
unsafe codenone detected
environment variablesyes

No unsafe block, unsafe fn, unsafe impl or unsafe trait was found by the parser anywhere in this crate's source.

Configuration

VariableRead in
CARGO_PKG_VERSIONsrc/lib.rs

No workspace crate depends on this one.

Verification

KindCount
Unit tests2
Integration tests0
Examples0
Doctests0

Evidence by module. How often each public module is named by something executable.

ModuleTestsExamplesConsumers
crate root300

What the tests establish, by name:

Documentation coverage

MeasureDocumentedTotal
Public items with rustdoc49
Public modules with a //! block00
pie showData
    title Public items with rustdoc
    "Documented" : 4
    "No rustdoc detected" : 5

Metrics

MetricValue
Rust source files1
Source lines115
Code lines80
Public API items9
Public modules0
Tests2
Examples0
Cargo features4
Direct runtime dependencies4
Workspace reverse dependencies0
pie showData
    title Public API by kind
    "enum" : 1
    "function" : 1
    "method" : 6
    "struct" : 1
pie showData
    title Rust source composition
    "Code" : 80
    "Blank or comment" : 35

Generation

Rendered by tools-corpus corpus readme from repository evidence alone, renderer schema 2, lexicon current. No model, network service or database was consulted. Regenerate with tools-corpus corpus readme --write; verify with --check.

Todas las application · Manual