Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ tmp/profiles/
.gemini/
gha-creds-*.json

# Default compiler output binaries.
a.out
*.out

# Large scale-class generation fixtures are NOT committed to git. They are fetched
# on demand from the provenance recorded in tests/models/README.md (source URL, pinned
# repo commit, size, SHA256). See the Qwen3-4B-Q4_K_M.gguf README section.
Expand Down
42 changes: 42 additions & 0 deletions .planning/architecture/mermaid/speech_tokenizer_whisper.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
stateDiagram-v2
direction TB
[*] --> state_ready
state_ready --> state_json_decision : detokenize_run [always] / effect_begin_detokenize_
state_json_decision --> state_detokenizing : completion_detokenize_run_ [guard_detokenize_request_valid_] / effect_detokenize_
state_json_decision --> state_error_error_out_decision : completion_detokenize_run_ [guard_tokenizer_json_invalid_] / effect_mark_tokenizer_json_invalid_
state_json_decision --> state_error_error_out_decision : completion_detokenize_run_ [guard_token_ids_invalid_] / effect_mark_token_ids_invalid_
state_detokenizing --> state_success_error_out_decision : completion_detokenize_run_ [always] / none
state_success_error_out_decision --> state_success_callback_decision : completion_detokenize_run_ [guard_has_error_out_] / effect_store_error_out_
state_success_error_out_decision --> state_success_callback_decision : completion_detokenize_run_ [guard_no_error_out_] / none
state_error_error_out_decision --> state_error_callback_decision : completion_detokenize_run_ [guard_has_error_out_] / effect_store_error_out_
state_error_error_out_decision --> state_error_callback_decision : completion_detokenize_run_ [guard_no_error_out_] / none
state_success_callback_decision --> state_done : completion_detokenize_run_ [guard_has_done_callback_] / effect_emit_done_
state_success_callback_decision --> state_done : completion_detokenize_run_ [guard_no_done_callback_] / none
state_error_callback_decision --> state_errored : completion_detokenize_run_ [guard_has_error_callback_] / effect_emit_error_
state_error_callback_decision --> state_errored : completion_detokenize_run_ [guard_no_error_callback_] / none
state_done --> state_ready : completion_detokenize_run_ [always] / none
state_errored --> state_ready : completion_detokenize_run_ [always] / none
state_ready --> state_validate_decision : validate_run [always] / effect_begin_validate_
state_validate_decision --> state_validate_success_error_out_decision : completion_validate_run_ [guard_validate_supported_] / none
state_validate_decision --> state_validate_error_error_out_decision : completion_validate_run_ [guard_validate_json_invalid_] / effect_mark_validate_json_invalid_
state_validate_decision --> state_validate_error_error_out_decision : completion_validate_run_ [guard_validate_policy_unsupported_] / effect_mark_validate_policy_unsupported_
state_validate_success_error_out_decision --> state_validate_done : completion_validate_run_ [guard_validate_has_error_out_] / effect_store_validate_error_out_
state_validate_success_error_out_decision --> state_validate_done : completion_validate_run_ [guard_validate_no_error_out_] / none
state_validate_error_error_out_decision --> state_validate_errored : completion_validate_run_ [guard_validate_has_error_out_] / effect_store_validate_error_out_
state_validate_error_error_out_decision --> state_validate_errored : completion_validate_run_ [guard_validate_no_error_out_] / none
state_validate_done --> state_ready : completion_validate_run_ [always] / none
state_validate_errored --> state_ready : completion_validate_run_ [always] / none
state_ready --> state_ready : _ [always] / effect_on_unexpected_
state_json_decision --> state_ready : _ [always] / effect_on_unexpected_
state_detokenizing --> state_ready : _ [always] / effect_on_unexpected_
state_success_error_out_decision --> state_ready : _ [always] / effect_on_unexpected_
state_success_callback_decision --> state_ready : _ [always] / effect_on_unexpected_
state_error_error_out_decision --> state_ready : _ [always] / effect_on_unexpected_
state_error_callback_decision --> state_ready : _ [always] / effect_on_unexpected_
state_done --> state_ready : _ [always] / effect_on_unexpected_
state_errored --> state_ready : _ [always] / effect_on_unexpected_
state_validate_decision --> state_ready : _ [always] / effect_on_unexpected_
state_validate_success_error_out_decision --> state_ready : _ [always] / effect_on_unexpected_
state_validate_error_error_out_decision --> state_ready : _ [always] / effect_on_unexpected_
state_validate_done --> state_ready : _ [always] / effect_on_unexpected_
state_validate_errored --> state_ready : _ [always] / effect_on_unexpected_
58 changes: 58 additions & 0 deletions .planning/architecture/mermaid/speech_transcriber.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
stateDiagram-v2
direction TB
[*] --> state_uninitialized
state_uninitialized --> state_initializing : initialize_run [guard_valid_initialize_] / effect_begin_initialize_
state_uninitialized --> state_initialize_error_out_decision : initialize_run [guard_invalid_initialize_] / effect_reject_initialize_
state_ready --> state_initializing : initialize_run [guard_valid_initialize_] / effect_begin_initialize_
state_ready --> state_initialize_error_out_decision : initialize_run [guard_invalid_initialize_] / effect_reject_initialize_
state_errored --> state_initialize_error_out_decision : initialize_run [always] / effect_reject_initialize_
state_initializing --> state_tokenizer_decision : completion_initialize_run_ [always] / none
state_tokenizer_decision --> state_tokenizer_validation_decision : completion_initialize_run_ [guard_initialize_tokenizer_supported_] / effect_validate_tokenizer_assets_
state_tokenizer_decision --> state_initialize_error_out_decision : completion_initialize_run_ [guard_initialize_tokenizer_unsupported_] / effect_mark_tokenizer_invalid_
state_tokenizer_validation_decision --> state_model_support_decision : completion_initialize_run_ [guard_tokenizer_validation_accepted_] / none
state_tokenizer_validation_decision --> state_initialize_error_out_decision : completion_initialize_run_ [guard_tokenizer_validation_rejected_] / effect_mark_tokenizer_invalid_
state_model_support_decision --> state_initialize_success : completion_initialize_run_ [guard_initialize_model_supported_] / none
state_model_support_decision --> state_initialize_error_out_decision : completion_initialize_run_ [guard_initialize_unsupported_model_] / effect_mark_unsupported_model_
state_initialize_success --> state_initialize_done_callback_decision : completion_initialize_run_ [guard_has_initialize_error_out_] / effect_store_initialize_success_
state_initialize_success --> state_initialize_done_callback_decision : completion_initialize_run_ [guard_no_initialize_error_out_] / none
state_initialize_error_out_decision --> state_initialize_error_callback_decision : completion_initialize_run_ [guard_has_initialize_error_out_] / effect_store_initialize_error_
state_initialize_error_out_decision --> state_initialize_error_callback_decision : completion_initialize_run_ [guard_no_initialize_error_out_] / none
state_initialize_done_callback_decision --> state_ready : completion_initialize_run_ [guard_has_initialize_done_callback_] / effect_emit_initialize_done_
state_initialize_done_callback_decision --> state_ready : completion_initialize_run_ [guard_no_initialize_done_callback_] / none
state_initialize_error_callback_decision --> state_errored : completion_initialize_run_ [guard_has_initialize_error_callback_] / effect_emit_initialize_error_
state_initialize_error_callback_decision --> state_errored : completion_initialize_run_ [guard_no_initialize_error_callback_] / none
state_ready --> state_recognize_support_decision : recognize_run [guard_valid_recognize_] / effect_begin_recognize_
state_ready --> state_recognize_error_out_decision : recognize_run [guard_invalid_recognize_] / effect_reject_recognize_
state_uninitialized --> state_recognize_uninitialized_error_out_decision : recognize_run [always] / effect_mark_uninitialized_
state_errored --> state_recognize_errored_error_out_decision : recognize_run [always] / effect_mark_uninitialized_
state_recognize_support_decision --> state_recognize_error_out_decision : completion_recognize_run_ [guard_transcriber_unsupported_] / effect_mark_uninitialized_
state_recognize_support_decision --> state_encoding : completion_recognize_run_ [guard_transcriber_ready_] / effect_encode_
state_encoding --> state_encoder_decision : completion_recognize_run_ [always] / none
state_encoder_decision --> state_decoding : completion_recognize_run_ [guard_encoder_success_] / effect_decode_
state_encoder_decision --> state_recognize_error_out_decision : completion_recognize_run_ [guard_encoder_failure_] / effect_mark_backend_error_
state_decoding --> state_decoder_decision : completion_recognize_run_ [always] / none
state_decoder_decision --> state_detokenizing : completion_recognize_run_ [guard_decoder_success_] / effect_detokenize_
state_decoder_decision --> state_recognize_error_out_decision : completion_recognize_run_ [guard_decoder_failure_] / effect_mark_backend_error_
state_detokenizing --> state_detokenize_decision : completion_recognize_run_ [always] / none
state_detokenize_decision --> state_recognize_success : completion_recognize_run_ [guard_detokenize_success_] / effect_publish_recognition_outputs_
state_detokenize_decision --> state_recognize_error_out_decision : completion_recognize_run_ [guard_detokenize_failure_] / effect_mark_backend_error_
state_recognize_success --> state_recognize_done_callback_decision : completion_recognize_run_ [guard_has_recognize_error_out_] / effect_store_recognize_success_
state_recognize_success --> state_recognize_done_callback_decision : completion_recognize_run_ [guard_no_recognize_error_out_] / none
state_recognize_error_out_decision --> state_recognize_error_callback_decision : completion_recognize_run_ [guard_has_recognize_error_out_] / effect_store_recognize_error_
state_recognize_error_out_decision --> state_recognize_error_callback_decision : completion_recognize_run_ [guard_no_recognize_error_out_] / none
state_recognize_done_callback_decision --> state_done : completion_recognize_run_ [guard_has_recognize_done_callback_] / effect_emit_recognize_done_
state_recognize_done_callback_decision --> state_done : completion_recognize_run_ [guard_no_recognize_done_callback_] / none
state_recognize_error_callback_decision --> state_ready : completion_recognize_run_ [guard_has_recognize_error_callback_] / effect_emit_recognize_error_
state_recognize_error_callback_decision --> state_ready : completion_recognize_run_ [guard_no_recognize_error_callback_] / none
state_done --> state_ready : completion_recognize_run_ [always] / none
state_recognize_uninitialized_error_out_decision --> state_recognize_uninitialized_error_callback_decision : completion_recognize_run_ [guard_has_recognize_error_out_] / effect_store_recognize_error_
state_recognize_uninitialized_error_out_decision --> state_recognize_uninitialized_error_callback_decision : completion_recognize_run_ [guard_no_recognize_error_out_] / none
state_recognize_uninitialized_error_callback_decision --> state_uninitialized : completion_recognize_run_ [guard_has_recognize_error_callback_] / effect_emit_recognize_error_
state_recognize_uninitialized_error_callback_decision --> state_uninitialized : completion_recognize_run_ [guard_no_recognize_error_callback_] / none
state_recognize_errored_error_out_decision --> state_recognize_errored_error_callback_decision : completion_recognize_run_ [guard_has_recognize_error_out_] / effect_store_recognize_error_
state_recognize_errored_error_out_decision --> state_recognize_errored_error_callback_decision : completion_recognize_run_ [guard_no_recognize_error_out_] / none
state_recognize_errored_error_callback_decision --> state_errored : completion_recognize_run_ [guard_has_recognize_error_callback_] / effect_emit_recognize_error_
state_recognize_errored_error_callback_decision --> state_errored : completion_recognize_run_ [guard_no_recognize_error_callback_] / none
state_uninitialized --> state_uninitialized : _ [always] / effect_on_unexpected_
state_ready --> state_ready : _ [always] / effect_on_unexpected_
state_errored --> state_errored : _ [always] / effect_on_unexpected_
5 changes: 3 additions & 2 deletions .planning/architecture/mermaid/text_generator_initializer.mmd
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ stateDiagram-v2
direction TB
[*] --> idle
idle --> preparing_backend : run [always] / begin_initialize_
preparing_backend --> binding_conditioner : completion_run_ [backend_already_ready_] / none
preparing_backend --> binding_conditioner : completion_run_ [guard_backend_reuse_allowed_] / none
preparing_backend_decision --> binding_conditioner : completion_run_ [backend_already_ready_] / none
preparing_backend --> preparing_backend_decision : completion_run_ [backend_prepare_needed_] / request_backend_prepare_
preparing_backend --> idle : completion_run_ [guard_generation_contract_invalid_] / mark_invalid_request_
preparing_backend --> preparing_backend_decision : completion_run_ [guard_backend_prepare_allowed_] / request_backend_prepare_
preparing_backend_decision --> binding_conditioner : completion_run_ [backend_prepare_ok_] / accept_prepared_backend_
preparing_backend_decision --> idle : completion_run_ [backend_prepare_invalid_request_] / mark_invalid_request_
preparing_backend_decision --> idle : completion_run_ [backend_prepare_backend_error_] / mark_backend_error_
Expand Down
Loading