Skip to content

Commit fc904d0

Browse files
committed
[docs] reconcile physical acceptance and remaining release gates
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
1 parent 3b9afac commit fc904d0

15 files changed

Lines changed: 223 additions & 46 deletions

‎CHANGELOG.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ and build-8 submission handoffs remain historical artifact records.
2323
offers offline preview, Restore and confirmed Discard, with separate local
2424
checkpoint status and an explicit Save recovery copy action. Storage errors
2525
preserve the previous copy and live text, with explicit volatile continuation.
26+
- Fixed landscape editing with the software keyboard open: the console output
27+
strip temporarily collapses to its status/actions bar, and navigation
28+
destinations remain reachable by scrolling. Expanding requests keyboard
29+
dismissal from the current platform window, including native Blocks fields.
30+
iPad layout also accounts for keyboards reopened through the keyboard palette
31+
without applying the same overlap twice; document/console state is retained.
2632
- Added document-epoch and connection-session guards for Editor Save/Run,
2733
Files Open/Upload and Blocks-to-Editor replacement. Restored drafts require
2834
current-destination confirmation before board writes; a board swap after text

‎README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ copies. See the [candidate execution record](docs/developments/2026-q4-reliable-
107107
for passing automated checks and candidate-specific device evidence. Local
108108
Android and iPad Preview installations are engineering candidates; their
109109
installation does not establish store availability or release qualification.
110+
The [release readiness record](docs/developments/2026-q4-reliable-workflow/c1-s2/06_Release_Readiness.md)
111+
tracks signed-artifact preparation, qualification and the channel handoff.
110112

111113
### Firmware
112114

‎docs/ROADMAP.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ v0.7.0 remains non-normative and requires separate maintainer approval.
4444
45–72 hour estimate remains a forecast, not measured effort.
4545
- Correct the [stale public TestFlight description](developments/2026-q4-reliable-workflow/c1-s1/05_TestFlight_Metadata_Correction.md)
4646
through the distribution owner; replacement copy is prepared, not published.
47-
- Complete release qualification and channel delivery for merged app `0.3.0+9`,
47+
- Complete [release qualification and channel delivery](developments/2026-q4-reliable-workflow/c1-s2/06_Release_Readiness.md) for merged app `0.3.0+9`,
4848
retaining the recorded 0.2.0 channel baseline until the new channel is verified. The
4949
[Android publication review](testing/website/android-open-testing-2026-09-25.md)
5050
records live open-testing availability. The

‎docs/developments/2026-q4-reliable-workflow/01_Overview_and_Scrum_Framework.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
|---|---|
1010
| Package | PyBLE 2026 Q4 reliable workflow, Cycle 1 (`C1`) |
1111
| Prepared | 25 September 2026; Asia/Bangkok |
12-
| Strategy | [Implementation Plan, revision 1.4](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md) |
12+
| Strategy | [Implementation Plan, revision 1.7](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md) |
1313
| Repository baseline | `23ed764b0ef88dce9720c66fbd1c0655268860cf` |
1414
| Proposed cycle | 28 September–20 December 2026; six two-week Sprints |
1515
| Status | C1-S1 device retry on 25 September: six tasks Done, two Prepared and four Awaiting evidence; both current channel installations verified, pilot work unfinished. Later Sprints require replanning against new sizing; no staffed-team ceremony is inferred |
@@ -18,7 +18,7 @@
1818

1919
This package derives execution views from the strategy. It does not replace normative specifications, expand hardware claims, create GitHub issues, or authorize store/website publication. The strategy and original package were recorded together in planning baseline `d039db0`. The [C1-S1 execution record](c1-s1/00_Execution_Record.md) owns actual results and blockers.
2020

21-
**31 October continuation update:** bounded recovery candidate `0.3.0+9` is merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40) at `6f5b3ea`; the integrated suite and post-merge CI pass. Both tablets have local candidate installations and native storage restart evidence. [C1-S2 implementation record](c1-s2/00_Execution_Record.md) tracks the remaining physical acceptance separately from release qualification. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the planning baseline; the current continuation order and unresolved capacity inputs are recorded in the [Sprint plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast).
21+
**31 October continuation update:** the `0.3.0+9` recovery baseline merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40). Physical qualification exposed three keyboard defects; their repairs at `bef67bd` pass 984 ordinary tests and all 36 PR #41 checks. iPad recovery, final keyboard regressions and all five iPad app-only board rows pass with declared source/firmware scope. Earlier Android recovery and board rows pass, but a later final-candidate Blocks startup observation remains under investigation. Signed packages and a channel packet are prepared; admission and actual store delivery remain separate. The [C1-S2 record](c1-s2/00_Execution_Record.md) binds the evidence. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the baseline; the [continuation plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast) records unresolved capacity inputs.
2222

2323
## Navigation and ownership of information
2424

@@ -35,7 +35,7 @@ This package derives execution views from the strategy. It does not replace norm
3535

3636
```mermaid
3737
flowchart LR
38-
Strategy["Strategy revision 1.6"] --> Goal["One Product Goal"]
38+
Strategy["Strategy revision 1.7"] --> Goal["One Product Goal"]
3939
Goal --> Roadmap["Outcome roadmap and milestones"]
4040
Roadmap --> Product["Ordered Product Backlog"]
4141
Product --> Planning["Sprint Planning"]
@@ -140,7 +140,7 @@ When facts or priority change, update the canonical file above and its dependent
140140

141141
| Source | Use and precedence |
142142
|---|---|
143-
| [Strategy revision 1.6](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md) | Scope, targets, six-Sprint capacity, three outcomes, Ready program and conditional horizons |
143+
| [Strategy revision 1.7](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md) | Scope, targets, six-Sprint capacity, three outcomes, Ready program and conditional horizons |
144144
| [Public roadmap](../../ROADMAP.md), [README](../../../README.md) | Current capability and distribution baseline |
145145
| [App specification](../../specifications/App/specs.md), [App TDD](../../specifications/App/TDD.md), [ADR-0010](../../decisions/0010-working-loop-in-memory-document.md) | Persistence contract and recorded implementation deviation; consult frozen working-loop scope |
146146
| [Firmware roadmap](../../planning/firmware-v0.6.1-v0.7.0-roadmap.md), [PBLE/1](../../specifications/protocol.md) | v0.7 proposals versus frozen wire behavior; old v0.6.1 publication/#24 wording is historical |

‎docs/developments/2026-q4-reliable-workflow/02_Product_Roadmap.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
|---|---|
88
| Status | C1-S1 has six tasks Done, two Prepared awaiting pilot setup and four Awaiting evidence; existing channel installations verified. Future direction remains conditional and forecasts need revision after sizing |
99
| Planning date | 25 September 2026; dates use Asia/Bangkok |
10-
| Source | [Implementation strategy revision 1.6](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md), particularly §§1, 6–9, 12, 14, and 19 |
10+
| Source | [Implementation strategy revision 1.7](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md), particularly §§1, 6–9, 12, 14, and 19 |
1111
| Inspected baseline | `main` at `23ed764b0ef88dce9720c66fbd1c0655268860cf` |
1212
| First cycle | C1: 28 September–20 December 2026; later horizons conditional through September 2028 |
1313
| Planning authority | Product Owner orders the Product Backlog; Developers forecast feasible work during Sprint Planning; names and capacity remain unassigned |
1414
| Related documents | [Framework](01_Overview_and_Scrum_Framework.md), [milestones](03_Milestones.md), [Sprint Plan](04_Sprint_Plan.md), [stories](05_Product_Backlog_and_Stories.md), [Sprint Backlogs](06_Sprint_Backlogs.md) |
1515

16-
**31 October continuation update:** bounded recovery candidate `0.3.0+9` is merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40) at `6f5b3ea`; the integrated suite and post-merge CI pass. Both tablets have local candidate installations and native storage restart evidence. [C1-S2 implementation record](c1-s2/00_Execution_Record.md) tracks the remaining physical acceptance separately from release qualification. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the planning baseline; the current continuation order and unresolved capacity inputs are recorded in the [Sprint plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast).
16+
**31 October continuation update:** the `0.3.0+9` recovery baseline merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40). Physical qualification exposed three keyboard defects; their repairs at `bef67bd` pass 984 ordinary tests and all 36 PR #41 checks. iPad recovery, final keyboard regressions and all five iPad app-only board rows pass with declared source/firmware scope. Earlier Android recovery and board rows pass, but a later final-candidate Blocks startup observation remains under investigation. Signed packages and a channel packet are prepared; admission and actual store delivery remain separate. The [C1-S2 record](c1-s2/00_Execution_Record.md) binds the evidence. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the baseline; the [continuation plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast) records unresolved capacity inputs.
1717

1818
## Product Goal and decision principle
1919

‎docs/developments/2026-q4-reliable-workflow/03_Milestones.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
| Control | Value |
77
|---|---|
8-
| Status | M-01/SG0 remains Blocked on 25 September by pilot ownership/cohort/setup and capacity decisions; existing channel installations verified on retry. M-02 is in progress in the 31 October candidate with acceptance pending; other milestones remain Proposed and forecast windows need replanning |
8+
| Status | M-01/SG0 remains Blocked on 25 September by pilot ownership/cohort/setup and capacity decisions; existing channel installations verified on retry. M-02 is in progress in the 31 October candidate with acceptance pending; M-04/M-05 artifact and distribution preparation is underway, with admission and channel delivery still pending; forecast windows need replanning |
99
| Planning date | 25 September 2026; dates use Asia/Bangkok |
10-
| Source | [Implementation strategy revision 1.6](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md), especially §§4, 8–10, 14, and 19 |
10+
| Source | [Implementation strategy revision 1.7](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md), especially §§4, 8–10, 14, and 19 |
1111
| Inspected baseline | `main` at `23ed764b0ef88dce9720c66fbd1c0655268860cf` |
1212
| Related documents | [Framework](01_Overview_and_Scrum_Framework.md), [roadmap](02_Product_Roadmap.md), [Sprint Plan](04_Sprint_Plan.md), [stories](05_Product_Backlog_and_Stories.md), [Sprint Backlogs](06_Sprint_Backlogs.md) |
1313
| Meaning | Milestones describe inspectable outcomes and decision evidence; they are not additional Scrum events or promised releases |
1414

15-
**31 October continuation update:** bounded recovery candidate `0.3.0+9` is merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40) at `6f5b3ea`; the integrated suite and post-merge CI pass. Both tablets have local candidate installations and native storage restart evidence. [C1-S2 implementation record](c1-s2/00_Execution_Record.md) tracks the remaining physical acceptance separately from release qualification. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the planning baseline; the current continuation order and unresolved capacity inputs are recorded in the [Sprint plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast).
15+
**31 October continuation update:** the `0.3.0+9` recovery baseline merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40). Physical qualification exposed three keyboard defects; their repairs at `bef67bd` pass 984 ordinary tests and all 36 PR #41 checks. iPad recovery, final keyboard regressions and all five iPad app-only board rows pass with declared source/firmware scope. Earlier Android recovery and board rows pass, but a later final-candidate Blocks startup observation remains under investigation. Signed packages and a channel packet are prepared; admission and actual store delivery remain separate. The [C1-S2 record](c1-s2/00_Execution_Record.md) binds the evidence. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the baseline; the [continuation plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast) records unresolved capacity inputs.
1616

1717
## Assessment and evidence states
1818

@@ -49,8 +49,8 @@ no role in this table implies committed staffing or independent review.
4949
| M-01 — Blocked (25 Sep) | Accepted baseline and bounded cycle scope make installation, pilot, and engineering decisions reproducible | C1-S1, 28 Sep–11 Oct; PYB-001/003/004, residual 002, sizing 006/009 | Dated channel/install/source mapping or explicit owned unknowns; one primary cohort/job; safe task/consent rules; initial observations or recruitment blocker; actual capacity; persistence and physical-matrix estimates | SG0: accept a bounded scope or record gaps; Product Owner with release, pilot, and Developers |
5050
| M-02 — In progress; acceptance pending | A usable, bounded local-draft recovery increment protects accepted user work after interruption | C1-S2–C1-S3, 12 Oct–8 Nov; selected PYB-006 scope, supporting 009/008, observed 005 only if selected | Accepted App specification/TDD and ADR-0010 change; text/Blocks scope; persistence boundary; relaunch, interrupted-write, and corrupt-state scenarios; no implicit board overwrite/run; relevant regression and physical evidence | Review against the selected story acceptance criteria and Definition of Done; Developers with a named review path |
5151
| M-03 — Proposed | Observed first-use and meaningful second-task evidence explains activation and its largest obstacle | C1-S4, 9–22 Nov; PYB-004/011 and justified 005/012 | Safe recorded pilot setup; at least 12 eligible primary-cohort task starts, all outcomes retained; successful unassisted timing; Task C attempts, prior workflow, assistance and reasons | SG2: assess provisional completion/timing targets and severe failures; pilot lead supplies evidence, Product Owner records next investment |
52-
| M-04 — Proposed | A frozen maintenance candidate is qualified for its declared release scope | Normally C1-S5, 23 Nov–6 Dec; PYB-008/009/013 and included fixes | Applicable exact-artifact matrix and normative gates pass; provenance/recovery/instructions; no unresolved release-blocking data-loss, unintended/cross-session write, or critical workflow regression within the accepted threat model | SG1: release or submission decision with required sign-off; release owner and QA/review path |
53-
| M-05 — Proposed | Users can obtain the selected qualified app build through a verified existing channel | C1-S5–C1-S6, 23 Nov–20 Dec; PYB-014 and residual 002 | M-04; distribution-owner access; separate submission, availability, installed build/provenance, and installation outcome records; current user-facing claims | Verified-channel milestone passes only for the stated evidence; store delays are recorded as blockers; release owner |
52+
| M-04 — In progress; admission pending | A frozen maintenance candidate is qualified for its declared release scope | Normally C1-S5, 23 Nov–6 Dec; PYB-008/009/013 and included fixes | Applicable exact-artifact matrix and normative gates pass; provenance/recovery/instructions; no unresolved release-blocking data-loss, unintended/cross-session write, or critical workflow regression within the accepted threat model | SG1: release or submission decision with required sign-off; release owner and QA/review path |
53+
| M-05 — Preparation in progress; delivery pending | Users can obtain the selected qualified app build through a verified existing channel | C1-S5–C1-S6, 23 Nov–20 Dec; PYB-014 and residual 002 | M-04; distribution-owner access; separate submission, availability, installed build/provenance, and installation outcome records; current user-facing claims | Verified-channel milestone passes only for the stated evidence; store delays are recorded as blockers; release owner |
5454
| M-06 — Proposed | Useful-repeat and support evidence drives one explicit next-stage investment | C1-S6, 7–20 Dec; PYB-011 follow-up, cycle review; Ready inputs only if selected | Mature consented cohort accounting, useful Task C/return outcomes, task opportunity, prompting, missing responses, support burden, and status of candidate/channel evidence; retain blocked outcomes | SG3 assessment plus dated continue/narrow/pause-expansion decision; Product Owner with pilot and Developers |
5555

5656
[C1-S1 evidence](c1-s1/00_Execution_Record.md) includes the ledger, pilot protocol, recovery contract, cost model and verified existing Play/TestFlight installations. Six tasks are Done, two are Prepared awaiting pilot setup and four await participant/observation evidence. Human ownership, cohort/setup and actual capacity remain unconfirmed, so M-01/SG0 remains blocked. Missing participants are recorded as a recruitment gap, not completed observations. Current-build verification does not pass M-05 for a future qualified update. M-02's S2–S3 window is the original baseline; a sized S2–S4 option now requires explicit replanning, with downstream matrix/recruitment dates reviewed together.

‎docs/developments/2026-q4-reliable-workflow/04_Sprint_Plan.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
|---|---|
88
| Status | C1-S1 remains partial; bounded S2 candidate merged 31 October with physical acceptance pending. Original S2–S6 dates/hours remain baseline forecasts requiring capacity reconciliation |
99
| Cycle | `C1`, 28 September–20 December 2026, Asia/Bangkok |
10-
| Basis | [Strategy revision 1.6, §8](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md#8-twelve-week-implementation-schedule) |
10+
| Basis | [Strategy revision 1.7, §8](../../planning/PyBLE_Implementation_Plan_and_Strategy_v1.0.md#8-twelve-week-implementation-schedule) |
1111
| Product Goal and quality rules | [Working agreement](01_Overview_and_Scrum_Framework.md) |
1212
| Acceptance criteria | [Product backlog and stories](05_Product_Backlog_and_Stories.md) |
1313
| Task-level proposal | [Sprint backlogs](06_Sprint_Backlogs.md) |
1414

15-
**31 October continuation update:** bounded recovery candidate `0.3.0+9` is merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40) at `6f5b3ea`; the integrated suite and post-merge CI pass. Both tablets have local candidate installations and native storage restart evidence. [C1-S2 implementation record](c1-s2/00_Execution_Record.md) tracks the remaining physical acceptance separately from release qualification. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the planning baseline; the current continuation order and unresolved capacity inputs are recorded in the [Sprint plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast).
15+
**31 October continuation update:** the `0.3.0+9` recovery baseline merged in [PR #40](https://github.com/PyBLE-dev/PyBLE/pull/40). Physical qualification exposed three keyboard defects; their repairs at `bef67bd` pass 984 ordinary tests and all 36 PR #41 checks. iPad recovery, final keyboard regressions and all five iPad app-only board rows pass with declared source/firmware scope. Earlier Android recovery and board rows pass, but a later final-candidate Blocks startup observation remains under investigation. Signed packages and a channel packet are prepared; admission and actual store delivery remain separate. The [C1-S2 record](c1-s2/00_Execution_Record.md) binds the evidence. S1 remains six Done / two Prepared / four Awaiting evidence. Original dates/hours remain the baseline; the [continuation plan](04_Sprint_Plan.md#31-october-continuation-order-and-reforecast) records unresolved capacity inputs.
1616

1717
## Forecast and commitment boundary
1818

0 commit comments

Comments
 (0)