Skip to content

docs: the Support Desk transcripts report a stats line no reconstructible run emits (6 fields vs the page's own 4-field listing) #9152

Description

@os-steve

Found while implementing #9092 (re-deriving the os compile / os validate transcripts from real runs). Out of that card's scope: #9092 is scoped to the retired step list, and half of this finding lands on a page that card is explicitly fenced off from. Filed unassigned.

Measured

Two pages share one Support Desk fixture and both print the same stats line in their os validate transcript:

Both show:

 Data: 1 Objects 6 Fields
UI: 1 Apps 1 Views 1 Actions

But build-with-claude-code.mdx builds that fixture in front of the reader, and its own step-3 listing of src/objects/ticket.object.ts declares four fields — subject, description, priority, status. stats.fields in printMetadataStats (packages/cli/src/utils/format.ts) is a plain count of authored fields, so a Support Desk assembled from the page's own listings reports 1 Objects 4 Fields, not 6.

Verified by rebuilding the fixture from the page's three listings plus a Support-nav app and running the CLI built at origin/main:

 ✓ Validation passed (131ms)
Support Desk v0.1.0
Data: 1 Objects 4 Fields
UI: 1 Apps 1 Views 1 Actions
Runtime: 3 plugins

Two separate discrepancies fall out of that run:

  1. 6 Fields vs 4 Fields. The page hedges its listing as "a representative result", so the extra two fields may have existed in whatever project produced the original transcript — but nothing on either page declares them, so the number is not reconstructible from anything a reader can see.
  2. The Runtime: 3 plugins line is absent from both pages. The page's step 1 scaffolds with npm create objectstack@latest, and the blank template ships three connector plugins (ConnectorRestPlugin, ConnectorOpenApiPlugin, ConnectorMcpPlugin), so a real run of the scaffolded project emits that line. Both transcripts stop after the UI: line.

Why this is the same defect class as #9092

A transcript is a reproduction of program output. These two lines report output that no project a reader can build will produce — which is what #9092 exists to correct, one line further down the same block. #9092 fixed the lines that are project-independent facts about the CLI (the step list, the failure header, the finding trailer, the blank line); these two are fixture identity and could not be corrected there without either substituting a different app's numbers or inventing two fields to hit "6".

Suggested shape (for triage, not a decision)

The clean fix is one job, not two: stand up the Support Desk fixture once — either checked into examples/ or fully specified on the page — and re-derive all three clean-run blocks from that single run, so the two pages agree because they came from the same program execution rather than because someone kept two numbers in sync by hand. Doing it per-page would just relocate the drift.

Note the coupling: the two pages currently agree with each other. Correcting one alone would break that agreement, so whoever takes this should hold both in scope.

For triage


Generated by Claude Code

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions