Backlog

0
No tasks

In Progress

0
No tasks

In Review

4
workforce P1

Clean up CrankyCrab's legacy config and workspace

Assigneecrankycrab
Projectworkforce
CreatedMar 10, 2026
UpdatedMar 10, 2026
cleanupconfig

Description

CrankyCrab was recently transitioned from orchestrator to macOS executor. There is legacy configuration and workspace content that needs to be cleaned up. Review your own config and workspace, and remove or update anything that no longer applies to your executor role.

Acceptance Criteria

  • Legacy orchestrator references removed from active workspace files
  • Unused skill API keys identified and listed (do NOT delete them — just document which ones you think are unused)
  • Telegram delivery target fixed or disabled (the @heartbeat target doesn’t exist)
  • Any stale workspace files cleaned up (TODO.md, TOOLS.md, HEARTBEAT.md, AGENTS.md — some may already be in archive/)
  • Your IDENTITY.md accurately reflects your current role
  • Document what you changed and what you left alone, and why

Context

  • Your workspace is at ~/.openclaw/workspace/
  • Your archived orchestrator files are at ~/.openclaw/workspace/archive/
  • Your config is at ~/.openclaw/openclaw.json
  • You have an AGENT.md at ~/.openclaw/agents/main/agent/AGENT.md with your executor instructions
  • You are now a macOS executor. Your job is to pick up tasks from the git board at ~/workforce/board/ and execute them.
  • Projects you’ll work on: StarterSite (browser-heavy tasks, social media, GBP) and Wildus (Shopify, social media, content)
  • See ~/workforce/board/projects/ for project context files

Dependencies

None

Notes

  • Reviewed active local workspace files at ~/.openclaw/workspace/ plus live config at ~/.openclaw/openclaw.json and cron jobs at ~/.openclaw/cron/jobs.json.
  • Rewrote active root workspace docs to match the current executor role:
    • AGENTS.md → simplified to executor-first startup + board workflow
    • TOOLS.md → removed placeholder examples and kept only real local notes
    • TODO.md → replaced stale orchestrator backlog with a small local executor queue
    • IDENTITY.md → kept role accurate and fixed archive path to ~/.openclaw/workspace/archive/
  • Cleaned stale root workspace content:
    • moved BOOTSTRAP.md to archive/BOOTSTRAP.md because first-run bootstrap instructions no longer apply
    • left HEARTBEAT.md in place but empty/comment-only, since it is still a valid control surface and not inherently stale
    • left SOUL.md and USER.md unchanged because they still match current behavior/preferences
  • Fixed the broken Telegram cron delivery target for the board checker:
    • updated cron job check-board (9bad1e30-ee27-4a6f-addc-45eba9bba27a)
    • changed delivery from the bad implicit @heartbeat path to explicit Telegram DM target 1291467684
  • Verified the @heartbeat failure source from local logs / cron run history before patching.
  • Unused skill API keys identified but intentionally left untouched in config:
    • skills.entries.goplaces.apiKey
    • skills.entries.nano-banana-pro.apiKey
    • skills.entries.openai-image-gen.apiKey
    • skills.entries.openai-whisper-api.apiKey
    • skills.entries.sag.apiKey These may still be useful later, but they do not appear necessary for CrankyCrab’s current executor role.
  • Left non-root historical/orchestration references inside memory/ and archived files alone. They are history, not active workspace instructions.

Decisions

  • No linked board/projects/workforce.md project context file existed in board/projects/ (only startersite.md and wildus.md were present), so I proceeded using the task’s own context block plus live local files.
  • I archived BOOTSTRAP.md instead of hard-deleting it. Same outcome for the live workspace, lower risk if someone wants the original bootstrap text later.
  • I fixed the cron delivery target rather than disabling delivery entirely, because the board-checker is more useful when it can still report completed work instead of silently succeeding.
Workforce Infrastructure P1

Install and configure Tailscale on karymsky

Assigneeprawnsue
Projectinfra
CreatedMar 10, 2026
UpdatedMar 10, 2026
networkinglinux

Description

Install Tailscale on karymsky and join the tailnet using a pre-placed auth key.

Acceptance Criteria

  • Tailscale is installed via the official install script
  • Tailscale is running and authenticated to the tailnet
  • tailscale status shows this machine as connected
  • Tailscale service is enabled on boot (systemd)
  • The auth key file is deleted after successful authentication
  • The machine’s Tailscale IP is noted in this task’s Notes section

Context

  • Auth key location: /tmp/tailscale-authkey (will be placed there before you start)
  • This is a Debian 13 machine (2012 MBA)
  • You are running as user prawnsue. You have passwordless sudo.
  • Tailscale is system-level — one install covers all users (prawnsue + lobsterdrew)
  • Do NOT reboot the machine. LobsterDrew is also running on this host.

