Repository navigation
Conversation
2c910c8 to
037b53c
Compare
mlieberman85
left a comment
There was a problem hiding this comment.
This now conflicts with 0.1.1 and 044: reproducibility.toml gained effects/ceiling declarations, and its tests reference the framework by name. Before merge:
packaging/pypi/public-packages.txtstill listsdarnit-reproducibility, so the release preflight and build fail.- Upgrade path:
pip install -U darnit-mcpwould leave darnit-reproducibility installed and failing to load. It needs a finaldarnit-reproducibilityrelease that depends on darnit-amber, or the distribution name kept. - Update the tests that still expect the
reproducibilityframework name (test_plan_contract.pyand the 044 reproducibility tests), anddocs/getting-started/using-skills.md. - Add a CHANGELOG entry (breaking) and a linked issue or decision record.
- Rebase after #519 lands; its Dockerfile loop and smoke matrix need the new name.
Drafted with Claude Code; reviewed and posted by me.
d2fb4a9 to
18851d0
Compare
18851d0 to
6b968b3
Compare
|
Rebased on main as one mechanical commit (the earlier version no longer applied); CI green. @mlieberman85 could you review and merge? #678 goes on top once this lands. |
6b968b3 to
cd451ce
Compare
mlieberman85
left a comment
There was a problem hiding this comment.
Thanks Marco. The rename itself is clean. No old names are left outside the CHANGELOG, the TOML stays under src/darnit_amber/ and loads through importlib.resources, the entry points and lockfile line up, and public-packages, release.yml and the smoke script are all renamed. Locally: ruff clean, validate_sync passes, 5268 passed / 18 skipped.
Still open from my Oct 6 review:
- Upgrade path (item 2). I installed darnit-mcp 0.1.1 from PyPI, then upgraded to this branch's wheels. darnit-reproducibility 0.1.1 stays installed. Every
darnit listanddarnit auditthen logsFailed to load implementation reproducibility: ... unexpected keyword argument 'default_authority', anddarnit audit -f reproducibilityfails with adry_run_command was removederror that doesn't mention the rename. Please either ship a transitionaldarnit-reproducibility(no entry points, depends on darnit-amber) and keep darnit-mcp depending on it for one release, or keep the distribution name. docs/getting-started/using-skills.mdlines 61, 66 and 150 still sayreproducibilityas the module name.- CHANGELOG: please add migration steps, not just the new names: uninstall darnit-reproducibility (or note the transitional release), and rename
reproducibilitytoamberin-f, MCP client configs,[plugins].allowed, and[[compose]] source. - #519 became #674, which still uses
darnit-reproducibilityin the smoke matrix, the import check, the publish job and the docs. Whichever of the two lands second needs the rename; let's agree on the order. darnit-amber will also need a pending Trusted Publisher on PyPI before the first release under #674.
Nits, not blocking: the baseline_capture.py docstrings still call the framework reproducibility; the new display name has an em-dash; the commit trailer should be Assisted-by: Claude:<model> per AI_POLICY.
Drafted with AI assistance (Claude), reviewed and filed by me. Measurements quoted were executed and verified.
cd451ce to
096f9a1
Compare
|
Thanks, four addressed in the force-pushed commit (096f9a1). 1. Upgrade path. Added a transitional I tested your scenario in a fresh venv ( 2. 3. CHANGELOG- the BREAKING entry now lists the migration steps (uninstall, 4. Nits fixed: Order with #674: both are mine, so easiest is to merge this first and I'll rebase #674 and rename there - it only touches Local run: 377 passed, 1 skipped; ruff and Assisted by Claude Code |
Package darnit_amber, framework and MCP server name amber, class AmberImplementation, amber.toml, design doc amber-attestation-system.md. Control ids (RE-*), handler names (repro_*) and the audit_reproducibility MCP tool are unchanged. A transitional darnit-reproducibility package (no entry points, depends on darnit-amber) ships for one release and darnit-mcp depends on it, so upgrading darnit-mcp replaces the old plugin instead of leaving it installed beside the new one; darnit_reproducibility re-exports darnit_amber with a DeprecationWarning. CHANGELOG lists the migration steps (uninstall, -f amber, MCP configs, [plugins].allowed, [[compose]] source). Assisted-by: Claude:claude-fable-5-1 Signed-off-by: Marc-cn <130138935+Marc-cn@users.noreply.github.com>
096f9a1 to
05acb26
Compare
Kusari Analysis Results:Caution Flagged Issues Detected Dependency analysis recommends DO NOT PROCEED, but every flagged package is a newly added entry in test fixture requirements files, which lowers urgency. Fixes exist for the numpy findings (lock_plus_loose_repo pins numpy 1.0 with 7 advisories including CVE-2019-6446; compound_repo has unpinned numpy with 8 advisories) via pip install numpy==1.26.4, and for requests 2.31.0 (CVE-2024-47081, CVE-2024-35195, CVE-2026-25645) via pip install requests==2.34.2. These are actionable and introduced by this PR, so we strongly recommend applying them before merging, unless the fixtures deliberately model vulnerable or loose pins, in which case state that in the PR description. The click 8.0 and 8.1.7 finding (PYSEC-2026-2132, CVE-2026-7246) has no fix and is not actionable, so it is not counted against the PR. Also verify that click 8.0 and numpy 1.0 are real registry versions, and note the end-of-life flags on numpy 1.26.4 and 1.26. Code analysis is clean apart from an informational zizmor notice at release.yml line 310 suggesting PyPI Trusted Publishing instead of the long-lived PYPI_API_TOKEN. The job has contents: read only and actions pinned to commit SHAs, so this is optional hardening and not exploitable. Overall, the actionable dependency advisories warrant addressing first. Note View full detailed analysis result for more information on the output and the checks that were run. Required Dependency Mitigations
Found this helpful? Give it a 👍 or 👎 reaction! |
|
Rebased again on today's main (05acb26, conflicts in CHANGELOG and test_plan_contract.py from #603/#676; the smoke script's framework list is renamed too). Your Oct 30 items are all in: transitional On Kusari Inspector's "do not proceed": every flagged file is a pin-classifier fixture (old or unpinned numpy is what those fixtures test) moving from Ready for the re-review; #678 is rebased on this head. |
Renames the
darnit-reproducibilityplugin todarnit-amber, the name agreed in #677 for the scientific-reproducibility work.darnit_amber, distributiondarnit-amberamber(darnit audit -f amber)AmberImplementation,amber.toml, design docdocs/design/amber-attestation-system.mdRE-*), handler names (repro_*) and theaudit_reproducibilityMCP tool are unchangedRedone on top of today's main as a single mechanical commit; the earlier version no longer applied. Full suite: 5245 passed, 18 skipped. #678 (Amber run bundles) stacks on this.
Assisted by Claude Code