Skip to content

Fixes #0: add TFT coach mode with manual patch snapshot#66

Open
peterw wants to merge 1 commit intofarzaa:mainfrom
peterw:fix/tft-helper-manual-snapshot-single-commit
Open

Fixes #0: add TFT coach mode with manual patch snapshot#66
peterw wants to merge 1 commit intofarzaa:mainfrom
peterw:fix/tft-helper-manual-snapshot-single-commit

Conversation

@peterw
Copy link
Copy Markdown

@peterw peterw commented Apr 13, 2026

  1. Group chat announcement
    We added a new TFT Coach mode in Clicky. Before this, Clicky answered in a general way and did not carry a dedicated TFT patch snapshot. Now, when users switch to TFT Coach, Clicky uses a maintained TFT patch/meta snapshot in every reply so in-game advice is more relevant and less generic.

  2. Customer message
    We shipped a TFT Coach mode in Clicky. You can switch to it in the panel and ask for board/shop/item help directly. It now uses a maintained TFT patch snapshot for more relevant coaching, while still prioritizing what’s on your live screen.

  3. QA checklist

  • Open panel and confirm Mode toggle shows General and TFT Coach.
  • Switch to TFT Coach and confirm snapshot status text appears.
  • Hold Control+Option, ask a TFT question, and confirm response uses TFT framing + still includes [POINT:...] behavior when relevant.
  • Switch back to General and confirm normal non-TFT behavior.
  • Run python3 scripts/update_tft_meta_snapshot.py and confirm TFTMetaContext.swift snapshot block updates.
  1. QA links

4.5) BLAST RADIUS

  • Main blast radius is response quality in companion mode prompts.
  • If broken, users still can talk to Clicky, but TFT advice could be stale or too generic.
  • No auth/payment/data migration surface changed.
  1. Why this works
    Before: the app had one generic prompt path. It had no TFT mode and no dedicated patch context, so TFT guidance was generic.
    Now: a user-selectable assistant mode injects TFT-specific instructions and a hardcoded patch snapshot into the Claude system prompt. The model gets explicit TFT context every request and stays anchored to current screen state.
    Root cause: missing domain mode + missing TFT context source.

  2. Key concepts

  • Prompt conditioning: behavior changes via system prompt append based on selected mode.
  • Manual snapshot strategy: patch/meta context is intentionally local and updated by script, avoiding runtime dependency on live endpoints.
  • UX visibility: mode + snapshot status is visible in panel to reduce ambiguity.
  1. Old vs new response
    Old (general mode behavior):
  • “looks like you can roll a bit and stabilize. [POINT:... ]”

New (TFT Coach mode behavior):

  • “given this patch snapshot and your current board, prioritize stabilizing with strongest board now, then push levels on tempo; slam immediate frontline value here. [POINT:... ]”
  1. Prompts used
  • “can we make this into a helper for tft?”
  • “how do we have info about the most up to date meta of tft (league) ?”
  • “lets try it get it working”
  • “we dont need worker endpoint just hard code it all for now and we'll manually run script ot update when new patch comes out”
  1. Restate the issue
    Clicky lacked a TFT-specific coaching mode with patch-aware context; this PR adds one with a manual snapshot workflow.

  2. UI simplification note
    UI stayed minimal: one segmented Mode control and one status line. No additional complex settings were added.

  3. Live page proof

  • Production surface: macOS menu bar panel (not a web route).
  • Files changed on live surface: CompanionPanelView.swift, CompanionManager.swift, TFTMetaContext.swift.
  • Code path: app launch -> MenuBarPanelManager -> CompanionPanelView -> mode selection -> prompt assembly in CompanionManager.
  1. safe to ship? what's the worst thing that could happen?
    Safe to ship for a controlled feature increment.
    Worst case: stale/manual snapshot leads to suboptimal TFT advice quality, but core app behavior remains functional and reversible by switching back to General mode.

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