Skip to content

Make the Map Journal the primary review experience (#14) - #43

Merged
cursor[bot] merged 5 commits into
mainfrom
cursor/map-journal-a201
Jul 19, 2026
Merged

cursor[bot] merged 5 commits into
mainfrom
cursor/map-journal-a201

Conversation

@wschenk

@wschenk wschenk commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Ticket

Closes #14 — Make the Map Journal the primary review experience (parent #1)

What this PR does

Implements the validated Map Journal (reviewing-ui prototype verdict, variant C — rewritten, not promoted) as the primary review surface at /journal, linked as the review destination from the home shell.

  • The Offline Region fills the review surface. The journal renders the installed trail-first Offline Region (from Prove the trail-first Offline Region pipeline on Pixel 9 #12's pipeline) through renderInstalledRegion; if no region is installed it offers the explicit download with its calculated size.
  • Media-aware, clustered markers. Capture locations become markers colored and glyphed by dominant medium (text/photo/audio/video) that cluster while zoomed out — MapLibre GeoJSON clustering with circle+text layers only, so no sprite assets and everything works in airplane mode with the packaged region fonts. Captures without a recorded location honestly stay off the map.
  • Marker → preview → complete Thread. Selecting a marker opens a compact Capture preview (inline local media) and the complete Thread as one chronological append-only stream: Captures interleaved with the Enrichments whose recorded basis revision follows them, with sources, exact gateway models, and processing status. Enrichments are retained locally (lib/enrichment/thread-view.ts) so previously reviewed Threads keep them readable offline.
  • Adjacent panel on desktop, bottom sheet on mobile.
  • Follow-ups use the ordinary pipeline. The panel's follow-up composer (text + media attachments) commits locally through the Capture store, then foreground sync and Enrichment when online.
  • Live GPS only while the map is active, with honest states: starting, unavailable, or tracking with reported accuracy; the watch is cleared on unmount.
  • Connectivity is explained without weakening the offline promise: the header states that offline Captures still save on-device and Enrichment resumes online.

Tests

  • tests/map-journal.spec.ts (Pixel-9 project): offline topography, clustering + media-aware markers, honest GPS states, marker preview with complete Thread context and the mobile bottom sheet, an offline follow-up through the ordinary pipeline, and complete airplane-mode rendering after reload.
  • tests/map-journal-desktop.spec.ts (new dedicated Desktop Chrome project): the adjacent Thread panel layout.
  • Full suite: 66 passed, 4 skipped (Clerk secrets not configured in this environment); lint and typecheck clean.
  • The /journal?region=fixture page returns 200 on this PR's Vercel Preview.

Also carries the agent-ticket-claim workflow YAML fix (same as PR #41): the closing-keyword heredoc was written at column 0 inside the run: block scalar, which made the workflow file unparseable since PR #39.

Screenshots

Mobile — clustered markers over the Offline Region Mobile — bottom sheet with Thread context Desktop — adjacent Thread panel
Map Journal on mobile with cluster and marker Mobile bottom sheet with complete Thread and follow-up composer Desktop Map Journal with adjacent Thread panel

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

cursoragent and others added 2 commits July 19, 2026 01:52
The closing-keyword heredoc was written at column 0 inside the run block
scalar, which ended the scalar early and made the workflow file unparseable —
every push and pull_request claim run failed with a workflow file issue.
Indent the heredoc to the block's base indentation so the script sees it at
column 0.

Co-authored-by: Will Schenk <wschenk@gmail.com>
Co-authored-by: Will Schenk <wschenk@gmail.com>
@vercel

vercel Bot commented Jul 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
walking-thoughts Ready Ready Preview, Comment Jul 19, 2026 2:30am

Request Review

- /journal renders the installed Offline Region as the review surface with
  media-aware, clustered Capture markers (circle+text layers, airplane-safe)
- Marker selection opens a compact Capture preview with the complete Thread,
  Enrichments with sources and models, status, and a follow-up composer that
  uses the ordinary Capture pipeline online or offline
- Desktop shows an adjacent Thread panel; mobile a bottom sheet
- Live GPS only while the map is active with honest unavailable/accuracy states
- Shared thread entry views extracted from the capture composer
- Pixel-sized and desktop Playwright coverage incl. airplane mode

Co-authored-by: Will Schenk <wschenk@gmail.com>
- Retain Thread Enrichments locally so reviewed Threads stay readable offline
- Render the Thread panel as one chronological stream (Enrichments follow
  their basis revision) with inline local media previews
- Follow-up composer accepts media attachments through the ordinary pipeline
- Promote the journal as the primary review destination from the home shell
- Dedicated Desktop Chrome Playwright project; assert the mobile bottom sheet
- Type the journal hook state union and drop the setData never-cast

Co-authored-by: Will Schenk <wschenk@gmail.com>
@cursor
cursor Bot marked this pull request as ready for review July 19, 2026 02:27
Co-authored-by: Will Schenk <wschenk@gmail.com>
@cursor
cursor Bot merged commit 9869406 into main Jul 19, 2026
1 of 3 checks passed
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.

Make the Map Journal the primary review experience

2 participants