Repository navigation
Commit 1911d7c
docs(skills): the platform skill counts the eight generator barrels, picklists included (#21337)
Fixes #21018
Clause-②: no
This PR is item 4 of #21018, the last item on the card: the Tier H line
in `skills/objectstack-platform/SKILL.md` that counts and lists the
blank starter's generator barrels. The code half landed on `main` as
`bcd68a29f3` (PR #21167), and since that landing the sentence has been
false. The claim for this PR is `5945859013` on the card; the dev
session is `session_01VvcEokUG1tvVxkceYfR5XB`.
## Premise, checked on `origin/main` (`1caa603730`, then merged
`222ecc27f9`)
-
`packages/create-objectstack/src/templates/blank/objectstack.config.ts`
imports eight barrels and hands each to its stack key, in this order:
`objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`,
`picklists`. `src/` of the template holds the same eight directories.
- `os init` derives its wiring from the roster: `SCAFFOLD_WIRED_BARRELS`
(`packages/cli/src/commands/init.ts:602`) maps
`GENERATOR_SCAFFOLD_TARGETS`, which is `Object.entries(GENERATORS)` in
`generate.ts` — eight generators: `object`, `view`, `action`, `flow`,
`dashboard`, `app`, `skill`, `picklist`.
- `packages/cli/test/create-objectstack-wiring-parity.test.ts` holds the
blank template's import lines and stack-key lines equal to the `os init`
rendering, so the template list and the roster cannot drift apart.
- So the true sentence is "the eight generator barrels", with
`picklists` last — the order the template file uses. The SKILL.md line
said seven and listed seven.
## What changed
One file, two lines, net zero lines:
`skills/objectstack-platform/SKILL.md:194-195`.
Before:
```text
generic connector executors in `plugins:`; and the seven generator barrels
(`objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`),
```
After:
```text
generic connector executors in `plugins:`; and the eight generator barrels
(`objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`, `picklists`),
```
This is the text PR #21167's "Not in this PR" section proposed, byte for
byte.
## The `skills/**` readings (both halves)
| Reading | Before (`1caa603730`) | After (`82e06107cf`) | Delta |
|:---|---:|---:|---:|
| `skills/objectstack-platform/SKILL.md`, lines | 489 | 489 | 0 |
| `skills/objectstack-platform/SKILL.md`, tokens (`ceil(utf8 bytes /
4)`, the ratchet's convention) | 5827 | 5830 | +3 (ceiling 5833,
headroom 3) |
| Whole published catalog, all 10 `skills/**/SKILL.md`, lines | 4397 |
4397 | 0 |
| Whole published catalog, all 10 `skills/**/SKILL.md`, tokens | 52132 |
52135 | +3 |
The 13 added bytes are the word `eight` for `seven` (same length) plus
`, \`picklists\``. No re-wrap, no content removed, no ceiling moved.
`node scripts/check-skills-token-ratchet.mjs` reads
`skills/objectstack-platform/SKILL.md is 5830 tokens (ceiling 5833;
headroom 3)` on `82e06107cf`.
## The sweep of `skills/**`
Every file under `skills/` was grepped for a count word (six to nine)
near barrel / generator / template / scaffold, for the word `barrel`,
for `picklist`, and for `src/` directory listings. Only
`SKILL.md:194-195` states a count or list that PR #21167 made false. The
other hits, each left alone:
- `skills/objectstack-platform/SKILL.md:210-235`, the "Project Structure
Conventions" tree: a generic convention listing (`objects`, `views`,
`apps`, `flows`, `actions`, `dashboards`, `reports`, `datasets`, `i18n`,
`handlers`, each marked optional). It never enumerated the template's
barrels (it omitted `skills` already), so it states no count or list
that is now wrong.
- `skills/objectstack-platform/references/bootstrap.md:55-72` and
`:163-180`: illustrative config examples with four barrels and one
barrel. Examples, not a roster.
- `skills/objectstack-platform/evals/config-plugins-ops.json:7`: an
eval's expected output for a CRM config ("barrel imports … same for
views / flows"). Not a roster.
- `skills/objectstack-platform/SKILL.md:44-45`: the stack-key list
already names `picklists` and `picklistExtensions`. Correct.
## Changeset
None, declared with the `skip-changeset` label. The diff publishes
nothing from any released package: no `package.json` under `packages/`
or `apps/` names a skills path in its `files[]` (positive control:
`@objectstack/spec`'s `files[]` lists `dist`, `json-schema`, …), and
`create-objectstack` installs the catalog at scaffold time with `npx
skills add objectstack-ai/objectstack/skills`
(`packages/create-objectstack/src/skills-install.ts`), reading this
repository directly rather than a bundled copy.
## Gates
- `node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack
--commands`, run with no paths, derived 25 families from the change set
(1 path). The list is identical before and after the `origin/main`
merge.
- All 25 were run on the final head `82e06107cf`, each exit code
captured before any pipe: 25 exit 0. `--ran` reconciliation: `✓
dispatch-gates --ran: 25 derived famil(ies) accounted for — 25 run, 0
NOT-MEASURED`.
- On the pre-merge head `84fc471b7f` the same 25 were run once before:
24 exit 0 and one `PREREQUISITE NOT MET` (exit 3, `@objectstack/lint`
`check:doc-formula-expressions`, the package was not built). After `pnpm
exec turbo run build --filter=@objectstack/formula
--filter=@objectstack/lint` under the verify lock it exited 0; the
merged-head run above includes it green.
- Also attempted, outside the derived 25: `pnpm --filter
@objectstack/spec run check:skill-examples`. It refused with
`PREREQUISITE NOT MET` (exit 3: `packages/client-react/dist` holds no
declarations). NOT MEASURED locally; it is declared to CI. The diff
changes no `ts`/`tsx` fence, which is the only surface that gate reads.
- `scripts/pm/check-skill-line-ratchet.mjs` is not applicable: its
header excludes the published `skills/` catalog by design; the token
ratchet above is the catalog's gate.
- `pnpm lint` is CI's run; this diff touches one Markdown file, which is
outside eslint's population (`eslint.config.mjs` lints
`ts`/`tsx`/`js`/`mjs`), so nothing here moves a lint verdict.
## Acceptance notes
- `skills/objectstack-platform/references/operations.md:26` reads "`os
generate KIND` | Scaffold an object / view / flow / agent from a
template" (KIND spelled there as a placeholder in angle brackets), while
`skills/objectstack-ai/SKILL.md:344` says `os g agent` is retired.
Pre-existing, not a count or list PR #21167 touched, and outside this
claim's purpose; noted, not filed.
- The "Project Structure Conventions" tree in the same SKILL.md (see the
sweep) lists neither `skills/` nor `picklists/`. It is a generic
convention list with no count, so it is not false; noted for a future
prose pass, not changed here.
- The branch carries one merge commit of `origin/main` (`222ecc27f9`,
two commits touching `scripts/pm/fleet-write/*` and
`scripts/pm/issue-*.mjs`, none touching `skills/` or a gate this diff
derives). The PR's net diff against `origin/main` is the one file, +2 /
−2.
- Tier H: this PR stays a draft; it lands only after an authorized
approval is on record, through the owning seat.
## 维护者速读(草稿)
### 改了什么
平台技能包 `skills/objectstack-platform/SKILL.md` 里描述 blank
模板的那一句:把「七个生成器目录」改成「八个」,并在列表末尾补上 `picklists`。改两行、删两行,净零行;整个技能包行数不变(4397
行),token 读数 5827 → 5830(上限 5833,余量 3)。
### 为什么改
上一个 PR(代码半,#21167)落地后,`npm create objectstack` 新建的项目实际接了 8 个目录,多出的是
`src/picklists`(共享选项列表,`os generate picklist` 的产物)。技能文本还写 7 个:AI
读了会少认一个目录,不知道新生成的选项列表落在哪里、挂在哪个 stack 键下。
### 风险与代价(含回滚)
只改一句说明文字,不改任何代码,不发任何 npm 包。技能目录由 `npx skills add`
从仓库直接拉取,所以合并后新建的项目立刻读到新句子;已建项目不受影响。回滚就是 revert 这一个 commit。本地派生的 25
个门禁全绿;`skills/**` 的 token 棘轮没动上限。
### 席位意见
(留空,席位定稿时填写)
### 你要做的
在本 PR 上给一个 Approve(`skills/**` 是受管面 Tier H,需要维护者的批准记录);之后由席位负责落地,不用你再操作。
---
_Generated by [Claude
Code](https://claude.ai/code/session_01VvcEokUG1tvVxkceYfR5XB)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent 97239c3 commit 1911d7c
1 file changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
195 | | - | |
| 194 | + | |
| 195 | + | |
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
| |||
0 commit comments