Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d096c72ff4
ℹ️ 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".
| OR lower(label) LIKE lower(?) | ||
| OR lower(label) LIKE lower(?) |
There was a problem hiding this comment.
Avoid substring LIKE for object recall identity
The new recall query matches labels via LIKE '%...%', which makes identity checks too broad (for example, searching phone can match headphone or microphone). Because recall_object returns the newest matching row, a recent unrelated object can overwrite the intended recall result and produce incorrect location guidance. This should use token/word-boundary matching or a normalized label key instead of raw substring matching.
Useful? React with 👍 / 👎.
| labels_match = ( | ||
| existing_label_lower == new_label_lower or | ||
| existing_label_lower in new_label_lower or | ||
| new_label_lower in existing_label_lower | ||
| bool(existing_label_tokens & new_label_tokens) | ||
| ) |
There was a problem hiding this comment.
Tighten object-merge label matching criteria
Using any token intersection as a positive label match is too permissive and can merge different objects that share common words (e.g., phone case and phone charger, or labels that include filler words). Once this condition passes, IoU > 0.1 marks the existing object as verified and suppresses creation of a new object, which drops tracks for distinct nearby objects. Use a stricter label similarity rule before entering the IoU-based merge path.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e7fad34e20
ℹ️ 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".
| label_tokens = set(label.lower().split()) | ||
| return [obj for obj in self.objects | ||
| if label_tokens & set(obj.label.lower().split())] |
There was a problem hiding this comment.
Normalize punctuation before token label matching
get_objects_by_label now matches by whitespace token intersection, but split() keeps punctuation/hyphens attached to tokens, so queries like phone will not match labels such as phone, or t-shirt variants. This can cause target lookup in navigation mode to miss the intended object and fall back to the first tracked object, producing incorrect guidance when detector labels include punctuation. Use the same word extraction strategy as mode_controller (e.g., re.findall(r"\w+", ...)) for both query and object labels.
Useful? React with 👍 / 👎.
Also align startup progress labels and on-screen control hints with the current input flow.
Summary
.env-based configuration flowmain_enhanced.pyTest plan
python -m py_compile *.pyBlack Phonevsphone🤖 Generated with Claude Code