Skip to content

ref(core): 分离独立 SDK 与应用兼容入口 - #185

Merged
xiaoland merged 3 commits into
mainfrom
feat/core-app-separation
Nov 5, 2026
Merged

xiaoland merged 3 commits into
mainfrom
feat/core-app-separation

Conversation

@xiaoland

@xiaoland xiaoland commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

变更目的与范围

新增 @inkcre/core/sdk,让独立程序在不加载 Vue、Pinia 或应用配置的情况下使用 Core。连接、认证来源和 Fetch 由调用方显式提供;根入口继续服务现有 Vue/MF 消费者,并复用同一传输与字节存储实现。

  • 独立入口提供类型化关系/RPC、JWT 签名、PostgreSQL 字节存储、Peer 协议和 Resolver 身份;不承诺旧根入口全部高层 facade 或 Host UI。
  • JavaScript 与类型声明分别构建,独立消费者无需 UI peers。
  • 新增真实 npm tarball 的仓库外导入、类型编译、目标隔离与存储行为检查,纳入 pnpm check:sdk 和 pnpm check。
  • 受影响发布项目:@inkcre/core、@inkcre/client-web、@inkcre/client-webext。Changeset 使用既有 0.4 兼容线 patch,不改变 MF Host ABI。

后续工作

本 PR 保持 draft,待维护者审阅独立消费边界与兼容策略;无已指定审阅人。目标分支为 main,源码基于 e01e097c9c8e7a9e80d9d92187957d1c5eeaeb67,只包含本任务的源码与独立共享文档引用提交。当前不请求合并或发布。

跨仓跟踪:InKCre/docs#50

共享 Product TDD:InKCre/docs#51

验证证据

在当前 main 基线上重新完成:

  • pnpm install --frozen-lockfile 通过,锁文件未变更。
  • 完整 pnpm check 通过:全仓格式、lint、类型检查,Core/Web/WebExt/全部 7 个 MF producer 构建和分发合同,以及独立 SDK 实际 npm tarball 消费检查。
  • 旧 SDK 与保存连接兼容测试 4 项通过,独立 SDK 测试 1 项通过。
  • git diff --check 与共享文档子模块检查通过;main...HEAD 仅包含本任务的 19 个文件。

按用户要求未在本地执行端到端验收;本地证据不覆盖浏览器完整旅程、真实数据库跨 Peer 互操作或 preview。云端 CI 可正常执行,包括其端到端检查。

交付影响

不变更数据库协议或 schema,不发布包、不部署生产。目标分支为 main,按仓库既有工作流正常执行云端 CI/preview;本次没有修改工作流或主动 dispatch。

PR 依赖

  • 父 PR:无。
  • 已知子 PR:无。
  • 共享文档依赖:https://github.com/InKCre/docs/pull/51;`docs/_shared` 指针独立提交,引用已推送的 Hub b33346225b669a6ac93fcac12a135178a46533c8。
  • 合并前应完成共享合同审阅,保持所引用 Hub 提交可达。

风险与回滚

主要风险是独立入口声明依赖、默认传输与现有应用入口之间出现差异,或打包遗漏入口。独立消费和兼容测试覆盖这些边界,但不能替代真实运行验收。可整体 revert 本 PR 的源码和子模块指针提交,恢复原根入口与构建方式;无需数据库回滚。

后续统一可观测性

直接子 PR:https://github.com/InKCre/impl-ts/pull/186(draft,基于本 PR 的 Core/App 边界)。先合并本 PR,再将子 PR 重排到最新 main;跨仓交付由 InKCre/docs#52 跟踪。

@xiaoland
xiaoland changed the base branch from feat/maintainability-review to main November 4, 2026 13:05
@xiaoland
xiaoland force-pushed the feat/core-app-separation branch from 028e49b to 53e6fd7 Compare November 4, 2026 13:05
@xiaoland
xiaoland added this pull request to stack #187 November 4, 2026 13:50
- 更新到 Hub main 17fc19e
- 使用与正式 dogfood 相同的合同树交付 Core 与 App 边界
@xiaoland
xiaoland marked this pull request as ready for review November 5, 2026 09:47
@xiaoland
xiaoland merged commit ca4cfd7 into main Nov 5, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from Review / acceptance to Done in InKCre Current Work Nov 5, 2026

This branch was successfully deployed

1 active deployment
preview — 3dc60a51 Deployed Nov 5, 2026 by xiaoland via Retire exact Pages preview #164
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant