Repository navigation
Tools versioning: 0.2.0rc1, tools_version/features, reserved-input tolerance, compat check, compat CI job - #110
Merged
Merged
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
…and consulted by load_inputs Lands before #51 (reject undeclared inputs): that check may only reject what convert.undeclared_inputs returns. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
…scribe and doctor print them Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
…um Tools version or features Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
…ozen 0.1 and 0.2 schema fixtures Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
…edger rows Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
….yml conventions Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
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.
What
Roadmap 18 phase 0.2, in separate commits (each with its own tests):
0.2.0rc1from one source (labconstrictor_tools/_version.py; pyproject reads it dynamically). OPERATIONS.md: tag names (vX.Y.Z,vX.Y.Z-rc.N), who tags (the maintainer; no tags or releases created here), procedure._job_dir,_calibration,_axes, any_name) are accepted and ignored by the worker. List isprotocol.RESERVED_INPUTS, documented in PROTOCOL.md.convert.undeclared_inputsis the single check that issue Reject undeclared worker inputs instead of silently using defaults #51 must use;load_inputsconsults it. A tool cannot declare a reserved name. Reject undeclared worker inputs instead of silently using defaults #51 is NOT implemented here.tools_versionandfeaturesin the schema and in the registry entry;describeprints them,doctorshows them (missing = unknown/old). Additive within protocol 1. Feature ids: onlyreserved_inputs_v1today.calibration_per_axisandretention_pruneare documented as planned and must be added by the PR that implements them.labconstrictor_tools.compat.check_schema(schema, min_tools_version, required_features, warn_below_tools_version=None)returns ok/warn/refuse with a one-sentence reason. Rules are in PROTOCOL.md; vectors are in thecompatsection of the proposed conformance.json in HOST_PARITY.md.compat: installs the newestv*tag (no tag: prints why and passes) and runstests/compat_matrix.py(old/new schema read both ways, old/new worker requests). Frozen fixtures:tests/fixtures/schemas/tools_0.1andtools_0.2, pinned by hash.LC_TOOLS_SPECto a tag, and the list of app files to change.Ledger rows added.
How verified
compat_matrix.pyrun against a real venv built from the previous main (Tools 0.1.0): all 11 checks pass.test_hardening...foreign_owned_or_group_writable_shared_entry_is_skippedfails the same way on origin/main when run as root.test_sabotagehit a full disk in the sandbox and passed on rerun.Open points
v0.2.0-rc.1after merge.🤖 Generated with Claude Code
https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
Generated by Claude Code