Repository navigation
docs(quickstart): re-transcribe both boot samples against CLI 17.7.0 - #326
Merged
Merged
Conversation
Path A: Plugins 31 -> 32 loaded. Path B: Build complete re-transcribed (312ms), artifact 1.9 -> 2.2 KB, the banner's Config row is now an Artifact row, Plugins 36 -> 38 loaded. Both pins move 17.5.0 -> 17.7.0. The sys_migration paged-read warning and DATABASE_ERROR are no longer printed on either path, so their sentences leave both declarations. "What's loaded out of the box": Migration recovery joins the both-paths list, and Path B's paragraph names the telemetry datasource that development mode opens beside the SQLite database. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H1D12NQAtnCRwY1YzR43Vd
This was referenced Oct 12, 2026
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 free
to 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.
Part of #141
Clause-②: no
Re-transcribes both quickstart boot samples against
@objectstack/cli17.7.0, the npmlatestsince 2026-10-06T12:13Z. It applies the card's standing item 6 to "What's loaded out of the box". It also removes the twosys_migrationsentences, because neither line is printed on either path at 17.7.0.One file,
content/docs/quickstart.mdx, +16/−17. The page has no locale siblings.What changed, and what measured it
Every row compares the 17.7.0 boots against a date-bounded 17.5.0 control (step 0 below).
Plugins: 31 loaded→32MigrationRecoveryBuild complete (175ms)→(312ms)b177-1(187–312 ms over 9 boots)1.9 KB→2.2 KBConfig: objectstack.config.ts→Artifact: dist/objectstack.jsonArtifact:row in 9 of 9,Config:row in 0Config:row in 2 of 2,Artifact:row in 0Plugins: 36 loaded→38TelemetryDatasourceandMigrationRecovery17.5.0→17.7.0npm view @objectstack/cli dist-tagsanswerslatest: '17.7.0'sys_migrationsentences removedPaged read of 'sys_migration' is NOT deterministicand theDATABASE_ERRORfor the missing table: 0 in every capture (Path A 3 fresh + 1 reboot, Path B 9)MigrationRecoveryloads on both paths (A 4 of 4, B 9 of 9)Every other line of both blocks re-measured unchanged. After the edit, the transcription captures show 0 published-but-absent lines and 0 order violations: Path A against
a177-1,a177-2anda177-3, Path B againstb177-1. Path B's other 8 captures miss only the declared timing line, with 0 order violations. The contended capture is compared with its ports normalised.Item 6: plugin names per path at 17.7.0
empty, plus TelemetryDatasource, my-app, AutomationServicePlugin, RecordChangeTriggerPlugin, ScheduleTriggerPlugin, TimeRelativeTriggerPlugin and ApiTriggerPlugin.empty(the app slot). B-only:my-app(the app slot), the five automation and trigger plugins, andTelemetryDatasource.The scaffold still declares
requires: ['automation', 'triggers'](objectstack.config.ts:43). Three activation legs ran on copies of a 17.7.0 scaffold, withdist/and.objectstack/removed and a fresh HOME:pnpm devwith therequiresline deleted (anchor count 1 before, 0 after)os start(production) on an unmodified copypnpm devwithOS_TELEMETRY_DB=0The declaration still explains the five. Development mode explains the telemetry datasource. The CLI's own rule is "dev mode + file-backed primary → default ON", in
@objectstack/cli@17.7.0dist/utils/telemetry-datasource.js. Apnpm devboot leavesobjectstack.telemetry.dbbesideobjectstack.dbin.objectstack/data/. The production leg and the opt-out leg leave onlyobjectstack.db.Reader-facing names. Neither new name has a package description of its own, so each comes from its own source's description:
MigrationRecoveryPluginclass JSDoc in@objectstack/runtime@17.7.0dist/index.d.ts: "boot reconciliation for the ADR-0119 D2 migration journal". The runtime's package description is the generic "ObjectStack Core Runtime & Query Engine".@objectstack/cli@17.7.0dist/utils/telemetry-datasource.js: "where the dedicated telemetry datasource lives", "provision that second SQLite file".Step 0: the control
npm --prefix … install @objectstack/cli@17.5.0 --before=2026-09-29T09:00:00.000Z. This timestamp falls after the last 17.5.0 publish (@objectstack/spec, 2026-09-29T08:09:33Z). It falls before the first 17.6.0 publish (2026-10-02T02:50Z) and beforebetter-auth1.7.7 (2026-09-30T21:30Z). Across the 53 names, nothing else was published between 17.5.0 and 17.6.0.@objectstacknames at 17.5.0,better-authand@better-auth/core1.7.3. The control scaffold was made withnpm_config_beforeset to the same timestamp, and it also reads back 53 of 53 at 17.5.0.main. Path A had 0 absent lines and 0 order violations in 2 of 2 boots. Path B had 0 order violations, and its only absent line was the declared timing, in 2 of 2.better-auth1.7.3.Port behaviour (item 2): no drift
server bound to portlines.os start17.7.0 held :3000, answering health 200 before and after. The literal↪ server bound to port 3001 (requested 3000)appeared exactly once, the API row readhttp://localhost:3001/, and health and ready answered 200 on 3001.Declarations by diff (item 4) and sequence (item 5)
Each omitted line in the transcription captures is named by its block's declaration:
New at 17.7.0 among the omitted lines (control comparison):
The MCP trailer lands inside the banner in 8 of 8 uncontended Path B boots: interleaved with banner lines in 5, contiguous in 3. It lands after
Press Ctrl+C to stopin the 1 contended boot. "usually lands inside the banner, often interleaved" still holds, so the sentence is unchanged.Standing checks:
> **Warningblockquotes. A live control finds 1 other> **blockquote, at:124.Acceptance notes
sys_migrationline, inside boot diagnostics, on Path B only. It readsWARN Insert operation failed {"object":"sys_migration", … UNIQUE constraint failed: sys_migration.id …}with an inline stack.requires-deleted and telemetry-off dev legs.os starton the scaffold.taskobject.src/objects/task.ts, as published, compiles toData: 1 Objects 3 Fields: the scaffold loads objects through thesrc/objects/index.tsbarrel, which does not export it.pnpm buildexit 2:Object 'task' is missing the package namespace prefix. Rename it to 'my_app_task' (namespace = 'my_app').quickstart.mdx:237) because it checks parsing, not loading. Reported to the seat as a finding.src/objects/. The 17.7.0 scaffold has eightsrc/barrels (actions, apps, dashboards, flows, objects, picklists, skills, views); the control has seven. Noted, not edited.Gates, on
e52161d(tree equals commit)Each exit code was captured before any pipe.
gen-zh-hant.mjs --check✓ zh-Hant: 54 generated file(s) match the zh-Hans sources byte for byte.check-half-states.mjs --self-test✓ check-half-states self-test: 1551 cases pass.check-node-floor.mjsand--self-test✅ Every declared floor clears what the dependency tree requires, and the declarations agree.npm ci --prefix .github/scripts/doc-samples …, thencheck-doc-samples.mjs✓ doc samples: every ts/js block on 79 English page(s) parses with @objectstack/spec 17.7.0 · 98 pass · 10 not a spec sample · 2 opted outpnpm turbo run type-check --continue --force(verify lock)Tasks: 1 successful, 1 total,Cached: 0 cachedpnpm turbo run build --force(verify lock)Tasks: 1 successful, 1 total,Cached: 0 cachedcheck-locale-surface.mjs✓ every advertised URL has a source file and every source file is advertised; …check-positioning.mjs✓ positioning: 4 copies equal their constants; …check-search-locales.mjs✓ search locales: all 8 locales answer 200, …pnpm turbo run test --force(verify lock)✓ 11 self-test(s) passed,Cached: 0 cachedcheck-translations.mjs✓ translations gate passedcheck-translation-output.mjs --self-test✓ self-test: 29 rule case(s), …check-translation-ownership.mjs --actor 'objectstack-fleet[bot]' --files changed.txtThis PR touches 0 translation artifact(s) and 1 other file(s).check-translation-output.mjs --files changed-output.txt✓ translation output gate passed (213 pre-existing finding(s) reported)I grepped the built
apps/docs/.next/server/app/en/docs/quickstart.html:Plugins: 32 loaded2,Plugins: 38 loaded2,Build complete (312ms)2,Migration recovery2,dedicated telemetry datasource2.17.5.00,sys_migration0,Config: objectstack.config.ts0.The rendered-page proof is CI's smoke-check step on this head.
Generated by Claude Code