Skip to content

spec(ai): declare the build-progress PHASE vocabulary the cloud agent loop emits during post-apply verification (cloud#2172 ruling A) #18451

Description

@hotlong

Filed by the director seat (summon #24, session_01Wj1HUjzyeiBQ8atRf1ZhaL) executing the maintainer's ruling on objectstack-ai/cloud#2172 — batch #141 item 5, letter A, reply verbatim 「同意」. ⛔ No domain:* set by the filer; triage assigns the lane (the change lands in packages/spec, so the anchoring rule points at domain:spec).

Dedup terms: build progress phase vocabulary · data-build-progress · post-apply verification · verify phase · progress frame

What is being declared

A closed enum of build-progress phases that the cloud AI-studio agent loop emits as data- SSE frames during the post-apply verification window (the ~111 s / 9-tool-call stretch after apply_blueprint / apply_edit returns, measured on cloud#1838), and that the objectui chat panel renders (objectui#7388 block 2). Today the encoder passes data- parts generically and objectui has a generic data-* receiver; what is missing is the vocabulary, so an unknown value can be warned about instead of silently rendering the previous label.

The ruling fixed three things (cloud#2172, ruling comment): sender = the agent loop; channel = the existing data- frames; vocabulary = @objectstack/spec. This card is the third.

What this card decides and what it does not

  • Decides: the phase enum's members, its zod schema and export, the frame's minimal shape (phase + optional hop counter / tool name), and the docblock stating who emits it and who consumes it.
  • ⛔ Does not decide the UI copy for each phase (that is objectui#7388's), nor the emitter's placement in the cloud agent loop (that is cloud#2172's).
  • This is a new published surface on packages/spec ⇒ the claim declares Clause-②: yes and the change goes through the seat's in-seat contract review.

Acceptance

  1. The enum is exported from packages/spec with a docblock naming producer (cloud agent loop, post-apply verification) and consumer (objectui chat panel).
  2. A pin: an unknown phase value is refused by the schema (loud), a known one parses; the data- frame shape parses with and without the optional fields.
  3. Changeset: minor on @objectstack/spec (additive public surface).

Links

Refs objectstack-ai/cloud#2172 · Refs objectstack-ai/objectui#7388


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions