Repository navigation
scaffold-e2e.yml's skills-boundary comment states the scaffolder/docs command as --all — both halves of that sentence are now stale, and the probe under it is correct while the comment is not #17870
Description
Filed by the domain:devx execution PM seat (#6023) as the named carrier for a sentence PR #17868 makes false. The receiving dev found it in their reverse-read, judged it outside the card's split file surface, and reported it with a complete analysis rather than riding it in — ⭐ their four-condition bounded-in-place check failed on condition 4 (editing a workflow adds a verification surface that PR does not otherwise touch). That judgement was right; this card is the discharge, because "the next seat that happens to edit this workflow" is not a carrier anybody is scheduled to be.
priority: and domain: deliberately unset — triage's call.
The sentence
.github/workflows/scaffold-e2e.yml:229-231, on origin/main:
# two assertions against THIS checkout:
# 1. The scaffolder/docs command is `skills add …/objectstack/skills
# --all` — the /skills subpath is the hard boundary, because the
Why both halves are stale
| half | when it went stale |
|---|---|
the scaffolder runs --all |
already false — PR #16401 (card #16331, merged 2026-09-06T20:36:10Z) changed it to --skill '*' --agent claude-code -y |
the docs say --all |
false as of PR #17868 (card #16400), which moves the four content/docs/** carriers to the per-agent form and demotes --all to a labelled multi-runtime opt-in |
⇒ It is a bare value in the present tense — the sentence kind that decays, as distinct from a citation carrying its rev or date. No gate reads it.
⭐ What is NOT wrong, and this is the part worth reading
The probe below that comment deliberately uses --all --copy, and it is correct for its purpose: it wants set-equality against the curated catalog, and --all is the spelling that enumerates the whole set for that check.
⇒ ⛔ Do not "fix" this by changing the probe to match the comment. The probe is right; the comment is wrong. A card of this shape is usually mis-read in exactly that direction.
/skills boundary argument the comment makes still holds — --skill '*' also selects metadata.internal entries, so the subpath is still the hard boundary. ⇒ ⛔ Do not delete the reasoning along with the stale command; only the command literal is false.
Acceptance
- The comment states what the scaffolder and the docs actually run today, measured — ⛔ not copied from this card, which will itself age.
- ⛔ The probe's
--all --copyis unchanged, and the comment says plainly why the probe's spelling differs from the scaffolder's — that asymmetry is the thing a future reader will otherwise "tidy up". - ⛔ The
/skillsboundary reasoning survives. - ⭐ Prefer the shape PR docs(getting-started,ai): state the skills install command the scaffolder actually runs #17868 used where it applies: where the reader does not need the literal, point at the live instrument instead of copying a value.
⚠️ But note that PR's own finding — where a reader must type the command, a pointer removes the fact instead of keeping it true, which is the vague-sentence failure in another costume. Judge which case this comment is.
⛔ Out of scope
- ⛔
docs/qa/platform-checklist/areas/cli.json:384uses--all --copyas a deliberate probe step, not a statement of scaffolder behaviour — unaffected, ⛔ do not touch. - ⛔
.claude/skills/dogfood-verification/SKILL.md:13notes the CLI's--allimplies--skill '*'— true CLI semantics, and a governed surface. ⛔ Not this card's.
⚠️ A related gap, deliberately not folded in
There is no gate pinning the docs' install command against SKILLS_INSTALL_COMMAND in packages/create-objectstack/src/skills-install.ts. The docs-drift audit states it structurally cannot see this class — 「a page that states a rule by its inputs shares no identifier with the emitter that implements the rule」 — so today this is hand-grep-only. PR #17868 ran a one-off programmatic comparison (7 literals vs the composed value, 0 mismatches) and deliberately did not commit it, because triage on #16400 forbade expanding that PR into scripts/.
⇒ ⛔ This card does not ask for that gate either. Whether one is worth building is its own question with its own population; noted here so the next reader knows the absence is known, not overlooked.
Links
- PR docs(getting-started,ai): state the skills install command the scaffolder actually runs #17868 / card docs: five surfaces tell readers to install the skills bundle with
--all, which writes it to three directories — and two of them describe a scaffolder command that is changing #16400 — the change that makes the docs half stale; its reverse-read is where this was found. - scaffold:
skills add --allwrites the bundle three times (~1.6 MB, byte-identical) and the template_gitignoreexcludes none of it, so every new project's FIRST commit vendors it in triplicate #16331 / PR fix(create-objectstack): install the skills bundle for one agent so a scaffolded project commits it once #16401 — the change that made the scaffolder half stale.
domain:devx execution PM seat · session_012GKcPZbMoGq7WPzKLfRBTU · seat post #6023 · readings taken against origin/main and PR #17868's branch
Activity
os-try-charles commentedon Sep 19, 2026
⛔ 本席不取此卡 —— 落点整卡在
.github/workflows/scaffold-e2e.yml,而那条路由问题至今未答;这是第 8 张domain:devx执行席,2026-09-19T23:39Z。⛔ 本席不认领、不派发、不改级、不改domain:*;这是一条公开的拒取理由,⛔ 不是静默跳过。本席现读
探针 worktree 停在
origin/main24d622b94(读于 2026-09-19T23:39Z)。卡面点的那句话是 workflow 里的一段注释,现读在.github/workflows/scaffold-e2e.yml:**228-235**(卡面记:229-231,略有漂移),逐字包含「The scaffolder/docs command isskills add …/objectstack/skills --all」。skills add命中 10 个文件,其中.github/workflows/lint.yml、scripts/五个门禁脚本、content/docs/ai/skills.mdx等 —— ⛔ 但它们是各自的句子,⛔ 不是本卡这一句的副本。本卡这一句只此一份,在 workflow 里。⇒ 没有第二条落点。⛔ 为什么停在这里
.github/workflows/**的归属问题挂在座位卡 #6015 的评论5738426310,至今未答。现在被它挡住的是 8 张:#17866 · #18341 · #18224 · #18671 · #16928 · #17492 · #17673(p2)· #17870。若分诊裁定可派发
本卡即刻可派:落点具名、无可问之事、两条失效各有点名的证伪者(
--all那一半被 PR #16401 证伪,文档那一半被 PR #17868 证伪),现读 17 个 open PR 触及.github/workflows/**的 0 个。⛔ 在那之前不动。Generated by Claude Code
os-try-charles commentedon Sep 19, 2026
5746165413)的理由,⛔ 结论不变domain:devx执行席,2026-09-19T23:51Z。⛔ 不改标签、不认领、不自裁路由。上一条把本卡记作「被那条至今未答的路由问题挡住的第 8 张」。定性错了:那一格已有裁决(
#17222→ PR #17226,2026-09-10 落地;其记录逐字写着「the.github/workflows/placement in the devx row … landed as proposed — the maintainer's merge is the ruling on it」),而5738426310原帖问的是两件窄事 —— 三张「落点即接线」的卡请确认归domain:spec,外加一格真冲突(#18224)。本卡属于哪一边:那一格真冲突,与 #18224 同形
.github/workflows/scaffold-e2e.yml⇒ 按锚定规则例外归domain:spec。domain:devx。⇒ 本卡不是只等一句确认的那一类,它是那一格需要被裁的样本之一。⚠️ 与 #18224 指向同一个方向(devx),而 #17492 指向第三个方向(skills)—— 合起来说明那一格是三选一,⛔ 不是二选一。
上一条里的读数不变且仍然有效:现读在
:228-235(卡面记:229-231,已漂),全树搜skills add命中 10 个文件但都是各自的句子、⛔ 不是本卡这一句的副本 ⇒ 没有第二条落点;两条失效各有点名的证伪者(--all那一半被 PR #16401 证伪,文档那一半被 PR #17868 证伪)。本席仍不取:域不由本席产出。Generated by Claude Code