Repository navigation
docs(skills): teach the report-index navigation item beside the named report - #27903
Conversation
… report A `type: 'report'` item with no `reportName` opens the app's report index (`/reports`), and the console no longer adds an index entry itself (PR #27566), so an app has one only where its navigation declares it. The objectstack-ui navigation table and example, the objectui app-composition route table, and a new objectstack-ui eval case now teach that form. Fixes #27609 Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cyZb8pD9989yV2qXKE
|
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS Contract-review-claim: session_016WV4d1QkPVVzNz3FJqb2iS · head 8af37ee · 2026-10-30T03:11Z |
|
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS Contract reviewServed-tier: Read: the PR body, the six-file diff ( ① Derived judgmentsEach claim the PR teaches, against the code #27566 shipped on
Ratchet, re-measured by hand under the script's convention (ceil(utf8 bytes / 4); a stamped SKILL.md first subtracts its 20-byte
Every reading matches the PR body and the dev report. The raised row's comment pins the measured bytes ( The cuts lost no fact. navigation.md: the old Eval case 10. The prompt ("Give the crm app a Reports entry listing every report it ships") is a fair ask for the index form and matches the navigation.md example; ② Semver level
③ Boundary flags
④ Design judgmentThe three governed pages now teach what the spec and console on Implemented-by: VERDICT: FAIL Must-fix:
Should-fix: none. |
An answer that follows the skill and says it omits `reportName` spelled the forbidden string and failed. The case now forbids the key written with a value, as the file's other absent-key cases do; the prompt drops one byte so the file holds its ceiling. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cyZb8pD9989yV2qXKE
|
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS Contract-review-claim: session_016WV4d1QkPVVzNz3FJqb2iS · head 8400c22 · 2026-10-30T03:35Z |
|
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS Contract reviewServed-tier: Delta review by the same reviewer of the commit that answers must-fix 1 of the record on ① Derived judgmentsThe delta, in full:
Ratchet, re-measured by hand (ceil(utf8 bytes / 4)): "every report" → "all reports" is −1 byte and the colon is +1, so the file is 8432 bytes → 2108 on the new head, as on the reviewed head. The ratchet row ( Carried forward from ② Semver levelUnchanged: ③ Boundary flags
④ Design judgmentThe one defect the first record found is gone: the eval that checks an agent learned the index form now passes the agent that explains it in the skill's own words and fails the one that writes a Implemented-by: VERDICT: PASS Must-fix: none. |
|
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS 维护者速读
席位意见:ACCEPT。首轮契约复核所教内容全部属实,但判了一条 must-fix:eval 第 10 条的 席位核对
|
Requested by Elon · project thread
domain:skills#2 · os-elon-musk · session_016WV4cyZb8pD9989yV2qXKE
Fixes #27609
What changes
skills/objectstack-ui/SKILL.md(navigation item table): thereportrow marksreportName?optional and says that without it the entry is the app's report index.skills/objectstack-ui/rules/navigation.md: the compiledApp.createexample gains{ id: 'nav_reports', type: 'report', label: 'Reports', icon: 'library' }beside the named report, with a comment that the console adds no index entry itself. Paid for by shortening thefilters-slice comment above it, which restated the Run Modes table and decision rule further down the same file.skills/objectui/guides/app-composition.md(added to the file surface by the seat's claim amendment): the route table gains{type:'report'}→/reports. Paid for by dropping the Contract Reminders' parenthetical list of target keys, which restated the table's first column.skills/objectstack-ui/evals/views-apps-actions-pages.json: case 10 asks for an app's Reports entry and expects{ type: 'report' }with noreportName.scripts/check-skills-token-ratchet.mjs: one row raised (the eval file), under the standing ruling quoted verbatim in the row comment.@objectstack/skillspatch.Why
PR #27566 (
bf658d1b8) madeReportNavItemSchema.reportNameoptional (packages/spec/src/ui/app.zod.ts:687): absent, the entry opens the app's report index (resolveHref→${basePath}/reports,ui/packages/layout/src/NavigationRenderer.tsx:1013), and the console stopped injecting an "All reports" row, so an app shows the index only where its navigation declares it. The published skills still taught only the named form, so an agent following them shipped an app with no report index entry. No other skill page claims an injected "All reports" row (grep ofskills/**for "All reports" / "report index": none before this PR).Verification
Token measurements (
node scripts/check-skills-token-ratchet.mjs, ceil(bytes/4)):skills/objectstack-ui/SKILL.mdskills/objectstack-ui/rules/navigation.mdskills/objectui/guides/app-composition.mdskills/objectstack-ui/evals/views-apps-actions-pages.jsonThe eval row moves under the maintainer ruling of 2026-10-27, verbatim: 「A:先削重复,余额按实测提高」. The file's cases share no sentence, so there was no duplicate to cut first; the ceiling is pinned at the measurement (8432 bytes).
Gates:
node scripts/pm/dispatch-gates.mjs --ranon8af37ee5: 65 derived families accounted for, 61 run and green, 4 NOT MEASURED (exit 3, prerequisite: whole-treedist/):check:dts-closure,check:dual-build-cjs-loads,check:lean-entry-closure,check:sourcemap-no-sources-content.check:skill-examples(274 prose examples type-check, the editedos:checkblock included) andcheck:doc-formula-expressionswere green after building their prerequisites.pnpm --dir ui exec vitest run scripts/was red once on the first run (spec-symbol-ledger-plugin-detail-7265.test.ts), green alone on both this head andmain, and green on a full rerun (169 files, 4902 tests).eslinton the edited script: clean.Clause-②: no
Metadata-protocol: none
Human Minimum
packages/specholds no runtime logic. (No spec change.)pnpm lintleft to CI).main, one pull request.packages/specnot touched.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.维护者速读
{ type: 'report' }不写reportName就打开该应用的报表索引(/reports)。🤖 Generated with Claude Code
https://claude.ai/code/session_016WV4cyZb8pD9989yV2qXKE