Skip to content

V2: event audit tracker #35021

Closed
Closed

Description

@opencode-agent

Summary

Mega tracker for the V2 event/schema audit from the Discord gang-grill session.

Source discussion: https://discord.com/channels/1391832426048651334/1522263729318658181
V2 TODO post: https://discord.com/channels/1391832426048651334/1520962938733723720/1522327808465043566

The goal is to make the V2 event contract beta-ready: domain-shaped, replayable, deterministic, and pleasant for SDK/UI consumers.

Child issues

Big decisions to preserve

  • Drop session.next.*; next was migration scaffolding.
  • Put event creation time on the event envelope as created instead of payload timestamp.
  • Remove projection-only messageID fields where projected IDs can be derived from event IDs.
  • Keep domain IDs only where they are real correlation facts, e.g. callID, shell IDs, fork from.
  • Replace session.status with explicit execution lifecycle events.
  • Retry should reduce into current assistant retry state, not become message spam.
  • Event errors need a closed structured union with dot-cased type discriminators.
  • Rename provider continuation payloads from providerMetadata to state.
  • Keep metadata only for actual app/plugin extension metadata, e.g. synthetic messages.
  • Session shell should reuse Shell.Info and Shell.Output.
  • Durable log replay should use a fixed replay watermark, paged reads, and log.synced.

Acceptance themes

  • Reconnect/replay consumers can reconstruct durable state without timing races.
  • UI can render terminal states, retries, blocked provider content, guidance changes, and shell output without parsing hidden model text.
  • Provider finish: "content-filter" never looks like an empty successful assistant response.
  • Generated schema/client/plugin APIs reflect the cleaned event contract.

Notes

This tracker is intentionally broad. Use the child issues for implementation-sized work and close this when the event audit is complete or intentionally split into a later cleanup milestone.

Activity

  1. added
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    gang-grillDesign topics queued for later group grilling
    on Jul 2, 2026
  2. kitlangton commented on Jul 4, 2026

    @kitlangton
    Contributor

    Tracker status: completed audit work is mapped to merged PRs, with execution/retry/fragments/settlement cleanup consolidated in #35272. Guidance summaries and terminology remain independently tracked by #35017 and #35057. Keep open until #35272 merges, then this can close under the tracker’s “complete or intentionally split” criterion.

  3. kitlangton commented on Jul 7, 2026

    @kitlangton
    Contributor

    Current status after #35272:

    Keeping this tracker open until #35017 is resolved or explicitly deferred.

  4. kitlangton commented on Jul 7, 2026

    @kitlangton
    Contributor

    The event-contract audit is complete. #35017 is now an independent design discussion rather than a blocker for this epic; richer Session error details remain separately tracked in #35325.

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

Metadata

Metadata

Assignees

Labels

2.0coreAnything pertaining to core functionality of the application (opencode server stuff)gang-grillDesign topics queued for later group grilling

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions