SpeakTrue

SpeakTrue Engineer Change Cookbook (Single-Source for First-Contact Edits)

Last updated: 2026-06-29

Use this file when you need to do real work quickly without re-deriving the blast radius. If this guide says “edit here,” treat it as a mandatory minimum set unless your specific change is isolated to one file.

1) Golden edit sequence (always start here)

For every change:

  1. Open the relevant section in:
    • docs/reference/repository-extremely-detailed-engineer-guide.md
    • docs/reference/repository-full-deep-reference.md
    • docs/reference/repository-operator-manual.md
  2. Confirm current contract/docs state in:
    • docs/contracts/native-speech-parity-anchor.md
    • docs/contracts/speech-workflow-contract.md
  3. Make code change + caller updates.
  4. Update/extend tests adjacent to the touched feature.
  5. Run the smallest valid command sequence for that surface.
  6. Update affected docs in docs/reference or docs/contracts if behavior or contract changed.

2) Source-of-truth file maps (required reading before editing)

These inventories are the authoritative per-file maps for this repo.

3) Deployment gates (what to run by area)

4) Feature-level change matrix

Use this as your first edit map for common “I need to change X” tasks.

4.1 Text-to-Speech (voices/models/style presets)

4.2 STT and transcription workflows

4.3 Soundboard changes

4.4 Voice-clone path

4.5 User settings + agreement + quotas

4.6 Billing and entitlement changes

4.7 Auth/session and app bootstrap

4.8 Pronunciation dictionary and language recommendations

5) When contract changes, always edit these four layers together

  1. Contract code (endpoint handler, validation, or response shaping).
  2. Calling clients (iOS/Android/Web).
  3. Persisted shape (migrations / SQL / stored defaults).
  4. Tests + docs.

If any one layer is skipped, the project will regress on one surface even when local tests pass.

6) Deployment and release workflow map (high precision)

iOS

Android

Backend

Web

7) Exact file lookup for “where to change Y”

When uncertain, use this quick method:

  1. Find the business area in this file.
  2. Open inventory for that surface:
    • docs/reference/ios-file-inventory.md
    • docs/reference/android-file-inventory.md
    • docs/reference/web-file-inventory.md
  3. Confirm function contract in:
    • backend/supabase/functions/<function>/
    • docs/reference/backend-functions-detailed-map.md
  4. Apply edits in all three surfaces if response schema changes.

8) Final checklist before merging any cross-surface change