Wave: 1 (parallel, after Wave 0 merges)
Depends on: #146 (contract — solution format/fields)
Effort: M
Ties to: PRD R6; Engine net-new #4
Files: bin/nanopm-lint-agent
Description
Add three lint rules for the solutions/ type to bin/nanopm-lint-agent:
- Orphan solution — no parent opportunity, or parent doesn't exist (rides the existing inbound-edge / orphan check).
- Missing riskiest-assumption or cheapest-test — semantic body/field check (net-new JUDGMENT-style).
chosen-without-PRD — a chosen solution with no downstream PRD edge (cross-entity edge check, net-new).
Acceptance
Lint flags: a solution whose opportunity doesn't exist; a solution missing its assignment/test; a chosen solution with no PRD edge. Clean solutions pass. A folded regression test covers each rule.
Source PRD: .nanopm/wiki/docs/prds/pm-solutions.md · Created by nanopm /pm-breakdown (feature: pm-solutions, GitHub handoff).
Wave: 1 (parallel, after Wave 0 merges)
Depends on: #146 (contract — solution format/fields)
Effort: M
Ties to: PRD R6; Engine net-new #4
Files:
bin/nanopm-lint-agentDescription
Add three lint rules for the
solutions/type tobin/nanopm-lint-agent:chosen-without-PRD — achosensolution with no downstream PRD edge (cross-entity edge check, net-new).Acceptance
Lint flags: a solution whose
opportunitydoesn't exist; a solution missing its assignment/test; achosensolution with no PRD edge. Clean solutions pass. A folded regression test covers each rule.Source PRD:
.nanopm/wiki/docs/prds/pm-solutions.md· Created by nanopm /pm-breakdown (feature: pm-solutions, GitHub handoff).