Skip to content

Briefings

A briefing is the scoped question that an investigation answers. Before the reasoning engine touches your data, the assistant works with you to define exactly what you're looking for — not through a blank form, but through a structured conversation where the AI queries the knowledge graph and offers you data-grounded choices. This collaborative scoping process is called elicitation.

Why Elicitation Matters

A bad question produces a bad investigation. Elicitation prevents this by:

  • Grounding questions in real data — before asking you about scope, the assistant checks what actually exists in the graph and presents specific options
  • Walking through one field at a time — no overwhelming forms; each question builds on your previous answers
  • Validating entry points — every entity mentioned in the briefing is verified against the graph before the investigation starts
  • Surfacing cross-graph opportunities — if the question touches multiple knowledge graphs, the assistant detects this and suggests expanding scope

The result is a briefing where every field is filled with analyst-confirmed, data-verified content — and the investigation starts with a precise, achievable question.

Creating a Briefing

From an Intel Request chat, tell the assistant you want to investigate:

"I want to investigate the risk profile of operators with A320 fleets."

The assistant presents the available templates as structured options — you pick one. Then it asks for the initial question and creates the briefing. The briefing opens in the workspace with a progress indicator showing how many sections are filled.

When to create a briefing

Not every question needs one. If a single query or a short chain of lookups can answer it, exploratory analysis is faster. Create a briefing when you need multi-step reasoning, cross-graph evidence, or an auditable trail.

The Elicitation Process

Once the briefing is created, the assistant walks you through each section of the template.

1. Reconnaissance

Before asking you anything, the assistant queries the knowledge graph. If your initial question contains domain codes, it decodes them. If it mentions entities, it searches for them. The first question you see is already informed by what the graph contains.

Assistant: "Before we define scope — I found 47 incidents matching A320 engine events in the aviation-safety graph, spanning 12 operators across 2019–2025. Want to use these as the starting population, or define scope differently?"

2. One Question at a Time

The assistant presents one field at a time, using structured options when possible:

Assistant: (presents options card) "What type of investigation is this?"

  • Person lookup
  • Pattern analysis
  • Geographic analysis
  • Temporal analysis

You pick from the options or provide a free-text answer. After each answer, the assistant saves it to the briefing and moves to the next field.

3. Entry Point Verification

For every entity that appears in the briefing, the assistant verifies it exists in the graph:

Assistant: "I've verified 3 entry points against the knowledge graph:"

Entity Type Verified
Iberia LAE Operator
Vueling Airlines Operator
Air Nostrum Operator

Unverified entities are flagged — you decide whether to include them or adjust scope.

4. Automated Sections

Some sections are filled automatically by the assistant without asking you — for example, decoding domain codes from the ontology or counting matching entities for scope validation. These run in the background and are included in the briefing for your review.

5. Cross-Graph Detection

If the assistant detects that your question could benefit from data in another connected graph, it offers the option:

Assistant: "I found related entities in the airworthiness-directives graph. Want to expand this to a cross-graph investigation?"

Your accept/decline is recorded in the briefing as an explicit analyst decision.

Review and Approval

After all sections are filled, the briefing moves to review. The assistant presents each section for your confirmation:

Assistant: "This is the Objective section. Does this look correct?" (shows the section content with an approve/edit card)

You can approve section by section, or fast-track with "approve all" if the briefing looks good. Once approved, the assistant asks whether you want to start the investigation immediately.

The approval step is a hard gate — the investigation engine will not accept a briefing that hasn't been explicitly approved by the analyst.

Practical Tips

  • Let the assistant query first. The best elicitation happens when you give a rough question and let the assistant ground it in the data before you commit to scope.
  • Use templates that match your domain. Templates encode lessons learned — which tools to try, how to verify entities, what to auto-fill. A good template makes elicitation faster and the resulting investigation better.
  • Review the entry points. Unverified entities are the most common source of investigation dead ends.
  • Don't skip the review. A two-minute review catches scope problems that would cost the investigation 30 cycles to discover on its own.

Under the Hood

Template anatomy

A briefing template is plain markdown with four types of reserved code blocks that guide the elicitation agent:

  • options — valid choices for a field. Rendered as structured option cards during elicitation.
  • hint — tells the agent what the field expects. Never shown to the analyst directly.
  • guidance — tells the agent how to fill an entire section (which tools to call, which strategy to use).
  • auto — marks a section the agent fills automatically from the knowledge graph.

All four are inserted from the editor toolbar and rendered as styled cards with colored borders (amber, blue, purple, green respectively). They are consumed during elicitation and stripped from the final briefing.

A fifth marker — filled — is added by the agent as it completes each section, used for progress tracking, and removed when the briefing transitions to review.

Template management

The Briefings page at /briefings is the admin surface for templates:

  • New creates a skeleton template (Objective, Scope, Expected Output)
  • Edit opens the WYSIWYG editor on the draft version
  • Publish freezes the draft as a new version — editing never affects live briefings
  • Version history lists previous versions for rollback
  • Delete removes the template (existing briefings keep their content)

Each template has:

  • content — the currently published version (what gets copied into new briefings)
  • draft_content — the work-in-progress (what the editor shows)
  • profile — optional scope (e.g., ciber, aviation); null means visible everywhere
  • current_version — monotonic integer, incremented on publish
Parsing and lifecycle

The briefing passes through four phases:

Phase Content state
Template authoring Author-written reserved blocks, no filled markers
Briefing creation Template copied verbatim into a new briefing
Elicitation Agent walks sections, fills fields, consumes reserved blocks, adds filled markers
Review / investigation Clean markdown — all reserved blocks and filled markers stripped

The agent parses reserved blocks with a regex over fenced code blocks. The syntax is forgiving: anything inside a fenced block with one of the reserved language tags is picked up regardless of indentation.

Learn More