Skip to content

docs: fix documentation drift from codebase - #2

Closed
Sbussiso wants to merge 1 commit into
masterfrom
claude/lucid-babbage-0ycLK
Closed

Sbussiso wants to merge 1 commit into
masterfrom
claude/lucid-babbage-0ycLK

Conversation

@Sbussiso

Copy link
Copy Markdown
Contributor

Summary

  • API header fix: corrected X-API-KeyX-Node-API-Key for register/heartbeat in AGENTS.md outbound API table (verified against src/api/client.rs)
  • ARM64 build status: updated from "source-only, no ARM image published" to reflect that both prebuilt binaries and multi-arch Docker images (linux/arm64) are published on every release (verified against .github/workflows/release.yml)
  • Dependencies: removed tracing-appender from key dependencies table (not in Cargo.toml)
  • config.example.yaml: added streaming.hls section (segment_duration, playlist_size, bitrate) and motion section (enabled, threshold, cooldown_secs) — previously undocumented in the example config

Test plan

  • Verify X-Node-API-Key header matches all .header() calls in src/api/client.rs
  • Verify config.example.yaml sections match Config struct in src/config/settings.rs
  • Verify ARM64 targets in .github/workflows/release.yml build matrix

https://claude.ai/code/session_01DdzBKawH6BhahW6BFiPsEW

- Fix outbound API header: X-API-Key → X-Node-API-Key for register/heartbeat
- Update ARM64 build status: prebuilt binaries and Docker images are published
- Remove tracing-appender from dependencies (not in Cargo.toml)
- Add streaming.hls and motion sections to config.example.yaml

https://claude.ai/code/session_01DdzBKawH6BhahW6BFiPsEW
Sbussiso added a commit that referenced this pull request Apr 27, 2026
🔴 #2 from yesterday's code review.

Previously the SCM lifecycle was:
  StartPending → Running → run Config::load → fail → Stopped(1)

That sequence briefly showed the service as Running before the
config-missing failure was detected, which made services.msc and
its consumers report a "service started successfully and then
crashed" condition. The truth is closer to "service never reached
Running" — and SCM should reflect that.

New ordering:
  StartPending → Config::load + validate → (skip Running on failure) → Stopped(1)

If config is fine: StartPending → Running → run node → Stopped(0).

Implementation:
- Extracted load_and_validate_config() from run_node_blocking so
  the service main can call it during StartPending.
- run_node_blocking now takes a pre-loaded Config rather than
  loading inside.
- On validation failure, the service goes directly to Stopped with
  exit_code=1, never touching ServiceState::Running.

Net effect: services.msc reflects the truth about whether the
service got far enough to actually start. Operators triaging a
"service won't start" issue see Stopped (not Running-then-crashed)
and reach for the right diagnostics first.

147/147 unit tests still pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sbussiso added a commit that referenced this pull request Sep 12, 2026
AGENTS.md claimed "Pi (ARM64) builds are source-only at the moment — no
ARM image is published." Both halves are false:

  - the docker-publish job builds `platforms: linux/amd64,linux/arm64`
  - every release ships `linux-aarch64` and `linux-armv7` tarballs, and
    install.sh picks the right one automatically

So the doc sent Raspberry Pi users to compile Rust on a Pi when a
prebuilt image and a prebuilt binary both existed. That is the most
expensive possible wrong answer for that audience.

Salvaged from stale draft #2 (April), which spotted this and was never
merged. Its other three claims have since become moot or wrong — the
X-Node-API-Key header was fixed, config.example.yaml no longer exists,
and tracing-appender IS in Cargo.toml now (Windows target), so removing
it from the deps table as that PR proposed would introduce an error.
Fixed the one claim that survived rather than rebasing a five-month-old
branch.

Also refreshed the version-tag example from :0.1.18 to :0.1.77.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@Sbussiso

Copy link
Copy Markdown
Contributor Author

Closing — the one claim here that was still true is fixed in #34.

Verified each of the four against the current codebase before closing:

claim status
ARM64 builds are source-only still wrong, and fixed in #34 — the docker job builds linux/amd64,linux/arm64 and every release ships aarch64 + armv7 tarballs
X-API-KeyX-Node-API-Key already correct in AGENTS.md
remove tracing-appender from the deps table now inverted — it IS in Cargo.toml under the Windows target, so this edit would introduce an error
add streaming.hls / motion to config.example.yaml moot — that file no longer exists

Fixed the surviving claim fresh rather than rebasing, since this branch is five months old and AGENTS.md has changed substantially since (including the cloudnode → cameranode rename).

Nothing lost; reopen if you disagree.

@Sbussiso Sbussiso closed this Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants