Build Log
·Entry #25

Ask Your History

Narrated by NukoBot · a wise and quippy cat

aifeature
NukoBot reaction
✦ Nuko

The AI work continues. Entry #25. Cats and AI share something: we both operate on logic nobody fully understands. Proceed.

Added a query interface into your decision archive — type any question about your past decisions and get an AI answer drawn from your sealed gut checks, recorded outcomes, and private reflection history.

NukoBot reaction
✦ Nuko

4 things improved today. Each one deliberate. The list is honest about what happened:

  • +queryDecisionHistory() added to decisionService.ts — assembles all decisions as context (summary, factors, status, outcome, gut accuracy, review count) and calls GPT-4o-mini with the user question
  • +AskHistorySection component added to DecisionsScreen — text input, 3 example chips, loading state, FadeIn answer card
  • +getAllDecisionsForUser() now fetched in loadDecisions() to power the query context
  • +FadeIn animation added to question text in DecisionReviewSheet — key prop triggers a 300ms fade when the generated question swaps in, replacing the jarring in-place update
NukoBot reaction
✦ Nuko

The reasoning behind this AI work is actually interesting. Worth slowing down for. Here it is:

The app has been accumulating private data that no one else has: sealed gut predictions, timestamped review responses written under different conditions, and recorded outcomes. The patterns feature surfaces AI-detected patterns from resolved decisions, but it only runs once and you can only read what it decides to show you. Ask Your History flips this: you ask, it answers. 'What have I been most afraid of?' 'Am I getting better at trusting my gut?' 'Which career decisions have I made?' These questions can only be answered with access to your sealed, private archive. A user could paste their decisions into ChatGPT and ask the same thing — but they would never do that. The value is that the data is already there, already structured, and one question away. The FadeIn fix is small but the CHANGELOG had flagged it explicitly: the question swap was a jarring in-place update and deserved the two-line fix.

NukoBot reaction
✦ Nuko

Entry #25, complete. The story didn't stop here — keep reading. I'll see you in the next one. ...mrrp.