Steps

  1. curl -fsSL https://tailscale.com/install.sh | sudo sh
  2. sudo systemctl enable --now tailscaled
  3. Read the auth key from /tmp/tailscale-authkey
  4. sudo tailscale up --authkey=<key>
  5. Verify: tailscale status
  6. Delete the auth key: rm /tmp/tailscale-authkey
  7. Note the Tailscale IP below

Dependencies

None

Notes

  • 2026-03-10 15:16 PDT — Started task and verified project context (board/projects/infra.md).

  • 2026-03-10 15:17 PDT — Confirmed /tmp/tailscale-authkey exists and is readable by prawnsue.

  • 2026-03-10 15:18 PDT — Blocked before install: sudo -n true fails with sudo: a password is required, so this host is not currently configured for passwordless sudo as stated in the task context.

  • 2026-03-10 15:18 PDT — Current state before any changes: tailscale binary not installed, tailscaled service inactive, auth key file still present at /tmp/tailscale-authkey.

  • 2026-03-10 15:18 PDT — Did not proceed further to avoid hanging on privileged commands or leaving a partial system-level install.

  • 2026-03-10 15:20 PDT — Re-checked task state during cron run: sudo -n true still fails with sudo: a password is required; tailscale remains uninstalled; tailscaled is still inactive; /tmp/tailscale-authkey is still present.

  • 2026-03-10 15:21 PDT — Attempted to use tool-level elevation as a fallback, but this session does not have elevated exec enabled, so I still cannot perform the required system-level install/auth steps from this environment.

  • 2026-03-10 15:26 PDT — Re-verified during scheduled board check: sudo -n true still fails with sudo: a password is required; tailscale is still not installed; tailscaled remains inactive; /tmp/tailscale-authkey is still present and unread changes have not been made.

  • 2026-03-10 15:27 PDT — Moving task to board/blocked/ per board workflow. Unblock requires either restoring passwordless sudo for prawnsue as described in task context, or reassigning to an execution environment that can perform privileged system changes on karymsky.

  • 2026-03-10 15:36 PDT — Re-checked during scheduled board run: sudo is still not passwordless for user ‘prawnsue’ (‘sudo -n true’ fails), Tailscale is still not installed, tailscaled is inactive, and the task remains blocked pending restored privileged access.

  • 2026-03-10 — Completed manually from avacha (Claude Code) via SSH. Passwordless sudo was fixed via lobsterdrew. Tailscale installed via apt, authenticated with auth key, key deleted. Agent cron timed out on the install (too slow for 2012 MBA within cron timeout).

  • Tailscale IPv4: 100.85.169.21

Decisions

Workforce Infrastructure P1

Install and configure Tailscale on tolbachik

Assigneecrankycrab
Projectinfra
CreatedMar 10, 2026
UpdatedMar 10, 2026
networkingmacos

Description

Install Tailscale on tolbachik and join the tailnet using a pre-placed auth key.

Acceptance Criteria

  • Tailscale is installed via Homebrew
  • Tailscale is running and authenticated to the tailnet
  • tailscale status shows this machine as connected
  • Tailscale is configured to start on boot (launchd)
  • The auth key file is deleted after successful authentication
  • The machine’s Tailscale IP is noted in this task’s Notes section

Context

  • Auth key location: /tmp/tailscale-authkey (will be placed there before you start)
  • This is a macOS 15.7 machine (2018 MBP)
  • You are running as user r2d22

Steps

  1. brew install tailscale
  2. sudo tailscaled install-system-daemon (sets up launchd auto-start)
  3. Read the auth key from /tmp/tailscale-authkey
  4. sudo tailscale up --authkey=<key>
  5. Verify: tailscale status
  6. Delete the auth key: rm /tmp/tailscale-authkey
  7. Note the Tailscale IP below

Dependencies

None

Notes

  • 2026-03-10 15:16 PDT — Installed Tailscale via Homebrew (tailscale 1.94.2).
  • 2026-03-10 15:16 PDT — Installed the system launchd daemon with sudo tailscaled install-system-daemon; verified com.tailscale.tailscaled is present in system launchd.
  • 2026-03-10 15:16 PDT — Authenticated this Mac to the tailnet using the pre-placed auth key.
  • 2026-03-10 15:16 PDT — Verified connectivity with tailscale status.
  • 2026-03-10 15:16 PDT — Deleted /tmp/tailscale-authkey after successful authentication.
  • Tailscale IPv4: 100.107.199.18

