694 lines
109 KiB
Markdown
694 lines
109 KiB
Markdown
# Task: 拉取远程主分支、合并并推送
|
|
|
|
## Identity
|
|
|
|
- Task ID: 20260813-sync-push-main-9c2f71
|
|
- Mode: Integration
|
|
- Branch: main
|
|
- Worktree: D:\Datas\OthersProjects\makelore
|
|
- Base commit: 4fbd1d3b24493532ce479729da2c5e5e1709c8a9
|
|
- Owner: codex
|
|
- Status: In Progress
|
|
|
|
## Scope
|
|
|
|
- On 2026-08-17, resume the existing Integration owner after the user's explicit takeover authorization to merge reviewed AI Programming multi-Session/runtime-readiness source `6504073` into local `main`, preserve existing project-cover work, promote only the implemented application-isolation and no-automatic-runtime-refresh facts, run merged-tree verification and independent review, and keep remote push outside this resumption.
|
|
- On 2026-08-17, resume the existing Integration owner to merge the reviewed first-submission project-cover source from task `20260817-project-cover-upload-a6a98e56` into local `main` after its matching server contract is integrated, replace only the obsolete coverless-first-create limitation, preserve existing-project version-only behavior and Main-owned publishing boundaries, and keep remote push outside this resumption.
|
|
- On 2026-08-17, resume the existing Integration owner to merge reviewed macOS Robot hotspot scan source `55e61b7` into local `main`, preserve the firmware/open-SSID/Main-owned boundaries, retain signed-package physical smoke as a release gate, and keep remote push outside this resumption.
|
|
- On 2026-08-17, resume the existing Integration owner at the user's request to merge reviewed AI Programming fresh-Agent voice-input source `b6148a5` into local `main`, preserve lazy first-session creation and existing voice guards, run merged-tree verification and independent review, and keep remote push outside this resumption.
|
|
- On 2026-08-17, resume the existing Integration owner after the user's explicit takeover authorization to preserve the task's existing uncommitted record, merge reviewed Makelore module-access source tip `3b799af` into local `main`, promote its accepted per-user entry-policy facts, run merged-tree verification and independent review, and keep remote push outside this resumption unless separately authorized.
|
|
- On 2026-08-16, resume the existing Integration owner after the user restored remote credentials: fetch authoritative `origin/main`, complete the already-started merge of remote tip `26b52d7`, preserve both remote Canvas/Prompt Museum work and local Robot hotspot work, run merged-tree verification and independent review, then perform a normal non-forced push and verify remote-tip equality.
|
|
- On 2026-08-16, resume the existing Integration owner to merge reviewed cross-platform in-app Robot hotspot connection source `c1326a2` into local `main`, supersede only ADR-002's manual operating-system hotspot-selection step, preserve firmware/credential/Binding boundaries, and keep remote push outside this resumption.
|
|
- On 2026-08-16, resume the existing Integration owner to merge reviewed default-on Guided Hotspot Binding source `b78fc07` into local `main`, accept the user's explicit reversal of the prior default-off policy, preserve exact environment value `0` as rollback, and keep firmware edits and remote push outside this resumption.
|
|
- 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.
|
|
- On 2026-08-15, resume the existing Integration owner to merge reviewed Robot configuration-loading fix `1bcd519` into local `main`, preserving the page error/retry state and Main response-body deadline.
|
|
- On 2026-08-15, resume the existing Integration owner to merge reviewed source commit `fd9b5b46a913c515e94e4e26f185d43866c2581f` for the Codex-style AI Programming context-compaction timeline into local `main` and promote its accepted lifecycle facts.
|
|
- On 2026-08-14, resume the existing Integration owner to merge reviewed AI Canvas source commit `22378efcee07e7fb80b651e65e3202f1a1dfea1d` into local `main` and promote its accepted project-memory candidates.
|
|
- Resume the existing integration owner to fast-forward the completed Robot / AI hardware source commit into local `main` after verifying the current remote `main` tip.
|
|
- Fetch the authoritative remote `main`, inspect all commits not present in the
|
|
local branch, and merge them into the reviewed local `main` without rewriting
|
|
either history.
|
|
- Resolve any code or project-memory conflicts semantically, re-run verification
|
|
proportionate to the fetched changes, obtain an independent final review, and
|
|
push the resulting `main` to its configured remote.
|
|
- Record the exact fetched remote tip, merge topology, verification, and push
|
|
result in this task record.
|
|
|
|
## Intent And Constraints
|
|
|
|
- Do not rebase, reset, stash, force-push, or discard either local or remote
|
|
commits. The user authorized a normal pull/merge/push workflow.
|
|
- Treat the current `origin/main` value as a stale local tracking reference until
|
|
`git fetch origin main` succeeds.
|
|
- Preserve the already reviewed Updater and image-to-image behavior and the
|
|
repository's Main-owned security boundaries.
|
|
- Source/peer task records remain read-only. This integration task may update
|
|
only its own task record and any canonical documents that genuinely require
|
|
semantic reconciliation.
|
|
- Push only after the merge result is clean, verified, and independently
|
|
reviewed. Never use `--force`.
|
|
- 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.
|
|
- The user's latest instruction explicitly authorizes default-on and supersedes only the earlier default-off/capability-not-enabled constraint. It does not authorize firmware changes, automatic discovery/claim claims, arbitrary portal URLs, Wi-Fi credential handling, or remote push. Missing installed-Electron/physical-device evidence remains an explicit residual release risk, not completed evidence.
|
|
- The user has now explicitly authorized page-owned selection and connection of nearby open `Xiaozhi-*` provisioning hotspots on both Windows and macOS. This supersedes only manual operating-system hotspot selection; discovery remains unauthenticated convenience, Main remains the sole native-network owner, and signed macOS plus physical-Robot smoke remain release gates.
|
|
- The latest instruction explicitly authorizes fetching, semantically resolving conflicts, and pushing `main`. Use the existing merge topology; do not rebase, reset, stash, discard remote/local commits, or force-push. Preserve remote Prompt Museum/Canvas/Chinese-only/Skill behavior alongside the already reviewed local Robot native hotspot path and `koffi` packaging.
|
|
- The 2026-08-17 takeover confirmation authorizes continuing this existing Integration owner while preserving its uncommitted task history. For module access, source-task records remain read-only; the policy is a client entry/initialization gate rather than API authorization, and release acceptance requires the matching Works migration/API, a newly packaged client, and real-account four-module smoke.
|
|
- The fresh-Agent voice-input request authorizes a local `main` merge only. It does not authorize remote push, Canvas voice enablement, eager OpenCode runtime/session creation, or changes to the existing Renderer -> Host API -> Electron Main -> Works Square speech boundary.
|
|
- The project-cover request authorizes a local `main` merge only. It does not authorize remote push, client packaging, production deployment, metadata editing for existing projects, or weakening the Renderer -> Host API -> Electron Main ownership boundary.
|
|
- The multi-Session request authorizes local `main` integration of application-side Session isolation and runtime/Agent acceptance. It does not authorize a remote push, paid-provider traffic, a claim that bundled OpenCode/provider executes two model turns simultaneously, or automatic shared-runtime restart/reload/dispose. Source task records remain on feature history only.
|
|
|
|
## Project Context Loaded
|
|
|
|
Task context:
|
|
- Task ID: `20260813-sync-push-main-9c2f71`
|
|
- Mode: Integration
|
|
- Branch: `main`
|
|
- Worktree: `D:\Datas\OthersProjects\makelore`
|
|
- Base commit: `4fbd1d3b24493532ce479729da2c5e5e1709c8a9`
|
|
- Other active local tasks: all are isolated in separate registered worktrees;
|
|
their Scope, Intent And Constraints, and Promotion Candidates were reviewed.
|
|
- Overlap or semantic-conflict assessment: no peer owns this worktree or has an
|
|
unresolved decision that changes this synchronization plan. Remote overlap
|
|
remains unknown until fetch and will be inspected before merge.
|
|
|
|
Read:
|
|
- `.project-docs/05-agent-entry/read-before-planning.md`
|
|
- `.project-docs/05-agent-entry/memory-index.md`
|
|
- this active task record
|
|
- `.project-docs/00-brief/project-positioning.md`
|
|
- `.project-docs/30-worklog/current-state.md`
|
|
- `.project-docs/10-decisions/decision-index.md`
|
|
- `.project-docs/20-architecture/system-overview.md`
|
|
- `.project-docs/05-agent-entry/integration-gate.md`
|
|
- `.project-docs/50-evidence/evidence-index.md`
|
|
- `.project-docs/60-reflection/reflection-index.md`
|
|
- `.project-docs/80-commitments/commitments.md`
|
|
- `.project-docs/90-maintenance/stale-items.md`
|
|
- all registry-owned peer task records through the required planning sections
|
|
|
|
Relevant understanding:
|
|
- Project goal: keep the reviewed local Makelore client history while
|
|
incorporating legitimate remote `main` work and publishing one coherent tip.
|
|
- Current integrated focus: local `main` already contains the reviewed Updater
|
|
and single-reference image-to-image changes; external production smoke remains
|
|
pending and must not be overclaimed by this Git synchronization.
|
|
- Active constraints: preserve Main-owned updater/workspace boundaries, existing
|
|
canonical decisions, and source task records; push must be non-forced.
|
|
- Evidence and commitments: the local tip passed 84 focused tests, typecheck,
|
|
scoped lint, `build:vite`, project-document gates, and independent Sol review;
|
|
three full-suite failures match the documented pre-existing baseline.
|
|
- Unknowns: the latest remote tip and its semantic overlap are not verified
|
|
until fetch.
|
|
|
|
Gate result:
|
|
- Passed.
|
|
|
|
### 2026-08-17 AI Programming Multi-Session Runtime Integration Resume
|
|
|
|
- Reused the existing Integration owner after the user explicitly authorized adoption of its existing changes. Registry status confirms task `20260813-sync-push-main-9c2f71`, mode `integration`, branch `main`, worktree `D:\Datas\OthersProjects\makelore`, and the repository integration lock.
|
|
- Verified feature task `20260817-multichat-runtime-fix-f3a91c` is `ready_for_integration`, its worktree is clean, source commit `65040730ec229436b27e0e1a34ca16599b534996` is present, and its seventh independent Sol review returned Standards/Spec `PASS` after full unit, typecheck, lint, build and focused Electron E2E validation.
|
|
- Read the source outcome, follow-ups and promotion candidate against current AI Programming first-send, compaction and Main-owned runtime boundaries. No accepted ADR or peer source requires a reply-duration global lock, automatic runtime disposal, or same-id Agent freshness; the source strengthens existing Session isolation without changing product direction.
|
|
- Started a normal `--no-ff --no-commit` merge of `6504073` onto clean local `main` `b734867`; Git reported no textual conflicts. The source task record remains reachable on its source branch and is excluded from the integrated `main` tree.
|
|
- Gate result: Passed for local no-ff merge, semantic canonical promotion, proportionate merged-tree verification and independent final review. Remote push and real provider/runtime concurrency smoke remain outside this resumption.
|
|
|
|
### 2026-08-17 Fresh-Agent Voice Input Integration Resume
|
|
|
|
- Reused the existing Integration owner because it still exclusively owns clean local `main` at `9fd9a7761d3872f25e853ac1b059e55251c6ae8f`; `task_context.py touch` refreshed the reservation and registry doctor passed.
|
|
- Formed reviewed source commit `b6148a5cb45e70a75c055a57f8b269f24c619a6a` as the exact direct child of local `main`. Its feature task is `ready_for_integration`, its worktree is clean, and final read-only Sol review returned `PASS` with no blocking Standards or Spec findings.
|
|
- Read the source outcome, verification, follow-ups, and promotion candidates against the integrated AI Programming session lifecycle. The source restores the existing lazy-session contract and proposes no architecture, domain, or product-direction change.
|
|
- Started a normal `--no-ff --no-commit` merge of `b6148a5`; Git reported no textual conflicts. The source task record remains reachable on its source commit/branch and is excluded from the integrated `main` tree.
|
|
- Gate result: Passed for local no-ff merge, minimal current-state reconciliation, proportionate merged-tree verification, and independent final review. Remote push remains outside this resumption.
|
|
|
|
### 2026-08-17 Per-User Module Access Integration Resume
|
|
|
|
- Reused the existing Integration owner after the user explicitly authorized takeover while preserving its uncommitted record. Registry status still identifies task `20260813-sync-push-main-9c2f71`, mode `integration`, branch `main`, and worktree `D:\Datas\OthersProjects\makelore`; no new task context was created.
|
|
- Verified source task `20260817-makelore-module-access-6f2a91c4` is `ready_for_integration`, source tip `3b799af` is present as the current `MERGE_HEAD`, and the no-ff/no-commit merge stages the reviewed product changes. Its task record remains read-only on the source branch and is deliberately excluded from the integrated `main` tree.
|
|
- Read the source outcome, verification, follow-up and promotion candidate against the Main-owned Works Session boundary and current four-module model. No accepted ADR or peer source contradicts default-open compatibility, `design` → `painting`, pre-layout route blocking, global `/settings`, terminal `401` session cleanup, or the explicit non-authorization boundary.
|
|
- Canonical reconciliation, merged-tree checks and independent final review all passed. Git created normal no-ff merge commit `4013edcbbc982fcbef0a0ff6287c5307cd87bf8a` with first parent `eb16f73e4dece86a193dee0f797a58d77869470f` and reviewed source `3b799af17370dfa6c4c995c3fcbab8f2d84c3dda` as second parent.
|
|
- Gate result: Passed for canonical promotion and merged-tree verification. Works migration/API deployment, a newly built client package, real-account four-module smoke and server-side API authorization validation remain release commitments.
|
|
|
|
### 2026-08-17 Project Cover Integration Resume
|
|
|
|
- Reused the existing Integration owner because it exclusively owns clean local `main` at `3ffc0d0119deb8934f4b7f27098c05eac2c4fa75`; `task_context.py touch` refreshed the reservation and registry status confirms mode `integration`, branch `main`, and this worktree.
|
|
- Formed reviewed source commit `145a6ce571d646325092d1e722282babea503954` from feature task `20260817-project-cover-upload-a6a98e56`. The source task is `ready_for_integration`, its worktree is clean, and the cross-repository final Sol review returned `PASS`.
|
|
- Read the source outcome, verification, follow-ups, and promotion candidate against the Main-owned publication boundary, current coverless-first-create rule, evidence, and existing production-chain commitments. The matching server source `407c883d7f4066cc65656f815ff640ddeb08542e` provides the required single-request managed-cover binding and compensating cleanup, so the user-confirmed request resolves the prior limitation without enabling edits to existing metadata.
|
|
- Current `main` changed only canonical current-state memory among this source's touched paths since the feature base; no product/test/README source overlap is present. Canonical reconciliation must append the accepted behavior and narrow the remaining metadata-editing commitment.
|
|
- Gate result: Passed for a local no-ff merge, semantic canonical promotion, merged-tree verification, and independent final review. Remote push, packaging, deployment, and real-account production smoke remain outside this resumption.
|
|
|
|
### 2026-08-17 macOS Robot Hotspot Scan Integration Resume
|
|
|
|
- Reused the existing Integration owner because it exclusively owns clean local `main` at `7e8d9e38114158992c03e589de32535274796d04`; `task_context.py touch` refreshed the reservation and registry status confirms mode `integration`, branch `main`, and this worktree.
|
|
- Formed reviewed source commit `55e61b7d8f9caccdad54dc9a42092fc7960fb394` from feature task `20260817-robot-hotspot-scan-missing-4c7e91`. The source task is `ready_for_integration`, its worktree is clean, and final Sol review returned Standards/Spec/overall `PASS` with no blocking findings.
|
|
- Read the source outcome and follow-ups against ADR-003, the Main-owned Robot Hotspot Module, current state, evidence, and the existing signed-macOS/physical-device commitment. The repair changes no architecture, firmware, Host/Renderer DTO, candidate filter, credential, Portal, Binding, or rollback decision.
|
|
- Started a normal `--no-ff --no-commit` merge of `55e61b7`; Git reported no textual conflict. The source task record remains on the source commit/branch and is excluded from the integrated `main` tree.
|
|
- Created normal no-ff merge commit `3b37ac318782de5ee6f3338c9744ec66df14f674` with local `7e8d9e38114158992c03e589de32535274796d04` as first parent and reviewed source `55e61b7d8f9caccdad54dc9a42092fc7960fb394` as second parent.
|
|
- Gate result: Passed for a local no-ff merge, minimal current-state reconciliation, proportionate merged-tree verification, and independent final review. Remote push remains outside this resumption; the long-running integration task remains in progress for its separately authorized synchronization scope.
|
|
|
|
### 2026-08-16 Remote `26b52d7` Synchronization Resume
|
|
|
|
- Reused the existing Integration owner and refreshed its reservation. Local `main` entered this resumption at `9af6c526a9500a0dbfb88e39ba0dee1eb7e1d097`; the worktree already contained an unfinished merge whose `MERGE_HEAD` was `26b52d76e3dedd754ca1b1c428abaa074b7f98da`.
|
|
- A fresh authoritative `git fetch origin main --prune` succeeded and confirmed `origin/main`, `FETCH_HEAD`, and the existing `MERGE_HEAD` are the same `26b52d7` commit. The merge base is `bfcb88cfefe714a60927a77822ae5a727ebe6604`; local has 12 first-parent/integration commits and remote has one consolidation commit beyond that base.
|
|
- Read the active integration record and canonical architecture/domain/current-state/evidence memory, inspected the remote change set, and assigned a read-only Sol audit. Remote scope adds the server-driven Canvas Prompt Museum, cloud Canvas development entry, bundled `game-engine` Skill, Chinese-only locale consolidation, and associated Canvas/workspace tests; it does not remove the local Robot hotspot module or `koffi` dependency.
|
|
- The only textual conflict was `README.md`. It was resolved semantically by retaining the remote Canvas “获取灵感” description and the local Windows/macOS in-page Robot hotspot workflow. No product file was resolved by choosing one side wholesale.
|
|
- Read-only audit caught a non-textual lockfile merge conflict: the staged lock retained `koffi` but lost the local top-level `isbinaryfile` override while `package.json` still required it, making frozen installation fail with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH`. The merged lock restores the exact override and will be accepted only after a successful frozen install.
|
|
- Audit also rejected the remote Prompt Museum route because it forwarded unknown upstream/local error text and unvalidated success JSON. The merge adds strict bounded list/detail projection with HTTPS URL validation, fixed safe error mapping, stable 401-refresh failure handling, and focused regression tests. A remote E2E assertion was corrected to match the documented latest-message sidebar preview rather than an older user message.
|
|
- Gate result: Passed for completing the current normal merge, canonical promotion, proportionate merged-tree verification, independent final review, and a non-forced push. If the remote advances again before push, fetch and integrate that new tip before publishing.
|
|
|
|
### 2026-08-16 Remote `01bee31` Race Resume
|
|
|
|
- After creating reviewed merge commit `bb16c1d12a24b2957149db960edba6e6660691aa`, the mandatory pre-push fetch detected that authoritative `origin/main` had advanced from `26b52d7` to `01bee3188be4b03b6b358c2da60f1f9ed22d707f`. The push was stopped before any remote ref changed; local `main` is clean and is 13 commits ahead / 1 commit behind the new remote tip.
|
|
- The new remote commit is a direct child of the already integrated `26b52d7` and adds the enabled AI Learning module, Main-owned learning services/routes/runtime, verified external player-artifact packaging, profile/navigation changes, and focused tests. It also removes the transient bundled `game-engine` Skill and changes `planning-with-files` project output placement.
|
|
- This remote product change supersedes canonical statements that Learning is disabled and that `game-engine` is bundled. It does not authorize weakening the existing Robot native-network, Canvas cloud-workspace, Host API, authentication, or packaging boundaries. The merge must retain the reviewed Prompt Museum DTO/redaction fixes, the regenerated single-version `isbinaryfile@5.0.7` graph, Koffi packaging, and the cross-platform Robot hotspot path.
|
|
- Gate result: Passed for a second normal no-ff merge of `origin/main=01bee31`, semantic reconciliation of overlapping source and project memory, proportionate full verification, another independent final Sol review, and a non-forced push only after a fresh remote-race check.
|
|
|
|
### 2026-08-16 Cross-Platform Robot Hotspot Integration Resume
|
|
|
|
- Reused the existing Integration owner because it exclusively owns clean local `main` at `abecd5f34485ab467e5f032c618083d88e34b74d`; `task_context.py touch` refreshed the reservation and the registry reports this exact `main` worktree/branch owner.
|
|
- Formed reviewed source commit `c1326a298026a697181c822cdd3062cc96c3aa2d`; it is exactly one commit ahead of current `main`, its feature task is `ready_for_integration`, its worktree is clean, and final read-only Sol review returned PASS on Standards and Spec with no P0-P3 findings.
|
|
- Read the source task outcome, verification, follow-ups, and proposal against ADR-002, current Robot architecture/domain memory, release commitments, and relevant peer task scopes. The user-confirmed Windows/macOS page connection decision resolves the only semantic conflict with ADR-002's manual operating-system hotspot-selection step.
|
|
- No peer owns `main`. Related Robot tasks are isolated and either support this direction or remain historical/deferred: authenticated automatic claim is not revived, discovery does not prove identity, and source task records remain read-only.
|
|
- Gate result: Passed for a local no-ff merge and canonical reconciliation. Firmware edits, remote push, signed macOS x64/arm64 acceptance, and physical-Robot acceptance remain outside this resumption.
|
|
|
|
### 2026-08-16 Guided Hotspot Default-On Integration Resume
|
|
|
|
- Reused the existing Integration owner because it still exclusively owns clean local `main` at `971865c256c2ddfe1f8ab4f8f4731a1f608599c0`; `task_context.py touch` refreshed the reservation and the registry reports this exact `main` worktree/branch owner.
|
|
- Verified feature task `20260816-enable-guided-hotspot-4e91c2` is `ready_for_integration`, reviewed source commit `b78fc07` is based exactly on current `main`, and independent final Sol review returned PASS with no P0-P3 findings.
|
|
- Read the source outcome, verification, follow-ups, and promotion candidate against ADR-002 and current canonical Robot memory. The source changes only the Main default and focused route tests; firmware, Renderer, Host wire shape, fixed portal, cloud Binding, and credential boundaries remain unchanged.
|
|
- The current user decision resolves the sole semantic conflict: Guided Hotspot Binding is now default-on, with exact environment value `0` as rollback. The exact shipped firmware/issuer and real native-opener/physical-device evidence remain unverified and must not be claimed as passed.
|
|
- Gate result: Passed for local merge and canonical policy reconciliation. Remote push remains outside this resumption.
|
|
|
|
### 2026-08-14 AI Canvas Integration Resume
|
|
|
|
- Reused the same Integration owner because it still exclusively owns `main` and the repository integration lock; `task_context.py touch` refreshed the existing reservation.
|
|
- Verified the main worktree was clean at `88f9ee8708beeb1ab45ca741807f6cca0f075ac9` before merging.
|
|
- `git fetch origin main --prune` confirmed `origin/main` is also `88f9ee8708beeb1ab45ca741807f6cca0f075ac9`.
|
|
- Source `22378efcee07e7fb80b651e65e3202f1a1dfea1d` is exactly one commit ahead of `main`, with `88f9ee8` as merge base; no remote-only or unrelated main commit exists.
|
|
- Read the source task, ADR-001, canonical AI Canvas architecture/domain memory, and all registry-owned peer task Scope / Intent / Promotion Candidate sections. The source preserves Workspace-owned tasks and Conversation-owned state; no semantic conflict requires human resolution.
|
|
- Gate result: Passed for the local AI Canvas merge. Remote push remains outside this resumption.
|
|
|
|
### 2026-08-15 Context Compaction Integration Resume
|
|
|
|
- Reused the existing Integration owner because it still exclusively owns `main` and the repository integration lock; `task_context.py touch` refreshed the reservation.
|
|
- Verified the main worktree was clean at `953b0f491e44036bc8273fb29dd880e38defae24`, with local `main` two commits ahead of the locally tracked `origin/main`.
|
|
- Source task `20260814-codex-compaction-ux-74b3f2a1` was `ready_for_integration`, its final Sol review returned PASS, and source commit `fd9b5b46a913c515e94e4e26f185d43866c2581f` is exactly one direct descendant of current `main`.
|
|
- Read the active integration record, source task outcome/verification/promotion candidate, canonical AI Programming architecture/current-state memory, and every registered peer task Scope / Intent / Promotion Candidate section.
|
|
- The related threshold and UI-audit tasks agree with the source: automatic compaction remains OpenCode/model-limit-owned, while this source changes only the persistent Renderer interaction and run lifecycle. No semantic conflict requires human resolution.
|
|
- Gate result: Passed for the local context-compaction merge. Remote push remains outside this resumption.
|
|
|
|
### 2026-08-15 Robot Configuration Loading Integration Resume
|
|
|
|
- Reused this Integration owner because it still exclusively owns `main` and the repository integration lock; `task_context.py touch` refreshed the reservation.
|
|
- Verified source task `20260815-robot-config-loading-4f8c2d` is ready for integration, its final Sol review returned PASS, and source commit `1bcd519` is a direct descendant of current `main` at merge base `a4050f0`.
|
|
- A fresh `git fetch origin main --prune` succeeded and confirmed local `main` and `origin/main` are both exactly `a4050f0`, with no remote-only commit or divergence.
|
|
- The source changes only the Robot page, Main-owned AI hardware route, focused tests, and its own source task record. It preserves Main-owned auth/idempotency/ETag and introduces no semantic overlap with registered peer work.
|
|
- Gate result: Passed for the local Robot configuration-loading merge. This request authorizes a local `main` merge, not an automatic remote push.
|
|
|
|
### 2026-08-15 Robot Configuration Schema Integration Resume
|
|
|
|
- Reused this Integration owner because it still exclusively owns `main` and the repository integration lock; `task_context.py touch` refreshed the existing reservation.
|
|
- Verified source task `20260815-robot-config-schema-8e2c41` is ready for integration, source commit `ea75b06` is a direct descendant of current `main` at `a26a53a`, and its final read-only Sol review returned PASS.
|
|
- Production evidence distinguishes the hops: Xiaozhi-to-Works returns a canonical strong numeric ETag, while the compressed public Works response was observed with matching canonical weak `W/\"0\"`, numeric `config_revision: 0`, and the exact expected key set.
|
|
- 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-17 AI Programming Multi-Session Runtime Integration Plan
|
|
|
|
1. Merge reviewed source commit `6504073` into local `main` with a normal no-ff merge while preserving the current project-cover history and excluding the source-owned task record.
|
|
2. Promote the implemented per-Session startup/terminalization, Main runtime/Agent readiness, no-auto-replay and no-automatic-shared-runtime-refresh boundaries into current state, architecture, evidence and commitments without claiming upstream provider concurrency.
|
|
3. Run the focused AI Programming/Main/Renderer regression selection, full unit suite, typecheck, lint, Vite production build, focused Electron E2E, project-document gates and topology/whitespace checks.
|
|
4. Obtain an independent read-only Sol PASS/FAIL review, commit only after PASS, verify exact merge parents and keep remote push outside this request.
|
|
|
|
### 2026-08-17 macOS Robot Hotspot Scan Integration Plan
|
|
|
|
1. Merge reviewed source `55e61b7` into local `main` with a normal no-ff merge, preserving source history while excluding the source-owned task record from the final tree.
|
|
2. Record the integrated macOS retry/permission behavior in current state without changing ADR-003, firmware, Host/Renderer, open `Xiaozhi-*`, exact-current-SSID, manual-fallback, or rollback contracts.
|
|
3. Run the 14-test Robot hotspot module suite, full unit suite, typecheck, scoped lint, production build, task-aware document gates, whitespace/unmerged checks, source-record exclusion, and exact topology checks.
|
|
4. Obtain an independent read-only Sol `PASS`/`FAIL` review, create the verified local merge commit, record its exact parents, and do not push remotely.
|
|
|
|
### 2026-08-17 Fresh-Agent Voice Input Integration Plan
|
|
|
|
1. Merge reviewed source `b6148a5` into local `main` with a normal no-ff merge, preserving source history while excluding the source-owned task record from the final tree.
|
|
2. Record the integrated behavior in current state without changing architecture, domain rules, README, Canvas, Host API, Main, or Preload contracts.
|
|
3. Run the focused fresh-Agent/lazy-session/voice regressions, the complete ChatPanel test file and full unit suite, typecheck, scoped lint, production build, document gates, whitespace/unmerged checks, and exact topology checks.
|
|
4. Obtain an independent read-only Sol `PASS`/`FAIL` review, create the verified local merge commit, record its exact topology, and do not push remotely.
|
|
|
|
### 2026-08-16 Remote `26b52d7` Synchronization Plan
|
|
|
|
1. Complete the existing merge against freshly fetched `origin/main=26b52d7`, resolving README to preserve both remote Canvas Prompt Museum and local Robot hotspot behavior, then confirm there are no unmerged entries or dependency regressions.
|
|
2. Promote confirmed remote product/architecture facts into canonical current-state, component, flow, domain, glossary, and evidence memory without claiming server deployment or production smoke that has not occurred.
|
|
3. Install the frozen lockfile and run focused Prompt Museum/Canvas/language/Skill plus Robot regressions, the full unit suite, typecheck, lint, production build, selected Electron E2E, project-document gates, and whitespace/topology checks.
|
|
4. Obtain an independent read-only Sol Standards/Spec PASS, create the normal merge commit with local `9af6c52` as first parent and remote `26b52d7` as second parent, fetch once more to detect races, then push without force and verify `origin/main` equals local `main`.
|
|
|
|
### 2026-08-16 Remote `01bee31` Race Plan
|
|
|
|
1. Merge freshly fetched `origin/main=01bee31` into clean local merge commit `bb16c1d` without rewriting history; resolve overlaps by retaining the reviewed local Robot/Canvas/security/lock fixes and the remote Learning product behavior.
|
|
2. Reconcile README, AGENTS product guidance, and canonical project memory for enabled Learning, removed `game-engine`, changed planning-file placement, and the Main-owned learning/player-artifact boundary without claiming unavailable cloud, signed-package, or physical-device evidence.
|
|
3. Run frozen-lock validation, Learning/Robot/Canvas focused tests, the bounded full unit suite, typecheck, lint, production build, relevant Electron E2E, document gates, whitespace/unmerged checks, and exact merge-topology checks.
|
|
4. Obtain a new independent read-only Sol Standards/Spec PASS on the final tree, create the second normal merge commit, fetch again for races, push without force, and verify local `main` exactly equals `origin/main`.
|
|
|
|
### 2026-08-16 Cross-Platform Robot Hotspot Integration Plan
|
|
|
|
1. Merge reviewed source `c1326a2` into local `main` with a normal no-ff merge while preserving source history; exclude the source-owned task record and proposal from the integrated tree.
|
|
2. Accept the proposal as a new ADR that supersedes only ADR-002's manual OS hotspot-selection step, and reconcile current state, decision/architecture/domain/evidence/commitment memory without overclaiming platform or physical-device validation.
|
|
3. Run the 132-test Robot hotspot selection, full unit suite, typecheck, lint, production build, task-aware document gates, whitespace/unmerged-entry checks, and exact topology checks on the staged merge.
|
|
4. Obtain an independent read-only Sol PASS/FAIL integration review, fix any blocking findings, create the local no-ff merge commit, and leave firmware and remote push untouched.
|
|
|
|
### 2026-08-16 Guided Hotspot Default-On Integration Plan
|
|
|
|
1. Merge reviewed source `b78fc07` into local `main` with a normal no-ff merge, preserve feature history, and exclude the source-owned task record from the integrated tree.
|
|
2. Reconcile ADR-002, decision index, success criteria, Robot architecture/domain/current-state memory, glossary, and support wording from default-off/planned enablement to default-on with exact `=0` rollback; preserve all non-default security and evidence caveats.
|
|
3. Run Robot focused tests, typecheck, scoped lint, production build, bounded-concurrency full tests, task-aware document drift, whitespace/topology checks, and an independent final Sol integration review.
|
|
4. Commit the verified local merge. Do not modify firmware or push remotely.
|
|
|
|
### 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.
|
|
2. Create an accepted ADR and promote the planned default-off capability, fixed portal action, Binding retry/restart semantics, release gates, and terminology into canonical project memory without claiming implementation is present.
|
|
3. Run project-document structure/drift and whitespace checks, then obtain an independent read-only Sol PASS/FAIL review.
|
|
4. Commit the canonical decision locally; start product implementation only from the accepted main baseline and do not modify firmware.
|
|
|
|
### 2026-08-16 Robot Configuration Catalog Integration Plan
|
|
|
|
1. Merge reviewed source commit `fe55dee` into local `main` with a normal no-ff merge while preserving source history.
|
|
2. Exclude the source-owned task record from the final `main` tree and promote the accepted safe catalog boundary into canonical architecture/current-state memory.
|
|
3. Re-run the Robot catalog/page/Main regression suite, typecheck, lint, production build, project-document gates, and whitespace checks.
|
|
4. Obtain an independent read-only Sol PASS/FAIL review; do not push remotely as part of this resumption.
|
|
|
|
1. Fetch `origin/main` and verify local `main`, the remote tip, and reviewed AI Canvas source commit topology.
|
|
2. Merge `22378ef` normally into local `main` without rebase/reset, and retain the source commit as a dedicated second parent.
|
|
3. Promote the bidirectional Gateway and Quote-reconciliation facts into canonical project memory.
|
|
4. Re-run focused/full checks, production build, project-document gates, and independent Sol review.
|
|
5. Commit the verified local merge; do not push unless the user separately requests it and authentication is available.
|
|
|
|
### 2026-08-15 Context Compaction Integration Plan
|
|
|
|
1. Form the already verified feature worktree into a dedicated source commit without changing its reviewed files.
|
|
2. Merge the direct child into local `main` with a normal no-ff merge and preserve source history.
|
|
3. Promote the per-session persistent compaction timeline and `session.compacted != session.idle` invariant into canonical current-state, architecture, evidence, and upgrade commitments.
|
|
4. Re-run focused/full unit checks, typecheck, lint, production build, Electron E2E, document drift, and whitespace checks on the merged tree.
|
|
5. Obtain an independent read-only Sol PASS/FAIL review, record the result, and keep remote push outside this request.
|
|
|
|
### 2026-08-15 Robot Configuration Loading Integration Plan
|
|
|
|
1. Merge reviewed source commit `1bcd519` into local `main` with a normal no-ff merge while preserving source history.
|
|
2. Exclude the source-owned task record from the final `main` tree so the integration task does not own or rewrite another task's project document.
|
|
3. Run the 7-file Robot/Main regression suite, typecheck, scoped lint, build, project-document gates, and whitespace checks.
|
|
4. Obtain an independent read-only Sol PASS/FAIL review, record exact topology and verification, and keep remote push outside this request.
|
|
|
|
### 2026-08-15 Robot Configuration Schema Integration Plan
|
|
|
|
1. Merge reviewed source commit `ea75b06` into local `main` with a normal no-ff merge while preserving source history.
|
|
2. Exclude the source-owned task record from the final `main` tree, leaving it reachable on the source commit and feature branch.
|
|
3. Re-run the AI hardware Main/Renderer/page regression selection, typecheck, scoped lint, build, project-document gates, and whitespace checks.
|
|
4. Obtain an independent read-only Sol PASS/FAIL review and keep the pre-existing remote-push blocker separate.
|
|
|
|
## Outcome
|
|
|
|
- Prepared a normal no-ff merge of reviewed AI Programming source `65040730ec229436b27e0e1a34ca16599b534996` onto local `main` `b734867`; Git reported no textual conflicts, current project-cover behavior remains present, and the source task record remains only on feature history.
|
|
- Integrated application-side per-Session run/error/queue isolation, an independent hard 10-second startup acknowledgement deadline, typed pre-send runtime/Agent pending responses, generation/fingerprint Agent readiness, bounded manager/project FIFO acceptance and timeout lease revocation. Ordinary message/command/summarize/background sync does not automatically restart, reload or dispose the shared runtime.
|
|
- Promoted the source architecture candidate into current state, data flow and module ownership, and recorded verified evidence plus the still-pending real bundled OpenCode/provider two-Session smoke. No claim of upstream simultaneous model execution was added.
|
|
- Created normal no-ff merge commit `ce897f14cc93370e42b2882e4be236040f49c8a6` with current local main `b7348670a6503047e1703ca61cd6e2a9913f6182` as first parent and reviewed source `65040730ec229436b27e0e1a34ca16599b534996` as second parent.
|
|
|
|
- Prepared a normal no-ff merge of project-cover source `145a6ce571d646325092d1e722282babea503954` onto local `main` `da376b0bf37cdd0b5eabe7efc9f1141ae5645411` with no textual conflicts; the source feature task record remains only on the source branch.
|
|
- Reconciled the obsolete coverless-first-create rule into required first-cover atomic submission while retaining existing-project version-only behavior and the unfulfilled conditional metadata-editing commitment.
|
|
- Created normal no-ff merge commit `a5f0cf7fc4d18ee1d46aef6c177ffb4433039a4a` with project-cover integration-plan commit `da376b0bf37cdd0b5eabe7efc9f1141ae5645411` as first parent and reviewed source `145a6ce571d646325092d1e722282babea503954` as second parent.
|
|
|
|
- Created local main merge commit `3b37ac318782de5ee6f3338c9744ec66df14f674` with exact parents `7e8d9e38114158992c03e589de32535274796d04` and reviewed source `55e61b7d8f9caccdad54dc9a42092fc7960fb394`. The source is now a `main` ancestor, and its task record remains absent from the integrated tree.
|
|
- On 2026-08-17, staged a normal no-ff merge of reviewed macOS Robot hotspot source `55e61b7` onto clean local `main` at `7e8d9e3`; Git reported no textual conflicts. The source task record remains reachable on its source commit/branch and is excluded from the integrated tree.
|
|
- The staged tree performs exactly one 250 ms worker-thread rescan when the first macOS CoreWLAN result is empty or every returned SSID is unavailable. A recovered candidate continues through the unchanged open/printable `Xiaozhi-*` Module filter; two empty scans remain an empty result; a second non-empty fully redacted result becomes the existing fixed permission error.
|
|
- No firmware, entitlements, Host API, Renderer, Portal, Binding, credential, Windows adapter, or remote ref changes are part of this resumption. Signed macOS x64/arm64 physical scan/connect smoke remains an explicit release gate.
|
|
|
|
- Created normal no-ff merge commit `f5d47c849e57db87051d59d4ccfb3fda7cab1271` with local `main` baseline `9fd9a7761d3872f25e853ac1b059e55251c6ae8f` as first parent and reviewed source `b6148a5cb45e70a75c055a57f8b269f24c619a6a` as second parent. This resumption is complete locally and did not push a remote ref.
|
|
- Independent final staged-merge review returned `PASS` with no P0-P3 findings. It confirmed the exact no-ff topology, four-file scope, source-task-record exclusion, lazy-session behavior, preserved guards, regression strength, and document ownership boundaries.
|
|
- The staged voice-input merge preserves the exact first-parent/second-parent topology `9fd9a77` + `b6148a5`, contains no unmerged entries or unstaged changes, and has passed merged-tree product, build, and project-document gates. It is ready for independent final review before the local merge commit is created.
|
|
- On 2026-08-17, formed reviewed voice-input source commit `b6148a5` and staged a conflict-free normal no-ff merge onto local `main=9fd9a77`. The product diff is limited to the ChatPanel voice predicate and its fresh-Agent component regression; the source-owned task record is excluded from the `main` tree.
|
|
- Created normal no-ff module-access merge commit `4013edcbbc982fcbef0a0ff6287c5307cd87bf8a` with preserved integration-history commit `eb16f73e4dece86a193dee0f797a58d77869470f` as first parent and reviewed source tip `3b799af17370dfa6c4c995c3fcbab8f2d84c3dda` as second parent. Canonical reconciliation records the Main-owned four-boolean projection, default-open compatibility, `design` → `painting`, disabled card/root/deep/alias guards before initialization, Code policy hydration, terminal `401` dual-session cleanup, global `/settings`, and the client-entry-only security boundary.
|
|
- A mandatory pre-push fetch found authoritative `origin/main` had advanced to `01bee3188be4b03b6b358c2da60f1f9ed22d707f`, so no stale push was attempted. Started a second normal `--no-ff --no-commit` merge with reviewed local merge `bb16c1d12a24b2957149db960edba6e6660691aa` as first parent and `01bee31` as second parent; README was the only textual conflict and was reconciled to preserve both the enabled Learning module and the detailed Robot hotspot flow.
|
|
- Preserved the remote Learning product scope, four-module navigation, profile reuse, removal of `game-engine`, and project-root `planning-with-files` output. The merged tree no longer depends on a sibling OpenMAIC checkout: CI/release packaging requires the fixed manifest artifact, while an explicit local source remains development-only.
|
|
- Closed merge-audit security/correctness findings across Learning: strict Host/service DTO and safe-error projection; bounded Agent/ASR/runtime and ZIP consumption; Main-derived opaque account partitions for generation, local courses, IPC and player registration; fixed-binding checks across token acquisition, fetch and 401 refresh; stale account/epoch result rejection; 512 MiB archives; same-Works-origin redirects with a 5-hop cap and no resource Bearer; a nonce-protected account-bound player HTTP session; and an exact-source/origin single-document iframe bridge.
|
|
- Closed Renderer integration findings: ordinary OpenCode errors are visible again; Learning deep links cannot bypass the required profile gate; course/module loads use latest-request guards; generation state is account-scoped; and published-project resubmission explicitly preserves existing metadata/cover while uploading only a new version.
|
|
- Added a real Electron Learning navigation smoke and corrected three OpenCode slash-command E2E setup races by entering Code through the module chooser after setup. Production behavior was unchanged by the OpenCode test correction.
|
|
- Fixed the repository E2E script to invoke the declared `@playwright/test@1.59.0` CLI directly. The prior `pnpm playwright test` path selected a transitive alpha `playwright` CLI from `@playwright/mcp`, producing a false version-mismatch failure.
|
|
- The first independent final Learning merge review returned `FAIL` on four P1, three P2 and one P3 findings: Renderer-self-asserted course identity, account-switch token TOCTOU, old player/progress/form reuse, same-origin navigation bridge recovery, overlay-only profile gating, non-authoritative published status, premature documentation claims, and direct Renderer event IPC. The merge now revalidates installed/registered course identity in Main, threads captured binding guards through token/fetch/401 boundaries, closes and rotates player sessions, partitions/clears Renderer state, permanently disables a navigated iframe bridge, blocks Learning Outlet execution until profile readiness, re-reads strict project status after 409, corrects canonical nonce wording, and routes events through an allowlisted API-client seam.
|
|
- The second independent Learning merge review returned `FAIL` on two P1 and four P2 findings: Agent/runtime could register the requested course before checking active-player identity; executable same-origin course assets could message before a second iframe load; profile sync errors could leave an empty deep link; Works cover/metadata lacked atomic concurrency; material-generation IPC was not fully strict; and canonical evidence overclaimed closure. The final code separates side-effect-free `resolveClassroom` from explicit player registration, validates pre-existing active registration before Agent/runtime resolution, restricts course media to exact passive MIME/extension pairs with nosniff/sandbox CSP, renders a retryable profile error gate, strictly projects generation upload DTOs before auth/network, and at that checkpoint adopted a coverless-first-create / existing-version-only Works workflow whose races failed closed without cover or PATCH side effects. The current project-cover resumption supersedes only that coverless-first-create checkpoint.
|
|
- The third independent Learning merge review returned `FAIL` on one P2 integration mismatch: the package consumer admitted `fonts/*`, while the player server only routed `audio|media`, so a declared playable font would install and then 404. Consumer and server now share the exact root/module `audio|media|fonts` directory contract and passive extension/MIME set; unsupported directories fail installation/HTTP lookup, and real registered ZIP-to-HTTP tests verify root WOFF and module WOFF2 with the expected MIME and security headers.
|
|
- The fourth independent Learning merge review returned `FAIL` on one remaining P2 composition bug: allowing a manifest-relative `modules/<id>/...` path caused the authoritative module root to be prepended twice. Manifest media paths now begin only with relative `audio|media|fonts`; the module prefix comes solely from `location.root`. A consumer-to-classroom-URL-to-registered-ZIP-to-real-HTTP test proves exactly one module prefix, correct WOFF2 bytes/MIME/security headers, and rejection of manifest-supplied `modules/` or other directories.
|
|
- The fifth and final independent Learning merge review returned `PASS` on Standards and Spec with no P0-P3 findings. It confirmed the consumer-generated modular font URL traverses the registered ZIP and real player HTTP response with one module prefix, and found no regression in registration, media safety, profile recovery, Works version-only behavior, generation DTOs, identity guards, canonical documents, packaging, Robot/Canvas, or the lock graph.
|
|
- Created normal merge commit `f7171a471ab1a39380ef666b1e1be9a1f689e43f` with local reviewed `bb16c1d12a24b2957149db960edba6e6660691aa` as first parent and fetched remote `01bee3188be4b03b6b358c2da60f1f9ed22d707f` as second parent. A fresh pre-push fetch confirmed `origin/main` still equalled the second parent. The first non-interactive push and an SSH batch check could not authenticate; a visible local PowerShell `git push origin main` window is open for the user to enter the HTTPS username/PAT without exposing it to Codex. As of the last fetch, the remote remains `01bee31`; no force option was used and no remote ref changed.
|
|
- The second merge remains uncommitted pending final project-document gates and independent Sol review. No remote ref has changed and no force option has been or will be used.
|
|
- On 2026-08-16, resumed the unfinished merge with local `main` at `9af6c526a9500a0dbfb88e39ba0dee1eb7e1d097` and freshly fetched remote `main` at `26b52d76e3dedd754ca1b1c428abaa074b7f98da`; `bfcb88cfefe714a60927a77822ae5a727ebe6604` is their merge base. README was the only textual conflict and now preserves both remote Canvas Prompt Museum wording and local Windows/macOS Robot hotspot behavior.
|
|
- Integrated the remote Canvas enhancements: editable server-repriced generation Quotes, result detail/download UX, exact-name project deletion, Prompt Museum, Chinese-only locale normalization, cloud-default development entry, and optional bundled `game-engine` Skill. Existing local Robot hotspot source, default-on rollback semantics, Koffi 2.16.3, packaging configuration, and firmware-zero-change boundary remain intact.
|
|
- Repaired the automatically merged lockfile by restoring the package-declared `isbinaryfile` override; frozen installation now succeeds. Corrected README's development-mode paragraph to match the remote cloud-default package script.
|
|
- Closed the read-only audit's Prompt Museum boundary findings: Main now projects only bounded list/detail DTOs, accepts only HTTPS URLs without userinfo, maps errors to fixed safe codes/messages, and returns a stable auth error when token refresh is unavailable. Unknown upstream/local details and malformed success payloads no longer reach Renderer.
|
|
- The first final Sol review returned `FAIL` because the merged lock declared the `isbinaryfile` override but left `@electron/osx-sign` on 4.0.10, and because successful Prompt Museum token refresh lacked focused coverage. Fixed pnpm 10.33.4 lock regeneration now resolves the signing chain to 5.0.7, and the route test verifies `forceRefresh: true`, the fresh Bearer token, the successful projected DTO, and exactly one retry.
|
|
- Corrected one remote Electron E2E expectation to assert the documented latest-message sidebar preview. Production behavior was already correct; no Canvas component change was required.
|
|
- On 2026-08-16, formed reviewed in-app Robot hotspot source commit `c1326a298026a697181c822cdd3062cc96c3aa2d` as the exact direct child of local `main` at `abecd5f34485ab467e5f032c618083d88e34b74d`, then started a normal `--no-ff --no-commit` merge. Git reported no textual conflicts.
|
|
- The staged main tree now owns Windows WLAN and macOS CoreWLAN/CoreLocation scan/connect/verify adapters behind one bounded Main Module and typed Host seam. Renderer exposes explicit candidate selection, safe recovery, system-Wi-Fi fallback, and the unchanged fixed-Portal/six-digit Binding continuation.
|
|
- Excluded the source-owned task record and proposal from the integrated tree while preserving both on source commit/branch `c1326a2`. Accepted ADR-003 and reconciled ADR-002, current state, architecture, domain rules, evidence, and release commitments without claiming signed macOS or physical-Robot acceptance.
|
|
- This resumption is a local `main` merge only. It changes no firmware and performs no remote push; exact `NIANCODE_AI_HARDWARE_GUIDED_HOTSPOT_BINDING=0` remains rollback.
|
|
- Created no-ff merge commit `61bd8bd6382e4300c81887f2d49216373d4d4477` with local baseline `abecd5f34485ab467e5f032c618083d88e34b74d` as first parent and reviewed source `c1326a298026a697181c822cdd3062cc96c3aa2d` as second parent.
|
|
- On 2026-08-16, started a normal `--no-ff --no-commit` merge of reviewed default-on source `b78fc07`; Git reported no textual conflicts. The feature task record remains reachable on the source commit/branch and is excluded from the integrated `main` tree.
|
|
- Integrated only the Main default change and focused route regressions: unset environment reports guided capability true; exact `NIANCODE_AI_HARDWARE_GUIDED_HOTSPOT_BINDING=0` and dependency-injected false report disabled. Renderer, Host wire shape, fixed portal, cloud Binding contract, credentials, and firmware are unchanged.
|
|
- Reconciled ADR-002, decision index, success criteria, current state, Robot architecture/domain/glossary, README, and commitments to default-on with exact `=0` rollback. The documents explicitly preserve unverified shipped-firmware, activation-issuer, native-opener, and physical-device evidence instead of claiming those checks passed.
|
|
- Created no-ff merge commit `027d36d7a91045e1dc434ad9ef7b25a40db4af22` with first parent `971865c256c2ddfe1f8ab4f8f4731a1f608599c0` and reviewed source second parent `b78fc07dba0d720e88c55667f8a36ebc50134f87`. Final independent integration re-review returned PASS. This local default-on resumption is complete; the long-lived integration task remains blocked only on its separate pre-existing authenticated remote-push scope, which this user request did not authorize.
|
|
- 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.
|
|
- On 2026-08-16, started a normal `--no-ff --no-commit` merge of reviewed Robot catalog/editor source `fe55dee`; Git reported no textual conflicts. The source task record remains reachable on the source commit and feature branch and is excluded from the local `main` result.
|
|
- Promoted the USER-scoped dynamic model/voice catalog boundary: Renderer receives only bounded display metadata through Electron Main and Works Square, all public catalog outcomes are no-store, and current unavailable values remain editable.
|
|
- Replaced avoidable configuration text/number inputs with catalog selects and bounded TTS sliders while preserving `clear_fields`, revision conflict, operation identity, and Main-owned credential boundaries.
|
|
- Created no-ff merge commit `c035273` with local baseline `7bef261` as first parent and reviewed source `fe55dee` as second parent.
|
|
- On 2026-08-15, merged reviewed Robot configuration-schema source `ea75b06` into local `main` without textual conflict and excluded its source-owned task record from the final tree.
|
|
- Created no-ff merge commit `9738e1c5aebad6237f436c8c94abaf877eb3d175` with local baseline `a26a53a7f4b1326be3084955029a65ef1f79929a` as first parent and reviewed source `ea75b0618a793928878edad736f0837ac9e4adc1` as second parent.
|
|
- Confirmed the failure was transport-contract drift, not a Xiaozhi/Works DTO failure: response compression weakened the origin strong revision ETag to canonical `W/\"0\"`; Main now accepts only canonical strong or weak numeric response tags whose revision equals the strictly projected body.
|
|
- Preserved optimistic concurrency and security boundaries: PATCH/PUT still send strong `If-Match`, and authentication, idempotency, size/deadline limits, fixed paths, and error redaction are unchanged.
|
|
- On 2026-08-15, formed the reviewed Robot configuration-loading fix as source commit `1bcd51964da04e5d80b461547d6bcccfafc0bec9` on its isolated feature branch.
|
|
- Fetched `origin/main` and verified both local and remote-tracking `main` were exactly `a4050f0a6567e8203630bf5d16b57f00c45caab8` with zero ahead/behind before integration.
|
|
- Started a normal `--no-ff --no-commit` merge of `1bcd519`; Git reported no textual conflicts. The source task record remains reachable on source commit `1bcd519` and its feature branch and is excluded from the `main` result to preserve project-document ownership boundaries.
|
|
- The merged code gives Robot configuration reads an explicit terminal error/retry state and keeps the same upstream deadline active through bounded response-body read and parse. Strict configuration DTO, ETag/revision, Main-owned authentication/idempotency, size limits, and error redaction remain unchanged.
|
|
- Independent final integration review returned `PASS` after validating merge topology, remote baseline, staged-tree ownership, behavior, tests, build, and project-document gates.
|
|
- Created no-ff merge commit `f6f7f21941bc5f443eb5e7800066f5b870313680` with local `main` baseline `a4050f0a6567e8203630bf5d16b57f00c45caab8` as first parent and source `1bcd51964da04e5d80b461547d6bcccfafc0bec9` as second parent.
|
|
- On 2026-08-13, resumed this integration task for the user's local-main merge request. `git fetch origin main --prune` succeeded and confirmed `origin/main=22add3f01f2b7cb6318495e8294db006f6f18abf`.
|
|
- Verified source commit `aba5cae286807093cf4ef643fe9f498050985c31` is a direct descendant of that remote tip and that local `main` is its ancestor, then fast-forwarded local `main` to `aba5cae` without rebase, reset, stash use, or conflict.
|
|
- The existing shared `stash@{0}` was not applied, popped, or dropped.
|
|
- Promoted the Robot/Main-owned hardware boundary into canonical current-state and system-overview documents. This request does not authorize or claim a remote push.
|
|
- Kept the feature task record on source commit `aba5cae` and removed it again from `main` in `22724c7`, so this integration task does not rewrite another task's owned project document; source evidence remains reachable on the feature branch.
|
|
- `git fetch origin main --prune` resolved the authoritative remote tip to
|
|
`f4113a872f7cd6aee6829c9597c882846bc4085b`. The histories had diverged at
|
|
`253bad8b40c8cd20a25362006f5d80a4e5c4cd4a`: local `main` contained 18
|
|
integration/preparation commits not on the remote, while the remote contained
|
|
one consolidation commit not on local `main`.
|
|
- Merged `origin/main` with `--no-ff --no-commit`, keeping local `main` as the
|
|
first parent. The only textual conflicts were `README.md` and
|
|
`.project-docs/20-architecture/data-flow.md`; both were reconciled
|
|
semantically instead of choosing either side wholesale.
|
|
- Accepted the remote product consolidation that removes the independent Device
|
|
Preview capability and the bundled Superpowers distribution, while retaining
|
|
the reviewed local Updater, image-to-image, first-chat, AI-proxy, publishing,
|
|
and `/deliverables` behavior. Canonical architecture/current-state documents
|
|
were updated to remove stale live Device Preview claims and record remote tip
|
|
`f4113a8` under `Integrated Through`.
|
|
- Preserved the remote startup warmup, curated course skills, per-Agent model
|
|
ownership, recursive Skill details, OpenCode path resolution, authentication
|
|
hardening, light visual consolidation, fonts, and window material changes.
|
|
- Corrected an upstream course-skill manifest mismatch by retiring the absent
|
|
`deploy-publish-check` skill instead of advertising it as bundled, with a
|
|
regression assertion in the manager suite.
|
|
- Corrected merge-exposed test defects without weakening production behavior:
|
|
project-config request mocking now receives `RequestInit`; the Windows runtime
|
|
queue test injects a deterministic port-owner lookup; the legacy agent-folder
|
|
test accepts the intentionally absent directory; and an unused test binding
|
|
was removed.
|
|
- Rebased the Electron E2E contract on the consolidated UI: Code/Canvas enter
|
|
through the module chooser, hidden module actions are expanded before use,
|
|
Models is reached through the account/settings flow, Provider seeding uses the
|
|
Main-owned Host API, and project-backed chat mocks return valid initialized
|
|
configuration. Two Channels specs were removed because the remote product
|
|
consolidation removed their UI, route, and Host API rather than relocating
|
|
them. Stable test IDs were restored to the retained proxy settings controls.
|
|
- Created merge commit
|
|
`29c458f07dd40bf8f66d4fbb2acb6fe2a1277cd7` with local preparation commit
|
|
`1c85bc04547a72ec76074480245f623e37f9cd30` as first parent and fetched remote
|
|
tip `f4113a872f7cd6aee6829c9597c882846bc4085b` as second parent.
|
|
- Independent read-only Sol review returned `PASS` with no P0-P3 findings after
|
|
checking topology, retained local features, remote consolidation, course
|
|
skill parity, documentation, E2E strength, security boundaries, and
|
|
dependency consistency.
|
|
- A normal `git push origin main` was attempted and rejected by the remote with
|
|
`Failed to authenticate user`. A read-only batch SSH check also returned
|
|
`Permission denied (publickey,...)`; the configured HTTPS credential helper
|
|
has no usable username/secret for this host. No force option was used and no
|
|
remote ref changed. Local `main` and the completed merge remain intact.
|
|
- Completion is blocked only on the user authenticating this machine for
|
|
`git.nianxx.cn`. Keep this integration task owned and do not release it until
|
|
a normal push succeeds and `origin/main` is verified equal to local `HEAD`.
|
|
- On 2026-08-14, the user requested a local-main merge of reviewed AI Canvas source `22378ef`. A fresh fetch verified local and remote `main` were both `88f9ee8`, and the source was exactly one descendant commit with no unrelated overlap.
|
|
- Started a normal `--no-ff --no-commit` merge of `22378ef`; Git reported no textual conflict. The source task record remains intact on source commit `22378ef` and its feature branch, and is excluded from the `main` result to preserve task-document ownership boundaries.
|
|
- Promoted the accepted source facts into canonical current-state, architecture, data-flow, business-rule, evidence, and commitment records: connected Conversation commands/events are bidirectional over WebSocket; REST fallback is transport-only and idempotent; Quote task recovery remains Workspace-owned while Conversation writes retain generation guards.
|
|
- Merge validation exposed a pre-existing AI Hardware test race: the edit button is rendered disabled while configuration loads, but four tests clicked it after waiting only for existence. Under full-suite load the browser correctly ignored the disabled click. The tests now wait for the button to become enabled and for the dialog heading; production Robot behavior is unchanged.
|
|
- The first independent AI Canvas merge review returned `FAIL` on two integration gaps and one safety subfinding: stale confirmation task-refresh errors could overwrite a newer Conversation error, top-level structured WebSocket command errors lacked focused coverage, and unknown Gateway messages could expose upstream details. Confirmation reconciliation now uses an internal task refresh without UI-error side effects; explicit user refreshes retain their error behavior. Matching WebSocket errors are tested as non-retryable, and unknown codes project a fixed Chinese fallback instead of the server message.
|
|
- The second independent Sol review returned `PASS` with no blocking findings after those corrections. The verified no-ff merge is ready to commit with `88f9ee8` as first parent and `22378ef` as second parent.
|
|
- This resumption intentionally does not push. The previous remote authentication follow-up remains unchanged and does not block completion of the user's requested local merge.
|
|
- On 2026-08-15, formed the reviewed context-compaction implementation into source commit `fd9b5b46a913c515e94e4e26f185d43866c2581f`; its parent is exactly current local `main` (`953b0f4`) and the source worktree is clean.
|
|
- Started a normal `--no-ff --no-commit` merge of `fd9b5b4` into local `main`; Git reported no textual conflicts. The source task record remains unchanged on `fd9b5b4` and its feature branch and is excluded from the `main` result to preserve task-document ownership boundaries.
|
|
- Promoted the accepted compaction facts into canonical current-state, module map, data flow, evidence, and upgrade commitments: compaction is a persistent per-session transcript event, completed status is monotonic, and `session.compacted` cannot end the run or release queued prompts.
|
|
- Created no-ff merge commit `1d0878bb5b18e9b17b147a4d43ea0861913da785` with `953b0f4` as first parent and source `fd9b5b4` as second parent.
|
|
- The first independent integration review returned `FAIL` on two uncovered edges: HTTP polling-only idle could release the run while leaving its compaction running, and cold busy hydration could misclassify a historical compaction Part as current.
|
|
- Closed both findings in `7a811590c4943b7b1b7ea5f3b4d3ce3ce05622a5`: compact polling idle now completes only the matching `runID + generation` event before queue release, and cold hydration keeps a native Part running only when current transcript state provides a matching running identity. Historical compactions remain completed during a later ordinary busy run.
|
|
- On 2026-08-16, staged a local no-ff merge of reviewed Robot device-selection source `87a95b4` onto `main` at `3b46697`; Git reported no textual conflicts. The source task record remains intact on the source commit and feature branch and is excluded from the `main` result to preserve task-document ownership boundaries.
|
|
- The Robot workspace now derives device rows and per-agent counts from the selected agent, keeps activation-code binding fixed to that current agent, and retains the editable agent selector only for explicit reassignment. This is a Makelore-only correction and does not add device discovery, manual MAC entry, or new Works Square/Xiaozhi endpoints.
|
|
- This resumption intentionally performs a local merge only. It does not fetch or push, and the existing remote-authentication follow-up for this long-running integration task remains unchanged.
|
|
- Created no-ff merge commit `4ff1a7a8461c01de4d1630a3db55b0942fc37ec7` with `3b4669722e0ea671909beb039da1e07c2483341a` as first parent and reviewed source `87a95b4cecf20fce7912305d2e6e2c063ddcbae4` as second parent.
|
|
|
|
### 2026-08-18 AI Design Enter/Voice Input Integration Resume
|
|
|
|
- Reused this existing Integration owner after the user's explicit request to merge the reviewed AI Design input task. The feature task `20260818-ai-design-input-9f3a` is `ready_for_integration`; its source worktree is clean after forming commit `1ba5b9cc84347bf37cf8a18148a1dcc6b88b3ad2`, based on `13bdc0c`. The parallel video-download merge advanced local `main` to `31fb4ff` before this merge was completed.
|
|
- Started a normal `--no-ff --no-commit` merge of `1ba5b9c` onto `31fb4ff`; Git reported no textual conflicts. The feature task record remains on its source branch and is deliberately excluded from the integrated `main` tree to preserve task-document ownership boundaries.
|
|
- The merge keeps AI Design's Enter/Shift+Enter/IME composer contract and E2E Enter coverage, enables Works Speech voice input with 16 kHz mono WAV conversion, authentication retry, context-lifecycle cleanup, and an always-available stop control while other composer operations are busy.
|
|
- No canonical architecture, domain-rule, or decision promotion is required; the source task records no promotion candidate. Real microphone/Works-account smoke remains an external release validation item.
|
|
- This resumption is local-only. It does not fetch or push the remote; the existing Git credential follow-up remains unchanged.
|
|
- The final staged-merge review initially returned `FAIL` on two lifecycle/test gaps: a MediaRecorder-constructor failure could leave an acquired track live, and the 401 refresh/retry path lacked Canvas-specific regression coverage. The stream is now registered before recorder construction, and focused tests cover both constructor failure cleanup and stale-token → refreshed-token retry.
|
|
- The no-ff merge commit is `7fe5103f43830e26f29693c61c177faca0812b85`, with `31fb4ff9e146304afcb5123a2dc3c0fb1b9bf5e1` as first parent and `1ba5b9cc84347bf37cf8a18148a1dcc6b88b3ad2` as second parent. The follow-up correction commit `b2c902fa1d9ede78ffa3a921402a13fb516d888a` contains the constructor-cleanup fix and 401 retry regressions. The source task record is absent from `main`.
|
|
|
|
### 2026-08-18 AI Design Video Download Extension Integration Resume
|
|
|
|
- Reused this existing Integration owner after the user's explicit request to merge the reviewed AI Design video-download fix. The feature task `20260818-video-download-extension-a4f1` is `ready_for_integration`; its source commit is `43e8a60`, based on the local `main` tip `13bdc0c`.
|
|
- Created normal no-ff merge commit `31fb4ff`, with `13bdc0c` as first parent and `43e8a60` as second parent. The source task record remains on its feature worktree and is excluded from `main`.
|
|
- No canonical architecture, domain-rule, or decision promotion is required. The merge is local-only and does not fetch or push the remote.
|
|
- The merge preserves the separately staged AI Design input task changes already present in the integration worktree; those unrelated changes were not included in `31fb4ff` and were not cleaned or overwritten.
|
|
|
|
## Verification
|
|
|
|
- Source closeout before integration: Main focused 164/164, full unit 176 files / 2100 tests, typecheck, full lint with zero errors and seven pre-existing warnings, `build:vite`, focused Electron E2E 1/1, project-document gates and seventh independent Sol Standards/Spec review all passed.
|
|
- Multi-Session staged merged-tree high-risk selection: 13 files / 490 tests passed, including OpenCode routes/store/panel/run-machine/client/manager, provider routes/store/settings, project config/Agent readiness, Makelore background sync and login regression coverage.
|
|
- Multi-Session staged merged-tree full unit suite: 176 files / 2106 tests passed with four workers; the additional mainline project-cover regressions remain green.
|
|
- Multi-Session staged merged-tree `pnpm run typecheck` and `pnpm run lint:check` passed; lint reported zero errors and the same seven pre-existing warnings.
|
|
- Multi-Session staged merged-tree `pnpm run build:vite` passed for Renderer, Electron Main and Preload; only existing mixed-import and chunk-size warnings remain.
|
|
- Focused Electron E2E `tests/e2e/opencode-multichat-runtime.spec.ts` passed 1/1 through the built Main/Renderer Host stub, preserving Session A busy state while Session B terminates independently without retry.
|
|
- Independent final staged-merge Sol review returned Standards `PASS`, Spec `PASS`, overall `PASS`, with no blocking findings. It independently reran 13 files / 490 tests, confirmed exact `HEAD=b734867` / `MERGE_HEAD=6504073` topology, source-task-record exclusion, no unmerged or unstaged changes, preserved project-cover behavior, canonical document consistency, and the explicit non-claim for real provider concurrency.
|
|
- Post-commit topology confirms `ce897f1` has exact parents `b734867` and `6504073`, the source is a `main` ancestor, and source task record `20260817-multichat-runtime-fix-f3a91c.md` is absent from the integrated tree.
|
|
|
|
- Project-cover source verification: 3 focused Vitest files / 76 tests, typecheck, scoped ESLint, Vite production build, focused Electron E2E 1/1, and cross-repository Sol review all passed.
|
|
- Project-cover merged tree: 3 focused Vitest files / 76 tests, `tsc --noEmit`, scoped ESLint, Renderer/Main/Preload Vite production build, and focused Electron E2E 1/1 all passed; build emitted only the existing dynamic-import and chunk-size warnings.
|
|
- `check_project_docs.py`, task-aware `check_doc_drift.py`, and `git diff --cached --check` passed for the prepared project-cover merge.
|
|
- Independent final read-only Sol review — initial `FAIL` identified two stale coverless canonical statements; after semantic reconciliation, re-review returned `PASS` with no blocking code, contract, topology, test, or documentation findings.
|
|
|
|
- Post-commit topology confirms merge `3b37ac3` has exact parents `7e8d9e3` and `55e61b7`, the source tip is a `main` ancestor, the source task record is absent from `main`, and the product worktree was clean before this evidence-only documentation update.
|
|
- 2026-08-17 independent final macOS Robot hotspot staged-merge review — Standards `PASS`, Spec `PASS`, overall `PASS`, with no P0-P3 findings. It confirmed exact staged topology/scope, source-record exclusion, bounded worker-only retry, retained 8s abort/termination, unchanged filtering/connect contracts, and honest signed-macOS physical-smoke residual risk.
|
|
- 2026-08-17 macOS Robot hotspot staged-merge regression — `tests/unit/robot-hotspot-module.test.ts` passed 14/14, covering first-scan recovery, persistent SSID redaction, bounded double-empty behavior, security filtering, RSSI/current-SSID projection, worker termination, candidate expiry, exclusivity, and exact-current-SSID verification.
|
|
- 2026-08-17 macOS Robot hotspot staged-merge `pnpm test` — 175 files / 2052 tests passed.
|
|
- 2026-08-17 staged-merge `pnpm run typecheck` and scoped ESLint on `macos.ts` plus its unit test — passed.
|
|
- 2026-08-17 staged-merge `pnpm run build:vite` — Renderer, Electron Main, and Preload passed; the emitted macOS chunk retains the one 250 ms worker wait, bounded rescan, and fixed permission mapping. Only existing mixed-import and chunk-size warnings remain.
|
|
- `check_project_docs.py`, integration task-aware `check_doc_drift.py`, task registry doctor, staged/unstaged whitespace checks, unmerged-entry check, source-task-record exclusion, and merge-base checks — passed before independent review.
|
|
- Post-commit topology check confirmed merge `f5d47c8` has exact parents `9fd9a77` and `b6148a5`, the source tip is a `main` ancestor, the source task record is absent from the `main` tree, and the product worktree was clean before this evidence-only update.
|
|
- 2026-08-17 independent final fresh-Agent voice integration review — `PASS`, no P0-P3 findings; exact staged topology/scope, source-record exclusion, lazy session creation, existing guards, test quality, and project-document boundaries were confirmed.
|
|
- 2026-08-17 fresh-Agent/lazy-session/voice focused selection — 5/5 passed; the complete `opencode-chat-panel.test.tsx` file passed 85/85 on the staged merged tree.
|
|
- 2026-08-17 staged merged-tree `pnpm test` — 175 files / 2048 tests passed.
|
|
- 2026-08-17 staged merged-tree `pnpm run typecheck` and scoped ESLint on `OpencodeChatPanel.tsx` plus its unit test — passed.
|
|
- 2026-08-17 staged merged-tree `pnpm run build:vite` — Renderer, Electron Main, and Preload passed (`3921`, `133`, and `1` modules transformed); only existing mixed-import and chunk-size warnings remain.
|
|
- `check_project_docs.py`, integration task-aware `check_doc_drift.py`, task registry doctor, staged whitespace, source-record exclusion, and unmerged-entry checks — passed before independent review.
|
|
- 2026-08-17 module-access merged-tree focused Vitest — 4 files / 69 tests passed.
|
|
- 2026-08-17 module-access merged-tree full Vitest — 175 files / 2047 tests passed.
|
|
- 2026-08-17 merged-tree TypeScript `tsc --noEmit` and scoped ESLint on all changed TypeScript/TSX files — passed.
|
|
- 2026-08-17 merged-tree Renderer/Electron Main/Preload `pnpm run build:vite` — passed; only the existing chunk-size and mixed static/dynamic import warnings remain.
|
|
- 2026-08-17 independent staged-merge Sol review — `PASS`, no blocking Standards or Spec findings. It independently reran 69 focused tests, typecheck, scoped ESLint, `build:vite`, document drift, registry doctor and diff checks, and confirmed the intended two-parent topology and source-task-record exclusion.
|
|
- Post-commit topology check confirmed merge `4013edc` has exact parents `eb16f73` and `3b799af`, the source tip is a `main` ancestor, the source task record is absent from `main`, and the product worktree is clean before this evidence-only update.
|
|
- Remote `01bee31` merged-tree `pnpm install --frozen-lockfile` passed with the package-pinned pnpm 10.33.4; Electron 40.10.6 was restored with `pnpm rebuild electron` before desktop smoke.
|
|
- Learning/Robot/Canvas/publish/OpenCode focused selection — 26 files / 418 tests passed.
|
|
- Bounded full unit suite — 175 files / 1944 tests passed.
|
|
- `pnpm run typecheck` passed. `pnpm run lint:check` passed with 0 errors and 7 existing warnings.
|
|
- `pnpm run build:vite` passed for Renderer, Electron Main, and Preload; only existing mixed-import and large-chunk warnings remain.
|
|
- Corrected official `pnpm run test:e2e -- <selected specs>` passed 9/9 across Learning navigation, module navigation, Canvas workspace, first chat, OpenCode slash/compaction/layout, and project Skills.
|
|
- Learning player/account-focused joint selection passed 22/22 before final review. After the review findings were fixed, the combined 12-file selection passed 122/122, including fixed-binding token/fetch/refresh guards, authoritative course identity, A→B player/progress/form isolation, permanent post-navigation bridge denial, executable profile gating, strict project status/409 races, and the allowlisted event subscription seam.
|
|
- Post-review final bounded unit suite — 175 files / 1973 tests passed. Final `pnpm run typecheck` passed; `pnpm run lint:check` passed with 0 errors and the same 7 existing warnings; Renderer/Main/Preload `build:vite` passed with only existing mixed-import/chunk-size warnings.
|
|
- Post-review Electron E2E selection — 9/9 passed across Learning/module navigation, Canvas workspace, first chat, OpenCode slash/compaction/layout, and project Skills.
|
|
- Fourth-review final combined regression selection — 9 files / 161 tests passed across course library/IPC identity, consumer-generated classroom URL through real player HTTP, package media paths, generation DTO, profile gate, Works route and publish UI.
|
|
- Fourth-review final full suite — 175 files / 2028 tests passed. `pnpm run typecheck` passed; `pnpm run lint:check` passed with 0 errors and the same 7 warnings; Renderer/Main/Preload `pnpm run build:vite` passed with only existing mixed-import/chunk-size warnings.
|
|
- Fifth independent final review — Standards `PASS`, Spec `PASS`, overall `PASS`; no P0-P3 findings. It rechecked exact merge topology, clean staged state, the real consumer→URL→registered ZIP→HTTP font path, and all prior review closures.
|
|
- Second-review final Electron E2E — 4/4 passed for four-module layout, Learning enter/return, sidebar return, and project Skill behavior using the corrected declared Playwright CLI.
|
|
- Remote `26b52d7` merged-tree frozen install — passed with pnpm 10.33.4 after restoring the exact top-level lockfile override.
|
|
- Combined Prompt Museum/Canvas/language/Skill/Robot regression selection — 16 files / 284 tests passed before the Prompt Museum hardening; post-hardening Museum selection — 3 files / 12 tests passed.
|
|
- Prompt Museum hardening tests first reproduced all three audit findings, then passed after the fix. The final 3 files / 13 tests cover stable refresh-auth failure, successful `forceRefresh` with the new Bearer and one retry, unknown upstream/local detail redaction, and malformed/unsafe success DTO rejection. Typecheck and focused ESLint passed.
|
|
- Full unit suite first passed 1848/1849 with one unrelated `opencode-manager` port-release test exceeding its 10-second timeout under full concurrency. The isolated test passed 1/1, the initial bounded four-worker rerun passed 161 files / 1849 tests, and the final post-lock/post-refresh rerun passed 161 files / 1850 tests.
|
|
- Full `pnpm run typecheck` and `pnpm run lint:check` passed; lint reports 0 errors and the existing 6 warnings.
|
|
- `pnpm run build:vite` passed for Renderer, Electron Main, and Preload; only existing mixed-import and large-chunk warnings remain. The emitted Main build retains Windows/macOS Robot native chunks.
|
|
- Selected Electron E2E initially passed 5/6 and exposed a stale sidebar-preview assertion. After aligning it with latest-message behavior, the Canvas E2E passed 1/1; Chinese-only, main navigation, and project Skill checks had already passed 5/5.
|
|
- Final pnpm 10.33.4 lock validation passed both the main-worktree frozen install and a truly clean frozen install in an isolated temporary directory (955 packages, no pre-existing `node_modules`). The final lock contains only `isbinaryfile@5.0.7`; both `@electron/osx-sign` and the other consumer resolve 5.0.7. Post-regeneration typecheck, lint, full tests, and Renderer/Main/Preload build all passed.
|
|
- First final Sol review — `FAIL` on the stale `@electron/osx-sign → isbinaryfile 4.0.10` snapshot and missing successful-refresh test; both findings were fixed before the final re-review.
|
|
- Final Sol re-review — `PASS` on Standards and Spec with no remaining P0-P3 findings. It confirmed the single-version 5.0.7 override graph, Koffi 2.16.3, successful-refresh coverage, correct merge topology, Robot/Canvas behavior preservation, canonical consistency, and clean staged state.
|
|
- Project-document structure and task-aware drift passed. Staged/unstaged whitespace checks pass, and the merge has no unmerged entries or conflict markers.
|
|
- 2026-08-16 cross-platform Robot hotspot source final Sol review — `PASS` on Standards and Spec with no P0-P3 findings; macOS termination/cancellation races, Renderer post-connect state, default-on rollback, security boundaries, and firmware-zero-change were confirmed.
|
|
- Staged merged-main Robot hotspot selection — 4 files / 132 tests passed.
|
|
- Staged merged-main `pnpm test` — 157 files / 1796 tests passed.
|
|
- Staged merged-main `pnpm run typecheck` and `pnpm run lint:check` — passed; lint retained 0 errors and the same 6 warnings outside the merge paths.
|
|
- Staged merged-main `pnpm run build:vite` — Renderer, Electron Main, and Preload passed; emitted Windows and macOS Main chunks, with only existing mixed-import/chunk-size warnings.
|
|
- Staged merged-main Electron module-navigation E2E — 2/2 passed after rebuilding the production Renderer/Main/Preload tree. The fixture does not simulate a physical Robot or signed macOS association and is not claimed as native acceptance.
|
|
- Integration task-aware document drift, project-document structure, staged/unstaged whitespace, source-record exclusion, and unmerged-entry checks passed before independent integration review.
|
|
- Independent final cross-platform Robot hotspot integration review — `PASS` on Standards and Spec with no P0-P3 findings. It confirmed source-code identity, exact merge topology, source-record exclusion, Main-owned native/security boundaries, ADR-003's narrow supersession, canonical consistency, and honest residual release gates.
|
|
- Post-commit topology confirmed exact parents `abecd5f` and `c1326a2`, source ancestry on `main`, branch `main`, and a clean product worktree before this evidence-only task-record update.
|
|
- 2026-08-16 default-on feature final Sol review — `PASS`, no P0-P3 findings; independently confirmed default-on, exact environment opt-out, dependency-injection opt-out, fixed portal ownership, local-before-Works-token behavior, error redaction, unchanged Binding contract, and zero firmware changes.
|
|
- Merged-main Robot selection — 3 files / 94 tests passed, including fresh-module exact `=0` rollback coverage.
|
|
- Merged-main `pnpm run typecheck` and scoped ESLint on the two source files — passed.
|
|
- Merged-main `pnpm run build:vite` — Renderer, Electron Main, and Preload passed; only existing mixed-import/chunk-size warnings remain.
|
|
- Merged-main bounded full suite `pnpm vitest run --maxWorkers=4` — 156 files / 1758 tests passed. The source task separately records why bounded concurrency was used after the unrelated OpenCode port-release test hit its 10-second limit under default all-suite parallelism but passed 40/40 in isolation.
|
|
- Merged-main Electron module-navigation smoke — 1/1 passed through the existing packaged Main/Renderer fixture and entered `/ai-hardware`. The fixture still cannot authenticate a Robot overview or observe the native external opener, so that deeper E2E remains a tracked release-validation gap.
|
|
- `check_project_docs.py` — passed; all required planning/canonical files exist.
|
|
- Integration task-aware document drift, task registry doctor, staged/unstaged whitespace checks, unmerged-entry check, and exact merge-base/parent checks — passed.
|
|
- Post-commit topology check confirmed `027d36d` has the exact two reviewed parents, `b78fc07` is a `main` ancestor, and the product worktree was clean before this evidence-only task-record update.
|
|
- Independent final default-on integration review initially returned `FAIL`: default-on was incorrectly expanded into explicit SoftAP/plain-HTTP risk acceptance, one obsolete follow-up still said “before pilot enablement,” and the default-on test depended on ambient environment state. Canonical wording now records only the explicit default-on/current-firmware decision while retaining the security risk; the follow-up targets the next default-on release/compatibility claim; the test deletes the environment variable and reloads the route module before asserting true. Final re-review returned `PASS` with no P0-P3 findings and independently passed route tests both normally and with ambient `NIANCODE_AI_HARDWARE_GUIDED_HOTSPOT_BINDING=0`.
|
|
- 2026-08-16 Robot device-selection merged-tree regression selection — 3 files / 92 tests passed.
|
|
- Robot device-selection merged-tree `pnpm run typecheck` and scoped ESLint — passed.
|
|
- Staged/unstaged whitespace checks and unmerged-entry checks — passed before independent review.
|
|
- Independent Robot device-selection integration review — `PASS`, no P0-P3 findings; it confirmed selected-agent device isolation and counts, immutable bind target, retained reassignment semantics, source-record exclusion, and the Makelore-only API boundary.
|
|
- Post-commit topology verification confirmed both expected parents, the source commit as a `main` ancestor, a clean product worktree before this evidence-only update, and task-aware document drift passing.
|
|
- 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.
|
|
- 2026-08-16 source and staged-merge Robot catalog regression selection — 5 files / 84 tests passed.
|
|
- 2026-08-16 Works Square catalog adapter/API suite — 131 tests passed; one existing Starlette/httpx deprecation warning.
|
|
- 2026-08-16 Makelore typecheck, focused ESLint, and production `build:vite` — passed; only existing chunk-size and mixed-import warnings remain.
|
|
- 2026-08-16 independent source review — `PASS`, with no P0-P3 findings after all-outcome no-store and 40px target fixes.
|
|
- 2026-08-16 independent final staged-merge review — `PASS`, no P0-P3 findings; topology, net diff, source-record exclusion, canonical promotion, and merged security/UI behavior were confirmed.
|
|
- Robot configuration-schema source TDD recorded `2 failed, 23 passed` before the fix with `AI_HARDWARE_INVALID_ETAG` for the deployed weak-tag shape.
|
|
- Merged-tree AI hardware route suite passed `25/25`; the seven-file Robot/Main regression selection passed `78/78`.
|
|
- Merged-tree `pnpm run typecheck`, scoped ESLint, and `pnpm run build:vite` passed; build retains only existing chunk-size and mixed-import warnings.
|
|
- Merged-tree `pnpm test` passed `156` files / `1727` tests.
|
|
- Task-aware project-document drift, task registry doctor, staged whitespace checks, and unmerged-entry checks passed.
|
|
- Independent final Robot response-ETag integration review returned `PASS` with no P0-P2 findings; it confirmed weak ETags are accepted only on responses, write preconditions remain strong, and the parsed ETag must equal the projected DTO revision.
|
|
- 2026-08-15 Robot configuration-loading merged-tree regression selection — 7 files / 74 tests passed.
|
|
- Robot merged-tree `pnpm run typecheck` — passed.
|
|
- ESLint on the four merged TypeScript/TSX files — passed.
|
|
- `pnpm run build:vite` — Renderer, Electron Main, and Preload production builds passed; only the existing chunk-size and mixed-import warnings remain.
|
|
- Staged/unstaged whitespace checks and task-aware project-document drift — passed before final review.
|
|
- Independent Robot configuration-loading integration review — `PASS`, no blocking findings.
|
|
- Final merge topology — first parent `a4050f0`, second parent `1bcd519`, merge commit `f6f7f21`.
|
|
- Robot source closeout before integration: 8 focused files / 72 tests passed; TypeScript and task-aware document drift passed.
|
|
- Post-fast-forward `pnpm test`: 156 files / 1681 tests passed.
|
|
- `pnpm run typecheck` and `pnpm run build:vite`: passed; build retains only existing chunk/dynamic-import warnings.
|
|
- Real loopback Makelore Main-to-Works Square contract: 8/8 passed.
|
|
- `pnpm run lint:check`: 0 errors and 6 existing warnings.
|
|
- Robot module-navigation Electron E2E: 2/2 passed.
|
|
- `git diff --check`, task-aware document drift, and task registry doctor passed on clean local `main`; independent final review returned PASS for the local Robot integration. The task remains blocked only on its pre-existing remote-push scope because Git authentication is unavailable.
|
|
- `pnpm install --frozen-lockfile` — passed.
|
|
- High-risk focused Vitest selection — 19 files, 494/494 passed.
|
|
- `pnpm test` — 146 files, 1574/1574 passed.
|
|
- `pnpm run typecheck` — passed.
|
|
- `pnpm run lint:check` — passed with 0 errors and 6 existing warnings.
|
|
- `pnpm run build:vite` — passed.
|
|
- `pnpm run test:electron:windows` — 3/3 passed.
|
|
- `pnpm run test:e2e` — rebuilt Renderer/Main/Preload and passed 24/24.
|
|
- `git diff --check` and `git diff --cached --check` — passed.
|
|
- Independent final review — `PASS`, no P0-P3 findings.
|
|
- Merge topology — verified first parent `1c85bc0`, second parent `f4113a8`.
|
|
- Push — attempted normally, rejected before ref update because remote
|
|
authentication is unavailable on this machine.
|
|
- 2026-08-14 AI Canvas focused selection — 3 files / 74 tests passed on the merged `main` tree.
|
|
- AI Hardware readiness regression — full `ai-hardware-page.test.tsx` passed 24/24 after replacing existence-only clicks with enabled/dialog readiness waits.
|
|
- `pnpm test` — the original full-suite loop failed twice at the same disabled-button race before the test hardening; the post-fix run passed 156 files / 1687 tests.
|
|
- `pnpm run typecheck` — passed after the integration test hardening.
|
|
- `pnpm run lint:check` — passed with 0 errors and 6 unchanged warnings outside the merge paths.
|
|
- `pnpm run build:vite` — Renderer, Electron Main, and Preload production builds passed; existing chunk-size and mixed-import warnings remain.
|
|
- Post-review focused checks — Works Square adapter 27/27 and Image Workspace Store coverage passed, including top-level WebSocket errors, unknown-message redaction, A→B task-refresh failure isolation, and explicit-refresh error reporting.
|
|
- Final post-review `pnpm test` — 156 files / 1691 tests passed.
|
|
- Final post-review `pnpm run typecheck` — passed.
|
|
- Final post-review `pnpm run lint:check` — passed with 0 errors and the same 6 warnings outside the merge paths.
|
|
- Final post-review `pnpm run build:vite` — Renderer, Electron Main, and Preload passed; only the existing mixed-import and chunk-size warnings remain.
|
|
- Second independent final review — `PASS`; it re-ran 4 files / 102 tests plus typecheck, found no unmerged entries or unstaged changes, and confirmed the previous state-isolation, structured-error coverage, and redaction findings are closed.
|
|
- Final project-document ownership drift, structure checks, and staged/unstaged whitespace checks — passed before the merge commit.
|
|
- 2026-08-15 context-compaction focused selection — 3 files / 236 tests passed on the merged `main` tree.
|
|
- 2026-08-15 `pnpm test` — 156 files / 1712 tests passed on the merged `main` tree.
|
|
- 2026-08-15 `pnpm run typecheck` — passed.
|
|
- 2026-08-15 `pnpm run lint:check` — passed with 0 errors and the same 6 existing warnings outside the merge paths.
|
|
- 2026-08-15 `pnpm run build:vite` — Renderer, Electron Main, and Preload production builds passed; only existing chunk-size and mixed-import warnings remain.
|
|
- 2026-08-15 Electron E2E selection — `tests/e2e/opencode-slash-commands.spec.ts` passed 3/3, including the manual compaction running-to-completed timeline transition.
|
|
- 2026-08-15 staged/unstaged whitespace checks and project-document structure passed; task-aware drift passed after retaining the source task record only on the feature branch.
|
|
- Post-review focused selection — 3 files / 239 tests passed, including polling-only idle completion, queued prompt release, cold historical hydration, realtime native Part preservation, and completed-state monotonicity.
|
|
- Post-review `pnpm test` — 156 files / 1715 tests passed.
|
|
- Post-review `pnpm run typecheck` and `pnpm run lint:check` — passed; lint retained only the same 6 warnings outside changed files.
|
|
- Post-review `pnpm run build:vite` — Renderer, Electron Main, and Preload passed with only existing warnings.
|
|
- Post-review Electron E2E selection — 3/3 passed.
|
|
- Final context-compaction integration re-review — `PASS`; no remaining P0-P3 findings. The reviewer confirmed polling-idle completion precedes queue release, cold hydration requires a matching current running identity, `main` is clean, and merge/fix/documentation topology is correct.
|
|
|
|
- 2026-08-18 AI Design merged-main focused Vitest — 46/46 passed, including 401 refresh/retry and MediaRecorder-constructor track cleanup regressions.
|
|
- 2026-08-18 AI Design merged-main full Vitest with `--maxWorkers=4` — 176 files / 2120 tests passed. An unconstrained concurrent run had one known `opencode-manager` port-release timeout; its isolated file rerun passed 41/41.
|
|
- 2026-08-18 AI Design merged-main `pnpm run typecheck`, scoped ESLint, and `pnpm run build:vite` — passed; only existing mixed-import and chunk-size warnings remain.
|
|
- 2026-08-18 AI Design merged-main `check_project_docs.py`, integration `check_doc_drift.py`, task registry doctor, staged/unstaged whitespace checks — passed.
|
|
|
|
- 2026-08-18 video-download merged-main route regression — 1 file / 14 tests passed; `.mp4`, `.mov`, and `.webm` preserve their extensions and non-media MIME responses remain rejected.
|
|
- 2026-08-18 video-download merged-main focused selection — 3 files / 72 tests passed; typecheck and scoped ESLint for the route/test files passed.
|
|
- Merge topology and `git diff --check` passed for `31fb4ff`; the source task record is absent from `main`. The integration worktree retains unrelated staged AI Design input changes, so no clean-worktree claim is made.
|
|
|
|
## Follow-ups
|
|
|
|
- Before claiming true simultaneous model execution, run the opt-in real bundled OpenCode two-Session smoke with an explicitly configured test provider. Current automation proves application isolation, bounded failure and no replay, not provider/runtime concurrency.
|
|
- If runtime Agent edits must apply immediately, first add an upstream directory-scoped invalidation API or authoritative whole-instance quiescence oracle. Until then, retain manual restart after active replies finish and do not infer dispose/reload safety from `/session/status`.
|
|
|
|
- Before releasing the per-user module-entry policy, deploy the Works `module_access` migration and `/api/auth/me` contract, build and install a new Makelore package, then use a real account to disable Code, Canvas, Learning and Robot one at a time and smoke chooser/root/deep/alias behavior, global settings, terminal `401`, and independent server-side API authorization.
|
|
- Before releasing Learning, run a real Works account through catalog, generation/material/cancel-resume, bounded download, offline multi-module playback, progress, Agent, ASR and PBL/scoring using the exact production Stage artifact. Validate packaged loopback cookie/nonce behavior on Windows and a signed macOS build; current automation is not that acceptance.
|
|
- First-project cover upload is implemented by client source `145a6ce` and server source `407c883` / local merge `0cedfc4`; before release, deploy the server, package the client, and verify a real account/object-store flow including create conflict, cover failure, and version-upload blocking. Editing metadata on an existing draft/published project still requires a server-owned revision/ETag plus draft-only conditional write; until then existing projects remain version-only.
|
|
- Complete the visible Git Credential Manager/PowerShell authentication prompt, then fetch and verify `origin/main` equals the local tip before recording push completion and releasing this Integration task.
|
|
- Packaging audit follow-ups outside this merge remain: verify macOS/Linux OpenCode multi-architecture staging, remove any unsupported Windows ARM64 advertising, pin the uv installer by digest, and replace unauthenticated curl-style installer paths before those release lanes are trusted.
|
|
- Before releasing Prompt Museum and the expanded Canvas deletion/repricing workflow, use a real Works account to validate Museum list/detail/pagination/attribution/CDN content, latest Quote pricing/confirmation, project soft-delete visibility, queued reservation release, and running-task settlement. Client tests do not prove the content backend or production billing/deletion semantics are deployed.
|
|
- Before claiming complete compatibility for the default-on Robot journey, verify the exact shipped firmware/fixed portal, six-digit issuer/validator freshness and consumption semantics, real Host API/native opener behavior, and a physical-device provisioning + Binding smoke. Keep exact `NIANCODE_AI_HARDWARE_GUIDED_HOTSPOT_BINDING=0` in support rollback instructions.
|
|
- The earlier default-false production instruction is superseded by the user's explicit default-on decision. Keep exact value `0` only as rollback, and do not touch `D:\Datas\HardwareProjects\xiaozhi-esp32-firmware` for this V1.
|
|
- Before the next default-on release or any complete-compatibility claim, 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.
|
|
- Stable mutation operation IDs are retained across ambiguous retries in the running app but are not persisted across an application restart.
|
|
- Signed packaged updater smoke and live Works Square/Bailian image-to-image
|
|
smoke remain external release gates; this Git synchronization does not claim
|
|
that either production environment has been exercised.
|
|
- A cancelled-before-spawn OpenCode restart can still spend roughly one second
|
|
probing a Windows port owner. The queue regression is now deterministic; a
|
|
future performance change should distinguish an attached runtime before
|
|
skipping that lookup so attached-runtime restart behavior remains intact.
|
|
- Authenticate `git.nianxx.cn` through the local Git credential manager or an
|
|
authorized SSH key, then resume this same task to push and verify remote tip
|
|
equality. Do not paste a personal access token into the task conversation.
|
|
- When bundled OpenCode or the model context profile changes, run a real long-context compaction smoke to reconfirm native Part fields and event ordering; the current Electron E2E uses a controlled EventSource through the real Store/Renderer lifecycle rather than launching OpenCode.
|
|
|
|
## Promotion Candidates
|
|
|
|
- The `6504073` candidate is promoted into current state, module map, data flow, evidence and commitments: per-Session run/error/startup state, hard 10-second explicit startup acknowledgement, no uncertain replay, Main-owned generation/fingerprint Agent readiness, typed pre-send runtime/config pending, bounded manager/project acceptance and no ordinary-path shared-runtime restart/reload/dispose. Real provider concurrency and immediate Agent hot reload remain explicit pending validations rather than integrated claims.
|
|
|
|
- The `3b799af` module-access candidate is promoted into current state, architecture/data flow, business rules, success criteria, evidence and commitments: Electron Main projects only four booleans from `/api/auth/me`; missing values are enabled, server `design` maps to client `painting`, disabled card/root/deep/alias entry stops before layout/module initialization, Code provider waits for policy hydration, terminal `401` clears both session layers, and `/settings` remains global. This is a client entry policy, not API authorization; deployment/package/real-account validation remains pending.
|
|
- Remote `01bee31` facts and the reviewed merge hardening were promoted into README, AGENTS, success criteria, current state, architecture/data flow, business rules, glossary, evidence and commitments: Learning is enabled but remains Main-owned, account-partitioned, bounded, artifact-verified and pending real Works/signed-package acceptance; `game-engine` is removed and planning files belong in the project root.
|
|
- Remote `26b52d7` facts were promoted into current state, architecture, domain rules, glossary, evidence, README, and release commitments: Prompt Museum remains read-only/server-driven, Quote pricing is service-owned, Canvas deletion is an explicit Workspace mutation, development is cloud-default, UI language is Chinese-only, and `game-engine` is an optional bundled Skill. Production Museum content and real-account billing/deletion acceptance remain pending commitments rather than completed evidence.
|
|
- The default-on candidate from `b78fc07` was promoted into ADR-002, current state, decision/success criteria, Robot architecture/domain/glossary, README, and a concrete release-validation commitment. No unresolved canonical candidate remains; the missing native/physical evidence is tracked as a pending commitment rather than overclaimed.
|
|
- The implementation truth from `b7a1590` was originally promoted as implemented/default-off. `b78fc07` now supersedes only that default; its former enablement evidence requirements remain tracked as default-on release validation and rollback commitments.
|
|
- 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.
|