You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #8373 implemented the explicit legacy/corrected SVG geometry contract and is now merged. Its
remaining evidence needs a narrow follow-up: regression coverage for the complete transform grammar,
real-map route propagation, scenario/cache separation, precise compatibility wording, and a clean
repository readiness run before the contract is admitted as merge-ready evidence.
The original parent issue #8314 is closed by #8373, so this issue tracks only the residual validation
and claim-boundary work rather than reopening or reinterpreting the parent result.
Skipped or failing test evidence
Test paths:
tests/nav/test_svg_transform_contract.py
tests/training/test_scenario_loader.py
scripts/dev/pr_ready_check.sh
Current evidence:
The focused navigation/scenario/map suite passes (144 passed) on the follow-up branch.
The exact-head final readiness run reached 3,082 passing tests, then hit three unrelated
subprocess/collection timeout failures under parallel load; each failed test passed in isolation.
The optional readiness lane was not reached, so the full readiness result is incomplete.
Why this is debt: the contract is safety- and comparability-sensitive, and a closed parent issue
cannot be used by the publication guard as the live tracking object for this residual work.
Intended behavior
The repository should have executable proof that:
valid SVG translation numbers and separators are accepted while malformed or unsupported input is
rejected without partial numeric interpretation;
corrected-mode path, rectangle, and circle translations are applied consistently;
real authored routes and scenario/cache loads preserve the selected geometry contract;
documentation claims historical compatibility and downstream pooling limits accurately; and
a clean final readiness run exists before the follow-up is marked ready for merge.
Scope
In scope:
retain and review the focused parser, route, scenario, cache, and non-SVG contract regressions;
keep legacy as the default and corrected geometry explicitly labeled;
complete the canonical core and optional readiness lanes under a resource-appropriate clean run;
obtain independent domain-aware review of SVG semantics and historical replay compatibility.
Non-goals:
no benchmark campaign, planner comparison, safety conclusion, ranking change, or paper claim;
no replacement, deletion, or reinterpretation of frozen legacy artifacts;
no generic aggregation redesign beyond recording the contract and requiring an explicit downstream
compatibility decision.
Implementation and tests: robot_sf/nav/svg_map_parser.py, robot_sf/nav/map_config.py, robot_sf/training/scenario_loader.py, tests/nav/test_svg_transform_contract.py, and tests/training/test_scenario_loader.py.
Documentation surfaces: docs/context/svg_geometry_contract.md, docs/context/INDEX.md, and docs/context/README.md.
Required policy surfaces: docs/context/issue_691_benchmark_fallback_policy.md and docs/context/artifact_evidence_vocabulary.md.
Acceptance criteria
Focused parser, route, scenario, cache, and map tests pass.
The valid and malformed transform edge cases remain covered.
Legacy/corrected wording does not claim byte-identical dataclass output or automatic anti-pooling.
A clean canonical readiness result covers both changed-file lanes, or the blocker is recorded
with a reproducible reason and the issue remains open.
Independent domain-aware approval is recorded before merge or evidence use.
No benchmark or frozen-artifact claim is promoted from this work.
Verification
uv run pytest tests/nav/test_svg_transform_contract.py \
tests/training/test_scenario_loader.py \
tests/test_svg_classic_maps_format.py \
tests/maps/test_route_clearance_maps.py -q
uv run ruff check robot_sf/nav/svg_map_parser.py robot_sf/nav/map_config.py \
robot_sf/training/scenario_loader.py tests/nav/test_svg_transform_contract.py \
tests/training/test_scenario_loader.py
uv run ruff format --check robot_sf/nav/svg_map_parser.py robot_sf/nav/map_config.py \
robot_sf/training/scenario_loader.py tests/nav/test_svg_transform_contract.py \
tests/training/test_scenario_loader.py
BASE_REF=origin/main PR_READY_MODE=final \
PR_READY_PR_BODY_FILE=/absolute/path/to/pr-body.md scripts/dev/pr_ready_check.sh
output/ remains local and ignored. Readiness receipts and generated test outputs are not durable
benchmark evidence and must not be committed or promoted. No dataset, checkpoint, campaign result,
or frozen artifact is changed by this follow-up.
Estimate metadata
Effort: 1–2 hours for a clean readiness rerun and review handoff.
Complexity: low implementation complexity; medium workflow/compatibility sensitivity.
Risk: parallel local resource contention and overclaiming compatibility semantics.
Uncertainty: approximately 0.75 confidence that isolated failures are environment/load-related;
a repeatable failure in a clean constrained run would keep this issue open for diagnosis.
Archetype Metadata
Goal / Problem
PR #8373 implemented the explicit legacy/corrected SVG geometry contract and is now merged. Its
remaining evidence needs a narrow follow-up: regression coverage for the complete transform grammar,
real-map route propagation, scenario/cache separation, precise compatibility wording, and a clean
repository readiness run before the contract is admitted as merge-ready evidence.
The original parent issue #8314 is closed by #8373, so this issue tracks only the residual validation
and claim-boundary work rather than reopening or reinterpreting the parent result.
Skipped or failing test evidence
Test paths:
tests/nav/test_svg_transform_contract.pytests/training/test_scenario_loader.pyscripts/dev/pr_ready_check.shCurrent evidence:
144 passed) on the follow-up branch.subprocess/collection timeout failures under parallel load; each failed test passed in isolation.
Why this is debt: the contract is safety- and comparability-sensitive, and a closed parent issue
cannot be used by the publication guard as the live tracking object for this residual work.
Intended behavior
The repository should have executable proof that:
rejected without partial numeric interpretation;
Scope
In scope:
Non-goals:
compatibility decision.
Inputs
mainafter merged PR fix(nav): apply ancestor translate transforms with legacy contract (#8314) #8373.robot_sf/nav/svg_map_parser.py,robot_sf/nav/map_config.py,robot_sf/training/scenario_loader.py,tests/nav/test_svg_transform_contract.py, andtests/training/test_scenario_loader.py.docs/context/svg_geometry_contract.md,docs/context/INDEX.md, anddocs/context/README.md.docs/context/issue_691_benchmark_fallback_policy.mdanddocs/context/artifact_evidence_vocabulary.md.Acceptance criteria
with a reproducible reason and the issue remains open.
Verification
Artifact policy
Evidence category: diagnostic implementation smoke only.
output/remains local and ignored. Readiness receipts and generated test outputs are not durablebenchmark evidence and must not be committed or promoted. No dataset, checkpoint, campaign result,
or frozen artifact is changed by this follow-up.
Estimate metadata
a repeatable failure in a clean constrained run would keep this issue open for diagnosis.
Project Metadata