mirror of
https://github.com/rishikanthc/Scriberr.git
synced 2026-07-01 08:15:46 +00:00
203 lines
6.0 KiB
Markdown
203 lines
6.0 KiB
Markdown
# Sprint Run Tracker: Engine Worker Integration
|
|
|
|
Run ID: `EWI`
|
|
|
|
Status: planning only. No implementation has started.
|
|
|
|
This tracker belongs to `devnotes/engine-worker-sprints.md` and the implementation spec in `devnotes/engine-worker-integration-spec.md`.
|
|
|
|
## EWI-Sprint 0: Integration Inventory and Commit Plan
|
|
|
|
Status: completed
|
|
|
|
Completed tasks:
|
|
|
|
- Inventoried server startup, config, schema, repository, queue, transcription stack, API placeholders, docs, Docker, and test fixtures.
|
|
- Documented the legacy adapter deletion targets.
|
|
- Documented API/service seams for create, submit, retry, cancel, transcript, events, logs, executions, models, and queue stats.
|
|
- Added structured logging requirements for config, provider, worker, queue, orchestration, and terminal states.
|
|
- Added a sprint-by-sprint commit plan for EWI-Sprints 1-10.
|
|
|
|
Artifacts:
|
|
|
|
- `devnotes/engine-worker-sprint-0-inventory.md`
|
|
|
|
Verification:
|
|
|
|
- Inventory-only sprint. No runtime code changed.
|
|
- Focused repository inspection completed with `rg`, `find`, and targeted source reads.
|
|
|
|
## EWI-Sprint 1: Config and Engine Module Wiring
|
|
|
|
Status: completed
|
|
|
|
Completed tasks:
|
|
|
|
- Added local engine module wiring with `require scriberr-engine v0.0.0` and `replace scriberr-engine => ./references/engine`.
|
|
- Added `config.EngineConfig` and `config.WorkerConfig`.
|
|
- Added `config.LoadWithError()` for startup-failing validation while retaining `config.Load()` for compatibility.
|
|
- Parsed and validated all `SPEECH_ENGINE_*` and `TRANSCRIPTION_*` env vars from the spec.
|
|
- Updated server startup to fail clearly on invalid config.
|
|
- Added structured startup logging for engine and worker configuration.
|
|
- Added focused config tests before implementation.
|
|
|
|
Artifacts:
|
|
|
|
- `go.mod`
|
|
- `cmd/server/main.go`
|
|
- `internal/config/config.go`
|
|
- `internal/config/config_test.go`
|
|
|
|
Verification:
|
|
|
|
- `GOCACHE=/tmp/scriberr-go-cache go test ./internal/config` passed.
|
|
- `GOCACHE=/tmp/scriberr-go-cache go test ./internal/api ./internal/config ./internal/database ./internal/repository ./internal/transcription/... ./cmd/server ./pkg/logger ./pkg/middleware` passed.
|
|
- `GOCACHE=/tmp/scriberr-go-cache go vet ./internal/api ./internal/config ./internal/database ./internal/repository ./internal/transcription/... ./cmd/server ./pkg/logger ./pkg/middleware` passed.
|
|
- `git diff --check` passed.
|
|
|
|
## EWI-Sprint 2: Engine Provider Abstraction
|
|
|
|
Status: completed
|
|
|
|
Completed tasks:
|
|
|
|
- Added `internal/transcription/engineprovider` provider and registry interfaces.
|
|
- Added internal provider request/result/capability types so `scriberr-engine` types do not leak outside the provider boundary.
|
|
- Added static provider registry with deterministic capability aggregation.
|
|
- Added local provider wrapper for `scriberr-engine/speech/engine`.
|
|
- Mapped Scriberr transcription and diarization requests to local engine requests.
|
|
- Forced token timestamps for local transcription requests.
|
|
- Mapped engine words and diarization segments to public-safe internal result structs.
|
|
- Added model capability discovery from the engine model specs with install state through `IsModelInstalled`.
|
|
- Added provider error sanitization for paths and token-like values.
|
|
- Added focused fake-engine tests for mapping, empty words, capabilities, diarization speakers, close behavior, and sanitized errors.
|
|
- Updated the main module to `go 1.26` because the local `scriberr-engine` module declares `go 1.26`.
|
|
|
|
Artifacts:
|
|
|
|
- `internal/transcription/engineprovider/types.go`
|
|
- `internal/transcription/engineprovider/registry.go`
|
|
- `internal/transcription/engineprovider/local_provider.go`
|
|
- `internal/transcription/engineprovider/sanitize.go`
|
|
- `internal/transcription/engineprovider/*_test.go`
|
|
- `go.mod`
|
|
- `go.sum`
|
|
|
|
Verification:
|
|
|
|
- `GOCACHE=/tmp/scriberr-go-cache go test ./internal/transcription/engineprovider` passed.
|
|
- `GOCACHE=/tmp/scriberr-go-cache go vet ./internal/api ./internal/config ./internal/database ./internal/repository ./internal/transcription/... ./cmd/server ./pkg/logger ./pkg/middleware` passed.
|
|
- `GOCACHE=/tmp/scriberr-go-cache go test ./internal/api ./internal/config ./internal/database ./internal/repository ./internal/transcription/... ./cmd/server ./pkg/logger ./pkg/middleware` passed with escalation because an existing webhook integration test opens a local `httptest` listener.
|
|
- `git diff --check` passed.
|
|
- Verified no non-provider Go package imports `scriberr-engine`.
|
|
|
|
## EWI-Sprint 3: Queue Schema and Repository Methods
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- `internal/models/transcription.go`
|
|
- `internal/database/schema.go`
|
|
- `internal/repository/*`
|
|
- focused repository/database tests
|
|
|
|
Verification:
|
|
|
|
- Pending
|
|
|
|
## EWI-Sprint 4: Durable Worker Service
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- `internal/transcription/worker`
|
|
|
|
Verification:
|
|
|
|
- Pending
|
|
|
|
## EWI-Sprint 5: Orchestrator, Transcript Mapping, and Speaker Merge
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- `internal/transcription/orchestrator`
|
|
- transcript mapper and speaker merge tests
|
|
|
|
Verification:
|
|
|
|
- Pending
|
|
|
|
## EWI-Sprint 6: API Wiring for Real Queue Execution
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- `internal/api/transcription_handlers.go`
|
|
- `internal/api/events_handlers.go`
|
|
- `internal/api/response_models.go`
|
|
- API tests for queue-backed behavior
|
|
|
|
Verification:
|
|
|
|
- Pending
|
|
|
|
## EWI-Sprint 7: Server Startup, Shutdown, and Legacy Adapter Removal
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- `cmd/server/main.go`
|
|
- deleted or disabled legacy Python adapter stack
|
|
- lifecycle tests where practical
|
|
|
|
Verification:
|
|
|
|
- Pending
|
|
|
|
## EWI-Sprint 8: Real Engine Integration Tests and Performance Smoke
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- gated real engine integration tests
|
|
- `test-audio/jfk.wav` smoke notes
|
|
|
|
Verification:
|
|
|
|
- Pending
|
|
|
|
## EWI-Sprint 9: Docs, Docker, and Setup UX
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- `README.md`
|
|
- Docker compose files
|
|
- docs/troubleshooting updates
|
|
|
|
Verification:
|
|
|
|
- Pending
|
|
|
|
## EWI-Sprint 10: Hardening, Cleanup, and Release Candidate
|
|
|
|
Status: not started
|
|
|
|
Planned artifacts:
|
|
|
|
- final tracker updates
|
|
- hardening fixes
|
|
- cleanup commits
|
|
|
|
Verification:
|
|
|
|
- Pending
|