Export complete datasets as verified Ultralytics detection and pose archives - #103
Merged
alexschmander merged 13 commits intoSep 7, 2026
Conversation
alexschmander
marked this pull request as ready for review
September 5, 2026 18:50
alexschmander
marked this pull request as draft
September 5, 2026 20:26
alexschmander
marked this pull request as ready for review
September 5, 2026 20:55
alexschmander
changed the base branch from
feat/previous-review-revision
to
feat/review-missing-object-evidence
September 6, 2026 07:38
alexschmander
force-pushed
the
feat/ultralytics-dataset-export
branch
2 times, most recently
from
September 7, 2026 09:30
9079c68 to
0d64158
Compare
alexschmander
force-pushed
the
feat/ultralytics-dataset-export
branch
from
September 7, 2026 09:42
0d64158 to
bdb9c96
Compare
alexschmander
force-pushed
the
feat/ultralytics-dataset-export
branch
2 times, most recently
from
September 7, 2026 10:32
edaf192 to
9b3898d
Compare
This was referenced Sep 7, 2026
alexschmander
force-pushed
the
feat/ultralytics-dataset-export
branch
from
September 7, 2026 11:04
59879ba to
8381693
Compare
alexschmander
force-pushed
the
feat/ultralytics-dataset-export
branch
2 times, most recently
from
September 7, 2026 12:08
3b18168 to
a57b693
Compare
alexschmander
force-pushed
the
feat/ultralytics-dataset-export
branch
from
September 7, 2026 12:20
a57b693 to
d7583c7
Compare
alexschmander
force-pushed
the
feat/ultralytics-dataset-export
branch
from
September 7, 2026 12:31
d7583c7 to
6d88f29
Compare
This was referenced Sep 7, 2026
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.
Current-head CI: all selected jobs and the required
Testingcheck passed. Successful run. This supersedes earlier awaiting-CI statements below; independent acceptance remains pending.Behavior or contract
Closes #54. Export complete ground truth and unchanged original images as verified Ultralytics detection or pose ZIPs, with documented round-trip preservation and loss. Native identities and workflow history are not restored on re-import.
Train, validation, and test are independently selectable and selected by default. The separate fallback assigns images without split provenance. Empty workflow selection disables preflight without a warning. Reload restores only active or Ready captures; finished-job diagnostics remain in explicit history views. Background status polls preserve form controls and layout.
Image-count and size quotas are optional and unlimited by default. Explicit operator quotas, concurrency controls, and retention remain supported. Capture avoids a full index rehash for every image and avoids durable syncs for disposable spool files; final source checks and archive publication durability remain intact.
Base: #101,
feat/review-missing-object-evidenceat9405867924d038c164a617f881e9c0b5733a173b. Current head:d7583c72241e59565b60bc2df872c4d82b0626b4. Full stack: main → #98 → #101 → #103.Production ownership path
Domain owns profiles, mappings, coverage, splits and pose bounds. Repository capture replays event cuts under image locks. Storage owns original validation, private capture, ZIP verification, guarded publication, cancellation, recovery and retention. API owns authorization and streamed delivery. Shared UI and client DTOs own selection and job interaction. Import owns the explicit acknowledged absent-pose policy.
Acceptance criteria and evidence
Regression protection
Capture tests cover unselected splits before event reads, default-unlimited limits, streamed metadata, configuration checks at publication, and failure cleanup without downloadable artifacts. UI tests cover real selection commands, stable polling, stale-response rejection, explicit history inspection and terminal-job retry.
Verification
The focused export UI suite passed 16 tests on the export-history update. The later empty-selection warning change received focused diff review. The final parent corrections passed their targeted production/UI regressions in #98 and #101. Broad current-head verification runs in GitHub CI after push.
Earlier combined canonical verification, both production round trips, and the pinned offline Ultralytics reader passed on recorded earlier heads. Those results are historical evidence and are not substituted for current-head CI or independent acceptance.
Visual or browser evidence
Earlier export inspection covered all six native viewports, a real Chromium preflight/start/download flow, and a delayed 3.5-second poll without form displacement. High-DPR evidence was limited to screenshots; no 200% interaction claim is made for that run. Fresh native/browser/external-reader passes were not repeated for the current parent corrections.
Documentation
Current contracts are in
docs/export.md,docs/assignment.md,docs/api.md,docs/configuration.md,docs/operations.md, anddocs/ui-ownership.md. Configuration examples document optional quotas.Risks and omitted checks
Export requires the documented Linux filesystem primitives and one server per datasets root. Unlimited quotas do not imply unlimited physical disk or memory. Published ZIPs require extraction before import. Large-dataset speedup has not been benchmarked; the exact legacy metadata-quota failure was not reproduced conclusively. Follow-up independent acceptance remains pending.
Worktree integrity
Handoff status
Latest stack update carries #98 self-submitted review reopening and bounded conflict diagnostics. GPT-5.6-Luna Max passed focused storage/API regressions and verified the final active stack ancestry. Broad verification awaits GitHub CI on the current head.
CI follow-up: the prior exact-head run passed all selected jobs except Clippy and its dependent Testing aggregate. Fixed test-module ordering and an unnecessary integer cast in #98; these changes carry through the stack. Fresh hosted CI is required for the updated heads.
GPT-5.6-Luna Max verified the two lint fixes with
cargo clippy --locked -p labello-storage --all-targets --all-features -- -D warnings(passed), final formatting/diff checks, exact tested-file parity, clean active worktrees, and main → #98 → #101 → #103 ancestry.