From ea607ec742023d45e4d4837a627eeb85d9f24d69 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 9 Aug 2026 07:36:05 +0000 Subject: [PATCH] =?UTF-8?q?docs(architecture):=20=E4=BF=AE=E5=A4=8D=20ARCH?= =?UTF-8?q?ITECTURE.md=20=E7=9A=84=2010=20=E5=A4=84=E6=AD=BB=E9=93=BE=20+?= =?UTF-8?q?=202=20=E5=A4=84=E8=BF=87=E6=9C=9F=E8=B7=AF=E5=BE=84=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E7=BA=B3=E5=85=A5=20#6592=20=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E9=97=A8=E7=A6=81=20(#6867)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复 10 条相对死链:两条可明确改指现存目标(Three-Layer Stack / Design Principles → content/docs/concepts/{architecture,design-principles}.mdx), 其余目标已不存在于仓库(QUICK-REFERENCE.md、PACKAGE-DEPENDENCIES.md、 docs/METADATA_FLOW.md、apps/studio/ROADMAP.md、三份 content/docs/developers/*.mdx),按 issue 要求不臆造去向,直接删除并在原地 留一句真话解释为什么。 - 修复 2 处过期裸路径引用:plugin-capability.zod.ts 的 system/ → kernel/; 彻底删除 @objectstack/plugin-msw 小节及依赖图里的残留引用 —— 该插件已在 #2391 (v12.0) 随 MSW 支持一起移除,不是路径漂移而是组件不存在。 - 把 ARCHITECTURE.md 加入 check-links.yml 的 lychee glob(#6592 家族的做法), 使其不再是仓库里唯一不被任何链接门禁覆盖的文件;docs/adr/** 沿用原有的 check-adr-links.mjs 单独校验,不受影响。 Fixes #6867 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01F8q5J1MQyocgtNspb15fSn --- .github/workflows/check-links.yml | 5 +++++ ARCHITECTURE.md | 37 ++++++++++++------------------- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 453655acd4..a3ae9b253f 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -80,6 +80,10 @@ jobs: # freeze those 8 on a shrink-only baseline and fail on a NEW one -- # something neither `exclude` nor `.lycheeignore` can express, because # neither ever tells you an entry stopped being needed. + # `ARCHITECTURE.md` joined this glob in #6867: unlike `docs/adr/**`, it + # carried no pre-existing rot once its 10 dead links + 2 stale path + # references were fixed in the same PR, so -- unlike the ADR directory + # above -- it needs no KNOWN_DEAD_TARGETS-style baseline to land clean. args: >- --offline --root-dir ${{ github.workspace }}/content @@ -88,5 +92,6 @@ jobs: 'content/**/*.md' 'content/**/*.mdx' 'README.md' + 'ARCHITECTURE.md' # Fail the job if broken links are found fail: true diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 87dee4152a..f9438f0e76 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -267,16 +267,6 @@ official plugin lives in `packages/plugins/*`. **Dependencies**: `@objectstack/core`, `@objectstack/spec`, `@objectstack/types`, `hono` -#### `@objectstack/plugin-msw` -**Location**: `packages/plugins/plugin-msw/` -**Role**: Mock Service Worker Plugin - -- Browser-based API mocking -- E2E testing support -- Development mode - -**Dependencies**: `@objectstack/objectql`, `@objectstack/spec`, `@objectstack/types`, `msw` - ### Tools Packages #### `@objectstack/cli` @@ -403,7 +393,7 @@ Lifecycle: ### Plugin Capability Declaration -**Location**: `packages/spec/src/system/plugin-capability.zod.ts` +**Location**: `packages/spec/src/kernel/plugin-capability.zod.ts` Plugins declare capabilities through structured manifests: @@ -433,8 +423,6 @@ interface PluginCapabilityManifest { ├── @objectstack/core (Kernel + Logger) │ ↑ │ ├── @objectstack/objectql (Query Engine) - │ │ ↑ - │ │ └── @objectstack/plugin-msw │ │ │ ├── @objectstack/metadata (Metadata I/O) │ │ ↑ @@ -579,7 +567,7 @@ export type Field = z.infer; - Parallel development - Incremental migration -**See Also**: [content/docs/introduction/architecture.mdx](content/docs/introduction/architecture.mdx) +**See Also**: [content/docs/concepts/architecture.mdx](content/docs/concepts/architecture.mdx) ### 7. Monorepo Structure @@ -676,7 +664,9 @@ plugin files above are the live source of truth. ### Component-Specific Documentation -- [Metadata Flow Documentation](docs/METADATA_FLOW.md) - Detailed explanation of how metadata flows from definition to runtime, including configuration examples and troubleshooting +`docs/METADATA_FLOW.md` no longer exists in this repository and no replacement was ever +written; the closest live description of how metadata flows from definition to runtime is +the "Metadata service architecture" walkthrough immediately above. --- @@ -713,15 +703,16 @@ plugin files above are the live source of truth. ## Related Documentation -- [Quick Reference Guide](./QUICK-REFERENCE.md) - Fast lookup for common tasks -- [Package Dependency Graph](./PACKAGE-DEPENDENCIES.md) - Complete dependency visualization - [Development Roadmap](./ROADMAP.md) - Next-phase optimization & improvement plan -- [Studio Roadmap](./apps/studio/ROADMAP.md) - Studio IDE development plan -- [MicroKernel Architecture Guide](./content/docs/developers/micro-kernel.mdx) -- [Plugin Ecosystem Architecture](./content/docs/developers/plugin-ecosystem.mdx) -- [Writing Plugins](./content/docs/developers/writing-plugins.mdx) -- [Three-Layer Stack](./content/docs/introduction/architecture.mdx) -- [Design Principles](./content/docs/introduction/design-principles.mdx) +- [Three-Layer Stack](./content/docs/concepts/architecture.mdx) - How the Data, System, and UI protocols work together as one cohesive system +- [Design Principles](./content/docs/concepts/design-principles.mdx) + +Six more links used to live in this list — a Quick Reference Guide, a Package Dependency +Graph, a Studio Roadmap, and three `content/docs/developers/*` guides (MicroKernel +Architecture, Plugin Ecosystem, Writing Plugins). None of those files exist anywhere in +this repository today (Studio itself now lives in the separate `objectui` repository, so +no relative link from here can reach a Studio roadmap), and no replacement was ever +written, so the entries are removed rather than repointed at a guess. ---