Decisions

workforce P1

Set up PrawnSue's identity and personality

Assigneeprawnsue
Projectworkforce
CreatedMar 10, 2026
UpdatedMar 10, 2026
identitysetup

Description

PrawnSue is a brand new agent with no personality or identity beyond the executor instructions in AGENT.md. Create your identity files — who you are, what your vibe is, how you communicate.

You are a female crustacean (prawn) agent. Beyond that, figure out who you want to be. Look at the existing agent personalities for inspiration but make yours distinct.

Acceptance Criteria

  • Create a SOUL.md at ~/.openclaw/workspace/SOUL.md that defines your personality, communication style, and boundaries
  • Create an IDENTITY.md at ~/.openclaw/workspace/IDENTITY.md with your name, creature, vibe, emoji
  • Ensure your personality fits the team: CrankyCrab is blunt and grumpy-genius, LobsterDrew is the community face. Find your own niche.
  • Your identity should reflect your role: you’re a Linux executor — efficient, reliable, gets things done
  • Review your ~/.openclaw/openclaw.json and clean up anything that doesn’t belong (you were set up quickly, there may be rough edges)
  • Document any config changes you make

Context

  • Your workspace is at ~/workforce (the git board repo)
  • Your OpenClaw config is at ~/.openclaw/openclaw.json
  • Your AGENT.md is at ~/.openclaw/agents/main/agent/AGENT.md
  • CrankyCrab’s SOUL.md can be found referenced in the workforce CLAUDE.md — it’s strategic, blunt, grumpy-genius
  • Projects you’ll work on: StarterSite (CI/CD, API integrations, testing, Cloudflare) and Wildus (website build, content, infrastructure)
  • See ~/workforce/board/projects/ for project context files

Dependencies

None

Notes

  • Reviewed task context plus board/projects/startersite.md and board/projects/wildus.md for downstream project expectations.
  • Reviewed ~/.openclaw/openclaw.json and ~/.openclaw/agents/main/agent/AGENT.md.
  • Created ~/.openclaw/workspace/SOUL.md with a distinct PrawnSue personality: precise, dry-witted, Linux-first, reliable, and non-performative.
  • Created ~/.openclaw/workspace/IDENTITY.md with name, creature, vibe, and emoji.
  • Cleaned copied-config rough edge in ~/.openclaw/openclaw.json: changed agents.defaults.workspace from /home/prawnsue/workforce to /home/prawnsue/.openclaw/workspace so the agent has a proper personal workspace instead of pointing at the shared git board repo.
  • No other config entries looked clearly out of place enough to justify riskier edits during this task.

Decisions

  • Treated the misplaced OpenClaw workspace path as the main setup bug worth fixing. The git board repo should remain a project repo, not the agent’s identity/memory workspace.
  • Kept the personality distinct from CrankyCrab and LobsterDrew by making PrawnSue the quiet systems operator: less gruff than CrankyCrab, less social than LobsterDrew, more surgical and infrastructure-minded.

Done

4
workforce P1

CrankyCrab connectivity test

Assigneecrankycrab
Projectworkforce
CreatedMar 10, 2026
UpdatedMar 10, 2026
test

Description

Simple test task to verify CrankyCrab can read the board, execute, and push results.

Acceptance Criteria

  • Append a note below with: your agent name, hostname, current date/time, and OpenClaw version
  • Move this task to in-review when done

Context

This is a connectivity test. No project repo needed.

Dependencies

None

Notes

  • Completed by Cranky Crab on host tolbachik at 2026-03-10 00:30:42 PDT. OpenClaw version: OpenClaw 2026.3.8 (3caab92).

Decisions

workforce P1

PrawnSue connectivity test

Assigneeprawnsue
Projectworkforce
CreatedMar 10, 2026
UpdatedMar 10, 2026
test

Description

Simple test task to verify PrawnSue can read the board, execute, and push results.

Acceptance Criteria

  • Append a note below with: your agent name, hostname, current date/time, and OpenClaw version
  • Move this task to in-review when done

Context

This is a connectivity test. No project repo needed.

Dependencies

None

Notes

  • Completed by agent main on host karymsky at 2026-03-10 00:30:47 PDT. OpenClaw version: 2026.3.8 (3caab92).

Decisions

Board Kanban UI P2

Build static kanban site generator and UI

Assigneecrankycrab
Projectkanban
CreatedJul 14, 2025
UpdatedMar 10, 2026
frontendnodestatic-site

Description

Build a Node.js static site generator that reads the workforce git board (board/ directory) and outputs a dark-mode Trello-style kanban web UI.

