Multi-pass averaging #21

Closed
opened 2026-09-08 17:42:40 +01:00 by gronod · 0 comments
Owner

Summary

Snapshot deletes canonical .ti3. Stage 4 stays locked until Finish.

Spec refs

docs/15-stage3-chartread.md, 04-argyll-binaries.md §5/§14. #109 #110.

Scope

In: snapshot, promote, average argv, pass UI.
Out: XY UI.

Implementation notes

After chartread exit 0: copy {basename}.ti3{basename}_passN.ti3 (1-based) and DELETE canonical.
Process id for average: average_{output} e.g. average_job.ti3.
Finish: 1 pass → promoteTi3; ≥2 → average -v {inputs…} {basename}.ti3 relative names, cwd = project dir.
On average failure, fallback promote pass 1.
chartread inoutfile remains the chart basename (do not point chartread at pass files).

Rewrite invariants

#109 never average the same file. #110 Stage 4 locked until Finish.

Dependencies

Blocks-on: 2, 4, 19.
Unblocks: 23 (via gating).

Test

  • CI/mock: snapshot/promote round-trip; average argv unique files; gating locked between passes.
  • Hardware: N/A.

Acceptance criteria

  • After pass 1, Stage 4 is locked and {basename}.ti3 is absent.
## Summary Snapshot deletes canonical `.ti3`. Stage 4 stays locked until Finish. ## Spec refs docs/15-stage3-chartread.md, 04-argyll-binaries.md §5/§14. #109 #110. ## Scope In: snapshot, promote, average argv, pass UI. Out: XY UI. ## Implementation notes After chartread exit 0: copy `{basename}.ti3` → `{basename}_passN.ti3` (1-based) and DELETE canonical. Process id for average: `average_{output}` e.g. `average_job.ti3`. Finish: 1 pass → `promoteTi3`; ≥2 → `average -v {inputs…} {basename}.ti3` relative names, cwd = project dir. On average failure, fallback promote pass 1. chartread inoutfile remains the chart basename (do not point chartread at pass files). ## Rewrite invariants #109 never average the same file. #110 Stage 4 locked until Finish. ## Dependencies Blocks-on: 2, 4, 19. Unblocks: 23 (via gating). ## Test - CI/mock: snapshot/promote round-trip; average argv unique files; gating locked between passes. - Hardware: N/A. ## Acceptance criteria - [ ] After pass 1, Stage 4 is locked and `{basename}.ti3` is absent.
gronod added this to the M4 — Measurement milestone 2026-09-08 17:42:40 +01:00
gronod added the
Priority
High
2
Project/ICCery-v2Feature/Backend
labels 2026-09-08 17:42:40 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/iccery-v2-mac#21