Skip to content

grounding: the computer's whereabouts are not the car's (#15) - #66

Open
ThinkOffApp wants to merge 1 commit into
mainfrom
fix/grounding-car-vs-computer-location
Open

ThinkOffApp wants to merge 1 commit into
mainfrom
fix/grounding-car-vs-computer-location

Conversation

@ThinkOffApp

Copy link
Copy Markdown
Owner

Fixes #15.

Heard live on 28 Aug:

I am parked safely at home on your desk, and I have no intention of moving anywhere.

The Pi was on the desk. The car was not.

Cause

The prompt carried a bare location fact derived from which wifi the onboard computer was on, and a model speaking in first person as the car read it as its own parked position.

An earlier pass removed the literal "desk" wording and left a comment citing this issue — but kept the key called location, which is the part the model actually acts on. Renaming the wording without renaming the attribution did not fix it.

Change

  • RULES clause 7: where you are parked comes only from a car source (connected-car link, GPS, OBD). The computer's network says where the computer is, and it can be carried out of the car and set on a desk. With no car source, say you do not know. Never name a room or furniture.
  • The home-wifi branch labels the fact for what it is: your onboard computer's whereabouts (NOT where you are parked).
  • "onboard computer" joins the _computerish sort keys, so it lands after the car's own state — a status answer must open with fuel and tyres, not with where the Pi is plugged in.

Deliberately unchanged

The two in-car branches keep the plain location wording. On the phone hotspot and on the fallback wifi the Pi demonstrably is in the car, so its position is the car's. Only the home-wifi branch is ambiguous, and that is exactly the branch that produced the desk answer.

Same family as 9cf00dd, which taught it to say a CPU temperature belongs to its onboard computer rather than leaving it ambiguous with the engine.

Tests

tests/test_grounding_location.py, 4 cases: the rule is present and names the desk case, the host fact is labelled as the computer's, it sorts after car facts, and the home-wifi branch no longer emits a bare location key.

Suite failure on this branch is test_dash_loop's missing pytest — pre-existing on main, fixed separately in #64.

Not verified on the car

This changes what the car says, and I cannot hear it say anything from here. The wording is reasoned from the transcript in the issue; a live check when the car is next reachable would be worth it.

🤖 Generated with Claude Code

Heard live on 28 Aug: "I am parked safely at home ON YOUR DESK." The Pi was
on the desk. The car was not.

The prompt carried a bare `location` fact derived from which wifi the onboard
computer was on, and a model speaking in first person as the car read it as
its own parked position. An earlier pass removed the literal desk wording but
left the key called `location`, which is the part the model actually acted on.

- RULES gains clause 7: where you are parked comes only from a car source
  (connected-car link, GPS, OBD). The computer's network says where the
  COMPUTER is, and it can be carried out of the car and set on a desk. With
  no car source, say you do not know. Never name a room or furniture.
- the home-wifi branch now labels the fact for what it is: "your onboard
  computer's whereabouts (NOT where you are parked)".
- "onboard computer" joins the _computerish sort keys, so it lands after the
  car's own state; a status answer must open with fuel and tyres, not with
  where the Pi is plugged in.

The two in-car branches keep the plain `location` wording on purpose: on the
phone hotspot and on the fallback wifi the Pi demonstrably IS in the car, so
its position is the car's. Only the home-wifi branch is ambiguous, and that is
exactly the branch that produced the desk answer.

Same family as 9cf00dd, which taught it to say a CPU temperature belongs to
its onboard computer rather than leaving it ambiguous with the engine.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
carwatch-dev Ready Ready Preview Sep 18, 2026 4:50pm UTC

Request Review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 18, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-18T16:52:52.319910Z 4edca9d PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4edca9d9f9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread carwatch/grounding.py
5. Being honest about what you do not know is better than sounding impressive.
6. Readings from your connected-car link are CURRENT readings - state them plainly as your own ("your tyres are at..."), never say you cannot check something and then quote its value.
7. You have NO HANDS. You can read your own state and answer; you cannot change settings, set the clock, edit or update code, restart anything or install anything. If someone asks for such an action, or talks about one, say plainly that you cannot do it from here and who can (your owner, or a coding agent). Never promise an action and never report one as done.
7. WHERE YOU ARE PARKED comes only from a car source (the connected-car link, GPS, or OBD). Your onboard computer's network tells you where the COMPUTER is, and it can be carried out of you and set on a desk. If no car source gives your position, say you do not know where you are parked. NEVER convert "the computer is at home on home wifi" into a claim about where you are standing, and never name a room, a desk or a piece of furniture as your location.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove contradictory network-derived car locations

This new rule is contradicted by the prompt assembled for the phone-hotspot and no network/vadelma branches in agent.py:257-263, which still injects a bare location claiming the car is present. If the portable Pi is carried indoors while disconnected, serving its fallback AP, or still connected to the owner's hotspot, those states provide no car-derived position and the model receives both this prohibition and an explicit false car location. Label every network-derived location as computer-only unless a car source corroborates it, otherwise the same misattribution remains in these common network states.

Useful? React with 👍 / 👎.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Grounding: car claims the Pi's location as its own ("parked on your desk")

2 participants