Skip to content

docs: Chronicle Map domain model (grill-with-docs) - #2

Draft
zeteticl wants to merge 16 commits into
mainfrom
cursor/chronicle-map-domain-6a6c
Draft

docs: Chronicle Map domain model (grill-with-docs)#2
zeteticl wants to merge 16 commits into
mainfrom
cursor/chronicle-map-domain-6a6c

Conversation

@zeteticl

@zeteticl zeteticl commented Aug 5, 2026

Copy link
Copy Markdown

Summary

Chronicle Map feature from grill-with-docs, plus review hardening.

  • Glossary: CONTEXT.md
  • ADRs: docs/adr/00010006

Shipped

  • DB / models / GraphQL / permissions / admin / /chronicle Map View / page embed
  • Era Map + Event editors, overlays, heuristic analyzeText → Event Drafts
  • Review fixes: draft→live requires approve; readers don’t see drafts/draft Era Maps; overlays project onto primary Era Map; pin/visibility overrides must share a Chronicle

Review verdict

Needs a short manual QA pass, then mergeable for v1 foundation. Domain model matches well; remaining gaps are intentional follow-ups (visual alignment UI, asset upload, real LLM, 3D).

Fixed in review

  • updateEvent could publish drafts without approve:chronicles
  • single / mapView leaked draft events (and draft Era Maps as fallback) to readers
  • Overlay pins used each chronicle’s own Era Map instead of primary spatial frame
  • Overrides lacked same-chronicle validation
  • ingestEventDraft auth omitted manage:chronicles

Remaining (non-blocking for v1)

  • No visual control-point alignment UI (JSON only)
  • Basemap image is URL-only (no asset upload pipeline)
  • Heuristic AI only (ADR 0006)
  • No integration tests against live GraphQL/DB
  • New renderer needs disk refresh on existing installs (boot refreshRenderersFromDisk)
  • Migration down does not strip Guests’ read:chronicles

Try

  1. Migrate / restart → /a/chronicles
  2. Create → Era Map → Event or AI text → approve drafts
  3. /chronicle/{slug} + overlay another chronicle
  4. Embed with chronicle-embed fence
Open in Web Open in Cursor 

cursoragent and others added 16 commits August 5, 2026 01:27
Start CONTEXT.md with Chronicle as the aggregate root for the
planned chronicle-map feature.

Co-authored-by: Sad <cougar.l@hotmail.com>
Events are first-class pins with optional Wiki Page links,
not page-equivalent content or marker-only stubs.

Co-authored-by: Sad <cougar.l@hotmail.com>
Era Maps are per-era basemaps with alignment to a shared
spatial reference, not single-layer filters or per-event assets.

Co-authored-by: Sad <cougar.l@hotmail.com>
Hybrid placement: Events store one canonical position; Era Maps
align via transforms; Pin Override is the per-map escape hatch.

Co-authored-by: Sad <cougar.l@hotmail.com>
Events show on Era Maps by time-range intersection by default,
with force include/exclude as the editor escape hatch.

Co-authored-by: Sad <cougar.l@hotmail.com>
Map filters use Chronicle-scoped tags; linked wiki pages keep
existing Page Tags without merging the taxonomies.

Co-authored-by: Sad <cougar.l@hotmail.com>
Worlds stay as separate Chronicles; mixing is a toggleable
overlay view, not an in-chronicle world-layer dimension.

Co-authored-by: Sad <cougar.l@hotmail.com>
One interactive Map View; master chronicle routes and in-page
embeds are two entry points with optional narrowed scope.

Co-authored-by: Sad <cougar.l@hotmail.com>
Three intake paths share the Event model; AI and external
ingest create Event Drafts that require human confirmation.

Co-authored-by: Sad <cougar.l@hotmail.com>
Era Maps support 2d, 3d, or both as presentation modes without
splitting into separate map entity types.

Co-authored-by: Sad <cougar.l@hotmail.com>
Public provider, manual upload, and AI/API-derived basemaps
share one Era Map source field with human confirm for derived.

Co-authored-by: Sad <cougar.l@hotmail.com>
Events always have a point pin; line/polygon footprint is
optional display extent and not the alignment primary.

Co-authored-by: Sad <cougar.l@hotmail.com>
Record independent chronicle access rules and ADRs for
first-class Chronicle, hybrid placement, Event Drafts, and
permissions — pending shared-understanding confirmation.

Co-authored-by: Sad <cougar.l@hotmail.com>
Add first-class Chronicle aggregates with Era Maps, Events,
tags, hybrid placement/visibility, Event Drafts, GraphQL API,
admin UI, /chronicle Map View (Leaflet 2D), and page embeds.

Co-authored-by: Sad <cougar.l@hotmail.com>
Add Era Map/Event editors, uploaded/derived basemap config,
Map View chronicle overlays, and heuristic analyzeText that
creates Event Drafts from free-form notes.

Co-authored-by: Sad <cougar.l@hotmail.com>
Block draft→live via updateEvent without approve; hide drafts and
draft Era Maps from readers; project overlays onto primary Era Map;
validate pin/visibility overrides share a Chronicle.

Co-authored-by: Sad <cougar.l@hotmail.com>
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