131 lines
5.0 KiB
Markdown
131 lines
5.0 KiB
Markdown
---
|
||
pageType: source
|
||
id: source.2026-04-27
|
||
title: 2026-04-27
|
||
sourceType: local-file
|
||
sourcePath: /home/topher/.openclaw/workspace-2890-bot/memory/2026-04-27.md
|
||
ingestedAt: 2026-05-02T21:39:37.713Z
|
||
updatedAt: 2026-05-02T21:39:37.713Z
|
||
status: active
|
||
---
|
||
|
||
# 2026-04-27
|
||
|
||
## Source
|
||
- Type: `local-file`
|
||
- Path: `/home/topher/.openclaw/workspace-2890-bot/memory/2026-04-27.md`
|
||
- Bytes: 4537
|
||
- Updated: 2026-05-02T21:39:37.713Z
|
||
|
||
## Content
|
||
```text
|
||
# 2026-04-27
|
||
|
||
## Kanban Board — LIVE
|
||
- **Files:** `kanban-server.js`, `board.html`, `board.json`
|
||
- **Run:** `node kanban-server.js` (from workspace-2890-bot dir)
|
||
- **URL:** `http://localhost:8080/board` (or `http://<machine-ip>:8080/board`)
|
||
- **Lanes:** Backlog / In Progress / Review / Done
|
||
- **Drag-and-drop** updates board.json live
|
||
- **Next:** wire Discord commands (!task add, !task move, !task done)
|
||
|
||
## Riley Meyer (2008–2026) 🐏🧟
|
||
- Technician (2026), former driver, RE enthusiast
|
||
- Discord: rileythesheep / preferred bot nickname: "Claw"
|
||
- Passed away April 2026 — heavy loss for team
|
||
- No photos per Riley's request
|
||
- Former driver who "hit something every match" — became team legend
|
||
|
||
## Walt McCorkill
|
||
- Head Mentor, "Bumper King" 🛡️
|
||
- Makes "pretty looking, semi-functional bumpers that last until Riley hits things"
|
||
- Still active
|
||
|
||
## Qdrant Vector DB — 2890 Collection
|
||
- Host: 100.91.1.57:6333
|
||
- Collection: 2890 (768-dim, cosine similarity)
|
||
- 146 chunks ingested from docs/ + memory/
|
||
- Connection confirmed healthy
|
||
|
||
## Files Restored from Pi (2026-04-16)
|
||
- memory/ — 40 daily files (March 13 → April 9)
|
||
- self-improving/
|
||
- skills/
|
||
- backup-20260315-080834/
|
||
- Missing: team-members.md, frc-alliance-selection-rules.md
|
||
|
||
## Bot Identity
|
||
- 2890-bot DM side = this agent
|
||
- 2890-chat-bot = Discord group bot (separate agent, needs vector DB config)
|
||
- 2890-chat-bot should ONLY read from 2890 collection — deny access to brewery/crash-lab
|
||
|
||
## Port Conflicts / System Notes
|
||
- Port 80 conflict resolved (Duck DNS vs FRC login page — page archived)
|
||
- New machine is Intel-based (not Pi), migrated 2026-04-09
|
||
- Docker on new machine — careful with port allocations
|
||
- Python pip unavailable on current machine — use Node.js for web servers
|
||
|
||
## Kanban Board — COMPLETED TODAY
|
||
- **Discord commands wired:** !task add/move/done/list/show, !board summary, !standup start/status/close
|
||
- **Scripts:** `scripts/task-handler.js`, `scripts/standup-handler.js`, `scripts/kanban-server.js`
|
||
- **Skill:** `skills/tasks-channel/SKILL.md` — bot coaching behavior
|
||
- **Team guide:** `docs/tasks-channel-guide.md`
|
||
- **Setup guide:** `docs/tasks-channel-setup.md`
|
||
- **Tag prefix changed:** # → $ (Discord autocomplete conflict, fixed)
|
||
- **#tasks channel:** routed to 2890-bot via openclaw.json (no @mention required)
|
||
- **Web board:** `http://2890.duckdns.org/board` — reverse proxy via CasaOS routes.json
|
||
- **CasaOS routes file:** `/run/casaos/routes.json` — board route added manually
|
||
- **board.json:** live at workspace-2890-bot/board.json, 12 sample tasks across 4 lanes
|
||
- **Rollback:** openclaw.json backed up to openclaw.json.bak-2026-04-27 before changes
|
||
|
||
## OpenClaw Config (openclaw.json)
|
||
- Server ID: 266074632056995840
|
||
- Guild channels: #tasks (requireMention: false, allow: true)
|
||
- Discord commands: `commands.native=true` for slash commands
|
||
|
||
|
||
## Evening Additions (2026-04-27 Evening)
|
||
|
||
### Kanban Board — Drag & Archive UX
|
||
- **Archive drop zone** added to right of Done lane — web board only, no Discord needed
|
||
- **Optimistic drag** — instant DOM update on drag, background API call
|
||
- **Board now caches state** — no redundant re-fetches, fast 30s auto-refresh
|
||
- **Archive zone fix** — slim vertical strip (60px), drag-over highlights yellow
|
||
- **dragover/dragleave handlers** fixed — only `.lane-body` had listeners, `.archive-body` missing
|
||
- **CSS alignment** — archive zone stretches to lane height via `align-items: stretch`
|
||
- Archive API: `PUT /api/tasks/:id/archive` added to kanban-server.js
|
||
|
||
### task-handler.js — Archive Commands Added
|
||
- `!task archive <id>` — archive one task
|
||
- `!task archive done` — archive all Done tasks
|
||
- `!task archive --days=7` — archive Done tasks older than N days
|
||
- `!task archived` — list all archived tasks
|
||
- `!task restore <id>` — restore task to Backlog
|
||
- board.archived[] stores archived tasks with timestamp
|
||
- Default archive to 7-day safety (was missing — would archive ALL done tasks)
|
||
- `$tag` prefix active (was `#tag`)
|
||
- `@mention` auto-detected as assignee, resolves to Discord ping format
|
||
|
||
### discord-users.json
|
||
- Mr.Slater: 266336985692635139
|
||
- Mr. Douglas: 474411386005487616
|
||
|
||
### board.html Fix
|
||
- Missing `(async () => { loadBoard(); renderBoard(); })()` init block — tasks weren't loading on page open
|
||
- Added back init block
|
||
|
||
### Known Issues
|
||
- Write tool failures on board.html — worked around with targeted line edits
|
||
- CasaOS routes.json — static file, survives reboots but full CasaOS reset requires re-add
|
||
|
||
```
|
||
|
||
## Notes
|
||
<!-- openclaw:human:start -->
|
||
<!-- openclaw:human:end -->
|
||
|
||
## Related
|
||
<!-- openclaw:wiki:related:start -->
|
||
- No related pages yet.
|
||
<!-- openclaw:wiki:related:end -->
|