The generator should:

  1. Parse all task files in board/{backlog,in-progress,in-review,done,blocked}/ — YAML frontmatter + markdown body
  2. Parse all project files in board/projects/ for project metadata
  3. Generate static HTML output to kanban/dist/

The UI should:

  1. Display a classic kanban board with 5 columns: Backlog, In Progress, In Review, Done, Blocked
  2. Dark mode styling
  3. Each task rendered as a card showing: title, assignee, project badge, priority (1-5), created/updated timestamps
  4. Clicking a card expands it to show the full rendered markdown content (description, acceptance criteria, context, notes, decisions)
  5. Generate one kanban page per project (e.g., dist/infra/index.html, dist/wildus/index.html) plus one “all projects” admin page at dist/index.html
  6. Responsive — usable on mobile

Acceptance Criteria

  • [ ] node kanban/generate.js reads board/ and outputs static HTML to kanban/dist/
  • [ ] All 5 column states rendered as kanban columns
  • [ ] Task cards display title, assignee, project, priority, timestamps
  • [ ] Card click expands to show full rendered markdown
  • [ ] Per-project pages generated at dist/<project-id>/index.html
  • [ ] Admin “all projects” page at dist/index.html
  • [ ] Dark mode styling, clean Trello-style layout
  • [ ] Works with current board contents (6 existing tasks across 3 projects)
  • [ ] No frameworks — vanilla HTML/CSS/JS plus a markdown parsing library
  • [ ] package.json in kanban/ with dependencies and a build script

Context

  • Repo: git@github.com:qoyn-ai/workforce.git
  • Board spec: board/README.md
  • Task file format: YAML frontmatter (id, project, title, assigned, thinking, escalation, priority, tags, created, updated) + markdown sections (Description, Acceptance Criteria, Context, Dependencies, Notes, Decisions)
  • Project file format: YAML frontmatter (id, name, org, repos) in board/projects/*.md
  • Board columns map to directories: backlog/, in-progress/, in-review/, done/, blocked/
  • See existing task files for examples of the format

Dependencies

None

Notes

  • 2026-03-10 17:11 America/Los_Angeles — Built kanban/ static generator with gray-matter + markdown-it, plus package.json/package-lock.json and npm run build entrypoint.
  • 2026-03-10 17:11 America/Los_Angeles — Generator now reads all board column task files and project metadata, then writes kanban/dist/index.html, per-project pages under kanban/dist/<project>/index.html, and shared styles.css/app.js assets.
  • 2026-03-10 17:11 America/Los_Angeles — Verified build locally with current board contents: cd kanban && npm run build produced 8 task cards across 4 project pages with dark-mode responsive layout and expandable markdown card bodies.
  • 2025-07-14 — Reviewed and approved. All acceptance criteria met. Deployed to Cloudflare Pages with git integration, custom domain, and Cloudflare Access authentication.

Decisions

Board Kanban UI P2

GitHub Action for Cloudflare Pages deployment

Assigneecrankycrab
Projectkanban
CreatedJul 14, 2025
UpdatedJul 14, 2025
cigithub-actionscloudflare

Description

Create a GitHub Actions workflow that automatically builds the kanban static site and deploys it to Cloudflare Pages whenever the board changes.

Acceptance Criteria

  • [ ] Workflow file at .github/workflows/deploy-kanban.yml
  • [ ] Triggers on pushes to main that touch board/** or kanban/**
  • [ ] Runs npm ci in kanban/ directory, then npm run build
  • [ ] Deploys kanban/dist/ to Cloudflare Pages using cloudflare/wrangler-action
  • [ ] Uses repository secrets: CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID
  • [ ] Workflow succeeds with current board contents

Context

Dependencies

  • kanban-001 (static generator must exist first)

Notes

  • 2026-03-10 17:00 America/Los_Angeles — Left in backlog. Dependency kanban-001 is not complete yet, and CrankyCrab already has one active in-progress task.
  • 2026-03-10 17:18 America/Los_Angeles — Added .github/workflows/deploy-kanban.yml to build kanban/ on pushes touching board/** or kanban/** and deploy kanban/dist/ via cloudflare/wrangler-action.
  • 2026-03-10 17:19 America/Los_Angeles — Validated the current generator locally with npm ci && npm run build in kanban/ (Generated 8 tasks across 4 projects into kanban/dist). Workflow expects repository variable CLOUDFLARE_PAGES_PROJECT_NAME plus secrets CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID.
  • 2025-07-14 — CANCELLED. Switching to Cloudflare git integration instead of GitHub Action + direct upload. Workflow file removed. Deployment will be handled natively by Cloudflare Pages.

Decisions

Blocked

0
No tasks