Skip to content

Milestone 1 — v1.0 wire alignment (10 sub-PRs) #11

@nficano

Description

@nficano

Goal

v1.0 wire alignment — the foundation. The largest milestone, split into 10 sub-PRs so reviewers can land them incrementally.

Sub-PRs

  • 1A: New Envelope (8 fields per §5.1) + manual Codable for type discriminator
  • 1B: Message enum + v1.0 message types: session.hello/welcome/bye/error, job.submit/accepted/event/result/error/cancel
  • 1C: 2-step session handshake (hello/welcome) + ResumeToken rotation in ARCPRuntime
  • 1D: event_seq session-scoped monotonic counter; replay keyed on last_event_seq
  • 1E: Unified job.event envelope; JobEventBody enum for 8 v1.0 kinds
  • 1F: Lease model rewrite: immutable Lease value type, Capability enum with xVendor(String), Pattern glob compiler, LeaseEvaluator.authorize
  • 1G: Error code overhaul: 12-case v1.0 ARCPError. Drop gRPC-style codes
  • 1H: Delegation (event-kind, not envelope-type): delegate body, parent-trace inheritance, LEASE_SUBSET_VIOLATION on subset failure
  • 1I: Strip dead surfaces: HITL, Artifacts.swift, Streaming.swift, etc. Move JWT auth to opt-in ARCPAuthJWT target. Drop SQLite from default
  • 1J: Target split per 04-architecture.md §1: rewrite Package.swift, move files into Sources/ARCP{Core,Client,Runtime}/. Add ARCPWebSocketClient shell

Definition of done

A submit-and-stream example compiles and round-trips through MemoryTransport against v1.0 spec-shaped envelopes, with no v1.1 features.

Spec §

§5.1, §6, §7.1–§7.4, §8.1, §8.2, §9.1–§9.4, §10, §12, §14

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