Skip to content

Own Calendar tab instead of Google sync; clearer catch-ups; uniform profiles; Docs for Gemini - #34

Merged
richickmath merged 1 commit into
mainfrom
claude/determined-dirac-3bo92x
Nov 10, 2026
Merged

richickmath merged 1 commit into
mainfrom
claude/determined-dirac-3bo92x

Conversation

@richickmath

Copy link
Copy Markdown
Owner

Follow-up to #33. It comes from the owner's decisions on 10 November 2026, after Rapport's actions started showing in their main Google Calendar.

Google Calendar and Tasks: off

  • Google Calendar and Google Tasks are no longer synced. The reason: Google shows any task with a due date in the main calendar.
  • The Google connection now asks only for drive.file, for the Docs.
  • syncGoogleTasks no longer runs the Tasks and Calendar passes. They are kept behind {mirrors: true} for the existing tests.
  • Settings has a Remove from Google button for older connections. It calls removeMirrors, which deletes only Rapport's own "Rapport" task list and calendar, by their stored ids. Nothing else in the Google account is touched.
  • The subscribed calendar link never carries actions now.

Calendar tab

  • The bottom bar is now Home, People, +, Calendar, More. The sidebar adds Calendar.
  • The tab shows a month grid plus the chosen day's list:
    • notes, plans and catch-ups;
    • actions on their Aim for date;
    • open undated actions on their next catch-up;
    • actions done, on the day they were ticked (new optional doneOn, set by setDone and validated);
    • occasions.
  • Old #plans and #journal links open the Calendar.

Catch-ups

  • Clearer wording:
    • the button is Mark caught up;
    • once done today it shows Caught up today, with a separate Undo;
    • notes that count are labelled "Catch-up";
    • the tick in the note box reads "We caught up".
  • New Catch-ups with section on each person page: every catch-up, newest first, paged by 12.

Care notes

  • Each record keeps a log of earlier period starts in history: newest first, up to 120, and entries can be removed.
  • The log is shown in Details and listed in Care notes.
  • Estimates are unchanged. They still use only the latest start and the cycle length set, as the owner chose.

Uniform profiles and adding people

  • Pinned old details are now converted into notes too, marked "(pinned)". Every profile shows only the standard fields.
  • Google Contacts now fills only standard fields (no organisation, role or contact notes).
  • When adding a person, Google Contacts matches appear under the name as you type. Choosing one links it on Save and fills the empty standard fields.

Google Docs for NotebookLM / Gemini

These are written so Gemini can't mix people up.

  • Reading rules at the top of each Doc:
    • every line names its person;
    • if a first name is shared, ask which person is meant;
    • if it isn't written, say "I don't know".
  • People notes:
    • each section runs from # Person: Full Name to (End of Full Name.);
    • every line starts with the full name;
    • people who share a first name are listed up front;
    • old details appear under "What I know about ".
  • Journal Docs:
    • each note starts date · Catch-up|Note · People: full names;
    • open and done actions start with the person's full name.
  • Plain notes no longer count as "last catch-up" in the Docs.

SKILL.md, product-context.md, README.md, docs/google-tasks.md (marked turned off) and docs/personal-details.md are updated, with earlier decisions marked superseded.

Verification

  • npm test: 201 passing. New tests cover:
    • a normal sync calling neither Tasks nor Calendar;
    • removeMirrors deleting only Rapport's list and calendar, and running only once;
    • the Docs-only connect scope;
    • the calendar link without actions;
    • Calendar items: notes, catch-ups, done-on-day, converted notes left out, doneOn validation;
    • start history;
    • pinned details converted;
    • Google Contacts limited to standard fields;
    • the Docs format (names on every line, shared first names, plain notes not counted).
  • npm run check and npm run build pass.
  • Browser check at 390px (light) and 1280px (dark) with faked APIs:
    • the bottom bar and the Calendar tab;
    • Mark caught up, then Caught up today and Undo;
    • catch-up history;
    • no old fields left on profiles;
    • the Settings card and Remove from Google;
    • name suggestions, then link, then saved with googleContact and only standard fields;
    • no horizontal overflow and no console errors.
  • Real Google APIs were not exercised.

Before merging

  • After deploy, press Settings → Remove from Google once, so the old Rapport tasks and events leave your Google Calendar.
  • If you subscribed to Rapport's calendar link, it stays, but without actions.
  • The pinned old details convert into notes on the first load after deploy.

Generated by Claude Code

…rofiles; Docs for Gemini

- Google Calendar and Google Tasks are no longer synced (dated tasks showed
  in the main Google Calendar). The connection asks only for the Docs;
  Settings can remove Rapport's old task list and calendar from Google.
  The calendar link never carries actions.
- Calendar tab: notes, plans, catch-ups, actions due and done (doneOn),
  and occasions by month.
- Mark caught up / Caught up today with Undo; catch-up history per person.
- Care notes keep a log of earlier period starts.
- Pinned old details become notes too; Google Contacts fills only standard
  fields; matches appear while typing a new person's name and link on Save.
- People notes and journal Docs name the person on every line, list shared
  first names and state reading rules, so Gemini doesn't mix people up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GpfKKTrJ2RzvP8WKH6CChK
@richickmath
richickmath merged commit 29bdae3 into main Nov 10, 2026
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.

2 participants