[#784][DESIGN] 本地插件包导入并入活稿:三块帧按上线实况画 + 台账落地列回填 - #785
Merged
Conversation
jinjunnn
force-pushed
the
feat/784-t4-renderer-design
branch
from
August 2, 2026 16:55
b81b6e3 to
0ac83cb
Compare
增量提案(`2026-08-02-req128-local-plugin-import/`)未获批,而实现已经上线 (alpha@9996d2c9,打包版真机取证在案)。按 `docs/design/README.md` 的增量五步序 收口:提案原样冻结当决策记录,**活稿按上线实况重画**,台账三行从「设计中」翻成 「已落地」。此前台账三行仍开着 = 没人能判断 `current/` 还是不是当前的。 帧内数据全部来自**实跑**本机 46 个插件目录(执行上线的那份 intake,不是推断): - `#import-preview` — 预览屏。部分可装用 `example-plugin`(实测 1/2),一个都装不上 用 `plugin-dev`(实测 **0/7** —— 提案写的「7 个里 1 个可装」是错的), 没有插件说明用 `receipts`。附上线原因文案全表(14 条不装 + 6 条摆放方式 + 4 类不安装的内容 + 3 条整屏终态),逐字取自 main 的判定表。 - `#installed-packs` — 已安装页「扩展包」区块:包卡无图标、成员全列(提案画了图标 与「还有 N 个」折行,上线都没有);移除失败留卡显错、保留件说明落在**区块级** (卡会消失,解释不能跟着走)、清单读不出与「没装」永不折叠且连带抑制通用空态。 - `#enable-flow` — 三步生效 + 四条提示。「待重载」是**提示**不是行上徽标。 与提案实际比出来的差(以上线为准,写在 §9 的关系块里):①包卡无图标、无折行; ②「结构不认识 / 超上限 / 预览过期 / 重复导入」不是各一屏专用终态,而是同一屏内 多一条具名说明;③没有「重新预览」「直接选中技能文件夹」这类出路按钮; ④安装进行中「取消」**照常可点**(main 会如实回「中止不了」,禁掉等于藏起真话); ⑤包名用插件作者声明的名字(可选 `displayName`,缺席回退 root 组件名),来源标 仍只由 child record 的 `origin` 决定。 两处**代码该修**的不一致,已如实画进帧里并在帧外标注,未改生产代码: 预览屏「不会安装」的灰标写的是内部原因码;「读不出插件说明」那一屏 同时说「1 个可以装」和「没有可安装的技能」。 Refs #784 Refs #780
jinjunnn
force-pushed
the
feat/784-t4-renderer-design
branch
from
August 2, 2026 16:57
0ac83cb to
ece1f72
Compare
This was referenced Aug 2, 2026
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.
Refs jinjunnn/alpha-code#784(实现票,已由 PR #791 关闭;本 PR 是它的设计半场收口)Refs jinjunnn/alpha-code#780(REQ-128 Phase 3 父需求)这一趟改了什么、为什么现在改
原本这是「先出稿、批准后再实现」的设计 PR。实际发生的是:实现先上线了(PR #791 /
alpha@9996d2c9,打包版真机取证 PR #794),而这份稿还开着、台账的「落地」列还空着。按目标仓
docs/design/README.md的判据,台账是判断「current/活稿还当不当前」的唯一依据 —— 三行挂着设计中而实现票已经关了,等于没人能判断活稿是不是当前的。所以本 PR 不再是「等批准」,而是收口:2026-08-02-req128-local-plugin-import/frame.html原样冻结当决策记录(README:dated 目录 append-only);#import-preview/#installed-packs/#enable-flow三个锚;设计中→已落地,回填设计定稿 / 落地 / 代码入口。勘破:没有凭提案转述,逐帧对照上线代码 + 实跑
extension-hub.tsx(预览屏 /InstalledPackagesSection/PackageComponentRow/ 拒绝行)、use-extensions.ts(两处refreshEngine)、claude-plugin-intake.ts(全部原因码 → 人话表)、local-package-preview.ts(预算与生命周期)、ext-ipc.ts(分流与 headline)。intakeImportDir扫了本机~/.claude/plugins/marketplaces下 46 个插件目录,帧内所有数字与文案都取自这次实跑,不是推断。与提案实际比出来的差(以上线为准)
PackageGraphV1.displayName?(可选,缺席回退 root 组件名,owner 交付期裁决)origin读,不从包 id 前缀推(#737)plugin-dev举「7 个里 1 个可装」codex举「3/3 因设置不支持被拒」第 1–4、7、8 是我自己比出来的,与派发时转述的三条并不完全重合;第 5、6 与转述一致。
票面没点名的五个状态:上线实况
名字 + 保留(理由)+ 「知道了」两处判定为代码该修的不一致(未改生产代码)
已如实画进帧里,并在帧外标注;处置请另开票。
control-field-unsupported/not-self-contained-plugin-root-variable…),下面那句人话是对的。同仓的目录扩展包路径早有相反的规矩:每个 skip token 必须配一句用户读得懂的话,少一条就编译不过(ext-package-presentation.ts的SKIP_REASON_KEYS satisfies Record<…>)。本地导入这条路没接那套映射。receipts、session-report两个真实插件都是这个状态(disposition=blocked+installableCount=1)。同形还出现在预算拒绝路径(列出「会安装」若干条,键仍写「没有可安装的技能」)。本地门(真实输出)
bash scripts/alpha-check.sh,退出码 0:同一套门在
git push的 pre-push 钩子里又跑了一遍,同样全绿(3756 pass / 0 fail)。docs 闸单独跑:
python3 scripts/check-doc-links.py docs/design/README.md docs/design/current/customization-center/components.md→✓ 9 relative link(s) resolve across 2 file(s)。台账契约自查(README:「锚必须 resolve」):脚本比对
components.md全部 9 个锚 ↔design.html的id=集合 → 零断链;design.html标签配平(div 463/463、section 14/14、table 7/7);帧内零票号 / 零 REQ 号 / 零开发术语(扫 21 个.frame子树,命中项全是十六进制色值的假阳)。与 base fail-set 的差:零 —— base(
origin/alpha=e96a8134)与本分支的门结果都是全绿 0 fail,本 PR 只动docs/design/**,与UPSTREAM_PATHS零交集。我主动没做的事
2026-08-02-req128-local-plugin-import/frame.html(README:dated 目录 append-only)。它的数字有错,改在 README 血统行与活稿 §9 的关系块里点名,不动原件 —— 与基线 §15「原文保留、订正另立一节」同一做法。未登记(历史)的叶控件),那是另一件事。PAGE-MAP.md(README 明令:叶控件不是 surface)。