Repository navigation
Mount: add dsh-skin sub-protocol (DSH UI 皮肤加载公约 v1) - #17
Merged
Merged
Conversation
Scope: one category of change - ecosystem admission of a new sub-protocol (docs/directory-guide.md §4). The mount (gitlink + .gitmodules), the registry entry, and the doc syncs that admission requires are interdependent and each listed below. No verifier rule, no governance rule, and no existing entry is touched. Status: Experimental upstream. The convention repository's own header table (convention.md) declares status Experimental and maintainer DSH-EAC; the index copies that declaration (statusSource: upstream) and invents none. Normative change: none authored here. The mounted covenant text (protocol id dsh.ecosystem.ui-skin-loader/v1) is pinned unmodified; this repository only mounts, indexes and describes it. Pinned revision: dsh-skin (new) 846834963a8ff66f7a949560d3566b8a35e37cf1 DSH-EAC/dsh-ui-skin-loader-convention What the entry says: - id dsh-skin (the path directory-guide.md §7 reserved for this sub-protocol), category sub-protocol, buildsOn dsh-std, mount vendor/sub-protocols/dsh-skin, specEntry convention.md, status Experimental (upstream-declared). It is a weak-constraint covenant: the minimal seam between skin plugins and a loader - what a skin must not occupy, when it is enabled, what it receives, when it must shut down completely. Doc syncs required by docs/directory-guide.md §4 for a new sub-protocol: - docs/overview.md: admission table row, a new §3.1 digest section (what it is, the three mandatory sections §3-§5, the optional add-only slot mechanism, the division of labor vs. the strong-contract manager and the host authoring convention), and the role-boundary table row; - vendor/README.md: directory tree and mount table; - vendor/sub-protocols/README.md: "currently empty" wording updated to the first landed mount, per that file's own instruction to link the first sub-protocol into ../README.md's mount table; - docs/directory-guide.md §7: the reserved row for the skin / UI plugin sub-protocol is fulfilled by this admission and removed from the not-yet-landed list; - README.md: homepage directory tree and mount table mirrored. Dependent CI change (declared per CONTRIBUTING.md §4): the mounts job lists mounts explicitly; vendor/sub-protocols/dsh-skin is added to its shallow-init step and its specEntry (convention.md) to the existence check, so deep verification covers the new pin. No check rule itself changed. Division of labor: this covenant is a cross-host, implementation-agnostic, weak load/start-stop seam. Strong-contract package format, transactions and fault isolation (ADR 0001-0003) stay with DSH-EAC/dsh-ui-skin-manager; EAC desktop host slot topology and capability boundaries stay with DSH-EAC/DSH-Desktop-EAC-UI-Skin-Authoring-Convention, a host implementation convention under this covenant. The three do not overlap and do not compete; this mount fulfils the slot reserved in directory-guide.md §7. Compatibility impact: additive. One new mount, one new index entry, doc syncs only; no existing entry, mount, rule or link changes meaning. vendor/ gains only the mount point (gitlink), so the no-stray-files rule still holds. Evidence: node scripts/verify-structure.mjs passes locally with all four mounts initialized: 16 top-level tracked entries whitelisted, 4 mounts parsed from .gitmodules, 3+1+0 index entries valid, 4 index entries matched bidirectionally to 4 live gitlinks (dsh-skin at mode 160000, gitlink 846834963a8ff66f7a949560d3566b8a35e37cf1, fetchable from the .gitmodules URL), 100/100 relative links resolved across 17 documents, and all specEntries present including vendor/sub-protocols/dsh-skin/convention.md. Fixtures: none - this repository holds no conformance suite. Conformance impact: none. The covenant defines no conformance suite; admission is indexing only, not certification. Migration: none. Consumers tracking this repository should re-init submodules to pick up the new mount. Rollback: drop the gitlink, the .gitmodules entry, the registry entry and the doc syncs; no data or format migration involved.
…→ c7fa652) 公约 §9 示例伪码与 minimal-skin 骨架经实机核对修正为真实 client API 形态 (顶层 exports.inject 服务注入 + exports.apply(ctx) 内经加载器服务对象 registerSkin + ctx.effect 反登记);§9 伪码性质与自检表不动,§4.2 机制自由 表述不受影响。.gitmodules 不变,仅 gitlink 前进。
Collaborator
Author
|
公约 §9 示例伪码经实机核对修正(covenant 仓 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
分区声明(一次 PR 只做一类事)
本 PR 只做生态收录(新增一个子协议)。挂载(gitlink +
.gitmodules)、registry/条目、以及docs/directory-guide.md§4 对新增子协议要求的文档同步,是同一次收录的三个互依部分(CI 对前两者做双向一致性校验);每项依赖在下文逐条列出。未改动任何校验规则、治理规则与既有条目。Status: Experimental(照录上游)。公约仓
convention.md头表自称 Experimental,维护者 DSH-EAC;本索引statusSource: "upstream",只登记、不授予、不晋级。Scope: 收录子协议
dsh-skin(DSH UI 皮肤加载公约,协议 iddsh.ecosystem.ui-skin-loader/v1):挂载vendor/sub-protocols/dsh-skin(directory-guide.md§7 预留落位),buildsOn: ["dsh-std"],specEntry: convention.md,维护者 DSH-EAC。Normative change: 无。公约正文按 commit
846834963a8ff66f7a949560d3566b8a35e37cf1原样挂载,本仓库不复制、不改写;本 PR 只做挂载、索引与说明。Compatibility impact: 纯新增。一个新挂载、一条新索引、若干文档同步;不改动任何既有条目、挂载、规则或链接语义。
vendor/只新增挂载点 gitlink,“无游离文件”规则仍然成立。收录理由 / 类别判定 / 状态出处
directory-guide.md§7 为“皮肤 / UI 插件协议(基于 dsh-std)”预留的落位vendor/sub-protocols/dsh-skin,生态自此有第一个子协议收录。sub-protocol——它建立在元协议dsh-std之上,定义“皮肤插件与加载器如何协作”这一具体领域行为;不是“关于协议的协议”(非元协议),也不是某个产品的实现(非范例)。convention.md头表自称 Experimental、维护者 DSH-EAC,索引照录。分工声明(本公约与相邻体系互不重叠、不竞争):
DSH-EAC/dsh-ui-skin-manager:强契约的包格式、事务与故障隔离体系(ADR 0001–0003),公约刻意不碰(公约 §7);DSH-EAC/DSH-Desktop-EAC-UI-Skin-Authoring-Convention:EAC 桌面宿主的槽位拓扑与能力边界,是本公约之下的一种宿主实现约定。三者互不重叠、不竞争;本 PR 兑现
directory-guide.md§7 预留落位。需要同步修改的索引与文档(均包含在本 PR 内,单 commit):
.gitmodules+vendor/sub-protocols/dsh-skin8468349)registry/protocols.jsondsh-skin条目(updated→ 2026-09-25)docs/overview.mdvendor/README.mdvendor/sub-protocols/README.md../README.md挂载表)docs/directory-guide.md§7README.md.github/workflows/ci.yml(依赖性改动,按 CONTRIBUTING §4 声明)mountsjob 显式列出挂载,新增本挂载的浅初始化与convention.md存在性校验,使深校验覆盖新 pin;校验规则本身零改动Evidence:
node scripts/verify-structure.mjs本地通过(4 个挂载全部--init之后):Fixtures: 无——本仓库不持有 conformance suite。
Conformance impact: 无。公约未定义 conformance suite;收录只是索引登记,不构成认证。
Migration: 无。跟踪本仓库的消费者重新
git submodule update --init即可取到新挂载。Rollback: 删除 gitlink、
.gitmodules条目、索引条目与文档同步即可,无数据或格式迁移。