Skip to content

Release NetLab 0.6.0 for NetGraph 0.26 and NetLab-TopoGen 0.6.1 - #7

Merged
networmix merged 6 commits into
mainfrom
update-netgraph-topogen-6c71e07e
Oct 29, 2026
Merged

networmix merged 6 commits into
mainfrom
update-netgraph-topogen-6c71e07e

Conversation

@networmix

Copy link
Copy Markdown
Owner

Port NetLab to NetGraph 0.26.0 and NetLab-TopoGen 0.6.1 from PyPI, and release it as 0.6.0.

  • Units and sampling. One shared reader (netlab/results.py) selects steps by name. It applies units_report.q once to whole-unit bandwidth and reads the converged rows. The baseline's sampled no-failure draws count, and BAC adds one baseline reference.
  • MSD. Alpha is alpha_feasible. A null alpha fails the run with none_feasible, never 0. NetLab refuses a placement whose demands or alpha differ from the MSD step's.
  • Latency. TE latency percentiles read the marginal cost curve; WES reads each row's mean path cost.
  • Run records. Step durations come from NetLab's own run record, measured with step_hook, so a cache hit keeps them.
  • Grouped rows. Grouped combine rows keep 0.24's labels, with one row per group.
  • Provenance. It records NetLab's commit for a clean checkout or a GitHub install. A Git error records null instead of aborting.
  • Fixtures and docs. The fixtures are regenerated on the published packages at the port commit, so their provenance names it. The documents and changelog describe the ported code.

The commits are kept separate so that the fixtures' provenance commit (ada4fa4) stays on main.

Validation:

  • Full CI matrix on Python 3.11–3.13 for every commit.
  • A clean-export test suite on the release tree (604 passed).
  • A fresh macOS Python 3.11 install from this branch on GitHub reproduces every committed metrics table byte for byte.
  • A clean installed-wheel check on 3.13; wheel contents equal 0.5.0's plus the two new modules.
  • Two independent code reviews (GPT-6.1 Sol and Claude Opus 5.5), confirmed through five fix rounds.
  • Two documentation cross-checks.

Large geography configurations and full research sweeps were not rerun.

🤖 Generated with Claude Code

networmix and others added 6 commits October 29, 2026 16:00
Pin ngraph>=0.26.0,<0.27 and netlab-topogen>=0.6.1,<0.7 and move the
code, tests and configurations to the new APIs:

- one shared result reader (netlab/results.py): steps by name, whole
  units times the units report's q, converged rows and totals;
- MSD alpha is NetGraph's alpha_feasible; a null alpha fails the run
  with reason none_feasible;
- TE latency percentiles come from the marginal curve, WES from each
  row's mean path cost;
- the baseline's sampled draws count; BAC adds one baseline reference;
- step durations are measured with step_hook and kept in a run record
  beside the results, so a cache hit keeps them;
- grouped combine rows are labelled by selectors and group rosters;
- provenance records NetLab's commit only for a clean tree;
- skills pinned to 473c45b.

The fixtures are regenerated on this commit in the next one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Regenerated with dev/regenerate_fixtures.py on ada4fa4 (clean tree)
with ngraph 0.26.0, netgraph-core 0.12.0 and netlab-topogen 0.6.1, so
their provenance names that commit. Results are byte-identical; only
the measured step durations and the provenance records change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A Git error while reading NetLab's checkout no longer aborts
netlab metrics: commit and dirty are recorded as null. A pip VCS
install (the documented GitHub install) records the commit pip
installed, with dirty false, as 0.5.0's provenance did. The fixture
regenerator refuses unless a clean tree is proven.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fixture regenerator refuses unless netlab is imported from the
checkout it regenerates (an editable install), so a GitHub install's
clean provenance cannot vouch for a different, dirty checkout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Update the README, metrics.md, the architecture and verification
notes, the fixture and experiment READMEs and the research program to
the ported code: whole units of q, sampled draws and the baseline
reference, MSD alpha_feasible, TE latency from the marginal curve,
run records with step durations, grouped rows and provenance. The
changelog's Unreleased section lists the user-visible changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-29T16:45:30.485583Z 0993de7 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@networmix
networmix merged commit 0993de7 into main Oct 29, 2026
6 checks passed
@networmix
networmix deleted the update-netgraph-topogen-6c71e07e branch October 29, 2026 20:11
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.

1 participant