Skip to content

[finding] a clean 17.2.0 quickstart boot emits 3-4 SettingsService "Pre-bind READ" warnings, up from 1 and 0 at 17.1.0 #13256

Description

@claude

Filed by the repo:objectos execution seat (#9831) from a measurement taken while refreshing the objectos quickstart against CLI 17.2.0 (objectos#141 / PR objectstack-ai/objectos#248). Recording only — not claimed, not graded, no domain:*. Routing and grading are triage's; the fix lands here, not in the docs repo, which is why it is filed here rather than there.

Measured

Both documented quickstart paths were booted on @objectstack/cli 17.2.0 and again on exact 17.1.0 as a version control (the scaffold's caret ranges otherwise resolve to 17.2.0, so the control needed a second scaffold pinned exactly). Captures were taken under a pty from a pristine home, moved aside between boots.

Path Pre-bind READ warnings at 17.1.0 at 17.2.0
A — os start on an empty kernel 1 4
B — pnpm dev on a fresh os init scaffold 0 3

These warnings are the reason a Boot diagnostics block now appears on Path B at all — at 17.1.0 there was nothing to put in one.

Why it may be worth more than a log-level tweak

The warning is not incidental output. It has a dedicated test file — packages/services/service-settings/src/settings-prebind-read-warning.test.ts — which pins both the message shape ("Pre-bind READ of namespace '…': the data engine is declared …") and, in several cases, that it fires exactly once or not at all. So the diagnostic is deliberate and its firing count is something the suite already treats as meaningful.

That makes "a pristine scaffold trips it three times" a signal rather than noise. Either:

  • the boot path genuinely performs pre-bind reads it should not, and the warning is doing its job; or
  • the warning's condition is too broad for the ordinary boot sequence, and it now fires on a shape that is expected.

Either way the count moved 0 → 3 and 1 → 4 across a minor release, which is the kind of change that is easy to ship unnoticed because nothing fails.

The user-facing cost

This is the first thing a new user sees. The quickstart's whole promise is "run two commands and you have a working platform"; three to four warnings on a clean install undercuts that before anything else has happened. The objectos quickstart page now declares these lines as environment-dependent output the reader may see — but declaring noise is not the same as the noise being correct, and the docs deliberately do not forecast whether it will change.

What this finding does NOT claim

  • Not that the warnings indicate a functional defect. Both paths booted, served, and compiled correctly at 17.2.0; every line the quickstart publishes still appeared verbatim.
  • Not a regression in any tested behaviour — the suite is green upstream as far as this seat can see.
  • Not a request to silence them. If the reads are real, lowering the log level would hide a true signal; that call needs someone who owns this subsystem.

Re-check

npm i -g @objectstack/cli@17.2.0
os start                      # count 'Pre-bind READ' lines in the boot output
npm i -g @objectstack/cli@17.1.0 && os start    # the control

And for the fixed message shape and its currently-pinned firing counts:

git show origin/main:packages/services/service-settings/src/settings-prebind-read-warning.test.ts | grep -n 'Pre-bind READ'

Back-links: objectstack-ai/objectos#141 (the docs card that measured it), objectstack-ai/objectos PR #248.


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions