Repository navigation
zone/v0: successor revision for place-names - #119
Merged
Merged
Conversation
Every retained message re-renders the detail pane, a pose once a second
among them, and renderDispatch rebuilt the capability select and every
input on each one. An open zone dropdown closed under the pointer and a
chosen value was blanked a second later.
Each half of the form is now rebuilt only when what it is generated from
changes: the selected robot, the capability set, the chosen capability's
schema, or the floor's zone names.
browser_check.mjs holds a half-filled field through 3 s of fake-robot
telemetry and asserts it is the same element with the same value. It
fails without the fix ({"same":false,"value":""}).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q8uMDhVVVBFFcUJDBkJCjq
Zones became place-names in #110 (`Living Room`, `Café`), but the inlined zone-ref schema kept the slug pattern ^[a-z][a-z0-9_]*$. The dashboard offered the floor's names and task_server refused them: goto — invalid_input: input.target 'Living Room' does not match ... The pattern now comes from zone.ZONE_NAME_RE, the zone record's own rule, so the two cannot drift. test_spec_capability.py asserted that "The Kitchen" was refused; it now accepts human names and refuses what the zone record refuses. zone/v0's own zone-ref.schema.json still carries the slug pattern. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q8uMDhVVVBFFcUJDBkJCjq
fleetctl imports mote_bringup.spec but never put the mote_bringup source directory on sys.path. fleet_server gets it from bundle_store; the default environment gets it from the colcon install. `pixi run -e fleet fleetctl`, the form the docs give, failed with ModuleNotFoundError since #104. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q8uMDhVVVBFFcUJDBkJCjq
The spec's successor revision (augereai-spec, zone-place-names) states the place-name record and takes Mote's zone name pattern for the zone reference, so the vocabulary test's strict xfail comes off. jsonschema joins the dev environment. Without it all twelve tests in test_spec_conformance.py skipped even with a spec checkout present, so a divergence from the spec was found by a robot refusing 'Living Room'. The robot env gains nothing. The test now also checks, against the spec: the read rule for retired fields (description -> note, kind keepout -> navigable false), that ZONE_NAME_RE and the spec's zone-ref pattern accept and refuse the same names, and that a goto's input schema takes 'Living Room'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
test_fake_robots expected {"target": "Nowhere"} to be refused as
invalid_input, which held only under the slug pattern. Since b422b70 the
zone reference takes any place-name, so "Nowhere" is valid input that
no zone answers to: unresolved_zone. The invalid_input case now uses
"Nowhere ", the one kind of name the rule still refuses, and "Nowhere"
moves to the unresolved_zone case.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#118 replaced CLAUDE.md with a rules-and-pointers file. This branch's two edits to the old file become bullets in the new one: the conformance test needs jsonschema (dev env) and no longer carries a strict xfail, and #616 is settled, leaving #629 as the one open disagreement with zone/v0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011Ly1jZnCmZq3aaa2iKM9Zz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
zone/v0's successor revision: a zone is a place-name. Mote's conformance test now runs against it instead of skipping.
This is two branches in two repositories, and neither has been pushed.
augereai-spec, branch
zone-place-names(77c1ebc, worktree~/Projects/augereai-spec-616)name,noteandnavigable.kind,display_name,aliases,parent,tagsanddescriptionare retired. A producer must not write them and a consumer must accept them. Two are still read:descriptionis read asnote, andkind: keepout/slowsetsnavigable: false. A retired constraintkindbesidenavigable: trueis invalid, and the schema enforces this.^(?!\s)[^\x00-\x1f\x7f]+(?<!\s)$withmaxLength64, the same in zone-ref, zone-vocabulary, zone-binding and zone-resolution. capability/v0's registry already$refs zone-ref, sogoto/fetchaccept place-names with no registry change.kind.vocabulary.legacy-terms.jsonthat shows the read rule. The uppercase-name negative example is replaced by two new ones: a padded name and a navigable keepout.mote, branch
zone-spec-place-names(8ad3850, based onfix/dispatch-form-and-zone-names, which holds b422b70)jsonschemais added to thedevfeature. The default (robot) environment gains nothing, and the lock changes only for dev.test_spec_conformance.py: the strict xfail is removed. New checks against the spec: the read rule for retired fields,ZONE_NAME_REand the spec's zone-ref accepting and refusing the same names, and agotoinput schema takingLiving Room.AUGEREAI_SPEC=<checkout> pixi run -e dev test. The default environment still skips, because it has no jsonschema.Verification
re.test_spec_conformance.pyagainst the new spec: 12 passed, 0 skipped. Against the old spec: 4 failed (vocabulary, binding, name rule,Living Room).pixi run -e dev testin the worktree, to avoid installing a second env.Outstanding