craigm26 / craigm26/OpenCastor
Chat drives the car: bounded drive plans, drafted by the brain, signed by the human
- Dominant language
- Python
- Stars
- 28
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
## Why
The headline gap. Every piece exists and is proven separately — chat drafts actions, the envelope gates motion (budget/window/cap), the Pilot creeps under the governor, spoken stop bypasses models, senses ride in the system prompt (build 48) — but "go forward two meters" is not yet a thing the chat can produce. This is the moment OpenCastor stops being a control panel and becomes a robot you talk to, with every safety property intact.
## What
- A bounded-drive primitive the chat may DRAFT: {distance_m ≤ small cap, speed ≤ envelope cap, heading hold} → renders as one signable action
- Execution = existing signed envelope + Pilot engagement with a DISTANCE budget (governor and deadman unchanged; blind policy = stop, since no human thumb is on a stick)
- Chat grounding gains the vocabulary: what it may draft, what it may never do (no envelope, no motion — it already knows the authority rules)
- Distance measurement: integrate commanded speed × time as the floor (honest, conservative); ARKit odometry as an upgrade
## Acceptance
- On the stand: "drive forward 1 meter at creep" in chat → draft → sign → wheels turn for the computed bound → auto-stop → receipt chain shows envelope, N drive.set commands, and the stop
- "stop" (spoken or tapped) mid-plan halts identically to manual driving
- A drafted plan exceeding the open envelope's budget is REFUSED by the gateway, not clipped silently
## Pointers
- iOS Pilot.swift (engage/disengage, governor), DriveStreamer (lease renewal), FirstDrive.TinyEnvelope (the runbook numbers)
- ManifestGrounding (build 48) for the prompt-side rules
Contributor guide
Research direction
Start with iOS Pilot.swift, DriveStreamer, FirstDrive.TinyEnvelope, and ManifestGrounding to trace engagement, lease renewal, envelope limits, and chat rules. Verify how signed envelopes and distance budgets reach drive.set commands. Done means a bounded chat draft can be signed and executed with auto-stop, identical mid-plan stop behavior, refusal when over budget, and a receipt chain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, swift
- Domain
- mobile-dev, robotics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100