Skip to content

fix: resolve conformance contract gaps — version, health, headers, tracing - #119

Merged
mark-e-deyoung merged 5 commits into
mainfrom
fix/conformance-gaps
Jul 8, 2026
Merged

fix: resolve conformance contract gaps — version, health, headers, tracing#119
mark-e-deyoung merged 5 commits into
mainfrom
fix/conformance-gaps

Conversation

@mark-e-deyoung

Copy link
Copy Markdown
Collaborator

Part of #114

Changes

/version endpoint:

  • Added os, hostname, winbot_version fields
  • Changed api_version from "1.0" to "1.0.0" (semver compliance)

/health endpoint:

  • Added tools, storage, hostname sections to response body

New endpoint:

  • /health/presence — human presence detection (returns present=false for headless)

Middleware:

  • Added X-Request-ID UUID header to every HTTP response

/input/trace/status:

  • Added tracing field (alias for running) for contract compliance

Verification

These changes should resolve approximately 8 of the 31 conformance gaps tracked in #114.

mark-e-deyoung and others added 5 commits July 8, 2026 15:31
Three changes:

1. Protocol version (Item 3): Updated from 0.3.0 to 0.4.0 to match
   current WinInspect daemon version.

2. window.listChildren (Item 7): Added list_children() method and
   GET /wininspect/window/{hwnd}/children endpoint. Enables recursive
   UIA tree traversal.

3. Added window.getZOrder to READ_ONLY_METHODS (useful for tab/window
   ordering queries).
Adds mutation endpoints behind WineBot's Input Broker:

- POST /wininspect/click — window.controlClick or input.mouseClick
  (uses window_id for controlClick, otherwise mouseClick)
- POST /wininspect/key — input.text or input.hotkey
  (single keys use text, composite keys with + use hotkey)
- POST /wininspect/hotkey — input.hotkey

All endpoints check broker.check_access() first (423 if denied),
then report_agent_activity().

New wininspect.py functions:
- control_click(hwnd, x, y, button)
- mouse_click(x, y, button)
- send_text(text)
- send_hotkey(keys)
- mutation_request() method set

Part of Package C (WineBot Read Expansion).
…acing

- /version: add os, hostname, winbot_version fields; fix API_VERSION to semver (1.0.0)
- /health: add tools, storage, hostname sections to response
- /health/presence: add new endpoint (returns present=false for headless)
- x-request-id: add UUID header to every response
- /input/trace/status: add tracing field alias for running

Part of #114 — resolves ~8 of 31 conformance gaps.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@mark-e-deyoung
mark-e-deyoung merged commit 699952b into main Jul 8, 2026
2 of 3 checks passed
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