Skip to content

feat(types): authoring observe, command, and bind schemas - #35

Open
abrichr wants to merge 1 commit into
mainfrom
feat/authoring-schemas-2026-08-31
Open

feat(types): authoring observe, command, and bind schemas#35
abrichr wants to merge 1 commit into
mainfrom
feat/authoring-schemas-2026-08-31

Conversation

@abrichr

@abrichr abrichr commented Aug 31, 2026

Copy link
Copy Markdown
Member

Reader

A types reviewer checking that the vendor wire cannot carry field values, window titles, or screenshots. If that sentence stops being true, tests/test_authoring.py should fail.

What this does

Public MCP wire for hosted authoring. ChatGPT.com and Claude.ai drive a first demonstration through tools; this package is the contract those tools share with Desktop and stdio.

Three schemas:

  • openadapt.authoring.observe/v1 — projected tree. Normalized bounds, roles, automation ids. No ComputerState, no UINode. Sharing ElementRole is the only computer-state reuse.
  • openadapt.authoring.command/v1 — mailbox envelope. Hosted click is { node_id } only. Compile returns needs_human_admit, not VERIFIED. Pause results name a param and never a value.
  • openadapt.authoring.bind/v1bind_status plus exact oab_ / oals_ parsers. Tests reject oar_, oap_, oab_ with a hex body, oals_ with a base64url body, and anything that merely starts with oa.

additionalProperties is false. Extra keys fail. value, title, and screenshot fail. The projector stays in Capture.

Taxes/RBC/Amex are an example job only. No vertical nouns in the schemas. No AWS. No control_plane path.

Reviewer checks

  • tests/test_authoring.py: extra keys and value / title / screenshot fail on observe, command, and bind.
  • Packaged JSON under openadapt_types/schemas/authoring-*-v1.json matches the Pydantic models.
  • Bind tokens are oab_ + 43 unreserved characters. Cloud oar_ and pairing oap_ are refused.
  • uv run pytest — 347 passed. Source-boundary check passed.

Do not merge.

Opened by an agent session, not the founder.

Add the public MCP wire for hosted authoring. Observe, command, and bind
are strict contracts with additionalProperties false. They do not reuse
ComputerState or UINode. Extra keys and value, title, and screenshot fail
validation. Bind tokens are oab_, not oar_.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant