Skip to content

Epic: OpenPets v4 — conversational Pet Assistant #142

Description

@alvinunreal

Goal

Deliver OpenPets v4 as a conversational desktop pet. A user can speak or type to the pet, continue one shared conversation, invoke capabilities from enabled plugins, and receive responses based on authoritative plugin results.

Product direction lives in docs/openpets_v4.md. This epic tracks delivery; child issues own implementation details.

Architecture invariants

  • The host owns conversation lifecycle, provider integration, microphone state, capability routing, transcript/history, and user-facing feedback.
  • Plugins own domain state, scheduling, notifications, and registered capability handlers.
  • Voice and chat share one canonical conversation/turn/event contract.
  • Capability results are authoritative; the assistant never invents successful actions.
  • Provider-specific wire formats never enter capability or conversation contracts.
  • The model receives only registered capabilities from enabled, healthy plugins.
  • No arbitrary plugin commands, filesystem, shell, or unrestricted SDK access is exposed.
  • Personality affects communication only; it cannot override host rules, permissions, or capability outcomes.
  • Focus and Reminder actions execute without confirmation in v4.
  • Recent local history is bounded and user-deletable; v4 has no semantic long-term memory.

Delivery tracker

Foundation

Providers and prompting

Conversation adapters

Product surfaces and retention

Completion criteria

  • Text chat and voice contribute to the same active conversation and transcript.
  • Supported text, STT, and TTS providers can be independently selected.
  • The generic voice path honors those independent selections.
  • OpenAI Realtime is an optional optimized adapter, not the provider-neutral architecture.
  • Focus Buddy and Quick Reminders work through natural-language requests using their existing domain state and scheduling.
  • Talk starts from a pet-owned control or keyboard shortcut and can be muted or ended explicitly.
  • The pet visibly represents listening, thinking, acting, speaking, missing information, success, and failure.
  • Current-session transcript and bounded recent history are viewable and deletable.
  • Required unit/contract tests, maintained docs, and real desktop validation are complete.

Coordination

Before starting a v4 child issue, claim it in an epic comment with its scope, assign it to yourself, and request a handoff if another developer has already claimed it. Link the focused PR to the child issue. After the PR is validated, reviewed, committed, pushed, and merged, comment here with the PR, delivered behavior, and validation; only then check the item off.

Out of scope

  • Calendar capabilities
  • Wake words or background listening
  • Long-term semantic memory
  • Arbitrary local-machine agent access
  • A universal confirmation framework
  • SDK capability progress streaming without a concrete v4 use case

Activity

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

Metadata

Metadata

Labels

epicTracking issue with linked delivery workv4OpenPets v4 Pet Assistant delivery

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions