chore(release): 0.0.1b2 — the beta corrected (#164) - #170
Merged
Conversation
`0.0.1b1` shipped with every CI gate green and three defects a manual pass over the **built wheel** found within an hour. This closes the milestone that fixed them, and the shape of the gap is the part worth keeping. All three were the same thing: **a claim verified against itself rather than against the artifact.** The export tests asserted the counts the code intended to write, never the counts in the bytes on disk. The gallery's own docstring called its one-column fallback "correct-but-slow rather than wrong", so its unit tests asserted precisely the broken value. Every screen was tested in isolation and nothing walked the app the way a person does. So each fix landed with the guard that was missing, and each guard was verified by mutation — reintroducing the defect turns a *named* test red: - #158 an export report is checked against the annotations actually written into the label files, XML documents and COCO JSON, for **every** installed format; - #160 the product is walked end to end by **clicking**, and the helper that let a spec type a job URL is deleted; - #159 the gallery's column count is measured in a real browser at two widths; - #162 the swatch's payload is asserted, not its appearance; - #161 the built document's icon href is asserted after Vite's base rewrite. `VERSION` → `0.0.1b2`, carried to the three frontend packages as `0.0.1-beta.2`. `openapi.json` moves by exactly one line because it embeds `info.version`; the generated TypeScript client does **not**, because it holds only `paths`, `components` and `operations` — `docs/releasing.md` already says so. `FORMAT_VERSION` stayed **12** across the whole milestone, and no migration was added: a correction that needed one would have been a fix that went deeper than a fix. Checked against the artifact rather than the tree, which is the point: - `bash scripts/build_dist.sh` → `visionset-0.0.1b2-py3-none-any.whl`, with `_static/favicon.svg` and `_static/index.html` inside it; - installed into a clean venv, `visionset --version` reports `0.0.1b2`; - the whole browser cycle driven against **that installation** — token, project, schema, ingest, the draft batch's inert tiles, the grid re-flowing at two viewport widths, a tile click landing on the clicked asset, the return to the gallery, three annotations, complete, promote, publish, verify, export, download, and a clean console; - #158's own reproduction replayed through the installed distribution: 3 boxes, 2 polygons and 1 tag, exported to yolo, voc and coco, with the report compared against the rows on disk. `excluded=1, degraded=2` against 5 of 6 annotations written — where the issue reported 3 excluded and found 4 rows. Closes #164
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 #164. The
0.0.1-beta.2close-out: version bump, changelog, and the exit criteria checked against the artifact.The milestone
0.0.1b1shipped with every gate green and three defects a manual pass over the built wheel found within an hour. Five issues fixed, in the order the epic froze:4523ccb5b390c454e4cdc66c19ff/favicon.ico404'd — the only console error in a clean loadbe09e25All three major defects were the same shape: a claim verified against itself rather than against the artifact. So each fix landed with the guard that was missing, and each guard was verified by mutation — reintroducing the defect turns a named test red, checked one at a time.
Standing constraints, all held
FORMAT_VERSIONopenapi.jsoninfo.version. The generated client is byte-identical after this bump, whichdocs/releasing.mdalready documents as correct rather than suspicious.confirm=,allow_destructive=,allow_lossy=still separate; #158 added a fourth state to the report and moved none of them.lint-imports2 contracts kept, 0 broken.What this commit does
VERSION→0.0.1b2, carried to the three frontend packages as0.0.1-beta.2bypnpm version:sync.tests/test_versioning.py's pin moves with it, which is what makes a bump a deliberate edit in two places.CHANGELOG.mdbecomes a released section;CONTRIBUTING.md's version table gains a row;docs/releasing.md's runbook shows the version being cut, while the #69 argument above it stays historical.Exit criterion 3 — the artifact, not the tree
bash scripts/build_dist.sh→visionset-0.0.1b2-py3-none-any.whl(589 KB), with_static/index.htmland the new_static/favicon.svginside it.VISIONSET_REQUIRE_WHEEL=1 uv run pytest tests/packaging— 11 passed.visionset --version→0.0.1b2,_static/carries 5 files.lanepolygons, 1weathertag, exported to yolo, voc and coco, with the report compared against the rows actually on disk:The issue reported
excluded_annotations: 3and found four label rows where two were expected. It now reports 1 and writes 5 of 6.Every gate, locally
uv run pytestuv run lint-importsuv run mypy src/visionsetuv run ruff check/ruff format --checkpnpm -r build/pnpm -r lint/pnpm -r typecheckpnpm testpnpm --filter @visionset/app e2epnpm --filter @visionset/app cycleAfter the merge
v0.0.1-beta.2is tagged on the merge commit. Publishing to PyPI needs credentials this repository does not hold —docs/releasing.mdstep 4 — so it stays a human step, as it was for0.0.1b1.