Skip to content

Commit b8376fe

Browse files
committed
[docs] record iPad acceptance access and preserved candidate evidence
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
1 parent 3bafba6 commit b8376fe

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<!-- SPDX-License-Identifier: MIT -->
2+
<!-- Part of PyBLE (https://pyble.dev) — see /LICENSE. -->
3+
4+
# iPad recovery acceptance continuation
5+
6+
| Field | Record |
7+
|---|---|
8+
| Date | 31 October 2026, Asia/Bangkok |
9+
| Scope | Remaining normal-app recovery and affected workflow observations for PYB-006.2 / PYB-008.1 |
10+
| Current outcome | Candidate installation and launch pass; automated native UI execution awaits the device owner's iPadOS authentication |
11+
| Source | PR #40 merged at `6f5b3ea73a70342331fb49d0685938ce2a4cae11`; subsequent planning changes do not change app runtime bytes |
12+
| Candidate | PyBLE Preview `0.3.0 (9)`, normal `lib/main.dart`, signed profile mode, isolated `dev.pyble.recoveryqualification` identity |
13+
| Physical platform | iPad Air 13-inch (M4), model `iPad16,10`, iPadOS `26.6.2` |
14+
| Operator | Automated engineering run on the maintainer's Mac; no independent human review or participant observation claimed |
15+
| Prior results | [Platform observations](02_Platform_Qualification.md); native storage seed/kill/verify is distinct from normal-app interaction acceptance |
16+
17+
## Candidate and initial state
18+
19+
The signed app archive is retained privately as
20+
`local/recovery-implementation/ipad-preview-0309/PyBLE-Preview-0.3.0-9-profile.app.zip`.
21+
Its SHA-256 is
22+
`c91bc6f7e14f421a528668bd3723e3f965d55f79f11ea90fec707a8fb15a4d1a`.
23+
The copied Dart runtime matches merged source; only the isolated native identity
24+
and display name distinguish the installation. Signature verification,
25+
installation and foreground launch passed. The disconnected scan displayed all
26+
five board labels. Discovery alone does not establish a connection or completed
27+
board workflow.
28+
29+
The existing TestFlight `dev.pyble.pyble` installation remains version
30+
`0.2.0 (6)`. The Preview application support files were copied privately before
31+
continuation. The copied SQLite database passes `integrity_check` and contains
32+
zero draft rows and zero content bytes. No storage reset, user-data deletion or
33+
board write was used to establish that initial state.
34+
35+
## Native UI runner attempt
36+
37+
| Step | Actual observation |
38+
|---|---|
39+
| Build | Native XCTest helper builds successfully against the connected physical-device SDK; it operates the separately installed normal app |
40+
| Runner startup | Signed helper starts on the iPad |
41+
| OS authentication | iPadOS displays **Touch ID for “XCTest” — Enable UI Automation** |
42+
| Result | Runner initialization times out after 60 seconds while enabling automation mode; the test body does not run |
43+
| Classification | Operator-access dependency, not a failed PyBLE recovery assertion |
44+
| Required action | Device owner authenticates the iPadOS prompt; retry the retained test and then execute the remaining workflow steps |
45+
46+
The owner was asked to authenticate on the device. No passcode or biometric
47+
material was requested, captured or substituted. Raw screenshots and the
48+
`.xcresult` remain in ignored `local/recovery-completion/ipad/`; they are not
49+
public documentation assets.
50+
51+
## Acceptance accounting
52+
53+
| Evidence | State after this attempt |
54+
|---|---|
55+
| Installed normal candidate, version and signature | Pass, limited to the local Preview identity |
56+
| Foreground launch and five-board discovery | Pass, disconnected discovery only |
57+
| Native storage process termination/reopening | Prior passing seed/verify evidence retained in the platform report |
58+
| DR-T12 normal Blocks-to-Editor checkpoint/relaunch | Not run in this continuation; native UI access pending |
59+
| DR-T14 normal offline Restore and physical current-board consent | Not run in this continuation; native UI access pending |
60+
| Remaining applicable P01–P15 steps | Execute and record actual outcomes after UI authorization; the prepared test is not execution evidence |
61+
| Five-profile iPad release rows | Pending; no qualification inferred from the five scan results |
62+
| M-02 / release admission | Remain pending until mandatory evidence and review are complete |
63+
64+
The [operator recipe](01_Operator_Recipe.md) and
65+
[normative scenario matrix](../../../specifications/App/current-draft-recovery.md#7-required-evidence-before-acceptance)
66+
remain the acceptance authority. This record does not change their requirements.

0 commit comments

Comments
 (0)