Skip to content

TigerSnatch: consent-gated tools, real cards, honest Daily Summary - #19

Merged
DIodide merged 1 commit into
mainfrom
feat/snatch-cards
Sep 3, 2026
Merged

DIodide merged 1 commit into
mainfrom
feat/snatch-cards

Conversation

@DIodide

@DIodide DIodide commented Sep 3, 2026

Copy link
Copy Markdown
Member

Fixes every TigerSnatch gap from the audit: toggles are now consent (Snatch-owned tools are withheld when Snatch is off, even over the junction connection), one engine connection instead of duplicates, six stationery cards for the Snatch payloads (watches, demand, trending, history, subscribe/unsubscribe with undo, section picker), owner-based attribution, and the Daily Summary's "?" codes and false "quiet week" are gone. Pairs with tiger-junction's needsSection change; the client reads both the old error text and the new shape.

https://claude.ai/code/session_01WRw8kcNwkJD2XZsukVfimL

…y Summary

Every TigerSnatch tool used to collapse to a "checked TigerSnatch" chip, the
Daily Summary printed "?" for watched courses and a false "quiet week" during
add/drop, and a student with Snatch switched off still had their seat watches
read through the junction connection.

- shared/apps.ts: TOOL_OWNERS (data provenance per engine tool),
  COVERED_BY_JUNCTION (scopes that are strict subsets of /junction/mcp),
  wireframe defaults (TigerApps' own apps on for new students), and
  MASTER_RESTORE_APPS so one switch never stands in for four yeses.
- server: open only the junction endpoint when it covers the others; drop
  every tool whose owner is switched off (beforeTurn + callAppTool), so the
  toggles are consent; prompt guidance for seat-watch flows (offer_choices
  to confirm and to pick a section, never claim a watch the tool didn't).
- chat: extractors for the live payloads (deptnum codes, course_page_url
  deep links, needsSection + legacy section-list text) and stationery cards
  for watches, demand, trending, historical demand, subscription changes
  with undo, and a section picker that replaces the old error chip.
  "Worked from" credits the owner, so demand over junction says TigerSnatch.
- Daily Summary: Snatch module runs on its own consent and routes via
  junction or snatch, parses trendingCourses/topEnrolled, deep-links rows,
  separates "no TigerSnatch account" from "no watches".
- prefs: one-time stamped migration grants the covered apps to students who
  already had TigerJunction, since those tools were already reaching them.

Claude-Session: https://claude.ai/code/session_01WRw8kcNwkJD2XZsukVfimL
@DIodide
DIodide merged commit 1a76730 into main Sep 3, 2026
2 checks passed
@DIodide
DIodide deleted the feat/snatch-cards branch September 3, 2026 06:26
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