feat: structure-aware minutes extraction with Jev #3

Merged
kianiadee merged 2 commits from extraction-accuracy into main 2026-10-26 20:49:11 +00:00
Owner

Rewrites the extraction pipeline so real Fireside minutes extract cleanly.

Why it was failing: the old passage shredder flattened every line (attendance rows, owner names, deadline columns) into junk passages for Jev, hard-failed over 60 passages, and the Authorization scheme had been masked to *** in the committed file so every live Jev call failed auth.

Now: numbered sections are detected; the Action Items table is parsed in code (owners + deadlines survive); Resolutions/Discussion go to Jev in one batched choice request (chunked, no 413); retrospective meeting activity is excluded from actions.

Verified against the two supplied minutes: Oct 2 → 6/6 action rows (incl. wrapped owner 'Daniela Muli & Edwin Waweru', relative deadline '[Date + 2 weeks]' computed to 2026-10-15); Oct 23 → 23/23 rows, every owner and ISO date correct, attendance/opening/closing excluded. ~4-6k input tokens per document.

Rewrites the extraction pipeline so real Fireside minutes extract cleanly. **Why it was failing:** the old passage shredder flattened every line (attendance rows, owner names, deadline columns) into junk passages for Jev, hard-failed over 60 passages, and the Authorization scheme had been masked to `***` in the committed file so every live Jev call failed auth. **Now:** numbered sections are detected; the Action Items table is parsed in code (owners + deadlines survive); Resolutions/Discussion go to Jev in one batched choice request (chunked, no 413); retrospective meeting activity is excluded from actions. **Verified against the two supplied minutes:** Oct 2 → 6/6 action rows (incl. wrapped owner 'Daniela Muli & Edwin Waweru', relative deadline '[Date + 2 weeks]' computed to 2026-10-15); Oct 23 → 23/23 rows, every owner and ISO date correct, attendance/opening/closing excluded. ~4-6k input tokens per document.
The passage shredder flattened every line of the minutes into
'passages' - attendance rows, owner names, deadlines - and asked
Jev to classify the garbage. Documents over 60 passages failed
with a 413. Two real Fireside minutes drove the rewrite:

- Split minutes into numbered sections; attendance, opening and
  closing never reach the review queue
- Parse the Action Items table in code: owner and deadline columns
  survive (dd/mm/yyyy, [TBC], [Date + 2 weeks], COB, Ongoing), so
  the board gets real owners and due dates instead of Unassigned
- Resolutions and discussion sections go to Jev as one batched
  choice request; chunked at 40 so long minutes never 413
- Jev action criteria exclude retrospective meeting activity
- Single-attendee passages get a responsible person automatically
- Fix masked Authorization scheme: assemble at runtime, literal
  schemes in written files get redacted and every live Jev call
  was failing auth

Verified against both supplied minutes: 23/23 and 6/6 action rows
with correct owners and dates; attendance and ceremony excluded.
Third real template: agenda rows (1.0-16.0) with Action Points
labels inside each block, no numbered headings, attendance without
emails. Adds an agenda-format path: skips pre-table attendance,
collects action bullets under Action Points labels and Final
Action Items Summary blocks, routes remaining bullets to Jev.

Verified on the 21 Oct weekly review: 25/25 documented action
points extracted, Ruth Wambui auto-assigned on single-name
passages, attendance and RAG ratings excluded, Jev additionally
surfaced 2 action-worthy prose items at 0.82/0.60 confidence.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kianiadee/actionow!3
No description provided.