# Build status — 2026-10-15

Four fingers, eight independent tendon pullers; generic adjustable caps and guides, ESP32 local switches and iPhone over Wi-Fi.

## Verified

| Requirement | Evidence | Limit |
|---|---|---|
| Research | Ten source records; four downloaded PDFs with SHA-256 in research/hand-exoskeleton | Three publisher downloads rejected; no invented PDFs. |
| Printable files | Thirteen closed, connected STL meshes, dimensions, manifest, ZIP and triangle-rendered preview | No physical print, fit, durability or skin-pressure test. |
| Assembled model | Animated GLB uses the real printable geometry, four articulated finger proxies and eight motor proxies | Illustrative kinematics; hardware clearances and loaded motion need measurement. |
| Firmware | PlatformIO builds esp32dev and esp32dev-unloaded successfully using Arduino-ESP32 2.0.17 | Not flashed or tested on a board. Images in firmware/releases/esp32-firmware.zip. |
| Control/switches | Shared C++ control/switch tests and five protocol tests | Host logic, not hardware timing or GPIO verification. |
| App build | npm lockfile, TypeScript/Vite production build, Capacitor 8.4.3 iOS project and permission strings | Simulator and physical-iPhone targets pass in CI (source 3b32ef8, Xcode 26.6). Unsigned App.app archive supplied; signing/installation pending. |
| Real browser integration | verification/browser-report.json; Chromium over actual HTTP to the same C++ core, including two simultaneous touch directions, release, rest and stop | Desktop Chromium with mobile viewport, not iOS Safari/WebView. |
| Vision assets | Bundled model/WASM, recorded hashes, model integrity pin; real MediaPipe inference on synthetic no-hand camera stream | No real hand video or iPhone camera test. No-hand capture is rejected. Camera estimates movement, not force. |
| Mechanics simulation | simulation/report.json and traces | Synthetic spring/slack model, not stroke resistance or real electronics. |
| 3D explanation | 32-second finite WAAPI composition passes HyperFrames check: runtime, layout and all 85 contrast checks; snapshots in verification/ | Browser animation delivered; no MP4 export claimed. |
| Website | Hand Lab download hub and interactive model viewer implemented; exact asset hashes checked | GitHub push and Worker deployment succeeded; live mobile page and four main download hashes verified. Native iOS compile now passes after matching its generated template to Capacitor 8.4.3. |

## Remaining physical / device work

1. Sign the generated iOS target and run on an iPhone (hosted simulator/device compilation passes). Test local-network permissions, native HTTP to the ESP32 and real camera calibration.
2. Flash an ESP32 DevKit/WROOM-32, test the NC stop and physical switches without a phone, and verify timing, watchdog and release behavior with detached tendons.
3. Print the fit coupon, measure the actual servos/horns and test caps/rings on a mechanical finger fixture. Generic sizing is adjustable, not universal.
4. Add and calibrate eight load sensors / two ADS1115 boards before normal tension mode. The unloaded image is for detached bench testing only.
5. Verify printed strength, tendon travel, retention and measured release before any worn evaluation. No patient-safe force has been established.

Full access restored npm/GitHub/local listening and standalone Chromium. The Codex browser connector still reports a metadata error; visual checks use standalone Chromium. Xcode and a physical ESP32/iPhone are not present here. Prior DNS failures are historical, not a current internet blocker.

Native build evidence: [CI run](https://github.com/vasanthsreeram/BG4122-mdd-project/actions/runs/38716666110), verification/native-builds.json and builds/ios/manifest.json. Both iOS build commands report BUILD SUCCEEDED; the unsigned archive contains the expected bundle identifier and permission strings.
