Skip to content

Generate shared SourceOSInteractionEvent types for downstream surfaces #116

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions