Search⌘KLights off
BaseScanning

Base x AITX

The weekend, replayed

From Fri 25 Sep, 8:00 PM to Sun 27 Sep, 12:00 PM, Austin time.

593 of Sam’s commits, as he wrote them202 by teammates, counted

Every dot is one of Sam’s commits, stacked in the ten minutes git recorded it; the centre gives each one’s minute. Drag the hand round the dial, or let it play at an hour a second.
  • One of Sam’s commits
  • Teammates’ commits by the hour, 202 in all, unnamed
  • Night in Austin, sunset to sunrise

BaseScanning’s weekend on a 48-hour dial, Fri 12:00 PM to Sun 12:00 PM, Austin time. Each commit is a dot in the ten minutes it was made, stacked outward. Sam made 593 commits, the first at Fri 8:43 PM and the last at Sun 10:00 AM. The busiest hour was Sat 3 AM, with 68. The longest gap between two of his commits was 1 h 54 m, from Sun 6:05 AM to Sun 7:59 AM. Teammates made 202 commits more, counted by the hour and not named. Night in Austin, sunset to sunrise, is shaded. It ended in 1st, Most Commercializable, Base x AITX.

Hour by hour

Fri 8 PM2 commits

  1. docs: add project overview and first capture experiment
  2. docs: match the README to the team plan on main

+ 1 commit by teammates

Fri 9 PM7 commits

  1. Update README.md
  2. Merge pull request #1 from SamGu-NRX/codex/project-readme
  3. chore: add iOS, server and web toolchains with CI
  4. Merge pull request #2 from SamGu-NRX/t3/setup-toolchains
  5. Merge pull request #3 from SamGu-NRX/codex/live-survey-hld
  6. fix(site): pin landing submodule to the implemented page
  7. Add a scoring harness for capture pipelines against a tape survey

+ 1 commit by teammates

Fri 10 PM8 commits

  1. Reject surveys with uneven checks and runs with conflicting capture times
  2. Score the route check against its review band
  3. experiments: add measure-lab, a no-LiDAR measurement rig
  4. Give the outcome categories one meaning for every check
  5. ci: correct the Swift version note in measure-lab.yml
  6. measure-lab: keep warnings, signs and keyframes that review found lost
  7. measure-lab: add a placeholder app icon
  8. ci: add manual TestFlight upload workflow

Fri 11 PM3 commits

  1. ci: confine the TestFlight key and require approval per run
  2. ci: add the run attempt to the TestFlight build number
  3. ci: scope the TestFlight key to each xcodebuild step and guard build inputs

+ 1 commit by teammates

Sat 12 AM4 commits

  1. fix: validate scoring policies, evidence, and numeric bounds
  2. Make passing strict and flag decisions made without their measurement
  3. Import Measure Lab sessions as results files
  4. Align Measure Lab boundary example with Lane C

Sat 1 AM1 commit

  1. Merge pull request #5 from SamGu-NRX/codex/landing-integration

Sat 2 AM8 commits

  1. fix: validate imported quantities and flag blind route decisions
  2. fix: reject invalid measure mappings and duplicate endpoints
  3. ios: add HouseScanKit package, UI test target and the engine/UI contract
  4. server: publish scene and result JSON schemas (contracts C1, C2)
  5. verification: add Simulator runner, STATE probe and UX checklist
  6. ios: split entry points for the engine and UI lanes
  7. feat(evals): convert a real ADVIO outdoor walk into a Measure Lab replay session
  8. verification: time states by the log clock; fix probe argument

Sat 3 AM68 commits

  1. server: result schema gains rule_requires_review and clarifies auto_approve
  2. docs: trim AGENTS.md to what agents need and fix stale decisions
  3. ios: align the contract with the server's scene and result schemas
  4. verification: check replay sessions against C3 and ground truth
  5. contract: two-tap driveway and fence, check needsPerson, result summary and policy flag
  6. contract: result schema fields and two-tap driveway and fence
  7. ios: contract additions from the verify lane's UX checklist
  8. contract: skipped cells, cannotAccessArea, check measurements, unseen side, close-up attempts
Show 60 more commitsHide 60 commits
  1. contract: skipped cells, cannotAccessArea, check measurements, unseen side, close-up attempts
  2. server: placement solver, rules and scene ingest
  3. feat(evals): measure ARKit outdoor drift on ADVIO against three references
  4. verification: add end-to-end server check
  5. ci: trim TestFlight workflow comments and Distribution docs
  6. docs: treat exit code 137 as out of memory
  7. verification: probe checks the Simulator can read a host-path replay; document checks
  8. server: encode the 14 public golden tests; route and evidence fixes
  9. Clean up the scoring harness without changing behavior
  10. measure-lab: remove dead code, duplicated checks and process notes
  11. verification: solver shim, per-use worktrees, margin rule for other unsure causes
  12. verification: record load average with e2e latency
  13. server: SVG site plan of a placement result (docs/01 D2)
  14. HouseScanKit: camera and wall geometry, coverage map, auto-capture, close-up gate, guidance, gap planner
  15. verification: add the scoreboard; e2e reports app exports
  16. verification: regenerate scoreboard
  17. HouseScanKit: scene.json export, store-only zip writer, strict placement result decoding
  18. server: defer unseen-stretch geometry to the reported spot; README
  19. ui: every screen of the scan flow, and a scripted demo engine
  20. verification: independent placement cases from the public goldens
  21. server: FastAPI layer, property tests, mirror-symmetric sweep
  22. verification: count contract problems apart from case expectations
  23. ui: frosted fog, card replies, wider demo camera
  24. verification: accessibility audit harness; probe gains a negative control
  25. feat(evals): score ETH3D reconstructions by point-pair length error against the laser scans
  26. ci(evals): run the evals unit tests, lint and format on changes to experiments/evals
  27. Runtime: scan engine, live ARKit and replay sources, autopilot, upload, full-flow UI test
  28. ui: aimed demo cameras, rough walk-to distances, centered status screens
  29. verification: fix cases that missed public rules; accept a named raw-body endpoint
  30. HouseScanKit tests for geometry, coverage, auto-capture, guidance and gap planning; CI runs them
  31. server: publish the scene request body in /openapi.json
  32. verification: independent accessibility audit per screen
  33. verification: pick the JSON-answering upload endpoint; variants keep bundle images
  34. verification: scope app evidence to the app branch's runs; regenerate scoreboard
  35. Replay: load and plan off the main actor; screen held-back windows on precomputed sightings
  36. Live: send the pose every second frame so overlays follow the camera at 30 fps
  37. ios/README: describe the engine, launch arguments and how to run the tests
  38. Result: place the spot and cable route relative to the meter in the result's own axes
  39. ui: pass the accessibility audit's type, clipping and contrast checks on text screens
  40. ios: app icon, accent and named colors
  41. Synthetic replay fixture for CI, and replay decoding tests
  42. verification: goldens 07 and 09; cases can rule out one outcome and point at scenes outside git
  43. Runtime: drop an unused server-missing queue and a parameter nobody passed
  44. Gap planner maps the server's missing evidence; past-end requests clear that end
  45. verification: real-geometry scene from ETH3D facade
  46. feat(evals): model runners, ETH3D results, and fixes from an independent review
  47. Engine: a closed gap advances only if the same request is still showing; log the skipped task
  48. verification: regenerate scoreboard
  49. GuidancePlanner: say that a completed task may switch before the dwell
  50. server: fix the independent review's findings
  51. ui: keep camera chrome inside the screen at the largest text sizes
  52. docs(evals): report drift and wall-reconstruction results with plain answers
  53. ui: warmer 3D wall, tidy demo engine
  54. Engine: fixes from an independent review of the runtime
  55. server: route and measurement semantics found by the verification harness
  56. server: checks with a review band publish review_threshold_ft
  57. ui: -uiDemoNoFeed for auditing chrome without the photo; simpler reply button
  58. feat(evals): score which photos to keep by capture distance and viewing angle
  59. docs(evals): point the answers at all three result sections
  60. ui: fog still fades with Reduce Motion, without the drift

Sat 4 AM34 commits

  1. verification: C5 check reads the review line; margin must be within error of a line
  2. ui: shared overlay, ripple and press style in their own files
  3. ui: one column of marking chips at accessibility text sizes
  4. ui: no haptic per walk photo, only for deliberate captures
  5. server: second review round
  6. server: a route clearly between the reach lines is rule_requires_review
  7. ui: fix review findings in motion, fog and geometry
  8. server: compute ground-patch buffers once per solve
Show 26 more commitsHide 26 commits
  1. ui: close-up flash lights the camera under the chrome
  2. UI test: HOUSESCAN_AUDIT_REPORT_ONLY lists every audit issue in one local run
  3. Autopilot gate: the UI test releases each screen after screenshotting and auditing it
  4. Merge the engine lane: HouseScanKit, runtime, autopilot and full-flow UI test
  5. server: AR default errors grow with distance walked; sweep runs stay adjacent
  6. HouseScanKit tests: split an expression Swift 6.2 can't type-check in time
  7. server: cleanup pass; README and schema text say what a caller needs
  8. ui: solid Ink chrome over the camera
  9. verification: runner waits only for compiling builds; reports keep every app log line
  10. verification: start the product description of the capture app
  11. verification: product description pilot, first Simulator pass, triage; scoreboard evidence
  12. verification: make sim-app and make e2e; reports record peak memory
  13. Merge the UI lane: every screen, app icon, design system and demo mode
  14. Runtime: upload to the server's real route, POST /v1/placements
  15. HouseScanKit: accept result fields the server adds within schema 1.0
  16. ui: checklist fixes for tracking loss, relocalizing, window question and panel note
  17. UI tests: audit every screen state from the demo engine, and walk the flow through the buttons
  18. Merge the UI lane's checklist fixes
  19. UI test: audit the replay flow's settled screens, failing on issues that persist
  20. ReplayPlanning: put the assumed meter where the walk covers the wall
  21. experiments(meter-closeup): scaffold Vision reader and Commons crawler
  22. feat(evals): test AR pose priors; fix the fusion comparison and failure accounting
  23. ui: the AR view names an unsettled spot as the one an installer will check
  24. Merge the ADVIO gap-loop fix: place the assumed meter where the walk faces the wall
  25. Engine: walk coaching says "Slow down" and only after the problem lasts
  26. refactor(evals): tidy phase-2 code without changing behavior

Sat 5 AM34 commits

  1. ios/README: document the demo mode and the screen-state audit test
  2. server: deploy to Vercel as its own project
  3. docs: match rule sources across docs, restore lane ownership, drop the last open Swift/Expo line
  4. ui: thinner fog, so the wall shows through where the phone hasn't looked yet
  5. contract: ask what is at a marked wall end
  6. verification: product description and UX review at t3/ios-mvf 0876e03; cleanup
  7. feat(evals): score a Measure Lab field session's learned-depth rows against the tape
  8. engine: ask what is at a marked wall end
