Skip to content

pm-solutions T6: Viewer — solutions table + bidirectional opportunity↔solution nav #151

Description

@guillaumesimon

Wave: 1 (parallel, after Wave 0 merges)
Depends on: #146 (contract — file format to parse)
Effort: M
Ties to: PRD R9
Files: viewer/Sources/NanoPMViewer/SolutionsUI.swift (NEW), Models.swift, OpportunitiesUI.swift

Description

Render solutions in the SwiftUI viewer (intentional throwaway prototype; table only, no tree viz):

  • Parse the new solutions/ entity in Models.swift.
  • New SolutionsUI.swift — a filterable solutions table (columns: title, parent opportunity, lens, appetite, impact, status).
  • Bidirectional navigation: the opportunity detail lists its solutions and links to them; each solution links back to its parent (touches OpportunitiesUI.swift).

Acceptance

The viewer builds; with sample solution files present, the Solutions table renders all rows with the correct columns + filtering, and clicking navigates opportunity↔solution both ways.

GUI test

(Auto-run only if the build agent has a macOS UI harness; otherwise a manual QA checklist — do not assume execution.)

  1. Build & launch NanoPMViewer on a project with ≥2 solution files under one opportunity.
  2. Navigate to the Solutions table view.
  3. Assert all solution rows appear with title / parent / lens / appetite / impact / status columns, and filtering by status narrows the list.
  4. Open a solution → assert its parent opportunity is linked; open the opportunity → assert its solutions are listed and clickable.

Source PRD: .nanopm/wiki/docs/prds/pm-solutions.md · Created by nanopm /pm-breakdown (feature: pm-solutions, GitHub handoff).

Metadata

Metadata

Assignees

No one assigned

    Labels

    pm-solutions/pm-solutions feature breakdown

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions