Signed-off-by: OpenClaw Bot <ai-agent@topdoglabs.com>
This commit is contained in:
parent
2cec30022e
commit
45a05c6c8d
4
BRAIN.md
4
BRAIN.md
@ -192,8 +192,8 @@ Examples: mission_control_documents, blog_messages, heartbeat_status
|
|||||||
|
|
||||||
*Frequently accessed resources.*
|
*Frequently accessed resources.*
|
||||||
|
|
||||||
- Mission Control: https://mission-control-rho-pink.vercel.app/
|
- Mission Control: https://mission-control.twisteddevices.com/
|
||||||
- Gantt Board: https://gantt-board.vercel.app
|
- Gantt Board: https://gantt-board.twisteddevices.com
|
||||||
- Gitea: http://192.168.1.128:3000
|
- Gitea: http://192.168.1.128:3000
|
||||||
- Supabase Dashboard: https://qnatchrjlpehiijwtreh.supabase.co
|
- Supabase Dashboard: https://qnatchrjlpehiijwtreh.supabase.co
|
||||||
|
|
||||||
|
|||||||
@ -22,9 +22,9 @@
|
|||||||
|
|
||||||
| App | URL | Table Prefix | Example Tables | Notes |
|
| App | URL | Table Prefix | Example Tables | Notes |
|
||||||
|-----|-----|--------------|----------------|-------|
|
|-----|-----|--------------|----------------|-------|
|
||||||
| **Gantt Board** | https://gantt-board.vercel.app | *(none - legacy)* | `tasks`, `projects`, `sprints`, `users` | **First app** - created before naming convention. Tables have no prefixes. |
|
| **Gantt Board** | https://gantt-board.twisteddevices.com | *(none - legacy)* | `tasks`, `projects`, `sprints`, `users` | **First app** - created before naming convention. Tables have no prefixes. |
|
||||||
| **Blog Backup** | https://blog-backup-two.vercel.app | `blog_` | `blog_messages`, `blog_tags` | Uses prefix convention ✅ |
|
| **Blog Backup** | https://blog.twisteddevices.com | `blog_` | `blog_messages`, `blog_tags` | Uses prefix convention ✅ |
|
||||||
| **Mission Control** | https://mission-control-rho-pink.vercel.app | `mission_control_` | `mission_control_documents`, `mission_control_folders` | Uses prefix convention ✅ |
|
| **Mission Control** | https://mission-control.twisteddevices.com | `mission_control_` | `mission_control_documents`, `mission_control_folders` | Uses prefix convention ✅ |
|
||||||
| **Heartbeat Monitor** | http://localhost:3005 | `heartbeat_` | `heartbeat_status`, `heartbeat_logs` | Uses prefix convention ✅ |
|
| **Heartbeat Monitor** | http://localhost:3005 | `heartbeat_` | `heartbeat_status`, `heartbeat_logs` | Uses prefix convention ✅ |
|
||||||
|
|
||||||
### Legacy Tables (No Prefix)
|
### Legacy Tables (No Prefix)
|
||||||
|
|||||||
@ -34,7 +34,7 @@ Only check 1-2 items per heartbeat to stay under 3s:
|
|||||||
## Check Procedures (<30s each)
|
## Check Procedures (<30s each)
|
||||||
|
|
||||||
### Mission Control Scan (30s max)
|
### Mission Control Scan (30s max)
|
||||||
1. Open http://localhost:3001 or https://mission-control-rho-pink.vercel.app
|
1. Open http://localhost:3001 or https://mission-control.twisteddevices.com
|
||||||
2. Check: Overdue tasks, upcoming deadlines, blocked items
|
2. Check: Overdue tasks, upcoming deadlines, blocked items
|
||||||
3. If found → Log to `memory/YYYY-MM-DD.md` with action needed
|
3. If found → Log to `memory/YYYY-MM-DD.md` with action needed
|
||||||
4. Update state: `"missionControl": [timestamp]`
|
4. Update state: `"missionControl": [timestamp]`
|
||||||
|
|||||||
@ -37,9 +37,9 @@
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Active Projects (from TOOLS.md)
|
### Active Projects (from TOOLS.md)
|
||||||
- **Gantt Board:** https://gantt-board.vercel.app (port 3000)
|
- **Gantt Board:** https://gantt-board.twisteddevices.com (port 3000)
|
||||||
- **Blog Backup:** https://blog-backup-two.vercel.app (port 3002)
|
- **Blog Backup:** https://blog.twisteddevices.com (port 3002)
|
||||||
- **Mission Control:** https://mission-control-rho-pink.vercel.app/ (port 3001)
|
- **Mission Control:** https://mission-control.twisteddevices.com/ (port 3001)
|
||||||
- **Heartbeat Monitor:** port 3005
|
- **Heartbeat Monitor:** port 3005
|
||||||
|
|
||||||
### Credentials
|
### Credentials
|
||||||
|
|||||||
16
TOOLS.md
16
TOOLS.md
@ -69,8 +69,8 @@ git push origin main
|
|||||||
|
|
||||||
## Blog Backup
|
## Blog Backup
|
||||||
- **Location:** /Users/mattbruce/Documents/Projects/OpenClaw/Web/blog-backup
|
- **Location:** /Users/mattbruce/Documents/Projects/OpenClaw/Web/blog-backup
|
||||||
- **Live URL:** https://blog-backup-two.vercel.app
|
- **Live URL:** https://blog.twisteddevices.com
|
||||||
- **API:** https://blog-backup-two.vercel.app/api
|
- **API:** https://blog.twisteddevices.com/api
|
||||||
- **Local Dev:** http://localhost:3002
|
- **Local Dev:** http://localhost:3002
|
||||||
- **Stack:** Next.js + Supabase + Vercel
|
- **Stack:** Next.js + Supabase + Vercel
|
||||||
- **Deploy:** `npm run build && vercel --prod` (no GitHub, CLI only)
|
- **Deploy:** `npm run build && vercel --prod` (no GitHub, CLI only)
|
||||||
@ -118,7 +118,7 @@ cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/blog-backup
|
|||||||
```bash
|
```bash
|
||||||
source ~/.agents/skills/blog-backup/lib/blog.sh
|
source ~/.agents/skills/blog-backup/lib/blog.sh
|
||||||
export BLOG_MACHINE_TOKEN="daily-digest-2026-secure-key"
|
export BLOG_MACHINE_TOKEN="daily-digest-2026-secure-key"
|
||||||
export BLOG_API_URL="https://blog-backup-two.vercel.app/api"
|
export BLOG_API_URL="https://blog.twisteddevices.com/api"
|
||||||
|
|
||||||
# Create a digest
|
# Create a digest
|
||||||
DIGEST_ID=$(blog_post_create \
|
DIGEST_ID=$(blog_post_create \
|
||||||
@ -138,16 +138,16 @@ blog_post_search "OpenClaw"
|
|||||||
|
|
||||||
## Mission Control
|
## Mission Control
|
||||||
- **Location:** /Users/mattbruce/Documents/Projects/OpenClaw/Web/mission-control
|
- **Location:** /Users/mattbruce/Documents/Projects/OpenClaw/Web/mission-control
|
||||||
- **Live URL:** https://mission-control-rho-pink.vercel.app/
|
- **Live URL:** https://mission-control.twisteddevices.com/
|
||||||
- **API:** https://mission-control-rho-pink.vercel.app/api
|
- **API:** https://mission-control.twisteddevices.com/api
|
||||||
- **Local Dev:** http://localhost:3001
|
- **Local Dev:** http://localhost:3001
|
||||||
- **Stack:** Next.js + Vercel
|
- **Stack:** Next.js + Vercel
|
||||||
- **Deploy:** `npm run build && vercel --prod` (no GitHub, CLI only)
|
- **Deploy:** `npm run build && vercel --prod` (no GitHub, CLI only)
|
||||||
|
|
||||||
## Gantt Board
|
## Gantt Board
|
||||||
- **Location:** /Users/mattbruce/Documents/Projects/OpenClaw/Web/gantt-board
|
- **Location:** /Users/mattbruce/Documents/Projects/OpenClaw/Web/gantt-board
|
||||||
- **Live URL:** https://gantt-board.vercel.app
|
- **Live URL:** https://gantt-board.twisteddevices.com
|
||||||
- **API:** https://gantt-board.vercel.app/api
|
- **API:** https://gantt-board.twisteddevices.com/api
|
||||||
- **Login:** mbruce+max@topdoglabs.com / !7883Gantt
|
- **Login:** mbruce+max@topdoglabs.com / !7883Gantt
|
||||||
- **Local Dev:** http://localhost:3000
|
- **Local Dev:** http://localhost:3000
|
||||||
- **Stack:** Next.js + Supabase + Vercel
|
- **Stack:** Next.js + Supabase + Vercel
|
||||||
@ -420,7 +420,7 @@ cd ~/.openclaw/workspace && ./tavily-search.sh "query" --deep
|
|||||||
## Daily Digest
|
## Daily Digest
|
||||||
|
|
||||||
**Schedule:** Every day at 7am CST (America/Chicago)
|
**Schedule:** Every day at 7am CST (America/Chicago)
|
||||||
**Posted to:** https://blog-backup-two.vercel.app
|
**Posted to:** https://blog.twisteddevices.com
|
||||||
**API Key:** `daily-digest-2026-secure-key`
|
**API Key:** `daily-digest-2026-secure-key`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@ -26,7 +26,7 @@ You are **Heartbeat-Monitor**, a lightweight automation agent designed to run pr
|
|||||||
## Heartbeat Checks (Rotate Through These)
|
## Heartbeat Checks (Rotate Through These)
|
||||||
|
|
||||||
### Mission Control (30s max)
|
### Mission Control (30s max)
|
||||||
- Open http://localhost:3001 or https://mission-control-rho-pink.vercel.app
|
- Open http://localhost:3001 or https://mission-control.twisteddevices.com
|
||||||
- Check: Overdue tasks, upcoming deadlines, blocked items
|
- Check: Overdue tasks, upcoming deadlines, blocked items
|
||||||
- If found → Log to memory/YYYY-MM-DD.md
|
- If found → Log to memory/YYYY-MM-DD.md
|
||||||
- Update state: `"missionControl": [timestamp]`
|
- Update state: `"missionControl": [timestamp]`
|
||||||
|
|||||||
@ -42,7 +42,7 @@ const sprintTasks = tasks
|
|||||||
## Deployment Status
|
## Deployment Status
|
||||||
|
|
||||||
✅ **Deployed to Production**
|
✅ **Deployed to Production**
|
||||||
- URL: https://gantt-board.vercel.app
|
- URL: https://gantt-board.twisteddevices.com
|
||||||
- Commit: 418bf7a
|
- Commit: 418bf7a
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|||||||
@ -12,9 +12,9 @@ Spawned 3 subagents to tackle open gantt board tasks:
|
|||||||
- **Key finding:** Top 10 MRR opportunities identified, best starting points are Habit Tracker, Pet Health Tracker, Focus App (lowest complexity)
|
- **Key finding:** Top 10 MRR opportunities identified, best starting points are Habit Tracker, Pet Health Tracker, Focus App (lowest complexity)
|
||||||
|
|
||||||
### ✅ COMPLETED: Task Search Feature
|
### ✅ COMPLETED: Task Search Feature
|
||||||
- **Task:** https://gantt-board.vercel.app/tasks/66f1146e-41c4-4b03-a292-9358b7f9bedb
|
- **Task:** https://gantt-board.twisteddevices.com/tasks/66f1146e-41c4-4b03-a292-9358b7f9bedb
|
||||||
- **Runtime:** 3m53s
|
- **Runtime:** 3m53s
|
||||||
- **Deployed:** https://gantt-board.vercel.app
|
- **Deployed:** https://gantt-board.twisteddevices.com
|
||||||
- **Changes:**
|
- **Changes:**
|
||||||
- Added search input to header (desktop + mobile)
|
- Added search input to header (desktop + mobile)
|
||||||
- Filters by title and description (case-insensitive)
|
- Filters by title and description (case-insensitive)
|
||||||
@ -28,9 +28,9 @@ Spawned 3 subagents to tackle open gantt board tasks:
|
|||||||
- `src/components/BacklogView.tsx`
|
- `src/components/BacklogView.tsx`
|
||||||
|
|
||||||
### ✅ COMPLETED: Task Save Feedback Fix
|
### ✅ COMPLETED: Task Save Feedback Fix
|
||||||
- **Task:** https://gantt-board.vercel.app/tasks/0da220bc-eb6b-4be1-846a-c2c801def427
|
- **Task:** https://gantt-board.twisteddevices.com/tasks/0da220bc-eb6b-4be1-846a-c2c801def427
|
||||||
- **Runtime:** 4m55s
|
- **Runtime:** 4m55s
|
||||||
- **Deployed:** https://gantt-board.vercel.app
|
- **Deployed:** https://gantt-board.twisteddevices.com
|
||||||
- **Changes:**
|
- **Changes:**
|
||||||
- Added `sonner` toast library
|
- Added `sonner` toast library
|
||||||
- Save button shows spinner → green "Saved!" (2s) → toast confirmation
|
- Save button shows spinner → green "Saved!" (2s) → toast confirmation
|
||||||
@ -47,9 +47,9 @@ Spawned 3 subagents to tackle open gantt board tasks:
|
|||||||
|
|
||||||
| Task | Link | Status |
|
| Task | Link | Status |
|
||||||
|------|------|--------|
|
|------|------|--------|
|
||||||
| Save feedback fix | https://gantt-board.vercel.app/tasks/0da220bc-eb6b-4be1-846a-c2c801def427 | ✅ Done |
|
| Save feedback fix | https://gantt-board.twisteddevices.com/tasks/0da220bc-eb6b-4be1-846a-c2c801def427 | ✅ Done |
|
||||||
| Task search feature | https://gantt-board.vercel.app/tasks/66f1146e-41c4-4b03-a292-9358b7f9bedb | ✅ Done |
|
| Task search feature | https://gantt-board.twisteddevices.com/tasks/66f1146e-41c4-4b03-a292-9358b7f9bedb | ✅ Done |
|
||||||
| iOS MRR research | https://gantt-board.vercel.app/tasks/33ebc71e-7d40-456c-8f98-bb3578d2bb2b | ❌ Pending attachment |
|
| iOS MRR research | https://gantt-board.twisteddevices.com/tasks/33ebc71e-7d40-456c-8f98-bb3578d2bb2b | ❌ Pending attachment |
|
||||||
|
|
||||||
## Supabase Migration — COMPLETE
|
## Supabase Migration — COMPLETE
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ Spawned 3 subagents to tackle open gantt board tasks:
|
|||||||
```
|
```
|
||||||
RESEND_API_KEY=re_PJsKiveZ_3h8qbvWP4esU5tEV8YG8257y
|
RESEND_API_KEY=re_PJsKiveZ_3h8qbvWP4esU5tEV8YG8257y
|
||||||
EMAIL_FROM=no-reply@topdoglaps.com
|
EMAIL_FROM=no-reply@topdoglaps.com
|
||||||
NEXT_PUBLIC_APP_URL=https://gantt-board.vercel.app
|
NEXT_PUBLIC_APP_URL=https://gantt-board.twisteddevices.com
|
||||||
NEXT_PUBLIC_SUPABASE_URL=https://qnatchrjlpehiijwtreh.supabase.co
|
NEXT_PUBLIC_SUPABASE_URL=https://qnatchrjlpehiijwtreh.supabase.co
|
||||||
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFuYXRjaHJqbHBlaGlpand0cmVoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE2NDA0MzYsImV4cCI6MjA4NzIxNjQzNn0.47XOMrQBzcQEh71phQflPoO4v79Jk3rft7BC72KHDvA
|
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFuYXRjaHJqbHBlaGlpand0cmVoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE2NDA0MzYsImV4cCI6MjA4NzIxNjQzNn0.47XOMrQBzcQEh71phQflPoO4v79Jk3rft7BC72KHDvA
|
||||||
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFuYXRjaHJqbHBlaGlpand0cmVoIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc3MTY0MDQzNiwiZXhwIjoyMDg3MjE2NDM2fQ.rHoc3NfL59S4lejU4-ArSzox1krQkQG-TnfXb6sslm0
|
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFuYXRjaHJqbHBlaGlpand0cmVoIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc3MTY0MDQzNiwiZXhwIjoyMDg3MjE2NDM2fQ.rHoc3NfL59S4lejU4-ArSzox1krQkQG-TnfXb6sslm0
|
||||||
@ -107,7 +107,7 @@ vercel --prod
|
|||||||
- Environment variables already in Vercel project
|
- Environment variables already in Vercel project
|
||||||
|
|
||||||
### Live Deployment
|
### Live Deployment
|
||||||
- **URL:** https://gantt-board.vercel.app
|
- **URL:** https://gantt-board.twisteddevices.com
|
||||||
- **Login:** mbruce+max@topdoglabs.com / !7883Gantt
|
- **Login:** mbruce+max@topdoglabs.com / !7883Gantt
|
||||||
- **Status:** Deployed and working with Supabase
|
- **Status:** Deployed and working with Supabase
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@
|
|||||||
- Proper scrollbar styling for dark theme
|
- Proper scrollbar styling for dark theme
|
||||||
|
|
||||||
**Build Status:** ✓ Successful
|
**Build Status:** ✓ Successful
|
||||||
**Deploy Status:** ✓ Live at https://mission-control-rho-pink.vercel.app
|
**Deploy Status:** ✓ Live at https://mission-control.twisteddevices.com
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -63,7 +63,7 @@
|
|||||||
- Fixed TypeScript errors
|
- Fixed TypeScript errors
|
||||||
- Removed unused imports
|
- Removed unused imports
|
||||||
- Built successfully
|
- Built successfully
|
||||||
- Deployed to production: https://gantt-board.vercel.app
|
- Deployed to production: https://gantt-board.twisteddevices.com
|
||||||
|
|
||||||
**Technical details:**
|
**Technical details:**
|
||||||
- Used existing API routes (`/api/projects`, `/api/projects/[id]`)
|
- Used existing API routes (`/api/projects`, `/api/projects/[id]`)
|
||||||
@ -77,5 +77,5 @@
|
|||||||
- `/projects/[id]` - Project detail view with drag & drop
|
- `/projects/[id]` - Project detail view with drag & drop
|
||||||
|
|
||||||
**Deployment:**
|
**Deployment:**
|
||||||
- Live at https://gantt-board.vercel.app
|
- Live at https://gantt-board.twisteddevices.com
|
||||||
|
|
||||||
|
|||||||
@ -63,7 +63,7 @@ assistant: **✅ WORKFLOW COMPLETE!** Let me verify the task:
|
|||||||
assistant: **✅ FULL WORKFLOW TEST COMPLETE AND VERIFIED!**
|
assistant: **✅ FULL WORKFLOW TEST COMPLETE AND VERIFIED!**
|
||||||
|
|
||||||
**Task:** `6987a6c7-0eeb-4de5-af81-c4eb19adf1c6`
|
**Task:** `6987a6c7-0eeb-4de5-af81-c4eb19adf1c6`
|
||||||
**URL:** https://gantt-board.vercel.app/tasks/6987a6c7-0eeb-4de5-af81-c4eb19adf1c6
|
**URL:** https://gantt-board.twisteddevices.com/tasks/6987a6c7-0eeb-4de5-af81-c4eb19adf1c6
|
||||||
|
|
||||||
**Verification:**
|
**Verification:**
|
||||||
- ✅ Title: "Research: skills-best-practices (GitHub)"
|
- ✅ Title: "Research: skills-best-practices (GitHub)"
|
||||||
@ -101,7 +101,7 @@ assistant: **✅ WORKFLOW COMPLETE!** Let me verify the task:
|
|||||||
assistant: **✅ FULL WORKFLOW TEST COMPLETE AND VERIFIED!**
|
assistant: **✅ FULL WORKFLOW TEST COMPLETE AND VERIFIED!**
|
||||||
|
|
||||||
**Task:** `6987a6c7-0eeb-4de5-af81-c4eb19adf1c6`
|
**Task:** `6987a6c7-0eeb-4de5-af81-c4eb19adf1c6`
|
||||||
**URL:** https://gantt-board.vercel.app/tasks/6987a6c7-0eeb-4de5-af81-c4eb19adf1c6
|
**URL:** https://gantt-board.twisteddevices.com/tasks/6987a6c7-0eeb-4de5-af81-c4eb19adf1c6
|
||||||
|
|
||||||
**Verification:**
|
**Verification:**
|
||||||
- ✅ Title: "Research: skills-best-practices (GitHub)"
|
- ✅ Title: "Research: skills-best-practices (GitHub)"
|
||||||
|
|||||||
@ -47,7 +47,7 @@ Result:
|
|||||||
|
|
||||||
### Task: Nine Meta-Learning Loops for Your OpenClaw Agent
|
### Task: Nine Meta-Learning Loops for Your OpenClaw Agent
|
||||||
|
|
||||||
**Task URL:** https://gantt-board.vercel.app (Task ID: e4a66d1e-9f6f-4b81-9947-ffba188bd600)
|
**Task URL:** https://gantt-board.twisteddevices.com (Task ID: e4a66d1e-9f6f-4b81-9947-ffba188bd600)
|
||||||
**Source URL:** https://x.com/AtlasForgeAI/status/2026380335249002843
|
**Source URL:** https://x.com/AtlasForgeAI/status/2026380335249002843
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@ -1,10 +1,38 @@
|
|||||||
[[HEARTBEAT LOG - 2026-02-27]]
|
## 2026-02-27 - Heartbeat Check (3:28 PM CST)
|
||||||
|
|
||||||
**Requested:** Run heartbeat checks (Mission Control/Email/Calendar/Git)
|
**Check 1 - Mission Control**: API auth required (local). Last accessible: N/A. Skip.
|
||||||
**Decided:** Skip checks - last run was 0 seconds ago (within 4h window)
|
**Check 2 - Email**: Last checked 4h ago. No new urgent items. Skip.
|
||||||
**Done:** No new checks performed, no alerts triggered
|
**Check 3 - Calendar**: Next event 2026-03-01 (3 days out). Nothing urgent in 24h. ✅
|
||||||
**Follow-up:** Next check will be after 4h window (automatic)
|
**Check 4 - Git**: Workspace clean. No uncommitted changes. ✅
|
||||||
|
**Check 5 - Memory Maintenance**: Nothing significant to promote. ✅
|
||||||
|
|
||||||
---
|
**Summary**: All systems green. No action needed.
|
||||||
|
|
||||||
No actionable alerts detected during this heartbeat cycle. All systems appear stable.
|
## Heartbeat Check - Feb 27, 4:28 PM CST
|
||||||
|
|
||||||
|
**Mission Control**: v3.3.0, stable
|
||||||
|
**Email**: 287 unread, no urgent messages
|
||||||
|
**Calendar**: NWW at Cowboy Club today (6:30pm)
|
||||||
|
**Git workspace**: clean
|
||||||
|
**Gantt Board API**: responsive
|
||||||
|
|
||||||
|
All systems nominal. No action required.
|
||||||
|
|
||||||
|
## 2026-02-27 - URL Migration Update
|
||||||
|
|
||||||
|
### What was requested (1 sentence)
|
||||||
|
Replace old Vercel hostnames with new `twisteddevices.com` hostnames across the OpenClaw workspace, including terminal-exported URLs and Markdown docs.
|
||||||
|
|
||||||
|
### What was decided (if applicable)
|
||||||
|
- Apply a workspace-wide replacement for the three exact hostname mappings provided.
|
||||||
|
- Verify completion by rescanning for any remaining old hostnames.
|
||||||
|
|
||||||
|
### What was done
|
||||||
|
- Updated Mission Control hostname to `mission-control.twisteddevices.com`.
|
||||||
|
- Updated Gantt Board hostname to `gantt-board.twisteddevices.com`.
|
||||||
|
- Updated Blog Backup hostname to `blog.twisteddevices.com`.
|
||||||
|
- Updated occurrences in shell scripts, skill docs, startup/context docs, operational checklists, and memory markdown files.
|
||||||
|
- Verified with ripgrep scan that no old hostnames remain in the workspace (excluding `node_modules` and `.git`).
|
||||||
|
|
||||||
|
### Any blockers or follow-ups
|
||||||
|
- None. Replacement and verification complete.
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"lastChecks": {
|
"lastChecks": {
|
||||||
"missionControl": 1772222880,
|
"missionControl": 1772247300,
|
||||||
"email": 1772222880,
|
"email": 1772247300,
|
||||||
"calendar": 1772222880,
|
"calendar": 1772247300,
|
||||||
"git": 1772222880,
|
"git": 1772247300,
|
||||||
"memoryMaintenance": 1772222880
|
"memoryMaintenance": 1772247300
|
||||||
},
|
},
|
||||||
"alertsGiven": [],
|
"alertsGiven": [],
|
||||||
"version": 2
|
"version": 2
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
## 🌐 API & Endpoint Management
|
## 🌐 API & Endpoint Management
|
||||||
|
|
||||||
- [ ] Gantt Board API: `https://gantt-board.vercel.app/api` (production)
|
- [ ] Gantt Board API: `https://gantt-board.twisteddevices.com/api` (production)
|
||||||
- [ ] Mission Control API: `POST /api/documents` endpoint exists
|
- [ ] Mission Control API: `POST /api/documents` endpoint exists
|
||||||
- [ ] Skills can create documents via API instead of direct Supabase
|
- [ ] Skills can create documents via API instead of direct Supabase
|
||||||
- [ ] Cron jobs use production endpoints (no localhost)
|
- [ ] Cron jobs use production endpoints (no localhost)
|
||||||
@ -166,7 +166,7 @@ agents_list
|
|||||||
sessions_spawn({task: "test", agentId: "alice-researcher"})
|
sessions_spawn({task: "test", agentId: "alice-researcher"})
|
||||||
|
|
||||||
# APIs
|
# APIs
|
||||||
curl https://gantt-board.vercel.app/api/sprints
|
curl https://gantt-board.twisteddevices.com/api/sprints
|
||||||
curl http://localhost:3001/api/documents
|
curl http://localhost:3001/api/documents
|
||||||
|
|
||||||
# CLI
|
# CLI
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
BLOG_API_URL="${BLOG_API_URL:-https://blog-backup-two.vercel.app/api}"
|
BLOG_API_URL="${BLOG_API_URL:-https://blog.twisteddevices.com/api}"
|
||||||
BLOG_MACHINE_TOKEN="${BLOG_MACHINE_TOKEN:-daily-digest-2026-secure-key}"
|
BLOG_MACHINE_TOKEN="${BLOG_MACHINE_TOKEN:-daily-digest-2026-secure-key}"
|
||||||
DATE="${1:-$(date +%Y-%m-%d)}"
|
DATE="${1:-$(date +%Y-%m-%d)}"
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ if echo "$RESPONSE" | jq -e '.success' >/dev/null 2>&1; then
|
|||||||
DIGEST_ID=$(echo "$RESPONSE" | jq -r '.id')
|
DIGEST_ID=$(echo "$RESPONSE" | jq -r '.id')
|
||||||
echo "✅ Digest posted successfully!"
|
echo "✅ Digest posted successfully!"
|
||||||
echo "ID: $DIGEST_ID"
|
echo "ID: $DIGEST_ID"
|
||||||
echo "URL: https://blog-backup-two.vercel.app"
|
echo "URL: https://blog.twisteddevices.com"
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "❌ Failed to post digest" >&2
|
echo "❌ Failed to post digest" >&2
|
||||||
|
|||||||
@ -99,7 +99,7 @@ Add to the daily digest cron job after successful posting:
|
|||||||
Create the `.env.openai` file with your API key.
|
Create the `.env.openai` file with your API key.
|
||||||
|
|
||||||
### "No digest found"
|
### "No digest found"
|
||||||
The blog-backup may not have a digest for today yet. Check https://blog-backup-two.vercel.app
|
The blog-backup may not have a digest for today yet. Check https://blog.twisteddevices.com
|
||||||
|
|
||||||
### Audio file is empty
|
### Audio file is empty
|
||||||
Check OpenAI API rate limits and billing status.
|
Check OpenAI API rate limits and billing status.
|
||||||
|
|||||||
@ -9,7 +9,7 @@ WORKSPACE_DIR="/Users/mattbruce/.openclaw/workspace"
|
|||||||
PODCAST_DIR="$WORKSPACE_DIR/podcast"
|
PODCAST_DIR="$WORKSPACE_DIR/podcast"
|
||||||
AUDIO_DIR="$PODCAST_DIR/audio"
|
AUDIO_DIR="$PODCAST_DIR/audio"
|
||||||
RSS_FILE="$PODCAST_DIR/rss.xml"
|
RSS_FILE="$PODCAST_DIR/rss.xml"
|
||||||
BLOG_BACKUP_URL="https://blog-backup-two.vercel.app"
|
BLOG_BACKUP_URL="https://blog.twisteddevices.com"
|
||||||
|
|
||||||
# Colors for output
|
# Colors for output
|
||||||
RED='\033[0;31m'
|
RED='\033[0;31m'
|
||||||
@ -91,8 +91,8 @@ generate_rss() {
|
|||||||
|
|
||||||
local podcast_title="OpenClaw Daily Digest"
|
local podcast_title="OpenClaw Daily Digest"
|
||||||
local podcast_description="Daily tech news and insights for developers"
|
local podcast_description="Daily tech news and insights for developers"
|
||||||
local podcast_link="https://mission-control-rho-pink.vercel.app/podcast"
|
local podcast_link="https://mission-control.twisteddevices.com/podcast"
|
||||||
local podcast_image="https://mission-control-rho-pink.vercel.app/podcast-cover.jpg"
|
local podcast_image="https://mission-control.twisteddevices.com/podcast-cover.jpg"
|
||||||
|
|
||||||
cat > "$RSS_FILE" << EOF
|
cat > "$RSS_FILE" << EOF
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|||||||
@ -17,7 +17,7 @@ Uses **machine token** for server-to-server API calls:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
export GANTT_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
export GANTT_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
||||||
export GANTT_API_URL="https://gantt-board.vercel.app/api"
|
export GANTT_API_URL="https://gantt-board.twisteddevices.com/api"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Architecture:** Skills → API (with machine token) → Database
|
**Architecture:** Skills → API (with machine token) → Database
|
||||||
@ -283,7 +283,7 @@ Complete workflow:
|
|||||||
```bash
|
```bash
|
||||||
# Set authentication
|
# Set authentication
|
||||||
export GANTT_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
export GANTT_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
||||||
export GANTT_API_URL="https://gantt-board.vercel.app/api"
|
export GANTT_API_URL="https://gantt-board.twisteddevices.com/api"
|
||||||
|
|
||||||
source ~/.agents/skills/gantt-tasks/lib/tasks.sh
|
source ~/.agents/skills/gantt-tasks/lib/tasks.sh
|
||||||
|
|
||||||
@ -323,7 +323,7 @@ task_update "$TASK_ID" --status review
|
|||||||
task_add_comment "$TASK_ID" "Research complete. Recommendation attached." \
|
task_add_comment "$TASK_ID" "Research complete. Recommendation attached." \
|
||||||
--checklist
|
--checklist
|
||||||
|
|
||||||
echo "Task ready for review: https://gantt-board.vercel.app/tasks/$TASK_ID"
|
echo "Task ready for review: https://gantt-board.twisteddevices.com/tasks/$TASK_ID"
|
||||||
```
|
```
|
||||||
|
|
||||||
## CLI Alternative
|
## CLI Alternative
|
||||||
@ -333,7 +333,7 @@ For interactive/command-line use, use the Gantt Board CLI:
|
|||||||
```bash
|
```bash
|
||||||
# Set auth for CLI
|
# Set auth for CLI
|
||||||
export GANTT_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
export GANTT_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
||||||
export API_URL="https://gantt-board.vercel.app/api"
|
export API_URL="https://gantt-board.twisteddevices.com/api"
|
||||||
|
|
||||||
cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/gantt-board
|
cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/gantt-board
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
# Refactored to use API endpoints with machine token auth
|
# Refactored to use API endpoints with machine token auth
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
GANTT_API_URL="${GANTT_API_URL:-https://gantt-board.vercel.app/api}"
|
GANTT_API_URL="${GANTT_API_URL:-https://gantt-board.twisteddevices.com/api}"
|
||||||
GANTT_MACHINE_TOKEN="${GANTT_MACHINE_TOKEN:-}"
|
GANTT_MACHINE_TOKEN="${GANTT_MACHINE_TOKEN:-}"
|
||||||
MAX_ID="9c29cc99-81a1-4e75-8dff-cd7cc5ceb5aa" # Max user ID
|
MAX_ID="9c29cc99-81a1-4e75-8dff-cd7cc5ceb5aa" # Max user ID
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ Uses **machine token** for server-to-server API calls:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
export MC_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
export MC_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
||||||
export MC_API_URL="https://mission-control-rho-pink.vercel.app/api"
|
export MC_API_URL="https://mission-control.twisteddevices.com/api"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Architecture:** Skills → API (with machine token) → Database
|
**Architecture:** Skills → API (with machine token) → Database
|
||||||
@ -205,7 +205,7 @@ Complete workflow:
|
|||||||
```bash
|
```bash
|
||||||
# Set authentication
|
# Set authentication
|
||||||
export MC_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
export MC_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
||||||
export MC_API_URL="https://mission-control-rho-pink.vercel.app/api"
|
export MC_API_URL="https://mission-control.twisteddevices.com/api"
|
||||||
|
|
||||||
source ~/.agents/skills/mission-control-docs/lib/docs.sh
|
source ~/.agents/skills/mission-control-docs/lib/docs.sh
|
||||||
|
|
||||||
@ -249,7 +249,7 @@ For interactive/command-line use, use the Mission Control CLI:
|
|||||||
```bash
|
```bash
|
||||||
# Set auth for CLI
|
# Set auth for CLI
|
||||||
export MC_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
export MC_MACHINE_TOKEN="50cd5e8fe3f895353f97c9ee64052c0b689b4eedf79259746413734d0a163cf8"
|
||||||
export MC_API_URL="https://mission-control-rho-pink.vercel.app/api"
|
export MC_API_URL="https://mission-control.twisteddevices.com/api"
|
||||||
|
|
||||||
cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/mission-control
|
cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/mission-control
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
# Refactored to use API endpoints with machine token auth
|
# Refactored to use API endpoints with machine token auth
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
MC_API_URL="${MC_API_URL:-https://mission-control-rho-pink.vercel.app/api}"
|
MC_API_URL="${MC_API_URL:-https://mission-control.twisteddevices.com/api}"
|
||||||
MC_MACHINE_TOKEN="${MC_MACHINE_TOKEN:-}"
|
MC_MACHINE_TOKEN="${MC_MACHINE_TOKEN:-}"
|
||||||
|
|
||||||
# Error handler
|
# Error handler
|
||||||
|
|||||||
@ -141,7 +141,7 @@ mcporter call tavily.tavily_extract 'urls=["https://x.com/Voxyz_ai/status/201991
|
|||||||
When research comes from a task:
|
When research comes from a task:
|
||||||
|
|
||||||
1. Create the document
|
1. Create the document
|
||||||
2. Add task link to document: `Task: https://gantt-board.vercel.app/tasks/{task-id}`
|
2. Add task link to document: `Task: https://gantt-board.twisteddevices.com/tasks/{task-id}`
|
||||||
3. Optionally update task description with document link
|
3. Optionally update task description with document link
|
||||||
4. Move task to "review" status
|
4. Move task to "review" status
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user