Show 26 more commitsHide 26 commits
  1. ui: ask what is at a marked wall end, and label the sample result everywhere
  2. Merge the engine side of the wall-end question
  3. guidance: aim a walk ahead of the homeowner, not at the first hole
  4. experiments(meter-closeup): label 80 Commons meter photos and measure clean read rates
  5. coverage: a cell is covered only when every row is seen twice
  6. export: a fence's depth is its nearer tap, not the mean
  7. ui: the upload steps don't claim to send or check anything for a sample result
  8. engine: measure the ground from planes as they arrive
  9. engine: a lost world frame resets only a scan still being captured
  10. engine: a past_end request settles when its end is marked again
  11. engine: fix the review's minor findings
  12. server: fix the second review's findings; serve the schemas
  13. server: cap validation messages instead of echoing the input
  14. server: cut only the quoted value in validation messages
  15. experiments(meter-closeup): degradation sweeps, retake thresholds and write-up
  16. fix(evals): stream depth maps to disk and cap GPU memory in the model runner
  17. verification: recheck at t3/ios-mvf 525ea40; fix a race in the audit harness
  18. verification: scoreboard with the slow probes run
  19. experiments(meter-closeup): pre-register number-finding criteria; add barcode detection to meterocr
  20. Merge fixes from the fresh review: coverage rows, ground height, relocalization, past-end, fence depth, guidance arrow
  21. feat(evals): measure a current iPhone's ARKit scale on MARViN's outdoor walks
  22. experiments(meter-closeup): number-finding rules, frozen on the odd-numbered photos
  23. experiments(meter-closeup): fix a wrong expectation in the tokenizer test
  24. fix(evals): make the field kit's AR scale and tape rows sound
  25. feat(evals): report ADVIO position error with the scale share split out
  26. Runtime: drop the stand-in answerWallEnd now that every conformer has one

Sat 6 AM14 commits

  1. feat(evals): report position error for the current iPhone on MARViN
  2. docs(evals): report position error for ADVIO and MARViN against the server's allowance
  3. Engine: hold walk instructions for 3 s of screen time, not recording time
  4. experiments(meter-closeup): barcodes, number finding, retake port spec and field test
  5. verification: regenerate scoreboard
  6. fix(evals): give the pose-prior verdict intervals and correct its inputs
  7. refactor(evals): name the interval formatter instead of suppressing a lint rule
  8. verification: recheck at t3/ios-mvf beede15
Show 6 more commitsHide 6 commits
  1. server: fixes from CodeRabbit's review of #11
  2. MARViN: walk-to-walk spread of ARKit's scale within each site
  3. UI tests and strip: tolerate transient overlays, keep the strip's marks inside and scalable
  4. experiments(meter-closeup): phone-side checks, keyed digests, strict labels, review fixes
  5. verification: derive coverage radii from rules.yaml, add ordering, completeness and hostile-input checks
  6. Coverage eval: pass criteria and the Swift driver, before any run

Sat 7 AM42 commits

  1. Coverage eval: the app's CoverageMap against what ETH3D's photos saw
  2. Coverage eval: a band with nothing claimed reads untested, not passed
  3. experiments(panel-label): pre-register questions; crawler and Vision reader
  4. contract: final upload failures, back to review, and the meter-number picker
  5. Coverage options: pre-registered bar and settings, before any run
  6. Compile against contract 1cc297f with marked placeholders for the lanes to replace
  7. verification: widen each clearance's reach by the battery's error, check requests per band, bound hostile inputs by memory
  8. Runtime: the interface between the close-up flow and the meter-number reader
Show 34 more commitsHide 34 commits
  1. Coverage: rebuild from the kept cameras when the wall frame changes
  2. Upload scene.json only, classify failures, back to review, export survives tap geometry
  3. Result decoder: read reason codes, policy sources and crossing effects as strings
  4. Coverage options: angle diversity, view spacing and a depth test on electro's wall
  5. Default the placement server from Info.plist
  6. Schemas: re-vendor from origin/t3/server at 739fb6f
  7. Send every capture failure to the failure screen
  8. Keep only the current scan's folder on the phone
  9. Close-up gate: fail a try for every 4 s without a photo (B-04)
  10. Coverage: say plainly that occlusion is not modelled
  11. Onboarding: say that only the wall's measurements are sent and the photos stay on the phone
  12. Unsupported screen: plain words for a stopped camera and an unreadable recording
  13. verification: recheck at t3/ios-mvf a39d0a5 and t3/server 739fb6f
  14. verification: read ru_maxrss in kilobytes on Linux
  15. Refused uploads go back to review; the close-up asks which number is on the meter
  16. Meter number: read the close-up, let the homeowner pick, never auto-fill
  17. Field kit: one-page sheet, survey and map templates, and a dry run of make field
  18. Field dry run: cameras 6 m out so every synthetic tap is in frame; all rows score 9 of 9
  19. Merge round-2 engine lane E1: JSON upload, failure handling, default server, failures on screen, scan cleanup, meter-number flow
  20. Meter reader: port the close-up eval's ranking and retake checks, read with Vision
  21. verification: friction audit of the homeowner's path at t3/ios-mvf a39d0a5
  22. experiments(panel-label): too few openly licensed panel-label photos; record the search
  23. experiments(panel-label): correct the search counts in the README
  24. Capture: encode JPEGs off the AR queue, stream the bundle zip, no infinite-plane meter taps
  25. Merge round-2 lane M: the meter-number reader ported from the close-up eval
  26. Merge round-2 engine lane E2: coverage rebuild, decoder, schemas, B-04, capture queue, meter raycast
  27. Runtime: record which plane the meter tap hit, keep results on screen after a camera failure
  28. Merge round-2 UI lane: failure ways on, disclosure, meter-number picker, plain failure screens
  29. Runtime: log camera-session failures
  30. HouseScanKit: decide which upload failures are worth retrying, with isolated tests
  31. server: fixes from S4's end-to-end run at 739fb6f
  32. server: at radius 0, unseen ground under the footprint is not clear
  33. Review: "Add something" opens the camera to mark it, then returns to the list (B-09)
  34. Accessibility audit (S4 at a39d0a5): darker primary fill, no low-contrast or clipped transition frames

