Skip to content

FE-568: Requirements-review mode#36

Merged
lunelson merged 8 commits into
mainfrom
ln/fe-568-requirements-review
Apr 10, 2026
Merged

FE-568: Requirements-review mode#36
lunelson merged 8 commits into
mainfrom
ln/fe-568-requirements-review

Conversation

@lunelson
Copy link
Copy Markdown
Contributor

feat: ground the first requirements-review loop

feat: persist explicit requirement approval state

feat: close out minimal closure flow for reqs review

@linear
Copy link
Copy Markdown

linear Bot commented Apr 10, 2026

FE-568 Requirements-review mode

Synthesize the requirement set from the full knowledge layer, then let the user approve, edit, merge, reject, and add requirements through review turns.

Acceptance

  • Requirements-review presents a synthesized requirement set
  • Explicit approval and edit state is recorded
  • The phase closes only when in-scope requirements are resolved

Copy link
Copy Markdown
Contributor Author

lunelson commented Apr 10, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@lunelson lunelson changed the title feat: ground the first requirements-review loop FE-568: Requirements-review mode Apr 10, 2026
@lunelson lunelson marked this pull request as ready for review April 10, 2026 11:44
Copy link
Copy Markdown
Contributor Author

lunelson commented Apr 10, 2026

Merge activity

  • Apr 10, 11:44 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Apr 10, 11:55 AM UTC: Graphite rebased this pull request as part of a merge.
  • Apr 10, 11:55 AM UTC: @lunelson merged this pull request with Graphite.

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Apr 10, 2026

🤖 Augment PR Summary

Summary: This PR grounds and hardens the first requirements-review loop, adding durable per-requirement review state and wiring requirements closure into the shared phase-close seam.

Changes:

  • Injects the current requirement inventory into requirements-mode interviewer context to keep review turns grounded.
  • Extends the structured ask-question payload schema with targeted requirement review metadata (approval/rejection).
  • Persists explicit requirement review actions as active-path turn_knowledge_item links and projects approved/rejected/pending status via the entities API.
  • Adds requirements closeability logic (all requirements must be explicitly reviewed) and enables requirements phase-closure proposals only when closeable.
  • Ensures phase-closure confirmations validate that the confirmation payload phase matches the persisted outcome phase.
  • Updates client UI to display review-status badges in the Requirements tab and adds focused tests across client/server layers.
  • Refreshes planning/skills documentation (PLAN/SPEC consolidation, anti-fragmentation guidance) and adds a temporary memory/CARDS.md while removing the old handoff artifact.

Technical Notes: Review state is derived from latest active-path review links (latest-action-wins), and requirements→criteria handoff reuses the existing data-phase-summary/data-confirmation flow.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread src/server/db.ts
return outcome.closure_basis ?? null;
}

function hasRequirementsReviewCoverage(db: DB, projectId: number): boolean {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hasRequirementsReviewCoverage() is based on getRequirementEntitiesForProject(), which currently loads all requirement knowledge_item rows for the project; if a requirement was created on an inactive branch (no active-path review links), it will remain pending and can block requirements closeability/closure even when the active requirement set is fully reviewed.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Comment thread src/server/db.ts

const selectedReviewOptionPosition =
review.kind === 'requirement-approval' ? review.approveOptionPosition : review.rejectOptionPosition;
if (!selectedPositions.includes(selectedReviewOptionPosition)) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

recordRequirementReviewFromTurnResponse() records an approval/rejection as long as the review option position is included in selectedPositions, even if the response also selected other options (multi-select), which can persist explicit review state from an ambiguous reply and skew closeability/projection.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@lunelson lunelson changed the base branch from ln/fe-540-design-mode-commitment-exploration to graphite-base/36 April 10, 2026 11:51
@lunelson lunelson changed the base branch from graphite-base/36 to main April 10, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant