Skip to content

Commit b56acee

Browse files
Staacksclaude
andcommitted
Delete control-start-refused: both platforms report a refused start now
phyphox-android 44678d6d and phyphox-ios 37af4187 both landed on development, and iOS covered it with tests. Once every implementation agrees the entry goes, together with its spec references - readers learn about corrected behaviour from the release changelog, not from a lingering note. What stays is the contract itself: openapi.yaml documents that the result of cmd=start reflects whether the measurement actually began, which is now what both apps do. Both platform TODO files are deleted; the item was their only content. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 827c3e8 commit b56acee

2 files changed

Lines changed: 0 additions & 34 deletions

File tree

‎docs/remote-interface/openapi.yaml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,6 @@ paths:
260260
tags: [control]
261261
summary: Start, stop, clear, or write a value
262262
operationId: control
263-
x-phyphox-inconsistency: [control-start-refused]
264263
description: |
265264
Sends a command to the running experiment. Always answers with
266265
`{"result": true}` or `{"result": false}`; the response says whether the
@@ -333,7 +332,6 @@ paths:
333332
tags: [control]
334333
summary: Start, stop, clear, or write a value (POST)
335334
operationId: controlPost
336-
x-phyphox-inconsistency: [control-start-refused]
337335
description: |
338336
Identical to `GET /control`, with the command and its parameters in the
339337
request body, e.g. `{"cmd": "set", "buffer": "height", "value": 1.87}`.

‎inconsistencies.yml‎

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -89,35 +89,3 @@
8989
A non-power-of-two number of input samples yields a different output
9090
length and different values on the two platforms; a power-of-two input
9191
gives identical results on both.
92-
93-
- id: control-start-refused
94-
title: 'A refused start still answers {"result": true}'
95-
area: remote-interface
96-
status: decided
97-
canonical: >-
98-
`/control?cmd=start` must answer `{"result": false}` when the experiment
99-
was not started. Whether a start succeeds is not something a remote client
100-
can otherwise determine: the only other signal is `status.measuring` in a
101-
subsequent `/get`, which requires a second request and a race-free moment
102-
to make it in.
103-
affects:
104-
android: >-
105-
Answers `{"result": true}` for a start the app refused. Observed on a
106-
Pixel 3 with a Bluetooth experiment whose device was not yet fully
107-
connected: the app put "The Bluetooth device is not connected. Experiment
108-
can not be started." on screen, `status.measuring` stayed false, and
109-
`/control?cmd=start` reported success.
110-
verified: >-
111-
2026-08-27, Android development build on a Pixel 3 against an ESP32 running
112-
the Arduino randomNumbers example (phyphox-docs device lab, ble suite).
113-
summary: >-
114-
A client that starts an experiment over the remote interface cannot tell
115-
from the answer whether it is running. The documented meaning of `result`
116-
is "whether the command was accepted", and Android still answers that
117-
literally - a start that the app then refuses, because a Bluetooth device
118-
is not connected or another precondition fails, is still reported as
119-
successful. The maintainer decided (2026-08-28) that the result must
120-
reflect whether the measurement actually started; iOS was corrected on its
121-
development branch the same day and now answers `false` for a refused
122-
start. Until Android follows, poll `status.measuring` from `/get` to
123-
confirm a start rather than trusting the answer.

0 commit comments

Comments
 (0)