Sat 8 AM20 commits

  1. verification: recheck t3/server 779f0c3, hosted and 0bad4de; stale rows cite the run that measured the SHA
  2. server: a capture contract a first upload can meet
  3. server: a stretch that ends at the meter reads "to the meter"
  4. HouseScanKit: split two expressions Swift 6.2 can't type-check in time
  5. experiments(meter-closeup): reflow two module docstrings
  6. experiments(panel-label): list the photos to take on field day
  7. Merge round-2 UI follow-up: add from the review (B-09), audit transition fixes, button contrast
  8. contract: tilt-up step, overhead question, and ground-depth, walk-out and overhead requests
Show 12 more commitsHide 12 commits
  1. HouseScanKit: re-vendor the server contract from origin/t3/server e0ee8d3
  2. Coverage: sample ground depth out to 15 ft and export it per span
  3. Walk: tilt-up step, overhead question, and copy for the new requests
  4. Demo and screen states: tilt-up, overhead question, new request kinds
  5. Autopilot and fixture: tilt up at the end of the walk, answer "open sky"
  6. Copy: say what walking the walk-out line shows
  7. Coverage: export the walked path as facing clearance; walk 2 m out
  8. Coverage: overhead reach of a tilt-up view, exported with the height seen
  9. Gap loop: honour the server's ground-depth, facing and overhead requests
  10. Test: supplying exactly what each server request names settles it
  11. Gap loop: an overhead request closes on a new recorded view
  12. Test: too many coverage spans are joined conservatively to fit the schema

+ 1 commit by teammates

Sat 9 AM12 commits

  1. Merge round-3 lane G: tilt-up step, overhead question, request copy, fixture tilt-up frames
  2. Merge round-3 lane P: ground depth, walked-path facing, overhead band, server requests honoured
  3. docs: add the 2026-09-26 morning briefing
  4. Test: the synthetic fixture has 41 frames since its tilt-up frames
  5. Overhead: the tilt-up step records into the coverage map, shim removed
  6. Gap loop: an overhead request asks what is above once a view covers it
  7. Gap loop: a server cell request closes only when its whole span is exported
  8. HouseScanKit: a wall chain that follows corners
  9. Test: the gap overhead question state was pasted into the walk-out entry
  10. Gap loop: a request's walking line runs to the far end of its span
  11. App: follow a corner during the walk
  12. docs: rebuild the morning briefing around pictures

Sat 10 AM35 commits

  1. Merge corner walking: the scan follows a corner as the next wall in the chain
  2. contract: the shareable scan bundle; HouseScanKit: a hook to break the walked path
  3. HouseScanKit: keep @discardableResult on recordOverhead
  4. Merge pull request #19 from SamGu-NRX/t3/briefing
  5. Engine: refuse stale keyframe and close-up work before storage starts
  6. README: run on your iPhone
  7. UI: Share scan on the result, upload-failed and upload-rejected screens
  8. HouseScanKit: walked path joins only poses kept close in time with no break between
Show 27 more commitsHide 27 commits
  1. Engine: credit coverage only for a stored, decodable photo judged on its own frame
  2. GapPlanner: meet a reach against the server's out_ft as sent
  3. Engine: log the first real session's capture decisions; break the walked path on pauses
  4. GapPlanner: meet a reach request over its whole span as exported
  5. Engine: ask for a collapsed driveway or fence to be marked again instead of dropping it
  6. Engine: offer the packaged scan bundle for "Share scan"
  7. HouseScanKit: sample ground to 17 ft; a deeper request is beyond capture
  8. Engine: place the battery spot by its span_ft on the wall chain
  9. CoverageMap: report ground past a limit end where both sides were seen
  10. server: demo decisions, a key-guarded private mode, and example calls
  11. Autopilot: wait for the stored overhead view before reporting it
  12. Merge round-4 lane b
  13. Merge round-4 lane a
  14. Merge round-4 lane c
  15. Runtime: pass frame time to coverage and mark limit ends in the map; UI test: no element screenshots
  16. contract: hidden cells, depth availability and a see-behind step for the LiDAR path
  17. ios: restore the XcodeGen-generated project file
  18. recon: reconstruction worker scaffold and pre-registered acceptance criteria
  19. ci: let the TestFlight build use HouseScanKit, the app's in-repo capture package
  20. Fixture: synthetic LiDAR replay with a bin in front of the wall
  21. beta: merge t3/ios-mvf for the TestFlight build
  22. beta: merge t3/measure-lab for the TestFlight build
  23. beta: merge t3/testflight for the TestFlight build
  24. UI: hidden cells, the see-behind step, depth-checked map and the follow-up view
  25. UI: say where to look past an obstruction in rough feet, not to the inch
  26. Merge pull request #8 from SamGu-NRX/t3/testflight
  27. recon: working worker, ETH3D acceptance, tests, CI, and the handoff to the server team

