Repository navigation
Research handoff: live survey findings and tested prototypes (#18, conflicts resolved) #180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
598 commits
Select commit
Hold shift + click to select a range
ad91620
beta: merge t3/ios-mvf (e9e405d), PR #10
AidenJohnston f838eb6
fix(ios): say "AC unit" and spell out lengths for VoiceOver (#25)
AidenJohnston d3d053c
fix(ios): show "Check clearances" once the scan is sent (#31)
AidenJohnston e760327
fix(ios): no "Slow down" while the mark tray is open (#26)
AidenJohnston 57a3ae1
fix(ios): spell the measurement's length formatter as a function
AidenJohnston 11878ec
Result: say whether a rule's limit is a minimum or a maximum (B-14)
AidenJohnston 3c7b83a
fix: end the wall where the phone is, and ask for the ground by the m…
SamGu-NRX 75dea41
Merge the field-run fix: wall ends where the phone is
SamGu-NRX 72144a7
Merge t3/ios-mvf into t3/run1-quick-fixes
AidenJohnston 97ee40c
Merge t3/ios-mvf into t3/triage-quick-fixes
AidenJohnston 21e21ce
test(ios): check the minimum's wording, not its unit (B-14)
AidenJohnston 074bf1d
server: an existing battery keeps a new one 3 ft away (issue #27)
SamGu-NRX 3e5446e
ios: past-end requests keep their end, and band requests past an end …
AidenJohnston afd02c8
experiments: add field test run 2 on build 3.1
AidenJohnston 067f413
ios: the walk asks only for stretches between the wall's ends (#38)
AidenJohnston 792a900
Result: an overlap reads as one, not as clearance (#40)
AidenJohnston 3b27aaf
test(ios): refresh the vendored scene schema to t3/server 074bf1d
AidenJohnston 6ee2874
Vendor the scene schema from t3/server 074bf1d
SamGu-NRX ff6645b
fix: end the side the phone is on, and no zero-length walls (#24)
AidenJohnston e4ce503
ios: "I can't get there" moves on to the next requested view (#39)
AidenJohnston c9a4473
ios: plan the 0.02 ft shortfall request without the end it now reache…
AidenJohnston e3a3fa9
ios: refresh the vendored scene schema to t3/server 074bf1d
AidenJohnston feb35a0
Merge pull request #34 from SamGu-NRX/t3/run1-quick-fixes
SamGu-NRX 99e914c
Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/past-end-req…
AidenJohnston 067cec7
Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/triage-quick…
AidenJohnston 5c8c739
Keep wall ends near the phone, and objects on written walls
SamGu-NRX 170d7f2
Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/wall-end-guards
AidenJohnston 0e8a559
Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/wall-end-guards
AidenJohnston 90f94bd
server: count only unseen checks in 'N checks depend on areas the sca…
AidenJohnston 2d33cea
ios: draw the AR result in the scene so people and objects hide it (#41)
AidenJohnston 9e42970
server: fixes from the real-phone run 2 (#44, #45, #42)
SamGu-NRX d0ff1be
Ask the walk for the wall to 4.5 ft; report and request above it
SamGu-NRX 898cd4e
Merge the walking height: the walk asks for the wall to 4.5 ft
SamGu-NRX 8604928
Vendor the result schema from t3/server 9e42970
SamGu-NRX 3095e20
Hold an aim request while its ground is in view, and pin the field ru…
AidenJohnston 86fd555
server: fixes from the caretaker's review of 9e42970
SamGu-NRX 9edcd4b
Merge #50: name the checks a person must judge in the unseen summary
SamGu-NRX f173c8a
ios: the review flags marks lying past a wall end (#42)
AidenJohnston 07d8660
beta: merge main (f852207), docs from PR #33
AidenJohnston 2187518
beta: merge t3/server (9edcd4b), PR #11 (with #50)
AidenJohnston 1263338
beta: merge t3/field-test-run2 (afd02c8), PR #46
AidenJohnston b69db3e
beta: merge t3/scoring-harness (90a71c5), PR #4
AidenJohnston 63d950d
Merge pull request #51 from SamGu-NRX/t3/ar-occlusion
AidenJohnston cd05d67
Merge pull request #37 from SamGu-NRX/t3/triage-quick-fixes
AidenJohnston 2f193aa
Merge pull request #48 from SamGu-NRX/t3/wall-end-guards
AidenJohnston d02cc11
Merge pull request #47 from SamGu-NRX/t3/past-end-requests
AidenJohnston 20bf369
ci(ios): cut pull request runs from ~25 min to ~12 min
AidenJohnston ce90112
Merge origin/t3/ios-mvf into t3/gap-skip-continues (#39)
AidenJohnston 085e0ed
Merge remote-tracking branch 'origin/t3/ios-mvf' into resolve-53
AidenJohnston 73d7b17
Merge remote-tracking branch 'origin/t3/ios-mvf' into resolve-56
AidenJohnston 8064f74
Ask for Motion & Fitness on the onboarding, where it is explained (is…
AidenJohnston 871fb50
A replay launch never asks for permissions, even before its frames load
AidenJohnston cae4f42
Don't hold an aim request whose stretch is past a marked end
AidenJohnston 45017ba
beta: merge t3/ios-mvf (d02cc11), PR #10 (with #51, #37, #48, #47)
AidenJohnston 2641027
Merge pull request #57 from SamGu-NRX/t3/ios-ci-speed
AidenJohnston e367161
Merge pull request #53 from SamGu-NRX/t3/marks-past-ends
AidenJohnston 4f1a8c9
CI: fail when a vendored schema can't be compared
SamGu-NRX 3153cca
Merge t3/ios-mvf (#53 and later) into the CI drift fix
SamGu-NRX 9607a48
Onboarding stops at a camera denial, motion permission reports its an…
AidenJohnston fb4c30e
Replace field-run values in a test and the demo with made-up ones
SamGu-NRX 1b41f6d
CI: fetch the contract branches unless the compared files are checked…
SamGu-NRX de04c3b
Drop the live packet 1.1 schema comparison; t3/packet retired it
SamGu-NRX 9f10fc1
Read the result's answer, clean spot, nearest failure and view links …
SamGu-NRX 37729cc
Fix the #10 caretaker's findings on the anchor, ground, source and sc…
SamGu-NRX 257a6a7
Map the nearest spot, the rules notice and each check's view into the…
SamGu-NRX e4f8ef4
Lead the result with the answer and fold the full checks under Details
SamGu-NRX 534813b
Swap the upload headline at once instead of crossfading it
SamGu-NRX c05f1c2
Show the replay and autopilot badge as a quiet pill
SamGu-NRX 9ee7686
Fill the launch screen with the Canvas colour
SamGu-NRX 4b71161
Merge the engine fixes from the #10 review: anchor turn, ground plane…
SamGu-NRX 47dd609
Result model follows corners; Reduce Motion stops moving things; audi…
SamGu-NRX ee1087e
Merge the UI fixes from the #10 review: corners in the result model, …
SamGu-NRX 5150321
ios: deflate the text entries in the shared scan zip
AidenJohnston f232b9f
Retry uploads the server answered 408 or 429
SamGu-NRX 87dd34a
Merge main (f852207) into t3/ios-mvf
SamGu-NRX 02d74f6
ios: show the meter's brand beside the number candidates
SamGu-NRX 916838f
Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/meter-brand
SamGu-NRX c9a46ac
Give the Details header an explicit button the UI tests can open
SamGu-NRX 74fb280
Show which rules answered and keep the nearest spot at the server's size
SamGu-NRX 0f866a0
Use the system disclosure for Details and keep one filled button
SamGu-NRX 7bc900a
Drive the result screenshots and UI tests from server answer files
SamGu-NRX b9851e1
Meter close-up: out of focus at 6.68, the eval's current threshold
SamGu-NRX 96fdcaa
beta: assemble current iOS fixes for simulator QA
SamGu-NRX 3599ce5
beta: include walk guidance regression coverage for testing
SamGu-NRX d9a7759
beta: include onboarding motion permission for testing
SamGu-NRX 0d5286e
beta: exercise refused-view progression with known coverage limitations
SamGu-NRX bc5a1ac
UI tests: read audit elements from one snapshot, never live
SamGu-NRX 5ce6088
Merge t3/gap-skip-continues (#49) into t3/41-gap-loop-result
AidenJohnston 659e5ae
ios: 44 pt reject target, and the brand lives only beside its number
SamGu-NRX 0a3a05e
Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/meter-brand
SamGu-NRX 00fb017
Show the sample badge as a quiet pill under Replay
SamGu-NRX b5006fc
ios: "leaves out N ft you walked" only on walk tasks, and on the end …
AidenJohnston 41291e8
AR result: keep the Canvas battery until RealityKit is seen drawing it
AidenJohnston a4b8b27
ios: card replies name the task, stay under gate coaching, lock after…
AidenJohnston c4dec62
ios: gate coaching keeps the task card, waits out dark flicker, and s…
AidenJohnston 9b5348b
ios: a follow-up asking for more is a new view; "Show my result" on e…
AidenJohnston c07bafe
ios: hold "Check clearances" and its tick on the upload screen (#31)
AidenJohnston 4ca919d
ios: name the unexplored end nearer the meter than the spot (#83)
AidenJohnston 5c15da8
ios: name a server request's stretch by its ends, clipped to the wall…
AidenJohnston 9c2a567
Ground band and no-raise; check estimated meter taps; re-fit before t…
AidenJohnston 3cec36d
Merge t3/ios-mvf (b9851e1) into t3/experience-result
SamGu-NRX 9b0acc5
ios: gate coaching keeps the task's second line, refusals keep their …
AidenJohnston 9704867
Aim ring fills as its stretch is captured, and says what it is for
AidenJohnston 94e87b5
Merge the audit's stable element reads (the #24 test flake)
SamGu-NRX f141a62
Log each meter-anchor correction with its total since the tap
AidenJohnston 6ea58d5
ios: hold a walk aim until it is met or stalls, and ask for the meter…
AidenJohnston 07be67f
Ask the homeowner to confirm the spot before showing the result
SamGu-NRX d17296b
Never call a spot with no checks a fit or clean
SamGu-NRX d3b4820
List under Settles only the checks a view settles
SamGu-NRX 06abc43
Size sweep zones by the nearest spot when there is no spot
SamGu-NRX db80cfb
Build the sample badge as one Text so it passes the Dynamic Type audit
SamGu-NRX 7ca5f5b
Merge commit '0a3a05e200fa42daf002d5fc77687c898935cffa' into codex/be…
SamGu-NRX 44f38ab
Merge commit '5150321a22f540e669755270dd76caa23957d8a4' into codex/be…
SamGu-NRX a8bd17a
Cap Retry-After at a day so the wait message can't overflow
SamGu-NRX f14947e
Keep "Can't get there" on screen through the capture gate's coaching
SamGu-NRX acd3d35
Keep the last completed scans across a relaunch, and stamp each scan
SamGu-NRX 057131b
Merge commit 'f14947eb9bff5b707660c8d873b72e60ba056631' into codex/be…
SamGu-NRX 4c43e44
Merge commit 'b5006fca782aa280caa767e476fd5c62b496a9e2' into codex/be…
SamGu-NRX 2d476ef
Merge commit 'a4b8b2723736b5f2b29c5605569dcdb76c6d8a69' into codex/be…
SamGu-NRX f84df3a
Merge commit '9c2a5676fff6b31b1eb1e4bde63a5473ae61b5f3' into codex/be…
SamGu-NRX 9f40386
Merge commit 'f141a6212f3bba8c26695bf3cb5cb40ef0f1cf9d' into codex/be…
SamGu-NRX 956744c
Merge commit '5c15da8705ef09bef33a71d1d1dca27deddb7480' into codex/be…
SamGu-NRX 9583b12
Regenerate the Xcode project for the result answer fixtures
SamGu-NRX 72c32f8
Merge the spot confirmation: the homeowner checks the chosen spot bef…
SamGu-NRX 8a9ee81
Show the instruction card's reply without a fade
SamGu-NRX 8ea82c0
Merge #89: read the meter's brand from the close-up
SamGu-NRX 577acc4
Merge keeping the last scan across a relaunch, stamped with its revision
SamGu-NRX 6f5d1aa
Integrate result redesign with beta gap-loop fixes
SamGu-NRX 722df5f
Merge t3/ios-mvf (f14947e) into t3/41-card-replies
AidenJohnston 98d96ca
ios: card words and reply land together, only the scrim eases
AidenJohnston 8487a02
ios: a stalled lagging-band aim gives way, and the aim card's directi…
AidenJohnston 3b80f78
Merge t3/ios-mvf into t3/41-gap-loop-result
AidenJohnston eec3862
Merge t3/ios-mvf (f14947e) into t3/41-gate-coaching
AidenJohnston 633c26d
ios: gate coaching rides along on the gap request, walk-out requests …
AidenJohnston a44780a
ios: "Show my result" below the tape at accessibility sizes (#39)
AidenJohnston 1214baa
Merge non-LiDAR AR and aim guidance for beta testing
SamGu-NRX 4be491e
Merge repaired walk guidance for beta testing
SamGu-NRX 6d82e62
Aim ring: hold the completed ring green with its tick for a moment
AidenJohnston 6f7d378
Merge reply-card transition repair for beta testing
SamGu-NRX 44370cb
Merge accessible follow-up controls repair for beta testing
SamGu-NRX 5bc81fb
Merge coaching repairs while preserving beta guidance and replies
SamGu-NRX d4e008c
UI test: tap only once the element can take the tap
SamGu-NRX 87be505
Merge retained scans and spot confirmation into beta candidate
SamGu-NRX f35d850
Merge visible aim completion while retaining beta coaching and retent…
SamGu-NRX 6406271
fix(export): send a one-tap AC unit as an assumed 3 ft square
AidenJohnston 1da41b3
feat(review): soft-gate Looks complete and add Not sure to windows
AidenJohnston 1b3229a
ios: the meter-anchor drift log is kept on the device and never rests…
AidenJohnston 38bd756
ios: once RealityKit draws the AR result it keeps it while the batter…
AidenJohnston d5c403d
ios: a server request names its whole stretch, its ends rounded outward
AidenJohnston 6f20468
ios: ask before a second "Can't get there" ends the scan, and show no…
AidenJohnston b93bf67
fix(ios): end a side at the phone; confirm and back out of the next wall
AidenJohnston f07d6c3
Merge reviewed beta follow-ups for anchors and requested spans
SamGu-NRX da571e2
Merge reviewed AC footprint and feature review follow-ups
SamGu-NRX 4896e0a
Allow the expanded beta UI suite to finish
SamGu-NRX fbab420
Merge beta into t3/41-target-ring
AidenJohnston b2c6367
Aim ring: legend keeps to the lane, asks for a whole step, ring count…
AidenJohnston a9e9b6d
Merge pull request #131 from SamGu-NRX/t3/41-ac-review
AidenJohnston 25f1f45
Merge pull request #132 from SamGu-NRX/t3/41-review-followups
AidenJohnston 450fdf7
Merge remote-tracking branch 'origin/beta' into t3/41-ends-corner
AidenJohnston aef9bd3
Preserve Aiden beta merge history in the combined candidate
SamGu-NRX 15e18dc
Merge origin/beta (25f1f45) into t3/41-walk-exit
AidenJohnston 057cfd4
ios: an end at the phone out along the wall counts as walked
AidenJohnston 686a1d3
ios: after RealityKit takes over the AR result, it takes it back with…
AidenJohnston 05003e5
ios: the AR result's chevron shows for a spot under the card or the D…
AidenJohnston 5c83ad4
ios: the aim ring's legend sits on the card's solid scrim
AidenJohnston 32fc075
fix(ios): ring on the proposed corner; review follow-ups for #136
AidenJohnston 1e9c6b5
Restore the spot-refusal notice required by the result merge
SamGu-NRX 8b42e13
Aim ring legend: measure the card, move under it when there is no roo…
AidenJohnston 6af4d8f
ios: practice meter, a drawn sample meter for scanning without one
SamGu-NRX 50a2953
Merge commit '5c83ad49efd108874102b75327798ecd4d654f82' into codex/be…
SamGu-NRX c60e6ff
Merge pull request #136 from SamGu-NRX/t3/41-ends-corner
AidenJohnston 7f3c486
ios: recheck the scan after drawing the practice close-up photo
SamGu-NRX 7724c42
Merge latest aim layout into beta QA follow-ups
SamGu-NRX 76462dc
Preserve latest beta wall-end and corner integration
SamGu-NRX 51184fe
Draw the prototype's fog and live dots over the walk
SamGu-NRX 86da28d
fix(ios): bound an end at the phone by the evidence; settle tracking;…
AidenJohnston fd50357
fix(ios): refuse object taps that meet the wall under the floor or fa…
AidenJohnston 73d931e
Merge origin/beta (c60e6ff, #136) into t3/41-walk-exit
AidenJohnston b8b3c37
ios: result marks follow-ups from #110 (heading, AR outline, outline …
AidenJohnston 6bc1df0
Integrate practice meter with beta permissions and mode badges
SamGu-NRX 2c5063d
ios: recover from camera access, keep rejected close-ups off the mete…
AidenJohnston e085372
ios: preview the walk's moves in onboarding
AidenJohnston 15cbb77
ios: hoist StillCatalog's mutating calls out of #expect
AidenJohnston 94c2e2a
Keep hidden and requested tints in the band, and rag the fog's edges
SamGu-NRX 48d024a
Say in the iOS README where the live fog's rule and dots live
SamGu-NRX 9defff1
Keep narrow unseen cells fogged, move dots exactly on corrections
SamGu-NRX 4606fe2
Merge commit '9defff1' into t3/live-fog-beta
SamGu-NRX 0964ecc
ios: the result card offers no capture once the camera has failed
AidenJohnston 5267a25
Merge reviewed object-tap reach fix into beta candidate
SamGu-NRX 6e8403f
Merge origin/beta into t3/110-result-details-followups
AidenJohnston 88912e5
Merge origin/beta (6bc1df0) into t3/41-walk-exit
AidenJohnston 16ad21b
Split corner-crossing marks, share the ground entry cap, aim at one m…
AidenJohnston 9d0a662
Update aim tests for the contiguous missing run
AidenJohnston de5357f
ios: "End the scan here?" offers Start over when too little was walke…
AidenJohnston 90b1821
ios: aim ring legend under the card in the chrome's stack, as one Text
AidenJohnston c8dd2f8
ios: UI test taps scroll to a control below the fold
AidenJohnston 4661682
Merge Aiden beta UI layout and test navigation repairs
SamGu-NRX 4482ab1
test(ios): isolate Practice and restart through result Details
SamGu-NRX 6836db7
Tune the fog, the hidden tint and the dots against the prototype videos
SamGu-NRX 8d9bfd7
test(ios): use synthetic object tap fixtures
SamGu-NRX 5f3f4c0
Merge pull request #135 from SamGu-NRX/t3/41-walk-exit
AidenJohnston 8383eb5
Merge origin/beta into t3/41-ends-corner-2; drop the tracking debounce
AidenJohnston 1d6adb6
test(ios): use synthetic object tap fixtures
SamGu-NRX b2d80e8
ios: preview the ground tilt at the meter before the walk
AidenJohnston 9a0e275
fix(ios): aim the AR spot checks at the outline for an unclean spot
AidenJohnston 3ec22b2
Skip lagging runs whose aim stretch can't be met
AidenJohnston e6ffbce
Merge pull request #149 from SamGu-NRX/t3/126-closeup-reduce-motion-r…
AidenJohnston e7af970
Merge pull request #151 from SamGu-NRX/t3/140-object-tap-reach
AidenJohnston 30487e5
Merge remote-tracking branch 'origin/beta' into HEAD
AidenJohnston 3540c42
Merge current beta recovery and walk-exit fixes into QA candidate
SamGu-NRX cb66a76
Merge reviewed result actions and AR outline corrections
SamGu-NRX 644beb2
Integrate onboarding moves while retaining Practice accessibility cov…
SamGu-NRX 7bed770
Merge pull request #146 from SamGu-NRX/t3/110-result-details-followups
AidenJohnston 5ec47cb
Merge pull request #154 from SamGu-NRX/t3/129-corner-and-settlement-l…
AidenJohnston 73f3288
Merge pull request #152 from SamGu-NRX/t3/85-onboarding-moves
AidenJohnston 2e46bac
Merge live fog and LiDAR dots into the combined beta candidate
SamGu-NRX 4a5d20c
Preserve beta history and reviewed ground-request stall repair
SamGu-NRX 60c8caf
Merge pull request #147 from SamGu-NRX/t3/41-ends-corner-2
AidenJohnston af1914e
ios: UI test taps a control past the bottom edge where it is
AidenJohnston 660d7bf
Merge reviewed beta end-position follow-up into demo candidate
SamGu-NRX f0bf3bf
ios: stamp the commit in the TestFlight job, not a project script phase
AidenJohnston a0d3341
ios: regenerate the project without the stamp script phase (XcodeGen …
AidenJohnston b609540
ios: stamp comments name the TestFlight step, not the removed build p…
AidenJohnston 7b85a39
Merge pull request #161 from SamGu-NRX/t3/testflight-stamp
AidenJohnston 5532f22
Merge reviewed test scrolling correction for combined beta QA
SamGu-NRX 6d73fff
Preserve beta TestFlight stamping repair in demo candidate
SamGu-NRX a4479c0
Merge pull request #155 from SamGu-NRX/t3/41-beta-green
AidenJohnston 2db95af
Preserve beta merge history for the included aim repair
SamGu-NRX f45fef0
Give the instruction card's reply button a solid fill
SamGu-NRX 3011831
ios tests: audit the walk once the autopilot holds it
AidenJohnston 5ceaa8d
Keep the Practice label visible at large text sizes
SamGu-NRX ab56e2f
ios: land an AC tap on the ground when its ray meets the wall under t…
AidenJohnston 029050e
Replay: an upper walk that sees the wall above 6.5 ft, and a gap the …
SamGu-NRX 59e0bc0
ios: a corridor's far wall ends the space instead of hiding it (#160)
AidenJohnston a5e4bf7
ios: say where the space ends on a walk-out request (#164)
AidenJohnston 64b9719
ios: report a far surface the walk went up to as a facing gap (#164)
AidenJohnston a3c789f
ios: don't capture the gap request in the walk-out log (#164)
AidenJohnston 9228ed4
ios: deflate zip entries through a fixed buffer instead of an input-s…
AidenJohnston f47f361
ios: stand the AC bracket on the ground, and test the fallback under …
AidenJohnston 6b21236
ios: say which field run found the far wall as a plane (#160)
AidenJohnston 9fc6019
ios tests: say what the held walk shows
AidenJohnston 756cc68
Merge pull request #166 from SamGu-NRX/t3/163-ac-ground-tap
AidenJohnston a1c2bcf
Merge pull request #169 from SamGu-NRX/t3/ci-flake-fixes-beta
AidenJohnston 473e8fd
Revert "ios: report a far surface the walk went up to as a facing gap…
AidenJohnston 99dc65d
ios: never take the wall's own plane for where the space ends (#160, …
AidenJohnston 1645411
ios: keep a walk-out's "space ends" for the request once shown (#164)
AidenJohnston 381d0d3
ios: hold a plane's ends to the nearest parallel piece's line (#160, …
AidenJohnston ed1c3af
Merge pull request #168 from SamGu-NRX/t3/164-space-ends
AidenJohnston 6ee8822
Merge remote-tracking branch 'origin/beta' into t3/research-handoff-o…
AidenJohnston 4f530ca
Merge remote-tracking branch 'origin/main' into t3/research-handoff-o…
AidenJohnston File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| name: Evals | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| paths: | ||
| - "experiments/evals/**" | ||
| - ".github/workflows/evals.yml" | ||
| pull_request: | ||
| paths: | ||
| - "experiments/evals/**" | ||
| - ".github/workflows/evals.yml" | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: evals-${{ github.ref }} | ||
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
|
|
||
| jobs: | ||
| evals-checks: | ||
| name: Evals checks | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 10 | ||
| defaults: | ||
| run: | ||
| working-directory: experiments/evals | ||
| steps: | ||
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
| with: | ||
| persist-credentials: false | ||
| # Reads tool.uv.required-version from experiments/evals/pyproject.toml. | ||
| - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0 | ||
| with: | ||
| working-directory: experiments/evals | ||
| # The datasets are non-commercial and never in git, so CI runs the metric code's unit tests | ||
| # (hand-computed cases), lint and format; the result tables are regenerated locally. | ||
| - run: uv sync --locked | ||
| - run: uv run ruff check . | ||
| - run: uv run ruff format --check . | ||
| - run: uv run pytest -q |
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| name: Measure lab | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| paths: | ||
| - "experiments/measure-lab/**" | ||
| - ".github/workflows/measure-lab.yml" | ||
| pull_request: | ||
| paths: | ||
| - "experiments/measure-lab/**" | ||
| - ".github/workflows/measure-lab.yml" | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: measure-lab-${{ github.ref }} | ||
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
|
|
||
| jobs: | ||
| geometry-linux: | ||
| name: Measure lab geometry (Linux) | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 15 | ||
| container: | ||
| # Swift 6.2 is the oldest toolchain the tests compile with (their raw-identifier names need | ||
| # it); the app job's Xcode 26.6 ships Swift 6.3. Pinned by digest so a retag can't change | ||
| # the compiler under the tests. | ||
| image: swift:6.2-noble@sha256:9bea530093ffff8cf6c259991715ee843fe4d0f932e612f7f4b79cca6e00db87 | ||
| steps: | ||
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: Show toolchain | ||
| run: swift --version | ||
|
|
||
| - name: Test | ||
| working-directory: experiments/measure-lab/Geometry | ||
| run: swift test | ||
|
|
||
| app-build: | ||
| name: Measure lab app build | ||
| # Same image and Xcode as .github/workflows/ios.yml. | ||
| runs-on: macos-26 | ||
| timeout-minutes: 30 | ||
| env: | ||
| DEVELOPER_DIR: /Applications/Xcode_26.6.app/Contents/Developer | ||
| XCODEGEN_VERSION: 2.46.0 | ||
| XCODEGEN_SHA256: 4d9e34b62172d645eed6457cac13fc222569974098ef4ee9c3368bedf0196806 | ||
| steps: | ||
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: Show toolchain | ||
| run: | | ||
| if [ ! -d "$DEVELOPER_DIR" ]; then | ||
| echo "::error::$DEVELOPER_DIR is not on this runner image. Pick an installed Xcode from the image readme." | ||
| exit 1 | ||
| fi | ||
| xcodebuild -version | ||
| swift --version | ||
|
|
||
| - name: Install XcodeGen | ||
| run: | | ||
| curl -fsSL -o "$RUNNER_TEMP/xcodegen.zip" \ | ||
| "https://github.com/yonaskolb/XcodeGen/releases/download/${XCODEGEN_VERSION}/xcodegen.zip" | ||
| echo "${XCODEGEN_SHA256} $RUNNER_TEMP/xcodegen.zip" | shasum -a 256 -c - | ||
| unzip -q "$RUNNER_TEMP/xcodegen.zip" -d "$RUNNER_TEMP" | ||
| echo "$RUNNER_TEMP/xcodegen/bin" >> "$GITHUB_PATH" | ||
|
|
||
| - name: Generate project | ||
| run: xcodegen generate --spec experiments/measure-lab/project.yml | ||
|
|
||
| - name: Check committed project matches project.yml | ||
| run: | | ||
| if ! git diff --exit-code -- experiments/measure-lab; then | ||
| echo "::error::MeasureLab.xcodeproj differs from project.yml. Run 'make project' in experiments/measure-lab (XcodeGen ${XCODEGEN_VERSION}) and commit the result." | ||
| exit 1 | ||
| fi | ||
| untracked="$(git ls-files --others --exclude-standard -- experiments/measure-lab)" | ||
| if [ -n "$untracked" ]; then | ||
| echo "::error::xcodegen generate wrote files that are not committed. Run 'make project' and commit them." | ||
| echo "$untracked" | ||
| exit 1 | ||
| fi | ||
|
|
||
| - name: Test geometry on macOS | ||
| working-directory: experiments/measure-lab/Geometry | ||
| run: swift test | ||
|
|
||
| - name: Build | ||
| run: >- | ||
| xcodebuild -project experiments/measure-lab/MeasureLab.xcodeproj -scheme MeasureLab | ||
| -configuration Debug -destination "generic/platform=iOS" CODE_SIGNING_ALLOWED=NO build |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| name: Meter close-up experiment | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| paths: | ||
| - "experiments/meter-closeup/**" | ||
| - ".github/workflows/meter-closeup.yml" | ||
| pull_request: | ||
| paths: | ||
| - "experiments/meter-closeup/**" | ||
| - ".github/workflows/meter-closeup.yml" | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: meter-closeup-${{ github.ref }} | ||
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
|
|
||
| jobs: | ||
| checks: | ||
| name: Meter close-up checks | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 10 | ||
| defaults: | ||
| run: | ||
| working-directory: experiments/meter-closeup | ||
| steps: | ||
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
| with: | ||
| persist-credentials: false | ||
| - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0 | ||
| with: | ||
| working-directory: experiments/meter-closeup | ||
| # The unit tests cover the metric code only; the Vision reader needs macOS and the photos. | ||
| - run: uv sync --locked | ||
| - run: uv run ruff check . | ||
| - run: uv run ruff format --check . | ||
| - run: uv run pytest -q | ||
| # Looks for any transcribed meter identifier in the tracked files. The key stays in a | ||
| # repository secret; without it the step fails with an explanation. | ||
| - run: uv run python -m meter_eval.leakcheck | ||
| env: | ||
| METER_HMAC_KEY: ${{ secrets.METER_HMAC_KEY }} | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| name: Panel label experiment | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| paths: | ||
| - "experiments/panel-label/**" | ||
| - ".github/workflows/panel-label.yml" | ||
| pull_request: | ||
| paths: | ||
| - "experiments/panel-label/**" | ||
| - ".github/workflows/panel-label.yml" | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: panel-label-${{ github.ref }} | ||
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
|
|
||
| jobs: | ||
| checks: | ||
| name: Panel label checks | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 10 | ||
| defaults: | ||
| run: | ||
| working-directory: experiments/panel-label | ||
| steps: | ||
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
| with: | ||
| persist-credentials: false | ||
| - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0 | ||
| with: | ||
| working-directory: experiments/panel-label | ||
| - run: uv sync --locked | ||
| - run: uv run ruff check . | ||
| - run: uv run ruff format --check . | ||
| - run: uv run pytest -q | ||
| # Photos of real panels can show addresses and inspection stickers; they stay out of git. | ||
| - name: No photos committed | ||
| run: | | ||
| if git ls-files . | grep -iE '\.(jpe?g|png|heic|webp|tiff?)$'; then | ||
| echo "Photos must stay in ~/house-scanning-data/panel, not in the repository." >&2 | ||
| exit 1 | ||
| fi |
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a fork pull request changes the meter close-up experiment, this workflow runs without the repository secret.
METER_HMAC_KEYis empty, and the leak check raisesFileNotFoundErrorbecause a fresh runner has no local key file. The check therefore fails even when the PR contains no meter identifier. Provide a fork-safe way to run or report this check.Prompt To Fix With AI