Skip to content

decisions: P-03 rev20.2 item 26 in force (BOM Issue 7.14, availability rule, tablet mount, EV_ICM-42688-P) - #78

Merged
BotshareAI merged 1 commit into
mainfrom
claude/optimistic-sagan-oqc2lu
Nov 1, 2026
Merged

BotshareAI merged 1 commit into
mainfrom
claude/optimistic-sagan-oqc2lu

Conversation

@BotshareAI

@BotshareAI BotshareAI commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Records P-03 Decision Addendum rev20.2 (1 Nov 2026) item 26 in the register, from the owner's summary. The Drive copy of the source is provenance only and was not read. The branch is rebased on main ed98001 (#73 merged). Scope: decisions.yaml, tests/test_check_decisions.py, WATCHDOG.md (generated table), CONTRIBUTING.md, new STATE.md.

  • in_force P-03-rev20.1 → P-03-rev20.2 / 2026-11-01. Adds sources P-03-rev20.2 and BOM-Issue-7.14. P-03-rev20.1 and BOM Issue 7.10 are relabelled as earlier. The entries decisions: register the owner decisions of 30 October 2026; P-03 rev20.1 in force #73 added still cite rev20.1 for their own values.
  • BOM-ISSUE-IN-FORCE: Issue 7.14 (value, summary, fix_hint, message). The retired pattern flags every Issue 7.x except 7.14, which includes 7.10 and 7.11. Both are added to supersedes.
  • POWER-RAILS: adds the SAFE 24 V converter, MEAN WELL DDR-240B-24 (16.8 to 33.6 V in, 24 V 10 A, 240 W), behind F-LIFT 15 A, 2.5 mm2.
  • BASE-CONTROLLER-GATES: the IMU board is the TDK EV_ICM-42688-P (SPI4 Mode 0, WHO_AM_I 0x47). MIKROE-4237 is moved to supersedes. Adds the "no click shield; IMU board and CAN isolator wired directly to SPI4 and FDCAN2" line. New pattern: MIKROE-4237 presented as current (md/yaml/html).
  • FRAMES-REP105: same board change in the imu_link value (chip +Y forward; pose and yaw -90 deg unchanged). The MIKROE-4237 pattern here is restricted to xacro/urdf/launch.py, so a line is never reported twice.
  • DRIVETRAIN: ZLTECH brake data of 18 Oct 2026 added. fix_hint no longer says "pending". The fail-safe pattern is unchanged; its message says the ratings are recorded and the fail-safe behaviour still needs evidence.
  • LIFT: DOLD written confirmation of 14 Oct 2026 (800 N held with power off). The release gate is now the holding test on the delivered unit after an E-stop during motion and after power loss.
  • OPERATOR-PANEL (from decisions: register the owner decisions of 30 October 2026; P-03 rev20.1 in force #73):
    • Value is now "Getac ZX80, 8 inch, 1920 x 1200, rotatable mount, landscape by default with a portrait second position (see TABLET-MOUNT, P-03 rev20.2 item 26)". The rev20.1 landscape-only value moves to supersedes.
    • Its portrait check is narrowed: it no longer flags a line pairing ZX80 with portrait as the second locked position, only portrait presented as the default.
    • It now scans UI code files only (json/ts/tsx/css). TABLET-MOUNT carries the same pattern for md/yaml/html, so a line is never reported twice.
  • New COMPONENT-AVAILABILITY (limit, platform-lead, 2026-11-01). Applies to BOM and procurement md/yaml/yml only. Its one check reads wording only: a single-source part presented as selected without an option or alternative label. Stock and supplier count are not checked.
  • New TABLET-MOUNT (configuration). Getac ZX80 on a rotatable mount with two locked positions: landscape (default, 234 x 149.8 mm) and portrait (149.8 x 234 mm). Checks: portrait presented as the default (including "in portrait by default"); the tablet position presented as a configuration ID.
  • CONFIG-IDS: adds a note that the tablet position is a mount setting, not a configuration ID.
  • Every changed entry keeps its earlier values in supersedes.
  • CONTRIBUTING.md: one paragraph with the availability rule in section 3.

Work package

Contract change request: #77 (owner platform-lead).

Integration Gate

Tests

Added or changed in tests/test_check_decisions.py:

  • test_zx80_portrait_second_position_versus_default (new). In openamrobot-ui, three "portrait as second position" lines are not flagged in docs/a.md or src/layout.ts. Three "portrait as default" lines give exactly one finding each: TABLET-MOUNT in markdown, OPERATOR-PANEL in TypeScript.
  • test_operator_panel_is_the_getac_zx80 (from decisions: register the owner decisions of 30 October 2026; P-03 rev20.1 in force #73): "ZX80 in portrait" is no longer a finding, and the new value is asserted.
  • test_p03_rev20_1_values_are_cited (renamed from decisions: register the owner decisions of 30 October 2026; P-03 rev20.1 in force #73's test): in_force is rev20.2.
  • test_bom_issue_7_14_in_force, test_mikroe_4237_is_superseded, test_component_availability, test_tablet_mount, test_rev20_2_values_in_force.
  • test_icm42688p_is_the_2_0_imu: its accepted sample names the EV_ICM-42688-P.

Revert run: with main's decisions.yaml (ed98001) restored under these tests, python3 -m unittest tests.test_check_decisions gives Ran 94 tests, FAILED (failures=8). The 8 failures are test_bom_issue_7_14_in_force, test_component_availability, test_mikroe_4237_is_superseded, test_operator_panel_is_the_getac_zx80, test_p03_rev20_1_values_are_cited, test_rev20_2_values_in_force, test_tablet_mount and test_zx80_portrait_second_position_versus_default. On head: Ran 94 tests, OK. Full suite: Ran 289 tests, 0 skipped, OK.

Evidence

Base SHA: ed98001
Head SHA: 47f4ac9

The head commit was amended for the sign-off only. Its tree ced5b29 is identical to that of 79ec90a, where the runs below were made, so the counts apply unchanged.

git rebase origin/main   (conflicts in decisions.yaml and WATCHDOG.md resolved as described in Integration Gate)
bash rollout/verify.sh
  Tests executed: 289 of 289 (skipped 0); PASS: test; PASS: evidence; PASS: all detected verification stages
python3 -m unittest discover -s tests
  Ran 289 tests, OK
python3 tools/check_decisions.py --decisions decisions.yaml --maintainers maintainers.yaml --validate-only
  decisions: 46 loaded, 41 recorded and scanned, 2 open, 3 superseded (citations scanned)
python3 tools/check_agent_rules.py --canonical agent-rules/SHARED_RULES.md --file AGENTS.md
  PASS AGENTS.md (v2)
python3 tools/check_decisions.py --decisions decisions.yaml --maintainers maintainers.yaml --root . --repository .github
  result: 0 contradiction(s), 0 allowed, scope full checkout; 51 file(s) not scanned
git show origin/main:decisions.yaml > decisions.yaml && python3 -m unittest tests.test_check_decisions   (revert run; file restored afterwards)
  Ran 94 tests, FAILED (failures=8)
git push --force-with-lease=claude/optimistic-sagan-oqc2lu:2796d7b866c2079fdfd6eae8f77c95f54f43bf44 origin claude/optimistic-sagan-oqc2lu
  + 2796d7b...79ec90a (forced update)
git commit --amend   (sign-off line only; tree ced5b2962308 before and after)
git push --force-with-lease=claude/optimistic-sagan-oqc2lu:79ec90aa66810714ae2bc39c039f8cffb5cb532e origin claude/optimistic-sagan-oqc2lu
  + 79ec90a...47f4ac9 (forced update)

Dependencies

None.

Safety impact

None to logic. Register text only: POWER-RAILS records the SAFE 24 V converter for lift and brake release, DRIVETRAIN records brake ratings, and LIFT records the holding-test release gate. These touch power and brake topics as recorded values, not E-stop, brake, contactor, watchdog, motor-enable or charge-inhibit logic. SAFETY-PROCUREMENT, SAFETY-CHAIN-IO, STOP-SCOPE and everything about precharge and contactors are unchanged. A text scan is not safety evidence.

STATE.md

Added (the repository had none), from rollout/STATE.md.example. It records the register in force, #73 merged as ed98001, the open #74 and the known gaps.

Not verified

  • Safety-path register updates (precharge fitted, K1/K2 decision 2 Nov) left to the electrical owner.
  • The "chest E-stop" retirement in text and ESTOP_CHEST as a signal name until the I8 rename (rev20.2 item 26) are not recorded. They belong to SAFETY-PROCUREMENT, a safety-path record for a human author.
  • SAFETY-PROCUREMENT still cites P-03 rev20.0 item 24 for the second E-stop (unchanged, as on main).
  • Values were entered from the owner's summary of P-03 rev20.2 item 26. The source document and BOM Issue 7.14 were not read; the platform lead confirms them.
  • The source for "Issue 7.11" in supersedes is written as "earlier issue; replaced by Issue 7.14 per P-03-rev20.2 item 26". The revision that made 7.11 canonical is not known here.
  • The new and narrowed patterns were not run against consumer repositories (openamrobot-ui, openamrobot-docs, openamr-platform-*). Existing text there naming MIKROE-4237 or BOM Issue 7.10/7.11 as current, or portrait as the ZX80 default, will be reported once this merges.
  • DCO correction: the earlier version of this description said the commit was signed off as the session identity. That was wrong. The session environment sets the git author and committer to Alex Reznichenko (info@botshare.ai), and git commit -s used that. As instructed, the sign-off now reads Signed-off-by: Alex Reznichenko <info@botshare.ai>, which matches the commit author and committer. An intermediate head (79ec90a) carried alex@botshare.ai and was replaced.
  • No hardware, simulation or physical verification. The register check proves textual consistency only.

AI disclosure

Claude Code (agent session) produced every change in this PR, as instructed by the platform lead:

It ran the commands listed under Evidence. Draft until the work-package owner writes adopt, adapt or reject in this thread.

Contribution terms

  • Every commit is signed off under the DCO.
  • I am covered by an accepted Contributor Agreement.
  • Third-party material is identified with source and licence.
  • No confidential, personal, credential or export-controlled information is included.
  • No partner, customer or private person is named; the application is Use_Case_1.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DZnPEQ6n3s6T414BJWdJ6m

@BotshareAI
BotshareAI force-pushed the claude/optimistic-sagan-oqc2lu branch from 2796d7b to 79ec90a Compare November 1, 2026 02:22
…y rule, tablet mount, EV_ICM-42688-P)

- in_force P-03-rev20.2 / 2026-11-01; sources P-03-rev20.2 and BOM-Issue-7.14
- BOM-ISSUE-IN-FORCE: Issue 7.14; Issue 7.10 and 7.11 retired (pattern and supersedes)
- POWER-RAILS: SAFE 24 V converter MEAN WELL DDR-240B-24 behind F-LIFT 15 A
- BASE-CONTROLLER-GATES, FRAMES-REP105: TDK EV_ICM-42688-P replaces MIKROE-4237;
  MIKROE-4237 presented as current is reported
- DRIVETRAIN: ZLTECH brake data of 18 Oct 2026; LIFT: holding-test release gate
- new COMPONENT-AVAILABILITY (limit) and TABLET-MOUNT (configuration);
  CONFIG-IDS note that the tablet position is not a configuration ID
- CONTRIBUTING.md availability paragraph; WATCHDOG.md table regenerated; STATE.md added
- OPERATOR-PANEL (from #73): rotatable mount, landscape by default with a portrait
  second position; its portrait check now flags only portrait as the default (UI code files)
- tests for every new or changed pattern

Safety-path entries (SAFETY-PROCUREMENT, SAFETY-CHAIN-IO) are unchanged.

Refs #77

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DZnPEQ6n3s6T414BJWdJ6m
Signed-off-by: Alex Reznichenko <info@botshare.ai>
@BotshareAI
BotshareAI force-pushed the claude/optimistic-sagan-oqc2lu branch from 79ec90a to 47f4ac9 Compare November 1, 2026 02:28
@BotshareAI
BotshareAI marked this pull request as ready for review November 1, 2026 02:29
@BotshareAI

Copy link
Copy Markdown
Contributor Author

adopt

@BotshareAI
BotshareAI merged commit 1678735 into main Nov 1, 2026
6 checks passed
@BotshareAI
BotshareAI deleted the claude/optimistic-sagan-oqc2lu branch November 1, 2026 02:30
BotshareAI added a commit that referenced this pull request Nov 1, 2026
decisions.yaml in_force reached P-03-rev20.2 with #73 and #78. The
baseline names the same addendum, E-01 rev1.6, M-01 rev19.7 and BOM
7.14, so register-related issues are not skipped as out of sync. README
status lines updated to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DZnPEN4YoUKzMSoLmaZCAS
Signed-off-by: Alex Reznichenko <info@botshare.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant