Skip to content

aps schema: self-describing contract endpoint #32

Closed

Description

@0xLeif

Design decision 4. Precondition for dynamic schema (1.0): when users define keys, agents discover them here.

New aps schema command emitting one versioned JSON document: cliVersion + schemaVersion, keys (name/type/storage/lifetime/path pattern), commands with flags and payload references, JSON Schemas for all payloads (KeyValuePayload, KeysPayload, WatchEvent, ResetPayload, error envelope), and the error-code -> exit-code table.

Acceptance criteria

  • aps schema --json output validates and is asserted in tests
  • schemaVersion bump rule documented (any contract change bumps it)
  • README agent section documents it plus the free --experimental-dump-help tree
  • specs updated in the same change

Locked decisions (design interview round 2, 2026-07-18)

  • Static contract only; live state stays in dump. Integer schemaVersion, bumped on any contract change; agents compare equality and bail on mismatch. Document must be cacheable.

Activity

  1. added this to the v0.3.0 milestone on Jul 18, 2026
  2. added
    enhancementNew feature or request
    agent:kimiTicket claimed by the Kimi Code agent. One agent per ticket; remove when the PR is up or work stops.
    on Jul 18, 2026
  3. 0xLeif commented on Jul 18, 2026

    @0xLeif
    OwnerAuthor

    Claimed by kimi. Working branch: kimi/issue-32-aps-schema (worktree ../aps-cli-wt/issue-32). Builds on the error contract in PR #47.

  4. 0xLeif commented on Jul 18, 2026

    @0xLeif
    OwnerAuthor

    PR open: #51 - releasing the kimi claim.

  5. removed
    agent:kimiTicket claimed by the Kimi Code agent. One agent per ticket; remove when the PR is up or work stops.
    on Jul 18, 2026
  6. added a commit that references this issue on Jul 19, 2026
    2a6b1c7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions