Merge Robot configuration ETag compatibility
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
|
||||
## Scope
|
||||
|
||||
- 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.
|
||||
@@ -113,6 +114,14 @@ Gate result:
|
||||
- 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.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Fetch `origin/main` and verify local `main`, the remote tip, and reviewed AI Canvas source commit topology.
|
||||
@@ -136,8 +145,18 @@ Gate result:
|
||||
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
|
||||
|
||||
- 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.
|
||||
- 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.
|
||||
@@ -214,6 +233,12 @@ Gate result:
|
||||
|
||||
## Verification
|
||||
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user