Uh oh!
There was an error while loading. Please reload this page.
docs: re-derive the three scaffolded-project transcripts after the description drop (#9342) - #9429
Merged
os-steve merged 1 commit intoAug 18, 2026
Conversation
…scription drop (#9342) #9263 makes `create-objectstack` drop the blank template's own `manifest.description` at scaffold time, so no scaffolded project prints "Minimal ObjectStack environment — a clean slate for building." any more. Three pages still quoted it inside a scaffolded-project transcript. Re-derived from real runs against the CLI built at origin/main (b2d9e04), not hand-edited: * `os validate`, Support Desk — scaffolded `support-desk` from the `blank` template and applied build-with-claude-code.mdx's own listings (ticket object, resolve action, ticket views, Support app). Confirms #9152's work still reconstructs: the page's listings alone reproduce `2 Objects 6 Fields` / `1 Apps 1 Views 1 Actions` / `3 plugins`, and `Running author-time rules (41)`. * `os info`, my-app — scaffolded `my-app` from the same template with the ticket object, one view and one action (no app), reproducing `1 Views 1 Actions` and both object rows verbatim. Both printers guard on presence (`validate.ts:294`, `info.ts:64`), so the row does not become empty or `undefined` — it disappears entirely, and the surrounding rows are byte-identical to the run. Verified mechanically: each edited block now matches its run line for line, modulo the config path and the timings, which are machine identity and are left as #9151/#9262 left them. `cli.mdx`'s manifest-configuration example still shows a `description:` key. That is a hand-authored config, not a scaffolded-project transcript, and `description` remains an authorable manifest field — only the scaffolder's carry-over went away. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XqDQYVU5smx29ts9pAErja
This was referenced Aug 18, 2026
os-steve
marked this pull request as ready for review
August 18, 2026 01:10
This was referenced Aug 18, 2026
Uh oh!
There was an error while loading. Please reload this page.
os-steve
deleted the
claude/issue-9342-scaffold-description-transcripts
branch
August 18, 2026 01:23
os-steve pushed a commit
that referenced
this pull request
Aug 18, 2026
…were run against (#9430) Both sample blocks in cli.mdx's Build & Validate section print `2 Objects 6 Fields` / `1 Views 1 Actions` / `3 plugins`, and the `os info` block also names `my_app_note` and `my_app_ticket`. Nothing on the page says where that project comes from: the page's own walkthrough builds a DIFFERENT fixture (`os generate object customer` / `action approve` / `flow onboarding`), which would print `my_app_customer` and a `Logic:` row. A reader who follows the page cannot reproduce the transcripts and has no way to tell whether the page or their own run is wrong. No printed value changes — the transcripts are verified against real runs (#9092/#9151 for `os compile`, #9342/PR #9429 for `os info`) and this is a pure insertion. What is added is the provenance those runs had and the page did not: * a Callout under the `os info` block naming the whole fixture — `npm create objectstack@latest my-app` (the `blank` starter: two-field `my_app_note`, three connector plugins) plus the four-field ticket object, the view and the action listed in build-with-claude-code.mdx, renamed out of `support_desk_` into `my_app_`, with that page's `support` app deliberately left out; * why the `UI:` row carries no `Apps` (printMetadataStats drops zero counts, packages/cli/src/utils/format.ts); * which lines are NOT fixture identity: timings are machine identity, the author-time rule count and artifact size track the CLI version; * one line under the `os compile` block pointing at that note, since its counts come from the same fixture and had the same gap. Every component of the counts is checkable in-tree: the blank template's note.object.ts (2 fields) and its three connector plugins, the ticket listing's 4 fields, one view, one action, and the scaffolder's namespace rewrite (rewrite-identity.ts) that makes `blank_note` read `my_app_note`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XqDQYVU5smx29ts9pAErja
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 freeto 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.
Fixes#9342
#9263 (merged via PR #9335) makes
create-objectstackdrop the blank template's ownmanifest.descriptionat scaffold time. Three docs pages still quoted that line inside a scaffolded-project transcript, so all three had gone stale together.Both printers guard on presence (
packages/cli/src/commands/validate.ts:294,packages/cli/src/commands/info.ts:64), so the row does not become empty orundefined— it disappears entirely. Confirmed in my own runs, not inherited.Re-derived from real runs — not hand-edited
CLI and scaffolder built at
origin/main(b2d9e04d1); both fixtures scaffolded from theblanktemplate with the builtcreate-objectstack.Fixture A — Support Desk (
os validate). Scaffoldedsupport-desk, then appliedbuild-with-claude-code.mdx's own listings: the ticket object, the resolve action, the ticket views and the Support app, wired through thesrc/objects/index.tsbarrel and theactions:/views:/apps:arrays exactly as the page's prose describes.Fixture B — my-app (
os info). A different command surface, which is why this page could not be fixed from #9263's one-page framing. Scaffoldedmy-app, added the ticket object, one view and one action (no app), reproducing1 Views 1 Actionsand both object rows verbatim.Verified mechanically, not by eye. Each edited block was diffed line by line against its run after normalising the config path and the timings. All three match; the only residual difference is
Loaded in 59msvs88msoncli.mdx. Timings and the sanitised/path/to/...are machine identity, not fixture identity, and are left as #9151 / #9262 left them.#9152's work does reconstruct
The Support Desk fixture was built only from
build-with-claude-code.mdx's own listings, and it reproduces every documented row —2 Objects 6 Fields,1 Apps 1 Views 1 Actions,3 plugins, andRunning author-time rules (41). The self-reconstructibility PR #9262 established is intact; no regression to report there.Scope
Three line deletions, nothing else. Deliberately untouched:
cli.mdx's Data migrations section — its row is docs:os migrate duplicatesneeds its row in the data-migration table, and the #8686 backfill guidance owes it the cross-reference the ruling asked for #9382's work, already verified on that card.cli.mdx'sos compileblock — re-derived by docs: two sample transcripts still print the pre-#4409 per-concern step list that the author-time rule registry collapsed into one line #9092 / PR docs: re-derive the os compile / os validate transcripts from real runs #9151.cli.mdx:1461's manifest-configuration example, which still shows adescription:key. That is a hand-authored config, not a scaffolded-project transcript, anddescriptionremains an authorable manifest field — only the scaffolder's carry-over went away.The card's own acceptance check now holds:
git grep -n "Minimal ObjectStack environment" -- content/docs/returns no hits.Gates
Union re-derived from the actual changed paths with
node scripts/pm/dispatch-gates.mjs, run after the final commit, ate92291332— all green:check:nul-bytes·check:docs-audit-scope·check:docs-redirects·check:role-word·spec check:empty-state·spec check:liveness·spec check:strictness-ledger·spec check:variant-docs·check-cross-package-test-inputsPlus a control-byte self-scan over the three changed files (no hits).
Docs-only, releases nothing —
skip-changeset.Generated by Claude Code