Skip to content

[OA-012] Add a grounded conversation panel #12

Open

Description

@johnnycoderbot-cloud

Planned implementation slice OA-012. No application behavior is implemented by this issue.

Phase: P3 · Dependencies: OA-008, OA-009, OA-011

Full roadmap detail · Contracts

Requirements

OA-CHAT-001, OA-CHAT-002, OA-CHAT-003, OA-TRD-001, OA-AI-004, OA-CTL-002

Target files

  • apps/desktop/src/renderer/chat/ChatPanel.tsx
  • apps/service/src/chat/context.ts
  • packages/contracts/src/chat.ts
  • packages/providers/src/chat.ts

Acceptance criteria

  • Typed questions expose source-scope chips before sending; new sources are not silently added. Answers cite source labels/age and identify unreadable chart labels instead of inventing ticker/price/time.
  • A bounded recent-event context prevents unbounded token growth; fresh frame requests require the same source policy.
  • No-model, source-off, slow-response, and canceled-answer states are visible; chat never implies every video frame was understood.
  • Bionic remains the preferred external conversation surface; standalone text chat works when Bionic is unavailable.
  • Foreground questions use scheduler priority without starving background monitoring; at most one question turn precede an eligible background turn.

Verification

  • Fixture conversation tests for source attribution, stale evidence, context budget, denied source, and cancel.
  • Keyboard-only chat flow and screen-reader status announcements.
  • Opt-in local model question about the synthetic scene.

Gate and estimate

G3: standalone and Bionic conversation use the same observation contract.

3-6 first-pass work-unit hours; NOT an alpha completion estimate; assumption: 6 bounded 30-60 minute work units, prepared environment and fixtures; integration waits/rework excluded

Handoff

Record changed files, actual commands/results, mock versus live evidence, residual limits, and review verdict. Do not connect personal feeds or accounts in CI.

Bounded work units

  • Build accessible text panel (30-60 minutes)
  • Implement bounded event context (30-60 minutes)
  • Bind questions to source IDs (30-60 minutes)
  • Attach freshness citations (30-60 minutes)
  • Handle cancellation and errors (30-60 minutes)
  • Test synthetic grounded conversation (30-60 minutes)

Linked dependencies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    integration-gateExternal or native capability requires reproducible evidenceplannedExecution-ready planned work; not implemented

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions