Follow the cameranode rename through Command Center - #288
Merged
Conversation
Companion to Sentinel-CameraNode#retire-cloudnode-name, which renamed the Cargo package sourcebox-sentry-cloudnode -> sourcebox-sentry- cameranode. Four things here referenced the old name. install.sh needed care rather than deletion. Its post-extract rename looked like dead code the moment the package was renamed, but this script installs from the LATEST GitHub RELEASE, and every published release still contains a pre-rename archive. Deleting the rename would have broken installs silently — extraction succeeds and the binary is simply absent under the name every later step expects. It is now a guarded compat shim that fires for old archives and no-ops for new ones, with a comment saying when it is safe to delete. Two other spots in the same file were genuinely wrong after the rename and would have failed immediately: the Windows hint told operators to run `sourcebox-sentry-cloudnode setup` after the MSI, which now installs cameranode.exe; and the build-from-source path copied target/release/sourcebox-sentry-cloudnode, which cargo no longer produces. AGENTS.md's preserved-identifier list needed a real correction, not an update. It claimed the AES key-derivation domain was `opensentry-cameranode-machine-id-v2` and had always been preserved. The code said `cloudnode` — the list was simply wrong, and had been. It is accurate now only because the rename made it so, which is worth recording explicitly: a future reader comparing that line against the code will find a match, and should not read the match as evidence the string was never touched. The note now also carries the warning that belongs with it — that string is a domain separator, and changing it after the first real install means an existing node.db silently fails to decrypt. CONTRIBUTING.md carried a three-line caveat explaining why the binary was called cloudnode. Deleted; the reason is gone. prompts.py described list_nodes as returning "CloudNode hardware status" — that text goes to the model, so the agent was being taught a name the product no longer uses. 864 tests pass, ruff clean, install.sh passes bash -n. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Companion to the CameraNode rename. Four things here referenced the old name.
install.shneeded care, not deletionIts post-extract rename looked like dead code the moment the package was renamed. But this script installs from the latest GitHub release, and every published release still contains a pre-rename archive.
Deleting it would have broken installs silently — extraction succeeds and the binary is simply absent under the name every later step expects. It's now a guarded compat shim that fires for old archives and no-ops for new ones, with a comment saying when it's safe to delete.
Two other spots in the same file were genuinely wrong after the rename and would have failed immediately:
sourcebox-sentry-cloudnode setupafter the MSI, which now installscameranode.exetarget/release/sourcebox-sentry-cloudnode, which cargo no longer producesAGENTS.mdneeded a correction, not an updateIts preserved-identifier list claimed the AES key-derivation domain was
opensentry-cameranode-machine-id-v2and had always been preserved. The code saidcloudnode— the list was simply wrong, and had been.It's accurate now only because the rename made it so. Worth recording explicitly: a future reader comparing that line to the code will find a match and shouldn't read it as evidence the string was never touched. The note now also carries the warning that belongs with it.
The other two
CONTRIBUTING.mdhad a three-line caveat explaining why the binary was called cloudnode — deleted, the reason is gone.prompts.pydescribedlist_nodesas returning "CloudNode hardware status". That text goes to the model, so the agent was being taught a name the product no longer uses.864 tests pass, ruff clean,
install.shpassesbash -n.🤖 Generated with Claude Code