Sat 11 AM22 commits

  1. beta: merge main (with #8) for the TestFlight build
  2. Info.plist: declare no non-exempt encryption for TestFlight
  3. Runtime: LiDAR depth and mesh capture, depth-aware coverage, see-behind step, automatic server gap loop
  4. UI test: full flow from the LiDAR replay
  5. Merge remote-tracking branch 'origin/main' into t3/docs-cleanup
  6. UI test: audit a control cut off by the screen's bottom edge once scrolled into view
  7. HouseScanKit: encoders for depth/*.u16, depth/*.conf.u8, depth/index.json and mesh.ply
  8. HouseScanKit: depth-aware coverage with hidden cells, and a see-behind task
Show 14 more commitsHide 14 commits
  1. HouseScanKit: facing gap and headroom from the LiDAR mesh, exported as facing and overheads
  2. Merge round-5 lane l1
  3. Merge round-5 lane l3
  4. Merge round-5 lane l2
  5. Merge round-5 lane l4
  6. packet: capture packet 1.0 spec, schema, validator and sample builders
  7. docs: rebuild onboarding around the client and server team split
  8. docs: align the briefing's decision 2 with 3D modeling staying central
  9. Project: keep the UI test fixtures out of the test bundle
  10. Runtime: run the LiDAR path on HouseScanKit's API and delete the shim
  11. Runtime: hold "One more view to finish" on the upload screen before a follow-up
  12. HouseScanKit tests: split a slow #expect in CornerTests
  13. UI tests: check hidden cells on the LiDAR replay for real
  14. iOS README: autopilot's server requests, replay depth, and the scan bundle's files

Sat 12 PM19 commits

  1. server: a wall's source sets its default error
  2. packet: 1.1 — depth frames, estimated depth with sigma, top-level planes, mesh classification flag
  3. packet: mark the fixture's raw sensor files binary
  4. HouseScanKit: meter frame, packet poses and trajectory quaternions
  5. HouseScanKit tests: vendor the capture packet schema and validate allOf
  6. HouseScanKit: write capture packet 1.0 folders
  7. verification: final app run on the hosted API at t3/ios-mvf 194f2eb
  8. Runtime: log every guidance request the homeowner was shown, and how it ended
Show 11 more commitsHide 11 commits
  1. Runtime: record the capture packet's streams and per-photo metadata
  2. Runtime: Share scan exports a capture packet 1.0
  3. Merge packet recording and export (engine)
  4. Merge the packet writer (package)
  5. docs: restore day-1 reasoning in the onboarding and keep eli5 as a record
  6. server: coverage gaps under 1/8 in are float noise, not unseen
  7. Map3D eval: method and pre-registered bar, before any run
  8. Packet merge: delete the shim and the unused round-5 bundle encoders; split a slow modifier chain
  9. Map3D eval: the app's 3D map against laser visibility on ETH3D electro
  10. Fix scoring of absent-feature failures and report guidance
  11. Gate new-session frames on reset and tracking cycle

Sat 1 PM11 commits

  1. docs: keep only the current plan and the facts that still hold
  2. verification: point the facade scene's rule sources at docs/04
  3. server: repoint references to docs/01-03 before #14 deletes them
  4. Evals: fix CodeRabbit's review findings and the dangling docs references
  5. Point Measure Lab comments to retained conventions
  6. HouseScanKit: point comments at docs/00 and docs/04 instead of the deleted docs/01-02
  7. ui: "Mark something" steps aside while the walk asks to look past an obstruction
  8. UI tests: no live element reads in the audit helper; wait for the AR button to take taps
  9. docs: add the server team's plan and tighten sentences for agents
  10. beta: merge t3/measure-lab (43fda59)
  11. beta: merge t3/ios-mvf (eb5f1c0) for the TestFlight build

+ 2 commits by teammates

Sat 2 PM18 commits

  1. Vendor the server contract from t3/server 737bf75
  2. Add the ground question to the scan contract
  3. server: wall coverage says how high up the face was seen
  4. server: smoke.py keeps the private key on https and off redirects
  5. ui: ask what the ground along the wall is on the feature review
  6. Vendor the server contract from t3/server 930e8e5
  7. Merge the ground question UI
  8. Wait out a system banner before the full-flow re-audit
Show 10 more commitsHide 10 commits
  1. docs: ship shared writing, planning and review skills for all agents
  2. Export wall sources and ground patches; close-up into coverage; cable round corners
  3. Merge wall sources, the ground patch, close-up coverage and the cable route
  4. Packet: write capture packet 1.1
  5. Merge the capture packet 1.1 writer
  6. Expand project description in README
  7. docs: keep the latest morning briefing without its correction notes
  8. docs: merge the morning briefing into how-it-works as one page
  9. Report how high up the wall each span was seen
  10. Merge the wall height seen per span

+ 2 commits by teammates

Sat 3 PM9 commits

  1. docs: make how-it-works concise and skimmable
  2. docs: mark the upload flow as PR #10 and planned work, and caption every scan step
  3. docs: add the first phone run and correct rule and detector facts
  4. Merge pull request #14 from SamGu-NRX/t3/docs-cleanup
  5. Close paths that export coverage, patches or walls nobody saw
  6. Merge the coverage overclaim fixes from review
  7. fix: keep a finished scan through lost tracking; fix PR #10 review findings
  8. Merge the runtime fixes from review
  9. CI: fetch the server and packet branches for the drift tests

+ 1 commit by teammates

Sat 4 PM6 commits

  1. Close the remaining unseen-claim paths from the second review
  2. Merge the last coverage overclaim fixes from review
  3. docs: set the minimal experiment format and cut remaining overstatements
  4. docs: say the first phone run exists in how-it-works
  5. docs: separate the headroom ray offset from a height, and re-point evidence before deleting an experiment
  6. Merge pull request #33 from SamGu-NRX/t3/docs-minimal

+ 13 commits by teammates

Sat 5 PM6 commits

  1. fix: end the wall where the phone is, and ask for the ground by the meter first
  2. Merge the field-run fix: wall ends where the phone is
  3. server: an existing battery keeps a new one 3 ft away (issue #27)
  4. Vendor the scene schema from t3/server 074bf1d
  5. Merge pull request #34 from SamGu-NRX/t3/run1-quick-fixes
  6. Keep wall ends near the phone, and objects on written walls

+ 19 commits by teammates

Sat 6 PM9 commits

  1. server: fixes from the real-phone run 2 (#44, #45, #42)
  2. Ask the walk for the wall to 4.5 ft; report and request above it
  3. Merge the walking height: the walk asks for the wall to 4.5 ft
  4. Vendor the result schema from t3/server 9e42970
  5. server: fixes from the caretaker's review of 9e42970
  6. Merge #50: name the checks a person must judge in the unseen summary
  7. experiments/autodetect: meter brand list and scorer, committed before scoring
  8. autodetect: pass criteria, fixed protocol and eval sets before any scored run
  9. experiments: pre-register signals-lab questions and pass criteria

+ 17 commits by teammates

Sat 7 PM10 commits

  1. CI: fail when a vendored schema can't be compared
  2. Merge t3/ios-mvf (#53 and later) into the CI drift fix
  3. Merge remote-tracking branch 'origin/main' into t3/recon
  4. Merge remote-tracking branch 'origin/main' into t3/evals
  5. Replace field-run values in a test and the demo with made-up ones
  6. recon: wall needs a surface to count as seen; the wall line carries its own error; content-keyed MoGe cache
  7. experiments: run the first signals-lab round
  8. fix(scoring): protect imports and align synthetic session evidence
  9. Merge main into scoring experiment
  10. Merge remote-tracking branch 'origin/main' into t3/meter-closeup

+ 4 commits by teammates

Sat 8 PM3 commits

  1. packet: point to the server's capture packet 0.4, keep our 0.5 proposals
  2. autodetect: Vision rectangles and OWLv2 scored, laser ground truth for door extents
  3. packet: list the validator hazards #22's review found, for the server's validator

Sat 9 PM10 commits

  1. CI: fetch the contract branches unless the compared files are checked out
  2. experiments: move method detail into METHODS.md so each README is a short front door
  3. Drop the live packet 1.1 schema comparison; t3/packet retired it
  4. Fix the #10 caretaker's findings on the anchor, ground, source and scan folders
  5. packet: add the signals lab's 0.5 proposals; describe the checks without the server's paths
  6. packet: fix the proposal list's formatting
  7. Add the live dots prototype, a macOS replay of the holographic dot view
  8. docs: add the app review (product description, UX review, friction audit)
  9. recon: rerun ETH3D electro acceptance after the coverage and oracle fixes
  10. Read the result's answer, clean spot, nearest failure and view links in the package

+ 2 commits by teammates

Sat 10 PM20 commits

  1. Tune the live dots for a 1.5 to 3 m working distance
  2. Let simulated feature points land on brick texture, and add results
  3. autodetect: Create ML student scored, 3D extent results, resource record
  4. Map the nearest spot, the rules notice and each check's view into the result
  5. Lead the result with the answer and fold the full checks under Details
  6. Show the replay and autopilot badge as a quiet pill
  7. Fill the launch screen with the Canvas colour
  8. Swap the upload headline at once instead of crossfading it
Show 12 more commitsHide 12 commits
  1. Merge the engine fixes from the #10 review: anchor turn, ground plane, restart, failure, cleanup
  2. Trim the live dots README to the experiment format's length
  3. verification: fix the review's nine findings; move the app reviews to #61
  4. Result model follows corners; Reduce Motion stops moving things; audit keys by identifier
  5. Merge the UI fixes from the #10 review: corners in the result model, Reduce Motion, audit key
  6. verification: count a past-end request as covering what lies beyond the end
  7. evals: fix the caretaker review findings and split the README
  8. experiments(meter-closeup): front-door README; fix sweep resume, leak scanner and OCR input
  9. recon: carry the evals corrections into HANDOFF
  10. Add a scheme switch to compare three looks on the live dots replay
  11. verification: cut the README to the experiment format; move what each check asserts into the docstrings
  12. experiments/autodetect: meter brand results, lab result and integration plan

+ 1 commit by teammates

Sat 11 PM33 commits

  1. Warm ember dots only at birth
  2. packet: mark the proposals unapproved, state the studies' limits and the checks' limits
  3. Retry uploads the server answered 408 or 429
  4. Merge main (f852207) into t3/ios-mvf
  5. verification: require views strictly past the needed height; credit walk-past requests only at the real end
  6. experiments(meter-closeup): exact sweep completeness, fresh-run directory, full CSV leak scan
  7. fix(scoring): reject unsupported route evidence and empty review bands
  8. verification: check each sweep start alone; survive malformed answers and shared builds
Show 25 more commitsHide 25 commits
  1. ios: show the meter's brand beside the number candidates
  2. Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/meter-brand
  3. docs: correct the app review against its own documents and checklist
  4. verification: say that sweep coverage samples starts, not the server's list
  5. packet: tighten three proposals after the Codex review of 3792a8f
  6. Give the Details header an explicit button the UI tests can open
  7. experiments(meter-closeup): scrub a short plate number, keep the key off PRs, harden the sweep cache
  8. evals: second-round review fixes
  9. build: include available experiment suites in root checks
  10. fix(scoring): validate session geometry and bound decompression
  11. Drive the result screenshots and UI tests from server answer files
  12. Show which rules answered and keep the nearest spot at the server's size
  13. Use the system disclosure for Details and keep one filled button
  14. ci(meter-closeup): run the keyed leak check only on main
  15. recon: second review round: wall error from the server, per-frame LiDAR, visible-view scoring
  16. experiments(meter-closeup): split the held-out set by physical meter
  17. verification: facing and headroom need the band past the battery by the wall's error
  18. Meter close-up: out of focus at 6.68, the eval's current threshold
  19. verification: widen facing and headroom by the drifted error, as the server does
  20. Add fog that dots replace, recognised boxes and guidance states
  21. beta: assemble current iOS fixes for simulator QA
  22. beta: include onboarding motion permission for testing
  23. beta: include walk guidance regression coverage for testing
  24. beta: exercise refused-view progression with known coverage limitations
  25. UI tests: read audit elements from one snapshot, never live

Sun 12 AM34 commits

  1. Trim the live dots README back toward the experiment format's length
  2. fix(scoring): protect report inputs and escape Markdown values
  3. docs: link the live site and pin the merged landing page
  4. Merge remote-tracking branch 'origin/main' into t3/recon
  5. evals: final review round, including two zip safety fixes
  6. Merge remote-tracking branch 'origin/main' into t3/evals
  7. recon: confine manifest file references to the packet; record known defects
  8. ios: 44 pt reject target, and the brand lives only beside its number
Show 26 more commitsHide 26 commits
  1. Merge remote-tracking branch 'origin/t3/ios-mvf' into t3/meter-brand
  2. Show the sample badge as a quiet pill under Replay
  3. experiments(meter-closeup): human corrections in the leak digests, safe field-test files, end-to-end ranking
  4. verification: lay walls out and check declared heights as server 7133283 does
  5. evals: bound a session archive before hashing or opening it
  6. Merge t3/ios-mvf (b9851e1) into t3/experience-result
  7. verification: scoreboard and result at server 7133283
  8. evals: bound a session zip's central directory before ZipFile reads it
  9. recon: refuse unsafe keyframe ids; record two more known defects
  10. evals: test the archive size cap with a faked 5 GiB size
  11. recon: keep MoGe-2 cache files inside the cache folder; cite defect source lines
  12. Merge the audit's stable element reads (the #24 test flake)
  13. docs: draw the tap-list bar at 27 of 34 to match its label
  14. Ask the homeowner to confirm the spot before showing the result
  15. Build the sample badge as one Text so it passes the Dynamic Type audit
  16. List under Settles only the checks a view settles
  17. Never call a spot with no checks a fit or clean
  18. Size sweep zones by the nearest spot when there is no spot
  19. Merge commit '0a3a05e200fa42daf002d5fc77687c898935cffa' into codex/beta-qa-candidate-20260927
  20. Merge commit '5150321a22f540e669755270dd76caa23957d8a4' into codex/beta-qa-candidate-20260927
  21. Cap Retry-After at a day so the wait message can't overflow
  22. Keep "Can't get there" on screen through the capture gate's coaching
  23. Keep the last completed scans across a relaunch, and stamp each scan
  24. verification: a wall view without out_ft reached headroom height, as server 6200098 reads it
  25. feat(tools): add a local viewer that shows a capture reaching the server
  26. fix(tools): update the viewer's file counts when marks land

+ 14 commits by teammates

Sun 1 AM22 commits

  1. Merge commit 'f14947eb9bff5b707660c8d873b72e60ba056631' into codex/beta-qa-next-20260927
  2. Merge commit 'b5006fca782aa280caa767e476fd5c62b496a9e2' into codex/beta-qa-next-20260927
  3. Merge commit '9c2a5676fff6b31b1eb1e4bde63a5473ae61b5f3' into codex/beta-qa-next-20260927
  4. Merge commit 'a4b8b2723736b5f2b29c5605569dcdb76c6d8a69' into codex/beta-qa-next-20260927
  5. Merge commit 'f141a6212f3bba8c26695bf3cb5cb40ef0f1cf9d' into codex/beta-qa-next-20260927
  6. Merge commit '5c15da8705ef09bef33a71d1d1dca27deddb7480' into codex/beta-qa-next-20260927
  7. fix(tools): keep viewer counts and stage marks current when animations cannot run
  8. Regenerate the Xcode project for the result answer fixtures
Show 14 more commitsHide 14 commits
  1. verification: claim only demonstrated reach in the ETH3D builder; owe requests for a spot's unseen checks
  2. fix(tools): reconnect within 5 s after the API comes back
  3. Show the instruction card's reply without a fade
  4. Merge the spot confirmation: the homeowner checks the chosen spot before the result counts
  5. Merge #89: read the meter's brand from the close-up
  6. Merge keeping the last scan across a relaunch, stamped with its revision
  7. Integrate result redesign with beta gap-loop fixes
  8. verification: scoreboard and result at server 9176125
  9. fix(tools): keep the latest run current while the viewer catches up on history
  10. fix(tools): switch runs on a retake and keep polling current without events
  11. verification: app rows at t3/ios-mvf f14947e; read its bundle line; tolerance for requests
  12. Merge non-LiDAR AR and aim guidance for beta testing
  13. fix(tools): keep the illustration consistent and recover previews, health and results
  14. Merge repaired walk guidance for beta testing

+ 7 commits by teammates

Sun 2 AM13 commits

  1. Merge reply-card transition repair for beta testing
  2. Merge accessible follow-up controls repair for beta testing
  3. Merge coaching repairs while preserving beta guidance and replies
  4. fix(tools): name the views the server asks for and drop models it no longer offers
  5. verification: close three false certifications; pin to server 4a9fa44
  6. fix(tools): show requested views before a result exists and scope them to the run
  7. UI test: tap only once the element can take the tap
  8. Merge retained scans and spot confirmation into beta candidate
Show 5 more commitsHide 5 commits
  1. Merge visible aim completion while retaining beta coaching and retention copy
  2. fix(tools): ignore stale retakes, re-read revised results and previews, pace counts per batch
  3. fix(tools): let a run first seen in later events replace the run the status named
  4. Merge reviewed beta follow-ups for anchors and requested spans
  5. Merge reviewed AC footprint and feature review follow-ups

+ 10 commits by teammates

Sun 3 AM24 commits

  1. Allow the expanded beta UI suite to finish
  2. evals: stage model outputs until a run completes; bound image pixels
  3. recon: refuse a capture with duplicate keyframe ids
  4. recon: test that duplicate keyframe ids are refused in both formats
  5. fix(tools): pin a status-named run before the first live batch, label stale refreshes
  6. Preserve [teammate] beta merge history in the combined candidate
  7. verification: sample ground cells at their centres as well as their edges
  8. Give the instruction card's reply button a solid fill
Show 16 more commitsHide 16 commits
  1. evals: all-or-nothing publication of model runs; bound session memory
  2. Restore the spot-refusal notice required by the result merge
  3. experiments(meter-closeup): scan across every separator, keep confirms corrections, no tied barcode promotion
  4. ios: practice meter, a drawn sample meter for scanning without one
  5. verification: pin to server 86b2b4d; scoreboard and result
  6. Merge commit '5c83ad49efd108874102b75327798ecd4d654f82' into codex/beta-qa-followups-20260927
  7. ios: recheck the scan after drawing the practice close-up photo
  8. Merge latest aim layout into beta QA follow-ups
  9. Preserve latest beta wall-end and corner integration
  10. Draw the prototype's fog and live dots over the walk
  11. refactor(tools): let the capture status alone decide which run the viewer shows
  12. Integrate practice meter with beta permissions and mode badges
  13. Keep hidden and requested tints in the band, and rag the fog's edges
  14. Say in the iOS README where the live fog's rule and dots live
  15. Keep narrow unseen cells fogged, move dots exactly on corrections
  16. Merge commit '9defff1' into t3/live-fog-beta

+ 25 commits by teammates

Sun 4 AM13 commits

  1. Merge reviewed object-tap reach fix into beta candidate
  2. verification: a reject needs every start failing; a footprint needs its wall; pin to a726199
  3. Merge [teammate] beta UI layout and test navigation repairs
  4. test(ios): isolate Practice and restart through result Details
  5. Replay: an upper walk that sees the wall above 6.5 ft, and a gap the Can't-get-there flow asks for
  6. experiments(meter-closeup): scan the whole repository for leaks, count unread photos in rule precision
  7. Tune the fog, the hidden tint and the dots against the prototype videos
  8. test(ios): use synthetic object tap fixtures
Show 5 more commitsHide 5 commits
  1. test(ios): use synthetic object tap fixtures
  2. evals: publish grouped MapAnything outputs all or nothing; state the pose-noise confound
  3. Merge current beta recovery and walk-exit fixes into QA candidate
  4. Merge reviewed result actions and AR outline corrections
  5. Integrate onboarding moves while retaining Practice accessibility coverage

+ 18 commits by teammates

Sun 5 AM8 commits

  1. Merge live fog and LiDAR dots into the combined beta candidate
  2. Preserve beta history and reviewed ground-request stall repair
  3. Merge reviewed beta end-position follow-up into demo candidate
  4. chore: Add MIT License to the project
  5. Merge reviewed test scrolling correction for combined beta QA
  6. Preserve beta TestFlight stamping repair in demo candidate
  7. Wall map legend wraps instead of overlapping; picker wait allows a stalled Simulator
  8. Preserve beta merge history for the included aim repair

+ 9 commits by teammates

Sun 6 AM1 commit

  1. Keep the Practice label visible at large text sizes

+ 6 commits by teammates

Sun 7 AM1 commit

  1. verification: pin to server 3baa338; accept a pass by the smallest reported margin

+ 8 commits by teammates

Sun 8 AM4 commits

  1. evals: untested zero-claim options, refuse partial multi-view runs, bind the survey
  2. Merge remote-tracking branch 'origin/main' into t3/evals
  3. evals: correct three statements the final review found
  4. verification: match server 3baa338's coverage, from the final Opus review of 255bc84

+ 9 commits by teammates

Sun 9 AM4 commits

  1. verification: three more false certifications from Codex on 255bc84
  2. experiments(meter-closeup): scrub notes as the leak check reads them, keep corrections across rebuilds, digest sweep inputs, measure field photos unrecompressed
  3. experiments(meter-closeup): re-sweep under the input digest; every measurement unchanged
  4. verification: app rows at #10's freeze c820cf1; band gaps under 0.01 ft are rounding

+ 6 commits by teammates

Sun 10 AM1 commit

  1. fix(tools): stop inferring placeholder processing from stage durations

+ 24 commits by teammates

Sun 11 AM

+ 1 commit by teammates

Sun 27 Sep, 12:00 PMBack to BaseScanning

Contact

sgu07966@gmail.com

Sam Gu’s card. Computer science, UT Austin. Austin, TX. kgu.one. Tipped toward the light, it shows his placings: 1st, Most Commercializable, Base x AITX, Sep 2026; 1st place, Cursor x AITX, Sep 2026; 2nd place, HackTAMS, Feb 2026; 2nd overall, iSTEM@Stevens Hacks, Feb 2025; Best Education Project, Boost Hacks II, Jul 2024.

Built from a commit to kgu.one on 16 October 2026.

Sam is in Austin (Central Time).