Skip to content

Scaffold meeting-notes web-react: second domain app demonstrating list-type output #57

Description

@enricopiovesan

Summary

Create `apps/meeting-notes/web-react/` — a second Traverse reference app demonstrating a capability with list-type structured output. Paste a meeting transcript → runtime returns action items, decisions, owners, follow-ups, and a summary.

Contrasts with `traverse-starter` (flat string fields) to show how the UI renders richer output schemas without owning any business logic.

Blocked on

Note: Issue previously cited #528 (wrong ticket). Correct blocker is #532.

  • Traverse capability: `meeting-notes.process` must be built in the Traverse repo (see Traverse #532)

Stack

Same as `traverse-starter/web-react`: React 18 + TypeScript + Vite + Vitest

Input / Output contract

Input (owned by UI):
```json
{ "transcript": "string — full meeting transcript text" }
```

Output (owned by Traverse runtime — UI renders only):
```json
{
"action_items": [{ "task": "string", "owner": "string | null", "due": "string | null" }],
"decisions": [{ "text": "string", "made_by": "string | null" }],
"follow_ups": ["string"],
"summary": "string"
}
```

UI panels

  1. Runtime Environment — same health check strip as traverse-starter
  2. Meeting Transcript — large textarea, char count, Cmd+Enter submit
  3. Output — four sections rendered natively:
    • Action Items — checklist-style list with owner + due date badges
    • Decisions — bullet list with "decided by" attribution
    • Follow-ups — simple list
    • Summary — paragraph text

Definition of Done

  • `apps/meeting-notes/web-react/` scaffolded
  • `VITE_TRAVERSE_BASE_URL`, `VITE_TRAVERSE_WORKSPACE`, `VITE_TRAVERSE_CAPABILITY_ID` env vars (defaults to `meeting-notes.process`)
  • Transcript input: 5000 char limit (longer than traverse-starter to show longer input), char count displayed
  • Output renders all four sections: action items (with owner/due), decisions (with made_by), follow-ups, summary
  • Empty array renders as "None recorded" not blank
  • Error state and offline state handled
  • Unit tests: output parsing/rendering for all four sections, empty array cases
  • README: what this demonstrates vs traverse-starter, how to point at a running runtime
  • `package.json` workspace updated
  • All CI gates pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    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