Skip to content

Generate shared SourceOSInteractionEvent types for downstream surfaces #116

@mdheller

Description

@mdheller

Mission

Prevent drift between the canonical SourceOSInteractionEvent schema and downstream hand-maintained type mirrors in Noetica and AgentTerm.

The schema is now canonical in this repository and downstream support is live:

  • SourceOS-Linux/sourceos-spec#106 — schema/example/validator/workflow merged.
  • SourceOS-Linux/sourceos-spec#115 — catalog/discoverability merged.
  • SocioProphet/Noetica#16 — emits SourceOSInteractionEvent from chat lifecycle.
  • SourceOS-Linux/agent-term#46 — ingests/renders/records interaction governance traces.
  • SocioProphet/superconscious#59 — task-boundary accept/emit follow-up.
  • SocioProphet/agentplane#251 — AgentPlane run/evidence refs follow-up.

Problem

Noetica currently maintains TypeScript interfaces that mirror the schema. AgentTerm currently performs focused structural checks and fixture-based rendering. That is acceptable for bootstrap, but it will drift as the schema evolves.

The contract layer should provide a repeatable generation path for downstream consumers.

Required work

  1. Add a generated TypeScript type artifact for SourceOSInteractionEvent or a documented command that generates it from schemas/SourceOSInteractionEvent.json.
  2. Add a generated Python model or documented generation path for AgentTerm and adjacent Python consumers.
  3. Add CI that fails if generated artifacts are stale, or document a pinned regeneration command if generated artifacts are intentionally not committed.
  4. Document downstream consumption strategy:
    • vendored generated file;
    • package import;
    • schema fetch + local generation;
    • or submodule/subtree path.
  5. Define versioning expectations for downstream users when the schema changes.

Acceptance criteria

  • A developer can regenerate TypeScript and Python representations of SourceOSInteractionEvent from the canonical schema.
  • The generated artifacts or commands are discoverable from docs/contract-additions/sourceos-interaction-catalog.md or nearby docs.
  • Noetica has a clear migration path away from hand-maintained mirror types.
  • AgentTerm has a clear migration path from focused local structural checks to generated model/schema validation.
  • CI prevents obvious schema/type drift.

Non-goals

  • Do not create a new authority plane.
  • Do not move Noetica or AgentTerm implementation code into sourceos-spec.
  • Do not require live Noetica, AgentTerm, Superconscious, or AgentPlane services for spec CI.

Related

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions