Skip to content

refactor(client): minimal client install and neutral shared protocol helpers - #171

Merged
LIghtJUNction merged 7 commits into
mainfrom
fix/client-boundary-20260929
Sep 29, 2026
Merged

LIghtJUNction merged 7 commits into
mainfrom
fix/client-boundary-20260929

Conversation

@LIghtJUNction

@LIghtJUNction LIghtJUNction commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Current combined source — final gates pending

Head 3ae9f8e, tree 6e7f84e2686170720dd408798422b9fcc5a310d4. Two real parents preserve both client 5f56bbe and unified architecture #167 e768cbc. Compared the resulting commit against both parents: no unrelated implementation or test is lost. Only this PR's branch was updated, non-force.

#167 remains the single #156/#157 implementation; do not merge #169's alternative executor. This combination retains all #167 executor, packet/schema, QuerySession/RelationalSession source and inherited regression tests, and main's merged #165 tool boundary. The new head has been pushed for independent combined cloud verification. Do not substitute any isolated old GREEN for these final gates.

Client change

Refs #158 #82 #83 #85. Client/CLI/TUI no longer import server executor, Git content backend, custodial vault/migration implementation or MCP server just for shared helpers. Atomic protected file replacement, state-free custodial proof/decision/ACK bytes and MCP version constants have neutral owners and identity-preserving compatibility exports. Signed bytes, crypto purposes, journal and authority/publication logic are unchanged.

Result encoding is reconciled with #167: core.codec owns the sole result_wire function; core.packet re-exports that exact object; executor retains its core.packet import. CLI/MCP use codec. No copied function or circular import. Packet/schema ownership and bounded decoding stay unchanged. Both client and architecture identity checks remain.

The transferred standalone executor regression receives the exact already-verified correction from #169 3db973a: compare wire(result.data) with the complete expected nested JSON. Its rollback/batch replay/value assertions are not weakened; #167 has been notified, and its branch was not modified here.

Base dependencies now support the client; explicit server extra keeps every original server constraint, dev includes the complete server. msg/msgd entrypoints are unchanged. Missing server packages fail before state creation with a stable daemon error. README, deployment and CLIENT_INSTALLATION.md document the required server installation migration; no automatic install or insecure fallback.

Independently verified evidence

RED head6ea463d6fa8b256cb07d0ede2d7795a5336eda4f/tree2a89a0a36f2d87646cccd4fdbd5ed8420f31c9b9; run36483229167: 7 failed /0 errors /0 skipped. Artifact10998106395 hash 449fc080ba7232cceea4c6f6444d1468fda03b6278112d1c9cbec96dcfdce112 and exact source/JUnit checked. Real fresh imports rejected server vault; baseline wheel failed dependency-clean acceptance.

Isolated implementation GREEN, not final combination: run36486003907, source mergec4a5c34b16171333ad05803a43a145c93a4e5985/tree0b339516eb31ddef8f3aa576857710706cb82a97, corresponding to implementation5f56bbe4. Artifact 11000036526, SHA-256 5fb24ee583c5c9f76b0255475b9c7dea76d587c0c74fe8cc3fafa7f65e887810 downloaded and independently inspected:

  • 7 passed /0 failures /0 errors /0 skips;
  • real wheel/sdist built, clean normal wheel install outside checkout, pip check and both help entrypoints successful;
  • installed package manifest excludes all seven server-only dependencies;
  • fresh strict import guard reports no server implementation import;
  • all four actual HTTP/path-GET/GraphQL/MCP transports sent and verified the same cryptographically signed request through an in-process MockTransport endpoint, no external service.

Reviewed source patch hash244778f572724b991a8b14ff3334b810a3af14329de999bf148c5445950c8a02. First publisher correctly refused a pyproject hunk normalized by the sdist; commit649a85da corrected the actual repository-format metadata without relaxing an assertion. Successful source-application36485787986 artifact10999476065 hashb43c4f67d52fc1a27739d2ad4ee1d772bb62b4ff105419b93c3f3f84285b3617 matched exact source/patch/18 remaining paths. Temporary publisher/patch are absent from this final tree and did not execute project code with write credentials.

Merge requirements

Current combined head must pass client wheel/import/transport checks, architecture/storage/tool/recovery suites, full four-shard actual-node-ID union, conformance/real-tokenizer and build. Refresh #167/main and review the exact combination before serial integration. Keep #158 open until final gates and merge; no umbrella/production/platform/performance completion claim.

Persistent notes: docs/CLIENT_BOUNDARY_PROGRESS.md, docs/CLIENT_INSTALLATION.md, docs/ISSUE_PROGRESS.md and #83. All project execution/tests/builds are cloud-only. No deployment, real Root/PIN, funds, actual outbound notification, key/backup destruction or recovery promotion.

LIghtJUNction and others added 4 commits September 29, 2026 05:00
Refs #158 #82 #83 #85. Add strict import, helper compatibility and server preflight regressions before changing implementation; retain all full-server CI gates.
… cloud branch

Refs #158 #82 #83 #85. Patch SHA-256 244778f572724b991a8b14ff3334b810a3af14329de999bf148c5445950c8a02. Restrict publishing to 19 enumerated files and this feature branch; remove the one-shot publisher in the generated source commit. Record RED and explicit full-server installation compatibility.
…al format

The source archive normalizes pyproject formatting; cloud run36484923358 refused that hunk before any publish. Commit the same reviewed dependency split against the live repository file and apply the unchanged verified source patch excluding only that already-committed metadata. Refs #158 #83.
…endencies

Refs #158 #82 #83 #85. Preserve signed bytes, credential persistence and explicit full-server installation.

Copy link
Copy Markdown
Contributor Author

当前实际最终源头5f56bbe4已创建本PR并触发4项云端验证:client36486003907、full36486003891、recovery36486003883、tool-boundary36486003903。一次性patch publisher和patch都已从该源树删除;先前源码包TOML排版不匹配的失败没有被伪装成实现成功。

与#167协调的单一result_wire所有权可以通过两种等价中立布局解决:core.packet唯一实现且客户端直接导入它;或core.codec唯一实现、core.packet兼容重导出同一对象。最终将核对其实际集成头和调用/身份测试,只保留一种实现,不为了模块名复制函数或回滚执行器。当前本PR仍为draft,不抢在组合验收前合并。

… implementation

Combine #171 client5f56bbe4 with #167 e768cbc without changing either other work stream's ref. Retain #167 executor, packet/schema, QuerySession/RelationalSession and all regression tests; retain merged #165 tool contract. Core codec owns the one result_wire function; packet re-exports that same object and executor keeps its packet import. Preserve all client helper, installation and signature tests. Apply the complete frozen-JSON comparison correction from #169 3db973a, whose 34 focused regressions passed in cloud.

Refs #158 #156 #157 #83 #85. Final combined tree requires new full/focused cloud gates; no historical GREEN or production acceptance is claimed.
Join #167 2d1cc44 and client integration3ae9f8ef. Adopt its five exact workflow/test/note blobs, including the expanded ledger/migration/recovery selection and the same complete frozen-JSON assertion. No product source changes from the preceding integration. Record the independently verified isolated client7/wheel/four-transport GREEN without treating it as this final combined head's result.

Refs #158 #156 #157 #83 #85. Only the client feature branch will advance; all final-head gates remain required.

Copy link
Copy Markdown
Contributor Author

确认接受你对result_wire的单一所有权收敛:core.codec实现,core.packet和executor兼容导出同一对象,仍满足#156中立依赖和身份断言;无需再加另一套codec。

#167当前稳定头是2d1cc443c828dd2f735995cc6a5d20021fee6ac7/tree6171f6041ffd0addaf72eadd35acf562f478281f,比你集成的e768仅多#166的原16用例/补充工作流/进度笔记、完整storage专项选集及3db973a的wire断言修正;无其他生产源码改动。#166原历史作为真实第二亲本已保留。最终同步请把这些回归/记录带入,保留单一实现;不使用e768旧头替代#167最终验收。

当前#167独立核验Recovery60pass和Tool38pass,执行器/存储/全量门槛尚待完成。本会话继续#162独立后继PR #172,基于2d1cc,不改你分支/客户端依赖,不覆盖公共codec。

Copy link
Copy Markdown
Contributor Author

继续接手本PR的主线集成核验,不新建第二套客户端实现。实际ref为 730780a / tree758e86821ee31f59afbed22935207fad6cd5fb11,不是旧body的3ae9。已读取完整客户端产物源码、差异及原RED/隔离GREEN笔记,原head的client/full/storage/architecture/recovery全部success;下载full shard0 artifact11000502466并核对SHA2569ea50d3f09a9143e860ad6bf860e0483193b536a76e9a46dd52c488f7d6831c8。

当前main已由#175推进到edbfbae(token独立owner,#162关闭);#173唯一hosting实现冻结head2b80a3cf/treef377ce7,组合focused41+token122通过,完整CI36553079854仍在跑。计划在本PR保留730780及hosting/token真实父链,只解决daemon和storage.git两处接线,保留中立helper唯一所有权;不覆盖#173分支,不抢先合并客户端导致其最终tree变化。dev extra自含server,既有.[dev]测试安装仍正确。

发行包中的pyproject.toml.orig不是仓库残留,而是uv_build的TOML兼容副本(原文件保留),不会错误删除或新增不合理打包限制。后续用实际仓库格式/原blob,不将sdist规范化pyproject覆盖源文件。精确组合后的最小wheel安装、四传输、全量gate仍需重新验收,旧head绿色不替代。

@LIghtJUNction
LIghtJUNction merged commit 5d5ea76 into main Sep 29, 2026
13 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant