Skip to content

[Feature]: P0 presentation profile contract, selection, and native delivery #1060

Description

@roomote-community

Parent

Goal

Establish the reliable, provider-neutral contract and selection foundation for Presentation Profiles, including native cross-chat media delivery and deterministic fallbacks.

Scope

  • Define a versioned Presentation Profile schema that keeps skill, recipe, style, and delivery independently configurable.
  • Define deterministic selection precedence for explicit message settings, current action/composer selection, task/thread overrides, user and organization defaults, and automatic recommendation.
  • Support natural-language and quick-action profile selection at the shared contract level.
  • Add typed image, animation, video, and document media contracts.
  • Implement provider-native media delivery for Discord, Slack, Teams, Telegram, and Roomote web where supported.
  • Implement motion -> PNG -> text fallback without losing the answer, status, or citations.
  • Record profile/version, selection source, generated variants, delivery method, response, and fallback outcome.
  • Add mock transport coverage and a documented real-platform golden-media smoke suite.

Acceptance criteria

  • Profile schema is versioned, validated, and excludes secrets, credentials, remote scripts, and unrestricted executable HTML/CSS.
  • Selection precedence is deterministic and covered by tests.
  • Skill, recipe, style, and delivery remain independently configurable.
  • Applied profile and version can be included in results.
  • Discord uses native GIF/video attachments for motion.
  • Telegram supports sendAnimation and sendVideo.
  • Teams supports an Adaptive Card selection path or documented conversational fallback.
  • Every motion delivery can fall back to PNG and text with citations intact.
  • Provider mocks validate methods, payloads, retries, threading, and fallbacks.
  • Real-client smoke checks cover playback, mobile layout, reduced motion, and CDN transformations.

Out of scope

Persisted organization/user profiles, built-in profile templates, the full web Present composer, brand kits, and publishing are tracked in later phases.

Dependency

This is the first delivery phase and blocks P1 and P2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions