Skip to content

chore: ETXTBSY log to WARN + version-agnostic smoke docs (item 46)#318

Merged
bilbospocketses merged 2 commits into
mainfrom
chore/g2-and-smoke-doc-refresh
Jun 8, 2026
Merged

chore: ETXTBSY log to WARN + version-agnostic smoke docs (item 46)#318
bilbospocketses merged 2 commits into
mainfrom
chore/g2-and-smoke-doc-refresh

Conversation

@bilbospocketses

Copy link
Copy Markdown
Owner

Two bits of owed polish (item 46), no release impact on its own.

G2 — quieter Linux service start

On service start the launcher refreshes its bundled operation-server helper by copying the current binary over it. In service mode that helper is the running binary, so the copy fails with ETXTBSY ("text file busy") and logged a scary ERROR. It's harmless — the running copy is already current, and the next start refreshes it while it's free — so it now logs at WARN. A small pure classifier (refresh_error_is_benign_busy, unit-tested) keeps genuine refresh failures at ERROR. Adds a WARN level to the shared logger.

Smoke docs — version-agnostic

The smoke docs stamped the build-under-test version into nearly every row, so they needed a sweep every release. Stripped those stamps; the smoke target now lives in one top-of-doc tag you bump once per release. Also:

  • Renamed to stable generic names so we stop renaming files per release: smoke-checklist.md / smoke-full.md / smoke-runbook.md.
  • Added Module 14 (the Linux App-section UX) to the full + runbook docs.
  • Corrected the semanage fcontext -l verification commands to use sudo (they error as non-root).
  • Kept the version-specific bits that matter: the beta.40 "update from" build and historical fix provenance.

Verified locally: launcher + common unit tests pass, clippy -D warnings clean. release:none — docs plus a cosmetic log change; ships with the next beta.

On service start the supervisor refreshes the dataRoot operation-server helper by
copying the current launcher binary over it. In service mode that helper IS the
running binary, so the copy fails with ETXTBSY ("text file busy") — a benign,
expected condition (the running copy is already current; the next start refreshes
it while it is free). It now logs at WARN via a small pure classifier
(refresh_error_is_benign_busy, unit-tested); genuine failures still log ERROR.
Adds a WARN level to common::log.
Strip the per-release "version under test" stamps from the three smoke docs so
they no longer need editing every release; the smoke target now lives in a single
top-of-doc tag. Rename to stable generic names (smoke-checklist/full/runbook.md),
add Module 14 (Linux App-section UX), correct the semanage fcontext -l checks to
use sudo, and keep the version-specific bits that matter (the beta.40 "update
from" build and historical fix provenance).
@bilbospocketses bilbospocketses added the release:none No auto-release (docs/chore); auto-release.yml hits Mode 3 and skips label Jun 8, 2026
@bilbospocketses bilbospocketses merged commit 06b718c into main Jun 8, 2026
9 checks passed
@bilbospocketses bilbospocketses deleted the chore/g2-and-smoke-doc-refresh branch June 8, 2026 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:none No auto-release (docs/chore); auto-release.yml hits Mode 3 and skips

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant