Skip to content

Render thought detail pages with provenance and slug routes #55

Description

@timeleft--

Parent

Parent PRD: #51

What to build

Render thought detail pages with FAVA provenance, full Markdown bodies, and canonical human slug routes.

An operator should be able to drill in from a scope dashboard record and see the thought's FAVA context before the prose: identity, lifecycle state, source type, confidence, agent, tags, scope, namespace, source provenance, and relationship summary. The full Markdown body remains available on the detail page as the evidence layer.

This slice is also the home for canonical human thought URLs unless a dedicated adjacent slug-routing issue supersedes it before implementation.

Route contract for this slice

  • Canonical human thought URLs should include the full scope path plus a human slug, for example /mwai/eng/fava-trails/rich-views/readable-title/.
  • The slug is a navigation/display affordance derived from human-readable display metadata, not from the ULID filename itself.
  • /id/<UID>/ remains the durable UID lookup/fallback route.
  • Bare UID routes such as /thoughts/<UID>/ or /<UID>/ must not be introduced.
  • If two thoughts in the same scope collide on the same human slug, append a short UID suffix only for the colliding records unless a later slug-routing issue defines a different policy.

Acceptance criteria

  • Dashboard records link to thought detail pages through generated route metadata or a shared route helper.
  • Thought detail pages are reachable by canonical full-scope human slug routes.
  • Thought detail pages remain reachable by /id/<UID>/ fallback routes.
  • Generated route metadata distinguishes canonical human routes from durable UID fallback routes.
  • Thought detail pages do not expose bare UID routes such as /thoughts/<UID>/ or /<UID>/.
  • Thought detail pages show lifecycle metadata before the Markdown body.
  • Thought detail pages show source type, validation status, confidence, agent, tags, scope, namespace, created time, and source provenance where available.
  • Thought detail pages preserve and render the full Markdown body.
  • Thought detail pages distinguish display title, human slug, and durable ULID identity.
  • Thought detail pages include outbound and inbound relationship summaries when data is available.
  • Fixture coverage verifies metadata rendering, full-body preservation, full-scope slug routes, /id/<UID>/ fallback routes, and slug collision handling.
  • Browser verification confirms detail pages are readable on desktop and mobile.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions