Skip to main content

interview-synthesize

interview-synthesize is the cross-stakeholder analog of fathom-sync's meeting extraction: given one project, it reads every submitted kickoff interview's source body and makes a single forced-tool Claude call (the synth model role) that reconciles across respondents, rather than summarizing each interview independently.

What it produces

One call produces four kinds of output, in one governed pass:

  • A discovery brief.
  • Risks, including scope-creep explicitly flagged against the project's guardrail.
  • Clarity gaps and expectation conflicts — who said what, when two stakeholders disagree.
  • A day-one data-and-access checklist.

Where the output lands

OutputTableGovernance
Discovery briefkickoff_briefsOne kickoff_brief approval proposal
Risksproject_risksFolded into the brief's evidence
Clarity gaps / conflictsclarity_gapsFolded into the brief's evidence
Data/access itemsdata_access_requestsDecisions land in decisions; every blocking access item also gets its own asana_task_create approval proposal, riding the existing asana-act executor

Nothing here writes to Asana directly — every proposal, including the access-item tasks, goes through the same approvals queue every other agent-proposed action goes through.

Re-runnable by design

A later brief supersedes an earlier one for the same project rather than duplicating it — if a new interview response comes in after the first synthesis ran, re-running produces an updated brief that reflects all responses to date, not two competing partial briefs.

Access

Admin/lead only, verified via the same Supabase JWT pattern as every other admin-gated function.

Where the code lives

  • sable-agents-demo/supabase/functions/interview-synthesize/index.ts
  • sable-agents-demo/supabase/functions/kickoff-intake/index.ts — the public intake that produces the sources rows this function reads
  • sable-agents-demo/supabase/functions/_shared/fathom.jsbuildTaskApprovalRows, proposalKindPaused, shared with the meeting-extraction pipeline
  • sable-agents-demo/web/interview.html, web/kickoff.html