Skip to content

feat: expose structured Lavish feedback reads - #91

Merged
dnth merged 1 commit into
mainfrom
fm/port-3321-3371-lavish-feedback
Sep 2, 2026
Merged

dnth merged 1 commit into
mainfrom
fm/port-3321-3371-lavish-feedback

Conversation

@dnth

@dnth dnth commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Intent

Port upstream kunchenguid/firstmate PRs kunchenguid#3321 and kunchenguid#3371 into this fork on the firstmate side only, adapting bin/fm-procevent-lavish.sh. Present captured Lavish results as structured output enumerating every prompt and annotation, keeping the session-ending freeform message distinct. Always surface non-choice freeform comments even with selectors, while suppressing machine-generated choice Context data and not fabricating comments for pure annotations. Add executable behavioral regression coverage and keep bin/fm-lint.sh clean. Do not modify lavish-axi or any OMP adapter/spawn/verification/wake code; prove tests/fm-omp-harness.test.sh passes. Firstmate-Validation-Generation: 9fe6c20f313742c3baf00e7da620264e

What Changed

  • Added a read command to present captured Lavish results with completeness metadata, per-item annotations, and a distinct session-ending message section.
  • Preserved non-choice freeform comments while filtering machine-generated choice context and avoiding fabricated comments for pure annotations.
  • Updated process-event guidance and added executable regression coverage for the structured-read behavior.

Risk Assessment

🚨 High: The requested two-PR port is incomplete, and the new reader can silently alter multiline feedback content, so merge requires explicit scope confirmation and a correctness fix.

Testing

Ran the targeted process-event/Lavish behavioral suite and required OMP harness regression suite; both passed. Manually exercised the public structured-read command and captured reviewer-visible transcript evidence. No source or worktree artifacts were left behind.

Evidence: Lavish structured-read evidence

Structured Lavish read transcript showing a distinct session-ending message, preserved selector-bearing freeform comment, pure annotation, filtered choice Context payload, and completeness metadata.

$ bin/fm-procevent-lavish.sh read <fixture>

SESSION-ENDING MESSAGE
| final captain comment
END SESSION-ENDING MESSAGE

declared_items: 4
presented_items: 4
malformed_items: 0
complete: yes
lifecycle: feedback
session_ended: true
annotation_count: 3
session_ending_message_count: 1

ANNOTATIONS
ANNOTATION 1 of 3
element_uid: el-a
element_selector: #a
tag: note
text:
| element text
prompt:
| typed comment
ANNOTATION 2 of 3
element_uid: el-b
element_selector: #b
tag: note
text:
| pure annotation
ANNOTATION 3 of 3
element_uid: 
element_selector: 
tag: choice
text:
| Ship it
END ANNOTATIONS
END LAVISH RESULT (4 of 4)

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

⚠️ **Review** - 2 issues (1 error, 1 warning)
✅ **Test** - passed

✅ No issues found.

  • bash tests/fm-procevent.test.sh
  • bash tests/fm-omp-harness.test.sh
  • Manual bin/fm-procevent-lavish.sh read verification with representative feedback, annotation, choice, and session-ending message records; transcript saved as evidence
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

@dnth
dnth merged commit 4816462 into main Sep 2, 2026
15 checks passed
@dnth
dnth deleted the fm/port-3321-3371-lavish-feedback branch September 2, 2026 06:18
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