Skip to content

M10 LENS — Composable View Projections #227

@flyingrobots

Description

@flyingrobots

M10: LENS — Composable View Projections

Goal: Lenses post-process view results. ViewResult → ViewResult, composed via colon syntax (git mind view roadmap:incomplete:frontier).

Key decisions: Left-to-right composition order. Lenses receive filtered ViewResult + full nodeProps map (not raw graph). needsProperties propagates if any lens in chain needs it.

Tasks

Dependency DAG

LNS-001 (#230) ──┐
                  ├──→ LNS-004 (#233) ──→ LNS-005 (#234) ──→ LNS-006 (#235)
LNS-002 (#231) ──┤                             ↑
                  └──→ LNS-003 (#232) ──────────┘
LNS-002 (#231) ──→ LNS-007 (#236)
LNS-003 (#232) ──→ LNS-007 (#236)

Done Criteria

  • All 412+ existing tests still pass
  • New tests for all lens functionality
  • git mind view roadmap:incomplete works end-to-end
  • JSON Schema contract validated in test/contracts.test.js
  • Lens API exported from src/index.js

References

  • Vision: docs/VISION_NORTH_STAR.md
  • Architecture: docs/ARCHITECTURE.md
  • Key files: src/views.js, bin/git-mind.js, src/cli/commands.js, src/cli/format.js

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmilestone:M10M10 LENS — Composable View ProjectionsumbrellaUmbrella tracking issue for a milestonewave:1Wave 1 — Foundation (lenses + context + contracts)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions