|
|
|
|
@@ -12,6 +12,7 @@
|
|
|
|
|
|
|
|
|
|
## Scope
|
|
|
|
|
|
|
|
|
|
- On 2026-08-16, resume the existing Integration owner to merge reviewed Robot Guided Hotspot Binding implementation commit `b7a1590` into local `main`, reconcile canonical memory from planned to implemented/default-off, and keep firmware edits, capability enablement, and remote push outside this resumption.
|
|
|
|
|
- On 2026-08-16, resume the existing Integration owner to accept reviewed Robot Guided Hotspot Binding V1 design commit `14afe4a`, promote only its confirmed minimal-firmware decision into canonical memory, and keep product implementation, firmware changes, and remote push outside this integration step.
|
|
|
|
|
- On 2026-08-16, resume the existing Integration owner to merge reviewed Robot configuration-catalog/editor source `fe55dee` into local `main`, promote the accepted dynamic catalog boundary, and keep remote push outside this resumption.
|
|
|
|
|
- On 2026-08-15, resume the existing Integration owner to merge reviewed Robot configuration-schema fix `ea75b06` into local `main`, accepting canonical weak numeric response ETags produced by the deployed compression layer while keeping strong `If-Match` writes.
|
|
|
|
|
@@ -44,6 +45,7 @@
|
|
|
|
|
- The 2026-08-14 user request authorizes the local `main` merge only. It does not expand this resumption into a remote push; the existing authentication blocker remains a separate follow-up.
|
|
|
|
|
- The 2026-08-15 context-compaction request likewise authorizes only a local `main` merge. It does not authorize a remote push or changing the existing OpenCode/model compaction threshold.
|
|
|
|
|
- The 2026-08-16 Robot onboarding confirmation accepts the current-firmware Hotspot + six-digit Binding V1. It does not authorize firmware edits, claim automatic nearby discovery, enable the pilot capability by default, or revive the unready Security 2/automatic-claim proposal as a V1 contract.
|
|
|
|
|
- The reviewed implementation may move canonical truth from planned to present, but release guidance must retain the exact shipped-firmware, issuer/validator, gate-on Electron, and physical-device smoke prerequisites. The source task record remains read-only and must stay on its feature history.
|
|
|
|
|
|
|
|
|
|
## Project Context Loaded
|
|
|
|
|
|
|
|
|
|
@@ -125,8 +127,23 @@ Gate result:
|
|
|
|
|
- The source changes only Electron Main response-revision parsing and its focused route tests. It still requires DTO/revision equality and emits only strong `If-Match` for writes; no authentication, idempotency, response-bound, or redaction boundary changes.
|
|
|
|
|
- Gate result: Passed for the local Robot configuration-schema merge. Remote push remains outside this resumption.
|
|
|
|
|
|
|
|
|
|
### 2026-08-16 Robot Guided Hotspot Binding Implementation Integration Resume
|
|
|
|
|
|
|
|
|
|
- Reused the existing Integration owner because it exclusively owns clean local `main` at `54443232dd6a07dc1f3df5b33df00f665540497a`; `task_context.py touch` refreshed the reservation and registry doctor passed.
|
|
|
|
|
- Verified source task `20260816-guided-hotspot-binding-7c4d2e` is `ready_for_integration`, source commit `b7a1590ca132c971ffff177cb1e2aa47f96358cf` is a direct descendant of current `main`, its worktree is clean, and independent Sol re-review returned PASS with no P0-P3 findings.
|
|
|
|
|
- Read the source task outcome, verification, follow-ups, and promotion candidate against ADR-002 and current canonical Robot memory. The implementation preserves the accepted zero-firmware/default-off boundary; its only promotion candidate remains deferred until release-gate evidence exists.
|
|
|
|
|
- No registered peer owns `main` or contradicts this implementation. The prior Security 2/automatic-claim proposal remains a deferred future direction and is not part of this merge.
|
|
|
|
|
- Gate result: Passed for the local implementation merge. Firmware changes, capability enablement, physical acceptance, and remote push remain outside this resumption.
|
|
|
|
|
|
|
|
|
|
## Plan
|
|
|
|
|
|
|
|
|
|
### 2026-08-16 Robot Guided Hotspot Binding Implementation Integration Plan
|
|
|
|
|
|
|
|
|
|
1. Merge reviewed source commit `b7a1590` into local `main` with a normal no-ff merge, preserve the source parent, and exclude the source-owned task record from the final main tree.
|
|
|
|
|
2. Update only canonical statements that still say the accepted V1 is planned/not implemented; record `b7a1590` under `Integrated Through` while retaining default-off and release-gate wording.
|
|
|
|
|
3. Re-run the 90 focused tests, full unit suite, typecheck, scoped lint, production build, Electron Robot navigation smoke, project-document gates, and whitespace/topology checks on the merged tree.
|
|
|
|
|
4. Obtain an independent read-only Sol PASS/FAIL integration review, commit the verified no-ff merge, and leave firmware, capability enablement, physical acceptance, and remote push untouched.
|
|
|
|
|
|
|
|
|
|
### 2026-08-16 Robot Guided Hotspot Binding V1 Decision Integration Plan
|
|
|
|
|
|
|
|
|
|
1. Verify source commit `14afe4a`, its independent PASS reviews, the existing Robot implementation facts, and explicit human acceptance of the minimal-firmware V1.
|
|
|
|
|
@@ -171,6 +188,10 @@ Gate result:
|
|
|
|
|
|
|
|
|
|
## Outcome
|
|
|
|
|
|
|
|
|
|
- On 2026-08-16, started a normal `--no-ff --no-commit` merge of reviewed Guided Hotspot Binding source `b7a1590`; Git reported no textual conflicts. The source task record remains reachable on the source commit/feature branch and is excluded from the local `main` result.
|
|
|
|
|
- Integrated the default-off Main capability and strict local Host actions, fixed system-browser portal ownership, in-memory Renderer guided/direct Binding journey, safe conflict/retry/secret cleanup, and Bound-without-online semantics. No firmware file, BLE/Wi-Fi discovery, cloud claim route, or capability enablement was added.
|
|
|
|
|
- Reconciled canonical current state, system overview, and decision index from planned/not implemented to implemented/default off. Release gates remain exact firmware and issuer/validator verification, gate-on native-opener Electron coverage, and physical-device smoke.
|
|
|
|
|
- Final no-ff merge topology is prepared with first parent `54443232dd6a07dc1f3df5b33df00f665540497a` and reviewed source second parent `b7a1590ca132c971ffff177cb1e2aa47f96358cf`. This resumption is complete locally; the long-lived integration task remains blocked only on its separate pre-existing authenticated remote-push scope.
|
|
|
|
|
- Accepted source design commit `14afe4a` as ADR-002: V1 guides the user through the current firmware Hotspot portal and then reuses the existing six-digit Binding facade. The former Security 2/automatic-claim design remains deferred rather than silently mixed into V1.
|
|
|
|
|
- Promoted a narrow planned interface: Main-owned `guidedHotspotBinding` default false, fixed system-browser portal action for `http://192.168.4.1/`, Renderer-only guidance state, no Wi-Fi credential handling, and no claim that `bound` means online/ready.
|
|
|
|
|
- Kept implementation truth explicit: this integration step changes canonical documents only. Product behavior and firmware remain unchanged; pilot enablement is gated on exact shipped-image checks, activation-code contract checks, automated/Electron coverage, and physical-device smoke.
|
|
|
|
|
@@ -258,6 +279,13 @@ Gate result:
|
|
|
|
|
|
|
|
|
|
## Verification
|
|
|
|
|
|
|
|
|
|
- 2026-08-16 Guided Hotspot source final Sol re-review — `PASS`, no P0-P3 findings after fixed-address copy recovery, conflict/already-bound overview refresh, and complete state-machine/remount coverage were added.
|
|
|
|
|
- Staged local-main merge Robot selection — 3 files / 91 tests passed.
|
|
|
|
|
- Staged local-main merge `pnpm test` — 156 files / 1755 tests passed.
|
|
|
|
|
- Staged local-main merge `pnpm run typecheck`, scoped ESLint, and `pnpm run build:vite` — passed; the production build retains only existing chunk-size and mixed-import warnings.
|
|
|
|
|
- Staged local-main merge Electron module-navigation smoke — 2/2 passed, including entry into the Robot route. Gate-on native external-open observation remains an explicit release prerequisite rather than a claimed test.
|
|
|
|
|
- Independent staged-merge review initially returned `FAIL` with one P2 and two P3 findings: ADR implementation status remained planned, current-state's update date was stale, and Escape/overlay dismissal during a pending native opener could let an old promise affect a reopened wizard. The documents now state implemented/default-off with the current date; portal-opening sessions reject all close attempts, with an Escape/remount regression test. Focused/full/typecheck/lint/build checks were rerun before re-review.
|
|
|
|
|
- Independent staged-merge re-review — `PASS`, no P0-P3 findings. It confirmed all three findings closed, source-task-record exclusion, exact merge parents, default-off/release-gate truth, and no old opener promise can affect a reopened guided session.
|
|
|
|
|
- 2026-08-16 ADR-002 integration `check_project_docs.py`, task-aware `check_doc_drift.py`, and `git diff --check` — passed in the Integration owner worktree.
|
|
|
|
|
- Independent ADR-002 canonical integration review initially returned `FAIL` on two P2 documentation inaccuracies: a shortened Host wire envelope and an overclaim about deployed firmware. Both were corrected; final re-review returned `PASS` with no P0-P3 findings.
|
|
|
|
|
- The final review confirmed only canonical documents and this integration task record changed; no product source, source-task record, or firmware file was modified in this acceptance step.
|
|
|
|
|
@@ -328,7 +356,7 @@ Gate result:
|
|
|
|
|
|
|
|
|
|
## Follow-ups
|
|
|
|
|
|
|
|
|
|
- Implement ADR-002 from a new feature worktree with the capability still false by default; do not touch `D:\Datas\HardwareProjects\xiaozhi-esp32-firmware`.
|
|
|
|
|
- Keep `NIANCODE_AI_HARDWARE_GUIDED_HOTSPOT_BINDING` unset/default false in production; do not touch `D:\Datas\HardwareProjects\xiaozhi-esp32-firmware` for this V1.
|
|
|
|
|
- Before any pilot enablement, identify the exact shipped Robot component/firmware image, verify that the deployed issuer produces six ASCII digits with compatible freshness/consumption semantics, and pass a real device smoke through the Host API/Electron flow.
|
|
|
|
|
- Deploy matching Xiaozhi and Works Square catalog endpoints before releasing this client; otherwise the editor preserves current values but cannot populate dynamic choices.
|
|
|
|
|
- The Robot integration is complete on local `main`. Production still requires matching Works Square/Xiaozhi deployment, feature configuration, credentials, and a real one-time activation-code smoke.
|
|
|
|
|
@@ -347,5 +375,6 @@ Gate result:
|
|
|
|
|
|
|
|
|
|
## Promotion Candidates
|
|
|
|
|
|
|
|
|
|
- The implementation truth from `b7a1590` was promoted from planned to implemented/default-off in canonical current state, system overview, and ADR index. Its release-enablement procedure/support matrix candidate remains deferred because the mandatory gate-on Electron and physical/firmware evidence does not yet exist.
|
|
|
|
|
- The Guided Hotspot Binding V1 candidate from `14afe4a` was promoted into ADR-002, success criteria, system/module/data-flow architecture, business rules, glossary, and current state. No unresolved candidate remains for this design acceptance.
|
|
|
|
|
- The context-compaction source candidate was promoted into current state, module map, data flow, evidence, and upgrade commitments. No unresolved candidate remains for this local merge.
|
|
|
|
|
|