Skip to content

Ground requests driven by placeholder rules ask for 14–16 ft of ground nobody can show, and the copy misdescribes the span #75

Open

Description

@AidenJohnston

After upload, the server asks for 14–16 ft of ground in front of the wall, driven only by the placeholder pool and driveway distances. Nobody could show that much ground in any of the three runs, and the card misdescribes where the stretch is.

Seen in. Device field test of TestFlight build 4.1 (beta at 45017ba), iPhone 14 without LiDAR, iOS 26.6.2.

  • Run 1 (indoor mock wall), video 5:43–6:05. Report: run 1, A41-1-08.
  • Run 2 (the same wall), video 3:55–4:33. Report: run 2, A41-2015-07.
  • Run 3 (a real house), video 1:42–1:45. Report: run 3, A41-2055-10.

What happens.

Run Card Actual band Outcome
1 "Show the ground out to about 15 ft from the wall / Around your meter. Step back and tilt down until that much ground is in view" ground, 1 ft 0 in left to 20 ft 3 in right (the whole wall), 14.3 ft out Tester backed into the office and aimed at a workbench; 0% throughout; "I can't get there" at 6:05
2 "Show the ground out to about 16 ft from the wall / About 19 ft right of your meter…" ground, 4 ft 2 in to 33 ft 2 in right, 15 ft 4 in out; the right end is a limit at 19 ft 9 in Tester walked into the office and back; 0% → 3% (20% for a moment); "I can't get there" at 4:31
3 "Show the ground out to about 14 ft from the wall / Around your meter…" ground, 13 ft 2 in left to 1 ft 9 in right, 13 ft 1 in out, on a wall nobody walked "I can't get there" within a second

Tester in run 2: "About 16 feet from the wall. So where is that? … What exactly do you want me to try and see? … the place where you want me to be is in the wall, so I can't get there."

Problems:

  • The depth comes from the pool (10 ft) and driveway (5 ft) distances plus error. Both are placeholder: true in rules.yaml, with no public source. A 14–16 ft clear view is a big ask in many yards, and here it is asked for on the strength of placeholder numbers.
  • The card doesn't say why (to check for a pool or a driveway).
  • "Around your meter" is shown for a whole-wall span, and "About 19 ft right" for a span that runs from 4 ft to 33 ft.

Cause.

  • Server: _missing_json merges every check's missing views per band and asks for the deepest one (out_ft = max(depths)), with no regard to whether that check's rule is a placeholder (solver.py#L1274-L1296; rules at rules.yaml#L57-L58).
  • App: the card's place is Distance.aroundFromMeter, which says "around your meter" whenever the span contains the meter and otherwise names the span's middle (Distance.swift#L69-L75, used by ScanCopy.swift#L251-L264).

Fix direction.

  • Server: don't raise a band request driven only by placeholder rules, or cap its depth at what a homeowner can reasonably show; list those checks for the installer instead.
  • Server: say which check a request is for, so the app can say "to check for a pool within 10 ft".
  • App: describe the span as a range ("from 4 ft to 19 ft right of your meter"), clipped to the wall's ends.

Related. A41-1-08, A41-2015-07, A41-2055-10; #39 ("N more views to finish" with one shown); "Still needed" asks for wall past a limit end (wall to 26 ft 2 in; the wall ends at 19 ft 9 in).

Screen recordings are in the comment below.

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    size:M30-99 effective changed lines.
    on Sep 27, 2026
  2. AidenJohnston commented on Sep 27, 2026

    @AidenJohnston
    CollaboratorAuthor

    Screen recordings from the build 4.1 field test (TestFlight 4.1, iPhone 14 without LiDAR). Click a link to play.

    Times are in each run's recording. Full analyses: PR #60.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.size:M30-99 effective changed lines.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions