Skip to content

Slice 2: visitor-framed answers (grounded, faithfulness-guarded) #28

Description

@domuk-k

Parent

#26

What to build

Once a visitorType is known (from Slice 1), the agent frames its answers for that visitor — grounded in the notes, never inflating.

  • Framing is a pure function: framingFor(visitorCtx) → instructionFragment, injected into generation.
    • recruiter → hireable strengths + concrete proof
    • peer developer → technical depth
    • unknown / 안 밝힘 → neutral (no framing)
  • Framing changes emphasis and angle, never the facts. Selling = framing true facts for the listener (CONTEXT.md: Faithfulness). Overselling must register as a faithfulness regression in the eval.

Acceptance criteria

  • framingFor returns a distinct instruction fragment per visitor type (recruiter / peer / casual / unknown)
  • recruiter framing emphasizes hireable strengths + proof; peer framing emphasizes depth — asserted via angle markers in the pure-fn test
  • unknown visitor → no framing fragment (neutral baseline)
  • Generated answer for a framed visitor stays grounded — golden case asserts framing markers present AND faithfulness score does not regress
  • Framing is applied via the generation instruction, not by post-editing the answer

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions