Commit Graph

23 Commits

Author SHA1 Message Date
robotica4us-collab 941612ab2d fix(issue-6): prevent A* diagonal corner-cutting through blocked cells (#19)
* fix(issue-6): prevent A* diagonal corner-cutting through blocked cells

The A* neighbor loop previously checked only whether the destination cell
was free. For diagonal moves this allows agents to clip through the corner
of a blocked cell — the two orthogonal neighbours (e.g. N and E for a NE
move) were never validated.

Fix: after confirming the diagonal destination is free, additionally check
both orthogonal intermediary cells. If either is blocked, the diagonal
expansion is skipped and the agent must route around the obstacle.

Adds three unit tests covering:
- a path that would clip a single corner (rejected after fix)
- a path through open space (diagonals still used freely)
- a path around a multi-cell wall segment (no cells in the wall visited)

* chore: remove unused imports from diagonal corner test (lint cleanup)

* test(navigation): add expanded diagonal corner-cutting tests (issue #6)

Additional tests for astar diagonal corner-cutting prevention:
- All 4 diagonal directions (NE, NW, SE, SW): block orthogonal neighbour,
  verify path avoids the blocked cell in each direction
- Both orthogonal sides blocked: verify no diagonal move is taken from start
- L-shaped wall: verify agent navigates around entire L without clipping any segment
- Dense grid stress test: maze-like layout verifying valid path found and no
  waypoint lands on a blocked cell

---------

Co-authored-by: Neo (subagent) <neo@openclaw.local>
2026-03-21 16:04:15 -05:00
Nix 533bcd9b3f fix(security): enforce access gate on all routes, not just /api/ (#42)
Co-authored-by: ThankNIXlater <267577058+ThankNIXlater@users.noreply.github.com>
2026-03-21 15:52:20 -05:00
Luke The Dev 6b5895dcfe Feature/avatar customization (#25)
* Avatar Customization + Update Agent Brain

* Bugfixes

---------

Co-authored-by: iamlukethedev <iamlukethedev@users.noreply.github.com>
2026-03-20 23:17:30 -05:00
Luke The Dev 65c2b9cf85 Avatar Customization + Update Agent Brain (#23)
Co-authored-by: iamlukethedev <iamlukethedev@users.noreply.github.com>
2026-03-20 23:05:14 -05:00
Tony Simons a5b0895dd8 Fix WS auth + gym release directive TypeScript error (#16)
* Fix WS auth: wire accessGate.allowUpgrade via verifyClient

The allowWs callback was never actually calling accessGate.allowUpgrade
during the WS handshake - the ws library passes (info) not (req), and
verifyClient must be set on the WebSocketServer constructor options.

Fix: pass verifyClient to WebSocketServer constructor and wrap
allowUpgrade to extract info.req.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix TypeScript error and add gym release directive support

Add "release" value to OfficeGymDirective type for symmetry with
OfficeQaDirective ("qa_lab" | "release"). Previously OfficeGymDirective
was only "gym" with no release state, making the "!== 'release'"
check in eventTriggers.ts dead code that TypeScript flagged as an
unintentional comparison.

Changes:
- deskDirectives.ts: add "release" to OfficeGymDirective type
- deskDirectives.ts: add gym release patterns to skill and command
  directive resolvers (e.g. "leave the gym", "done with skills")
- eventTriggers.ts: change !== "release" to === "gym" for clarity
  and consistency with reduceOfficeGymHoldState pattern

This fixes: https://github.com/iamlukethedev/Claw3D/issues/15

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 23:00:58 -05:00
Tony Simons 3572499f5d docs: add .env.example for local development setup (#14)
Co-authored-by: Ozzy Clawsbourne <ozzy@openclaw.ai>
2026-03-20 00:22:38 -05:00
Luke The Dev 4fa4f13558 First Release of Claw3D (#11)
Co-authored-by: iamlukethedev <iamlukethedev@users.noreply.github.com>
2026-03-19 23:14:04 -05:00
Luke The Dev 5ea96b2650 Create CHANGELOG.md 2026-03-18 04:43:18 +00:00
Luke The Dev d4e4349dc0 Create CONTRIBUTING.md 2026-03-17 23:42:14 -05:00
Luke The Dev fc283406de Create ROADMAP.md 2026-03-17 23:40:51 -05:00
Luke The Dev 02a43199c1 Create SUPPORT.md 2026-03-17 23:40:08 -05:00
Luke The Dev b40ad44407 Create ARCHITECTURE.md 2026-03-17 23:38:53 -05:00
Luke The Dev 8c382cb362 Create CODE_OF_CONDUCT.MD 2026-03-17 23:37:48 -05:00
Luke The Dev 0520194216 Create LICENSE 2026-03-17 23:37:20 -05:00
Luke The Dev 19ba8618e2 Create SECURITY.md 2026-03-17 23:36:50 -05:00
Luke The Dev 4dd04eabbe Create VISION.md 2026-03-17 23:36:19 -05:00
Luke The Dev 1b9b97ff94 Create README.md 2026-03-17 23:35:36 -05:00
Luke The Dev 6e51d5c497 Create CODEOWNERS 2026-03-16 16:16:30 -05:00
Luke The Dev 31adda95b4 Create SECURITY.md 2026-03-16 16:15:46 -05:00
Luke The Dev ac07114883 Create FUNDING.yml 2026-03-16 15:47:34 -05:00
Luke The Dev a244895e8f Update config.yml 2026-03-16 15:37:46 -05:00
Luke The Dev c245925e9d Create config.yml 2026-03-16 15:36:57 -05:00
Luke The Dev cbeea9fb5e Update issue templates 2026-03-16 15:27:18 -05:00