# K2Aley GAR-BOT Project Integrity Report

Copyright (c) 2026 K2Aley. GAR-BOT. All rights reserved.

Date: 2026-06-13
Verification time: 15:34 America/New_York

## Status

Result: LOCAL PACKAGE PASS; LIVE HARDWARE AND DNS PENDING.

The active GAR-BOT project files, website package, RP5 AI agent source, RP Zero
2 W Pico Voice transmitter files, water-resistant 3D print package, STL mesh
audit, and release zip inputs were checked on this Windows workstation.

Local source/package integrity passed after removing generated Python caches
and removing the transmitter runtime `picovoice.env` placeholder from the
release package. Only `picovoice.env.example` is shipped.

Live-board verification did not complete in this run because both Raspberry Pi
SSH checks timed out from this PC. The last full live verification remains the
earlier June 10 result, but today it is not counted as a current PASS.

K2Aley.com DNS is not currently passing the Mac mini/home-hosting verifier.
The current WAN IP from this network is `70.160.138.181`, but Bluehost
authoritative DNS is returning `50.6.154.218` for `k2aley.com`.

## Verified Counts

| Area | Result |
| --- | ---: |
| Active `GAR-BOT_Updated` package files | 161 |
| RP Zero 2 W transmitter package files | 10 |
| Website package files | 22 |
| STL files | 38 |
| RP5 AI Python modules | 7 |
| JSON config files parsed | 7 |

Generated Python `__pycache__` folders were removed before rebuilding the zips.

## Local Integrity Checks

| Check | Result |
| --- | --- |
| Required project files present | PASS |
| JSON configs parse successfully | PASS |
| RP5 and transmitter Python modules compile with Python 3.12.1 | PASS |
| Generated `__pycache__` folders removed | PASS |
| No private SSH key material found in package files | PASS |
| Previous setup password literal removed from package files | PASS |
| Transmitter runtime `picovoice.env` removed from package | PASS |
| Picovoice example env file remains present | PASS |
| Website `index.html`, `CNAME`, docs, downloads, and assets present | PASS |

Picovoice access-key files are placeholders only. Full wake-word listening still
requires a real `PICOVOICE_ACCESS_KEY` supplied on the target transmitter and a
Rhino `.rhn` context file.

## Critical Design Checks

| Check | Result |
| --- | --- |
| No stale nested `GAR-BOT_Updated` package folder | PASS |
| RP5 USB plan limited to four USB ports | PASS |
| Pico Voice assigned to 40-pin header, not RP5 USB | PASS |
| FT232RL USB-TTL removed from active RP5 USB/BOM plan | PASS |
| Raspberry Pi 5 Wi-Fi documented for SSH/setup/API use | PASS |
| Raspberry Pi Zero 2 W Wi-Fi documented for SSH/Picovoice/LAN tests | PASS |
| Two claws documented as `Claw Left 1` and `Claw Right 2` | PASS |
| Remote transmitter uses RP Zero 2 W + Pico Voice | PASS |
| Four-wheel drivetrain documented as direct-drive, no chain/sprocket drive | PASS |
| Arduino Pro Mini transmitter board marked removed/reference-only | PASS |
| Redundant 2.4 GHz radio module removed from active/reference BOM plan | PASS |
| No exposed electronics allowed for wet use | PASS |
| 38 STL files present | PASS |
| K2Aley GAR-BOT copyright file present | PASS |
| Reference photos present | PASS |
| RP5 local AI agent files present | PASS |

## STL Mesh Integrity

| Check | Result |
| --- | --- |
| STL files checked | 38 |
| Print-integrity PASS | 38 |
| Review/fail files | 0 |
| Criteria | One connected shell, zero open edges, zero nonmanifold edges |

See `3d_print_parts/STL_MESH_INTEGRITY_AUDIT.md` for per-part results.

OpenSCAD produced a few zero-area/degenerated triangles in three frame files.
These are collinear facets with no visible volume, not floating shells or open
mesh breaks.

## Current Live Device Check

| Device | Address | Current result |
| --- | --- | --- |
| Raspberry Pi 5 | `192.168.0.226` | NOT VERIFIED - SSH timed out |
| Raspberry Pi Zero 2 W transmitter | `192.168.0.161` | NOT VERIFIED - SSH timed out |

One-command live verification remains available:

```powershell
.\outputs\GAR-BOT_Updated\scripts\verify_garbot_lora_pass.ps1
```

Use `-RequireLoRaTransport` when direct LoRa delivery must be mandatory.

## Current K2Aley.com DNS Check

| Check | Current result |
| --- | --- |
| Current WAN IP from this PC | `70.160.138.181` |
| Bluehost authoritative `A k2aley.com` | `50.6.154.218` |
| Bluehost authoritative `www.k2aley.com` | `CNAME k2aley.com`, resolving to `50.6.154.218` |
| Public resolver `8.8.8.8` for root domain | `70.160.138.181` |
| Public resolver `1.1.1.1` for root domain | `50.6.154.218` |
| DNS verifier result | NOT READY / PROPAGATING OR DRIFTED |

For Mac mini/home hosting, the expected records are:

| Type | Host | Points to |
| --- | --- | --- |
| A | @ | `70.160.138.181` |
| A | www | `70.160.138.181` |

Run the DNS verifier again after DNS changes:

```powershell
.\outputs\GAR-BOT_Updated\scripts\verify_k2aley_dns.ps1
```

## Active RP5 USB Plan

| RP5 USB | Device |
| --- | --- |
| USB 1 | Claw Left 1 Keyestudio board |
| USB 2 | Claw Right 2 Keyestudio board |
| USB 3 | 7 inch touchscreen |
| USB 4 | LoRa/radio USB bridge or powered hub if needed |

Pico Voice is on the RP5 40-pin header. FT232RL USB-TTL is not used in the
active RP5 wiring.

## Release Zips

The active release zips are rebuilt from the cleaned package folders:

- `GAR-BOT_Updated.zip`
- `GAR-BOT_Transmitter_RPZero2W_PicoVoice.zip`
- `K2Aley_GAR-BOT_Website.zip`

The zips are copied to `E:\GAR-BOT` when that drive is present. A checksum file
is generated next to the release zips after rebuild.

## Safety State

Keep hardware disabled until:

- GAR-BOT is raised off the ground.
- E-stop and fuse are installed.
- Motor polarity and current limits are checked.
- Claw serial commands are confirmed on the bench.
- All electronics are enclosed for water-resistant use.
