bootstrap must prove the Depone runtime identity; docs must stop teaching removed commands (closes #134 #136) - #137
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 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.
Closes #134 and #136, both filed against the installed release set by an operator.
#134 — readiness went green while the verifier's identity disagreed with itself
On the installed set the lock pinned Depone
f067a05(v0.2.10), the checkout sat at that commit, and the shared environment reporteddepone 0.2.9throughimportlib.metadata,pip show, anddepone.__version__. Bootstrap verified checkout and lock state and installed witnessd and the wrapper, but never installed or runtime-verified Depone — so an operator could get a green result without knowing which Depone the running Python actually was. That the component in question is the verifier is what makes it serious.Bootstrap now makes the pinned checkout the runtime package and proves four facts agree:
depone.__file__, the installed distribution version, the version the source declares, and the locked commit. Any disagreement fails closed withERR_ORRO_BOOTSTRAP_DEPONE_RUNTIME_IDENTITY_MISMATCH, naming which fact disagreed and the repair command;--check-existingreports the same runtime identity rather than git state alone.Because this repository has no unit-test suite and the
--self-testflags are the regression mechanism, the bootstrap self-test now covers the identity logic offline: all four facts agreeing, an installed-versus-source version disagreement, a module path outside the locked checkout, and an unrunnable probe. Neutering the comparison makes the self-test fail, which was verified both ways.#136 — the docs taught commands the wrapper had removed
The wrapper help says
sketch/trace,nextandreportwere removed in 2.27.0, while active documentation still used them as live examples — so a fresh operator following the repository got a deprecated-command error. This had also been raised in an internal review and not fixed; a real user hitting it is the reason it is fixed now.Every active example was migrated to the supported form across the README, architecture, e2e-runner, e2e-smoke-contract and workflow-reference docs, all five files under
examples/, and the e2e test README. A newcheck_orro_removed_command_docs.pyfails when a removed command appears outside a migration note or fixture, derives its list from a single source, and runs in CI along with its own self-test.Verified independently: injecting
orro reportinto the README makes the drift checker exit 1 and removing it returns to 0; the identity check fails closed on a deliberate mismatch and passes when the four facts agree; neutering the comparison turns the self-test red.🤖 Generated with Claude Code