Repository navigation
decisions: owner decisions of 2 Nov 2026 (wireless charging prepared, portrait Getac, E-stop on the adapter plate, ZED 57 mm, battery trays, lift sensors and plate, tyre compression) - #84
Merged
Conversation
Record the platform lead's decisions of 2 November 2026 (source "Alex decision 2026-11-02"); in_force stays P-03-rev20.2 with a note that the decisions are to be entered in P-03. - CHARGING, DOCK-NO-CONTACTS: TZBOT WCM-500-24 prepared in 2.0 (receiver position, cut-out, F-CHG, KCHG, start and fault lines designed and wired; receiver installed later); manual SB50 charging with the Daly charger at any time; 180 degree turn and reverse onto the transmitter - OPERATOR-PANEL, TABLET-MOUNT: ZX80 portrait only on a fixed mount; centre 40 mm lower; head light 10 mm below the Getac - HEAD-CAMERA-IDENTITY: lens 0.057 m ahead (was 0.042 m) - SAFETY-PROCUREMENT: second E-stop position on the moving adapter plate (record of position only; contacts and chain unchanged) - BATTERY-PLACEMENT: two removable 4-cell trays, PWR-018 - LIFT: stop sensors, one-piece adapter plate (rear-flush rule superseded), base plate on the centre-frame arch, status wording - FRAMES-REP105: wheel radius 0.100 m, base_link 0.098 m, 2 mm tyre compression - superseded values kept in supersedes; patterns and tests updated; WATCHDOG.md accepted-words table regenerated; STATE.md updated Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEQTLKUwNLekv6fCbV1 Signed-off-by: Alex Reznichenko <info@botshare.ai>
BotshareAI
marked this pull request as ready for review
November 2, 2026 21:11
BotshareAI
requested review from
panthera-momagdii and
wikki26
as code owners
November 2, 2026 21:11
BotshareAI
added a commit
to openAMRobot/openamrobot-docs
that referenced
this pull request
Nov 2, 2026
- Wireless charging prepared in 2.0: TZBOT WCM-500-24 receiver at the rear panel on the centre line, bottom 50 mm, class "prepared, installed later"; base-sheet cut-out, F-CHG, KCHG and the start and fault lines prepared; manual SB50 charging with the Daly 28.4 V / 20 A charger at any time; hardware page note replaced; GI-036 and GI-121 to GI-123 of kind "to solve before receiver installation"; release 3.0 wording removed. - Getac ZX80 portrait only on a fixed portrait mount: BOM UI-002, model parts, reference pages; design-intent pocket without pivot detents or plunger; checker also rejects a rotatable mount and still fails a landscape Getac. - GI-080: major, kind "manual layout pending", owner evans-kwashie; free space above the receiver about 190 x 229 x 165 mm; manual two-level layout with datasheet outlines in the next PR. - Register cited at decisions.yaml 5ed600e; charging register conflict removed (14 source conflicts). - Regenerated by run_all.sh: placement, issues (0 blockers, 4 majors, 47 minors), mass export, parity, hardware sections, layout STEP, Playwright sync audit (144 parts, 0 mismatches); two evidence shots retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEQfYXGfB3uXPRsWYAj Signed-off-by: Alex Reznichenko <info@botshare.ai>
BotshareAI
added a commit
to openAMRobot/openamrobot-docs
that referenced
this pull request
Nov 3, 2026
* Roadmap update 2 Nov 2026: work in progress Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * hardware: re-import PARTS from BOM Issue 7.14 (146 records) Adds LFT-001 to LFT-007, AUX-002, AUX-003 and PWR-032; SAF-001 qty 2; ARM-008 and CTL-002 qty 0; AUX-001 Falcon head light; MEC-018 DOLD SKU; MEC-019 description; UI-002 rotatable 2-position mount. The re-import is scripts/roadmap_model/bom714.py (idempotent). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: design-intent parts a to k (STEP, STL, parametric CadQuery scripts) Eleven parametric scripts in scripts/roadmap_model/design_intent/ export STEP and STL per variant to docs/assets/roadmap/model/design_intent/ with index.json (method, thickness, mass, placement in base_footprint, adjustment, fasteners). Class provisional; CAD owner: fridayali. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: placement data from sources, BOM coverage, harness and fasteners scripts/roadmap_model/build.py reads datums.yaml (2026-11-01.c), sensor_frames.yaml, facts.yaml (section B), parts.yaml and bom_map.yaml and writes model/placement.json (front bay and rear zone parts packed with air gaps, keep-outs around the lift-plate bolts, harness tubes per domain, fittings, fasteners), exploded.json entries with stage 9 Harness, bom_coverage.csv, fastener_schedule.csv, cable_list.csv and assembly_sequence.csv. model.js loads placement.json, draws it on both pages and hides small parts until High quality is on. Lift base plate drawn 360 x 230 x 10 per M-01 rev19.7. Pages move to the 2 Nov 2026 snapshot (index, progress, architecture content per B1 to B6). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: front bay, rear zone, harness routing, analysis and layout STEP Packer places the front-bay and rear-zone parts in the free space of the CAD v0.2 base (side-panel return flanges voxelized), with the B5 zones and the overflow alternative; design-intent meshes (MEC-015 brackets, MEC-007 tray, rear E-stop housing and clear-position ghost, Getac pocket and its portrait ghost) drawn from model/design_intent. Cable tubes per segment. analyse.py rebuilds the page scene in Python (self-check within 1.5 mm), runs interference, arm sweep, sensor views, mass and stability, TZBOT, services and K1/K2 fit, and writes geometry_issues.csv. export_layout.py writes export/openamrobot2_layout.step in base_footprint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: hardware page model sections, conflicts, checker for sources and coverage hardware.html gains generated sections (3D model coverage, mechanical parts, geometry and hardware issues from geometry_issues.csv, conflicts between sources); stale #14 draft, BUY-32 and register citations updated. check_roadmap.py checks BOM 7.14 coverage and model quantities, one model source for robot and exploded pages, sensors within 1 mm of sensor_frames.yaml and upper-body items within 1 mm of datums.yaml (model/source_snapshot.json), design heights, cable endpoints, and partner terms. Payload budget 15 MB default view. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: visual review evidence, changelog and state for the 2 Nov 2026 snapshot Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: convergence phase 1, combined model expansion and parity report (warn only) Expand openamr-upperbody-sw combined_robot.xacro without ROS (pip xacro, minimal ament index under ../ament: platform-sw 131e500, upperbody-sw a8c304d, openarm_description 14ff67b) at bp000 and bp050, map every URDF link with a visual to the roadmap parts (link_map.yaml) and compare world pose and primitive size at L1000 / L1175 / L1350 and bp050 within 0.5 mm. CI runs the report as a warning. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * check_roadmap: sensor pose check in x, y, z and orientation; STATE.md figures from generated files Review of ef90d7f: the sensor placement check compared the source point with the drawn bounding box plus 1 mm, and the ultrasonic special case never compared x. Each drawn base sensor body is now fitted rigidly (Horn quaternion fit) to its reference body in its source frame (source_snapshot.json sensor_bodies, built from the drawn mesh and checked against the platform-sw visual STL); the fitted origin must be within 1 mm of sensor_frames.yaml in x, y and z and the orientation within 0.2 deg, and the body reference point must sit at the frame plus the offset declared once in SENSOR_BODY_OFFSETS (with its source). The lift stop sensors and the head camera are compared with the expanded combined model. The ultrasonic special case is removed. STATE.md states the snapshot, sync-audit, BOM, issue and parity figures; check_roadmap.py reads them from the generated files and fails when STATE.md disagrees. Tests (scripts/tests): +20 mm x, +2 mm y, +2 mm z and +1 deg pitch on one sensor each fail, the committed model passes; the portrait second-position ghost passes and a portrait default fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: owner decisions of 2 Nov 2026 and the front bay options (work in progress) B1 wheel compression as an intended contact; B2 second E-stop positions P1 to P4 (P2 drawn, proposed) with a reach study; B3 lift base plate on the centre-frame arch with its load check; B4 TZBOT receiver position, ferrite sheet, metal-free zone, base-sheet cut-out and floor transmitter; C1 front bay options A and B with the receiver in place (switch on the exploded view); C2 rear zone packed around the battery tray and the real pocket section; Getac portrait pivot moved; C3 front harness below the LiDAR scan plane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: hardware page sections for the 2 Nov decisions, front bay options and parity; mass export Hardware page: owner decisions of 2 Nov 2026 (wheel compression, second E-stop P1 to P4, lift base plate on the arch with the load check, TZBOT receiver with cut-out, metal-free list, EMC distances and questions for TZBOT), front bay option A vs B fit numbers, roadmap vs combined model (convergence goal, phases, parity summary). mass_export.yaml per URDF link. Checker: wheel-to-floor overlap up to 2 mm is an intended contact. Robot and overview pages follow the E-stop proposal and the decisions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: verification pass, front bay switch tags both options, receiver clash check, evidence Both front bay options carry their option tag, so the exploded-view switch shows exactly one; the sync audit requires the non-default option hidden on both pages (163 parts, 0 mismatches, regenerated by the Playwright audit). External links open in a new tab (checked). Receiver clash with the printed ultrasonic mounts reported. Unit tests run in CI. Evidence retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: TZBOT values from the WCM-500-24 manual V2.5, charging-gap issue, stable issue IDs Source: TZBOT "WCM-500-24 Wireless Charger Instruction Manual", WCM-500-24 V2.5, 2021-09-23. facts.yaml tzbot_receiver / tzbot_transmitter: 170 x 150 x 52 mm, about 1.5 kg each, air gap 20 +-10 mm, X and Y +-20 mm, no metal within 20 mm, 30 to 60 kHz, 2.400 to 2.485 GHz at 0 dBm, 12 to 30 V, 8 to 15 A, >= 85 %, signal colours. They replace 240 x 210 x 65 mm, about 5 kg, 0 to 50 mm and +-30 mm (kept only in the conflicts entry). frames.tzbot_layout() places the receiver at the B4 position (front edge 25 mm from the front panel inner face, bottom 50 mm, 2 mm below the base sheet) and picks 170 mm along x (MMP.07 -6.2 mm vs -16.2 mm); cut-out 210 x 190 mm (197 x 190 mm to the flange line). front_bay.py, build.py, analyse.py and the hardware sections derive from it: bay plate at 0.122, strips outside |y| 0.095 (grid-aligned, 70 mm wide), ferrite sheet 170 x 150 x 1 mm, floor transmitter 52 mm (provisional, offboard), red overlap band. Known interference, warn only: receiver bottom 50 mm vs transmitter top 52 mm, overlap 2 mm, manual gap 10 to 30 mm. GI-036 (major, charging gap, owner fridayali, known, fix scheduled later by the owner) with the fix options; declared in check_roadmap.py KNOWN_CONTACTS (three tests). Issue IDs are stable (issue_ids.yaml, seeded from the IDs published in PR #68): GI-032, GI-034, GI-035, GI-036 updated, GI-033 closed, new issues from GI-080. Reruns: metal-free zone, EMC (no item under 50 mm; Wi-Fi coexistence issue), front bay A 21 parts / B 19, mass 96.1 kg (mass_export.yaml), parity 42 / 6 / 12, sync audit 164 parts 0 mismatches, checker, tests, mkdocs --strict, six pages, evidence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: TZBOT receiver position reserved at the rear under the battery (release 3.0) Wireless charging is a release 3.0 item; 2.0 charges by cable. Decided 2 Nov 2026: the TZBOT WCM-500-24 receiver position is reserved at the rear of the base under the battery cell group, centred on the long axis and the cell-group centre, 170 mm across, 150 mm fore-aft, bottom 2 mm below the base-sheet underside (50 mm above the floor). Class reserved, translucent, labelled, no mass in 2.0; the floor transmitter is not drawn. Values stay from the TZBOT WCM-500-24 manual V2.5: 170 x 150 x 52 mm, about 1.5 kg, air gap 20 +-10 mm, +-20 mm in X and Y, no metal within 20 mm. Removed with the front position: ferrite sheet, metal-free zone, base-sheet cut-out extension (the original contact-charger cut-out stays), floor transmitter and overlap band, and the electronics-above-the-receiver constraint in the front bay (bay plate back on the base sheet, MMP.07 at its CAD position, no strips beside the receiver; the option A shelf keeps its height). Front-position issues GI-032, GI-034, GI-035, GI-036, GI-083, GI-084, GI-093 (and GI-033) closed: receiver moved to the rear. Warning GI-099 (minor, reserved for 3.0, owner fridayali, known, to be solved in release 3.0): receiver top 102 mm vs the cells overlap 48.0 mm, vs the tray overlap 44.9 mm; base sheet overlap 2.0 mm, centre bracket 10.1 mm, rear plate 19.0 mm, rear castors 100 mm; charging gap with a 52 mm transmitter -2 mm. Declared as a known contact in check_roadmap.py (tests updated). Reruns: build, analysis, front bay options (A 22 placed; B 15, 6 not placed), mass 94.6 kg, parity 42 / 6 / 8, hardware sections, Playwright sync audit 156 parts 0 mismatches, STATE.md, checker and tests, mkdocs --strict, check_docs.sh, six pages, evidence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: owner corrections of 2 Nov 2026 (rear layout, one front bay, Getac portrait, ZED 57 mm, E-stop on the adapter plate) A1 and the receiver position of 2 Nov 2026 (to be entered in P-03 and M-01): TZBOT WCM-500-24 receiver reserved at the rear panel on the centre line (170 x 150 x 52 mm, x -0.369 to -0.199, not installed in 2.0, release 3.0) with the 20 mm metal-free margin; 4 + 4 LF105 upright in the side pockets (rear_layout.py, two pocket trays MEC-007, series link across the centre); power electronics on the MEC-006 plate above the receiver (underside 122 mm), second level allowed, nothing above a fuse. The single-row battery GLB node is hidden on both pages. Front receiver items (ferrite, front cut-out, front metal-free zone, transmitter) removed. A2: one front bay layout, plate on the base sheet, second tier because one plate does not take every part; the option switch and the option B parts are removed. A3: Getac ZX80 portrait (decided default), centre 40 mm lower, light bar 10 mm below; the landscape position and the portrait ghost are removed; the checker passes portrait and fails a landscape default (tests for both). A4: ZED Mini lens 57 mm ahead of J1_A. A5: second E-stop on the adapter plate behind the post, button up (actuator 0.901 / 1.076 / 1.251 m); P1, P3, P4, the ghosts and the random-pose reach study (estop_positions.py) removed. Issues: 1 blocker (GI-080, FB-B and the BMS without space), 5 majors, 48 minors; closed issues keep their reasons. Combined model expanded at upperbody-sw a8c304d (unchanged). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * changelog: owner corrections of 2 Nov 2026 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: owner corrections A5 to A9 of 2 Nov 2026 A5: arm checks use only valid poses (joint limits, no self-collision, no collision with the robot body); GI-081 closed. A6: lift stop sensors on the rear face of the static column at z 120 / 295 / 470 mm, cables down the static column; one-piece 6082-T6 adapter plate 425 x 100 x 10 mm with a 65 mm rear extension carrying the flag rod (no separate rod bracket); stroke check of the rod and flag; GI-010 closed; design-intent STEP/STL updated. A7: GI-082 minor, decided fix, CAD pending. A9: CAD rear dimensions are the reference; GI-080 options tried in order (none fits); GI-126 for the F0 distance and the 25 mm2 bend radius; two removable battery trays joined by PWR-018 (conflict with B-02 rev18.10 listed); GI-025 minor, decided fix, CAD pending. Evidence retaken; STATE.md and CHANGELOG.md updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: independent review fixes (GI-080 options 4 and 5, arm sweep, parity CI, leftovers) - GI-080: options 4 (four compact MIDI fuse holders instead of FB-B) and 5 (BMS upright against a battery tray wall) tried, both proposed; neither fits (plate floor 71 of 435 cm2 free with 5 mm gaps, largest free rectangle 30 x 64 mm; 2 mm between tray wall and margin). GI-080 stays a blocker with all five attempts and their numbers. - Arm valid-pose check: the gripper fingers count as adjacent to link7, so the motion no longer stops on a false self-collision at 10 deg. - Documentation workflow: install the parity dependencies; the parity step fails on execution errors, out-of-tolerance items stay warnings. - Leftovers: old E-stop positions in the conflicts table and the second_estop source text; side-face sensor text in exploded stage 7; two trays with PWR-018 in stage 3; STATE.md owner handle list; docs #69 in the after-the-snapshot note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: align with the decisions register after openAMRobot/.github#84 - Wireless charging prepared in 2.0: TZBOT WCM-500-24 receiver at the rear panel on the centre line, bottom 50 mm, class "prepared, installed later"; base-sheet cut-out, F-CHG, KCHG and the start and fault lines prepared; manual SB50 charging with the Daly 28.4 V / 20 A charger at any time; hardware page note replaced; GI-036 and GI-121 to GI-123 of kind "to solve before receiver installation"; release 3.0 wording removed. - Getac ZX80 portrait only on a fixed portrait mount: BOM UI-002, model parts, reference pages; design-intent pocket without pivot detents or plunger; checker also rejects a rotatable mount and still fails a landscape Getac. - GI-080: major, kind "manual layout pending", owner evans-kwashie; free space above the receiver about 190 x 229 x 165 mm; manual two-level layout with datasheet outlines in the next PR. - Register cited at decisions.yaml 5ed600e; charging register conflict removed (14 source conflicts). - Regenerated by run_all.sh: placement, issues (0 blockers, 4 majors, 47 minors), mass export, parity, hardware sections, layout STEP, Playwright sync audit (144 parts, 0 mismatches); two evidence shots retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEQfYXGfB3uXPRsWYAj Signed-off-by: Alex Reznichenko <info@botshare.ai> * reference: align second E-stop, light gap, ZED and battery rows with the 2 Nov register Second E-stop on top of the moving adapter plate (SAFETY-PROCUREMENT), cable through the lift cable chain, to be confirmed by the electrical and platform safety owners; light-to-Getac gap 10 mm (TABLET-MOUNT); ZED Mini lens 57 mm; 4 + 4 cells in two trays marked proposed until the B-02 update. Adds a checker scan so these superseded values cannot return to the reference pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPERXdK4VNyx7trxz3QR Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: generated pages follow the 2 Nov register; scan covers them hardware.html (BOM overrides in bom714.py, block text, diagram labels), robot.html, index.html and progress.html: second E-stop on top of the moving adapter plate with the cable through the lift cable chain, ZED Mini lens 57 mm (frame 0.237), head light 10 mm below the Getac, 4 + 4 cells in two trays marked proposed; dated entries labelled superseded. The superseded value scan now also runs on the four generated pages. Sync audit rerun: 144 parts, 0 mismatches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPERXdK4VNyx7trxz3QR Signed-off-by: Alex Reznichenko <info@botshare.ai> --------- Signed-off-by: Alex Reznichenko <info@botshare.ai> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
BotshareAI
added a commit
to openAMRobot/openamrobot-docs
that referenced
this pull request
Nov 3, 2026
* Roadmap update 2 Nov 2026: work in progress Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * hardware: re-import PARTS from BOM Issue 7.14 (146 records) Adds LFT-001 to LFT-007, AUX-002, AUX-003 and PWR-032; SAF-001 qty 2; ARM-008 and CTL-002 qty 0; AUX-001 Falcon head light; MEC-018 DOLD SKU; MEC-019 description; UI-002 rotatable 2-position mount. The re-import is scripts/roadmap_model/bom714.py (idempotent). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: design-intent parts a to k (STEP, STL, parametric CadQuery scripts) Eleven parametric scripts in scripts/roadmap_model/design_intent/ export STEP and STL per variant to docs/assets/roadmap/model/design_intent/ with index.json (method, thickness, mass, placement in base_footprint, adjustment, fasteners). Class provisional; CAD owner: fridayali. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: placement data from sources, BOM coverage, harness and fasteners scripts/roadmap_model/build.py reads datums.yaml (2026-11-01.c), sensor_frames.yaml, facts.yaml (section B), parts.yaml and bom_map.yaml and writes model/placement.json (front bay and rear zone parts packed with air gaps, keep-outs around the lift-plate bolts, harness tubes per domain, fittings, fasteners), exploded.json entries with stage 9 Harness, bom_coverage.csv, fastener_schedule.csv, cable_list.csv and assembly_sequence.csv. model.js loads placement.json, draws it on both pages and hides small parts until High quality is on. Lift base plate drawn 360 x 230 x 10 per M-01 rev19.7. Pages move to the 2 Nov 2026 snapshot (index, progress, architecture content per B1 to B6). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: front bay, rear zone, harness routing, analysis and layout STEP Packer places the front-bay and rear-zone parts in the free space of the CAD v0.2 base (side-panel return flanges voxelized), with the B5 zones and the overflow alternative; design-intent meshes (MEC-015 brackets, MEC-007 tray, rear E-stop housing and clear-position ghost, Getac pocket and its portrait ghost) drawn from model/design_intent. Cable tubes per segment. analyse.py rebuilds the page scene in Python (self-check within 1.5 mm), runs interference, arm sweep, sensor views, mass and stability, TZBOT, services and K1/K2 fit, and writes geometry_issues.csv. export_layout.py writes export/openamrobot2_layout.step in base_footprint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: hardware page model sections, conflicts, checker for sources and coverage hardware.html gains generated sections (3D model coverage, mechanical parts, geometry and hardware issues from geometry_issues.csv, conflicts between sources); stale #14 draft, BUY-32 and register citations updated. check_roadmap.py checks BOM 7.14 coverage and model quantities, one model source for robot and exploded pages, sensors within 1 mm of sensor_frames.yaml and upper-body items within 1 mm of datums.yaml (model/source_snapshot.json), design heights, cable endpoints, and partner terms. Payload budget 15 MB default view. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: visual review evidence, changelog and state for the 2 Nov 2026 snapshot Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: convergence phase 1, combined model expansion and parity report (warn only) Expand openamr-upperbody-sw combined_robot.xacro without ROS (pip xacro, minimal ament index under ../ament: platform-sw 131e500, upperbody-sw a8c304d, openarm_description 14ff67b) at bp000 and bp050, map every URDF link with a visual to the roadmap parts (link_map.yaml) and compare world pose and primitive size at L1000 / L1175 / L1350 and bp050 within 0.5 mm. CI runs the report as a warning. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * check_roadmap: sensor pose check in x, y, z and orientation; STATE.md figures from generated files Review of ef90d7f: the sensor placement check compared the source point with the drawn bounding box plus 1 mm, and the ultrasonic special case never compared x. Each drawn base sensor body is now fitted rigidly (Horn quaternion fit) to its reference body in its source frame (source_snapshot.json sensor_bodies, built from the drawn mesh and checked against the platform-sw visual STL); the fitted origin must be within 1 mm of sensor_frames.yaml in x, y and z and the orientation within 0.2 deg, and the body reference point must sit at the frame plus the offset declared once in SENSOR_BODY_OFFSETS (with its source). The lift stop sensors and the head camera are compared with the expanded combined model. The ultrasonic special case is removed. STATE.md states the snapshot, sync-audit, BOM, issue and parity figures; check_roadmap.py reads them from the generated files and fails when STATE.md disagrees. Tests (scripts/tests): +20 mm x, +2 mm y, +2 mm z and +1 deg pitch on one sensor each fail, the committed model passes; the portrait second-position ghost passes and a portrait default fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: owner decisions of 2 Nov 2026 and the front bay options (work in progress) B1 wheel compression as an intended contact; B2 second E-stop positions P1 to P4 (P2 drawn, proposed) with a reach study; B3 lift base plate on the centre-frame arch with its load check; B4 TZBOT receiver position, ferrite sheet, metal-free zone, base-sheet cut-out and floor transmitter; C1 front bay options A and B with the receiver in place (switch on the exploded view); C2 rear zone packed around the battery tray and the real pocket section; Getac portrait pivot moved; C3 front harness below the LiDAR scan plane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: hardware page sections for the 2 Nov decisions, front bay options and parity; mass export Hardware page: owner decisions of 2 Nov 2026 (wheel compression, second E-stop P1 to P4, lift base plate on the arch with the load check, TZBOT receiver with cut-out, metal-free list, EMC distances and questions for TZBOT), front bay option A vs B fit numbers, roadmap vs combined model (convergence goal, phases, parity summary). mass_export.yaml per URDF link. Checker: wheel-to-floor overlap up to 2 mm is an intended contact. Robot and overview pages follow the E-stop proposal and the decisions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: verification pass, front bay switch tags both options, receiver clash check, evidence Both front bay options carry their option tag, so the exploded-view switch shows exactly one; the sync audit requires the non-default option hidden on both pages (163 parts, 0 mismatches, regenerated by the Playwright audit). External links open in a new tab (checked). Receiver clash with the printed ultrasonic mounts reported. Unit tests run in CI. Evidence retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPTGKjyTz6iF38tLSa Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: TZBOT values from the WCM-500-24 manual V2.5, charging-gap issue, stable issue IDs Source: TZBOT "WCM-500-24 Wireless Charger Instruction Manual", WCM-500-24 V2.5, 2021-09-23. facts.yaml tzbot_receiver / tzbot_transmitter: 170 x 150 x 52 mm, about 1.5 kg each, air gap 20 +-10 mm, X and Y +-20 mm, no metal within 20 mm, 30 to 60 kHz, 2.400 to 2.485 GHz at 0 dBm, 12 to 30 V, 8 to 15 A, >= 85 %, signal colours. They replace 240 x 210 x 65 mm, about 5 kg, 0 to 50 mm and +-30 mm (kept only in the conflicts entry). frames.tzbot_layout() places the receiver at the B4 position (front edge 25 mm from the front panel inner face, bottom 50 mm, 2 mm below the base sheet) and picks 170 mm along x (MMP.07 -6.2 mm vs -16.2 mm); cut-out 210 x 190 mm (197 x 190 mm to the flange line). front_bay.py, build.py, analyse.py and the hardware sections derive from it: bay plate at 0.122, strips outside |y| 0.095 (grid-aligned, 70 mm wide), ferrite sheet 170 x 150 x 1 mm, floor transmitter 52 mm (provisional, offboard), red overlap band. Known interference, warn only: receiver bottom 50 mm vs transmitter top 52 mm, overlap 2 mm, manual gap 10 to 30 mm. GI-036 (major, charging gap, owner fridayali, known, fix scheduled later by the owner) with the fix options; declared in check_roadmap.py KNOWN_CONTACTS (three tests). Issue IDs are stable (issue_ids.yaml, seeded from the IDs published in PR #68): GI-032, GI-034, GI-035, GI-036 updated, GI-033 closed, new issues from GI-080. Reruns: metal-free zone, EMC (no item under 50 mm; Wi-Fi coexistence issue), front bay A 21 parts / B 19, mass 96.1 kg (mass_export.yaml), parity 42 / 6 / 12, sync audit 164 parts 0 mismatches, checker, tests, mkdocs --strict, six pages, evidence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: TZBOT receiver position reserved at the rear under the battery (release 3.0) Wireless charging is a release 3.0 item; 2.0 charges by cable. Decided 2 Nov 2026: the TZBOT WCM-500-24 receiver position is reserved at the rear of the base under the battery cell group, centred on the long axis and the cell-group centre, 170 mm across, 150 mm fore-aft, bottom 2 mm below the base-sheet underside (50 mm above the floor). Class reserved, translucent, labelled, no mass in 2.0; the floor transmitter is not drawn. Values stay from the TZBOT WCM-500-24 manual V2.5: 170 x 150 x 52 mm, about 1.5 kg, air gap 20 +-10 mm, +-20 mm in X and Y, no metal within 20 mm. Removed with the front position: ferrite sheet, metal-free zone, base-sheet cut-out extension (the original contact-charger cut-out stays), floor transmitter and overlap band, and the electronics-above-the-receiver constraint in the front bay (bay plate back on the base sheet, MMP.07 at its CAD position, no strips beside the receiver; the option A shelf keeps its height). Front-position issues GI-032, GI-034, GI-035, GI-036, GI-083, GI-084, GI-093 (and GI-033) closed: receiver moved to the rear. Warning GI-099 (minor, reserved for 3.0, owner fridayali, known, to be solved in release 3.0): receiver top 102 mm vs the cells overlap 48.0 mm, vs the tray overlap 44.9 mm; base sheet overlap 2.0 mm, centre bracket 10.1 mm, rear plate 19.0 mm, rear castors 100 mm; charging gap with a 52 mm transmitter -2 mm. Declared as a known contact in check_roadmap.py (tests updated). Reruns: build, analysis, front bay options (A 22 placed; B 15, 6 not placed), mass 94.6 kg, parity 42 / 6 / 8, hardware sections, Playwright sync audit 156 parts 0 mismatches, STATE.md, checker and tests, mkdocs --strict, check_docs.sh, six pages, evidence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: owner corrections of 2 Nov 2026 (rear layout, one front bay, Getac portrait, ZED 57 mm, E-stop on the adapter plate) A1 and the receiver position of 2 Nov 2026 (to be entered in P-03 and M-01): TZBOT WCM-500-24 receiver reserved at the rear panel on the centre line (170 x 150 x 52 mm, x -0.369 to -0.199, not installed in 2.0, release 3.0) with the 20 mm metal-free margin; 4 + 4 LF105 upright in the side pockets (rear_layout.py, two pocket trays MEC-007, series link across the centre); power electronics on the MEC-006 plate above the receiver (underside 122 mm), second level allowed, nothing above a fuse. The single-row battery GLB node is hidden on both pages. Front receiver items (ferrite, front cut-out, front metal-free zone, transmitter) removed. A2: one front bay layout, plate on the base sheet, second tier because one plate does not take every part; the option switch and the option B parts are removed. A3: Getac ZX80 portrait (decided default), centre 40 mm lower, light bar 10 mm below; the landscape position and the portrait ghost are removed; the checker passes portrait and fails a landscape default (tests for both). A4: ZED Mini lens 57 mm ahead of J1_A. A5: second E-stop on the adapter plate behind the post, button up (actuator 0.901 / 1.076 / 1.251 m); P1, P3, P4, the ghosts and the random-pose reach study (estop_positions.py) removed. Issues: 1 blocker (GI-080, FB-B and the BMS without space), 5 majors, 48 minors; closed issues keep their reasons. Combined model expanded at upperbody-sw a8c304d (unchanged). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * changelog: owner corrections of 2 Nov 2026 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPENuVcmVSR9z5iEBd9u Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: owner corrections A5 to A9 of 2 Nov 2026 A5: arm checks use only valid poses (joint limits, no self-collision, no collision with the robot body); GI-081 closed. A6: lift stop sensors on the rear face of the static column at z 120 / 295 / 470 mm, cables down the static column; one-piece 6082-T6 adapter plate 425 x 100 x 10 mm with a 65 mm rear extension carrying the flag rod (no separate rod bracket); stroke check of the rod and flag; GI-010 closed; design-intent STEP/STL updated. A7: GI-082 minor, decided fix, CAD pending. A9: CAD rear dimensions are the reference; GI-080 options tried in order (none fits); GI-126 for the F0 distance and the 25 mm2 bend radius; two removable battery trays joined by PWR-018 (conflict with B-02 rev18.10 listed); GI-025 minor, decided fix, CAD pending. Evidence retaken; STATE.md and CHANGELOG.md updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: independent review fixes (GI-080 options 4 and 5, arm sweep, parity CI, leftovers) - GI-080: options 4 (four compact MIDI fuse holders instead of FB-B) and 5 (BMS upright against a battery tray wall) tried, both proposed; neither fits (plate floor 71 of 435 cm2 free with 5 mm gaps, largest free rectangle 30 x 64 mm; 2 mm between tray wall and margin). GI-080 stays a blocker with all five attempts and their numbers. - Arm valid-pose check: the gripper fingers count as adjacent to link7, so the motion no longer stops on a false self-collision at 10 deg. - Documentation workflow: install the parity dependencies; the parity step fails on execution errors, out-of-tolerance items stay warnings. - Leftovers: old E-stop positions in the conflicts table and the second_estop source text; side-face sensor text in exploded stage 7; two trays with PWR-018 in stage 3; STATE.md owner handle list; docs #69 in the after-the-snapshot note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEPN6WuBV5CZ9zmdTkn Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: align with the decisions register after openAMRobot/.github#84 - Wireless charging prepared in 2.0: TZBOT WCM-500-24 receiver at the rear panel on the centre line, bottom 50 mm, class "prepared, installed later"; base-sheet cut-out, F-CHG, KCHG and the start and fault lines prepared; manual SB50 charging with the Daly 28.4 V / 20 A charger at any time; hardware page note replaced; GI-036 and GI-121 to GI-123 of kind "to solve before receiver installation"; release 3.0 wording removed. - Getac ZX80 portrait only on a fixed portrait mount: BOM UI-002, model parts, reference pages; design-intent pocket without pivot detents or plunger; checker also rejects a rotatable mount and still fails a landscape Getac. - GI-080: major, kind "manual layout pending", owner evans-kwashie; free space above the receiver about 190 x 229 x 165 mm; manual two-level layout with datasheet outlines in the next PR. - Register cited at decisions.yaml 5ed600e; charging register conflict removed (14 source conflicts). - Regenerated by run_all.sh: placement, issues (0 blockers, 4 majors, 47 minors), mass export, parity, hardware sections, layout STEP, Playwright sync audit (144 parts, 0 mismatches); two evidence shots retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPEQfYXGfB3uXPRsWYAj Signed-off-by: Alex Reznichenko <info@botshare.ai> * reference: align second E-stop, light gap, ZED and battery rows with the 2 Nov register Second E-stop on top of the moving adapter plate (SAFETY-PROCUREMENT), cable through the lift cable chain, to be confirmed by the electrical and platform safety owners; light-to-Getac gap 10 mm (TABLET-MOUNT); ZED Mini lens 57 mm; 4 + 4 cells in two trays marked proposed until the B-02 update. Adds a checker scan so these superseded values cannot return to the reference pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPERXdK4VNyx7trxz3QR Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap: generated pages follow the 2 Nov register; scan covers them hardware.html (BOM overrides in bom714.py, block text, diagram labels), robot.html, index.html and progress.html: second E-stop on top of the moving adapter plate with the cable through the lift cable chain, ZED Mini lens 57 mm (frame 0.237), head light 10 mm below the Getac, 4 + 4 cells in two trays marked proposed; dated entries labelled superseded. The superseded value scan now also runs on the four generated pages. Sync audit rerun: 144 parts, 0 mismatches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPERXdK4VNyx7trxz3QR Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: harness routing with tie points, wheel guards, DP-LIFT and the lift energy chain (work in progress) Named harnesses W01 to W09 on supported routes found on a voxel model of the base (keep-outs, withdrawal paths, bend radius per cable class), tie points at 150 mm or less, labels and disconnect points per cable, the upper-body harness through a vertical energy chain behind the column, checker rules with tests. Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: harness routes, tie points, wheel guards and lift energy chain; checks and evidence - harness.py: named harnesses W01 to W09, voxel router with keep-outs, withdrawal paths and class bend radius, smooth lug-to-lug links, tie points within 50 mm of connectors and branches and at 150 mm or less, strain relief and grommets, route cache by input hash - lift: DP-LIFT, fixed sleeve, vertical energy chain checked over the stroke, drawn for the current lift height in model.js - cable_list.csv harness, labels, disconnect and radius columns; harness_routes.json; harness_cad_changes.csv; fasteners; assembly steps 9 to 11 and 18; hardware page harness table - check_roadmap.py harness rules with failing and passing tests - GI-129, GI-130: CBL-P02 and CBL-P05 have no compliant route in the current rear layout (rear-layout rework with GI-080) - evidence/2026-11-03-harness screenshots; STATE.md and CHANGELOG Signed-off-by: Alex Reznichenko <info@botshare.ai> * roadmap model: self-check includes the lift energy chain links; checker gates the self-check model.js draws the chain links (chainLinks + M.setChain at travel 0) on the page, but the Python analysis scene only had the fixed-end bracket, so the self-check reported 263 mm on lift_energy_chain. analyse.py now builds the same link boxes (chain_link_meshes, same formula as M.setChain); the self-check is back to 3.0 mm (rod_corner_bracket, unchanged from main). check_roadmap.py fails when the self-check is missing or above 5 mm, with tests. Issue counts unchanged (0 blocker, 6 major, 47 minor); model.js and exploded.json unchanged, so the sync audit stays valid. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZnPERXdK4VNyx7trxz3QR Signed-off-by: Alex Reznichenko <info@botshare.ai> --------- Signed-off-by: Alex Reznichenko <info@botshare.ai> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
Records the platform lead's decisions of 2 November 2026 in
decisions.yamlso that roadmap PR openAMRobot/openamrobot-docs#68 no longer contradicts the register.in_forcestays P-03-rev20.2, with a note that these owner decisions are to be entered in P-03. Each superseded value is kept in its entry'ssupersedeshistory. Scope:decisions.yaml,tests/test_check_decisions.py,WATCHDOG.md(accepted-words table, regenerated),STATE.md.Source line (added under
sources, like "Alex decision 2026-10-30"): Alex decision 2026-11-02: platform decision of 2 November 2026; change request #83; to be entered in P-03.Changed entries (old, then new):
I checked DOCKING-NOT-CHARGING, SHARED-BASE and DRIVETRAIN and left them unchanged. They do not contradict these decisions, and base_link height is recorded only in FRAMES-REP105.
Work package
#83 (contract change request). Unblocks openAMRobot/openamrobot-docs#68
Integration Gate
profile/README.mdis unchanged. audit: repository alignment with P-03 rev20.2 and Use Case 1 (1 Nov 2026) #79 and docs: current configuration ID example, 2.0 LiDAR and base controller in the roadmap, profile wording (P-03 rev20.2) #80 are drafts on other branches that do not editdecisions.yamlentries changed here.in_force(the owner keeps P-03-rev20.2) and editing other repositories (consumers update their own text).Tests
Changed or added in
tests/test_check_decisions.py:test_head_camera_lens_57_mm_ahead,test_second_estop_on_the_adapter_plate,test_daly_charger_is_not_bench_only,test_battery_in_two_trays,test_2026_11_02_values_recorded,test_tablet_mount,test_zx80_portrait_only_no_landscape,test_operator_panel_is_the_getac_zx80,test_p03_rev20_1_values_are_cited,test_rev20_2_values_in_force.tests/test_check_decisions.pyran 98 tests, 98 passed, 0 skipped.decisions.yamlwith these tests): 9 failed, 89 passed.rollout/verify.sh: 293 of 293 tests executed, 0 skipped.Evidence
Base SHA: a9e229e
Head SHA: 4056b8e
Dependencies
None.
Safety impact
Record only, with no change to any safety function. SAFETY-PROCUREMENT changes only the mounting position of the second E-stop. The button, the contact block, the dual channel into the PNOZ s3, K1/K2 and the reset loop are unchanged. CHARGING records KCHG and the start and fault lines as designed and wired, and their function is unchanged. No file under
safety_pathsis changed. The SAFETY-PROCUREMENT owner (electrical-owner) and the platform lead must review the position change. A text scan is not safety evidence.STATE.md
Updated: work-package row for #83, the in_force note, the known-gap line for SAFETY-PROCUREMENT and a Not verified line.
Not verified
AI disclosure
Claude Code produced the register edits, tests, STATE.md update, the regenerated WATCHDOG.md table, contract change request #83 and this description from the owner's summary. The work-package owner must review it and write adopt, adapt or reject.
Contribution terms
🤖 Generated with Claude Code