Skip to content

Native-ASR Tromso caption companion Campaign 1 - #6

Draft
gracee3 wants to merge 7 commits into
mainfrom
feature/tromso-caption-companion
Draft

Native-ASR Tromso caption companion Campaign 1#6
gracee3 wants to merge 7 commits into
mainfrom
feature/tromso-caption-companion

Conversation

@gracee3

@gracee3 gracee3 commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Implements Campaign 1 of the local-first Tromso caption companion across WP0-WP5. Adds bounded capture/event delivery, live sidecar controls, provenance-bound private audit journals, a versioned Tromso profile and human review surface, explicit clipboard transfer, and a deterministic end-to-end closure scenario. Human decisions remain authoritative; there is no SuperAnnotate automation, cloud processing, production audio, or bundled model weights. Independent verification passed: focused WP5 scenario, 131 Rust unit tests plus 1 PTY test, formatting, all-target check, all-feature Clippy with warnings denied, diff validation, and repository-wide just check. Live PipeWire/model operation remains a separately authorized hardware gate and was not run. Campaigns 2-4 are deferred.

gracee3 and others added 7 commits September 1, 2026 15:53
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add scripts/models provenance, which verifies every alias first and only
then emits the strict versioned contract (header plus one 7-field record
per alias), so a consumer never observes a partial contract. The cascade
wrapper binds audited sessions to that contract and the supervisor
validates it before any audit staging, failing closed with no published
destination and no private staging left behind. Audits remain private,
atomic, and no-overwrite; graceful failures and cancellation remove the
staging directory, while an abrupt SIGKILL can leave exactly one private
staging directory as recoverable evidence, never a published audit.

Tests cover the provenance contract, the wrapper bridge (including a
failing provenance tool), and the crash path with a failure-safe scoped
EXIT trap that kills/reaps/closes and cleans the workspace itself,
restoring the original workspace-only trap after the assertions.
Add the data-driven Tromso annotation profile (tui/profiles/tromso-v1.json)
and its parser/validator (tui/src/profile.rs), plus the review candidate
state and explainable rule engine (tui/src/review.rs). The paused surface is
a split transcript + review pane; controls gain review navigation, per-field
editing, and per-field copy. Profile validation enforces the guide's exact
six roles / ten sound tags / nine canonical backchannels, the 200 ms sound
boundary, trimmed-nonempty source/delimiter/locale/speaker/other_tag fields
and descriptions, and alias uniqueness/collision.

Also add the Project Tromso Bootcamp Guide that governs WP4.
Add the deterministic in-crate WP5 scenario test covering revalidation,
revision/correction ordering, spoken/written draft separation, rule
suggestions, pin, exact RecordingClipboard field payloads with parsed
structured JSON, degraded state, and reset. Add the reproducible demo
document and README link. Update handoff, plan, and goal docs to reflect
independent Codex acceptance.
@gracee3

gracee3 commented Sep 2, 2026

Copy link
Copy Markdown
Owner Author

Portfolio handoff

Outcome: Campaign 1 (WP0-WP5) independently accepted and published for review.
Exact head: f2edf64
Implementation closure: ed8557a
Branch: feature/tromso-caption-companion
PR state: draft; not merged.

Validation:

  • Focused deterministic WP5 scenario: pass.
  • Rust: 131 unit tests + 1 PTY test, all pass.
  • cargo fmt --all --check: pass.
  • cargo check --all-targets --locked: pass.
  • cargo clippy --all-targets --all-features --locked -- -D warnings: pass.
  • git diff --check: pass.
  • just check: pass (repository checks: ok).
  • GitHub Host checks/host-checks: pass.

Boundaries and risks:

  • Human remains authoritative for wording, uncertainty, speaker, role, sound tags, and transfer.
  • No browser/SuperAnnotate automation, cloud inference, production audio, credentials, or model weights.
  • Live PipeWire/model operation was not run because it remains a separately authorized hardware gate.
  • Campaigns 2-4 are deferred: replay consensus; speaker/overlap assistance; optional authorized SuperAnnotate integration.

Immediate next action: review the draft PR and decide whether to authorize a live local PipeWire/model smoke gate before marking ready. Do not merge automatically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant