Skip to content

Kane Factory: receipt bridge accepts spec-mode receipts (ticket, app, implemented) #91

Open

Description

@sykosyber

Follow-up to #89 (receipt bridge). Contract: https://github.com/SyberLabs/attest/issues/11

#89 already accepts today's real doc-mode receipts (verified against live Kane runs). Spec mode receipts add optional top-level ticket, app and worker, authority.decision: "implementation_required" and disposition: "implemented".

Acceptance

  • ticket, app, worker accepted as optional; truly unknown fields still rejected.
  • disposition: "implemented" maps to an observation that names the ticket title and app.patch_sha256.
  • If evidence.after.status == "proven", record it as destination verified by Kane's re-check; a receipt claiming verified: true itself is still rejected.
  • One test with a spec-mode receipt fixture.

Activity

  1. sykosyber commented on Oct 24, 2026

    @sykosyber
    MemberAuthor

    Verified with a real spec-mode receipt from a live Kane + OpenAI run (Attest main 15eba45, receipt 0ca486124ac8-c05-33):

    • Acme CRM spec: Kane found "Mark as won" missing (broken), Attest issued a ticket, the OpenAI worker (openai:gpt-5-mini) implemented it in the candidate app, Kane re-checked: proven (c05_label = "Won"), disposition implemented.
    • examples/attest_receipt_observe.py at e94552d accepts it and emits the observation with ticket, app, worker, implementation and destination_verification, top-level verified: false. That closes this issue from Attest's side.

    Remaining for the demo: the dispatch worker CLI (#90), so Attest can run with ATTEST_WORKER_CMD pointing at SyberWork instead of calling OpenAI directly. The ticket JSON written by the live run is a good test input: Attest writes it to <home>/tickets/<case_id>.json; its shape is in SyberLabs/attest#11.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions