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​

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