Skip to content

fix(workboard): hide archived cards from cli list#94721

Closed
wuqxuan wants to merge 1 commit into
openclaw:mainfrom
wuqxuan:issue-94555-workboard-archived-list
Closed

fix(workboard): hide archived cards from cli list#94721
wuqxuan wants to merge 1 commit into
openclaw:mainfrom
wuqxuan:issue-94555-workboard-archived-list

Conversation

@wuqxuan

@wuqxuan wuqxuan commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Hide archived Workboard cards from openclaw workboard list by default, matching the Workboard tool and slash-command list behavior.
  • Add --include-archived so operators can still inspect archived cards from the terminal.
  • Document the default filtering behavior and new flag.
  • Out of scope: changing WorkboardStore.list, archive semantics, or non-CLI Workboard surfaces.

Linked context

Closes #94555

Related #94555

Was this requested by a maintainer or owner?

No direct maintainer request; this follows the issue-fix-agent qualified path for a queueable, source-reproduced issue.

Real behavior proof (required for external PRs)

  • Behavior or issue addressed: openclaw workboard list no longer prints archived cards unless --include-archived is set.
  • Real environment tested: Local OpenClaw checkout running the real Workboard commander CLI against a temporary Workboard SQLite database under /private/tmp.
  • Exact steps or command run after this patch: env NODE_PATH=$PWD/node_modules node --import tsx /private/tmp/workboard-cli-proof.ts
  • Evidence after fix:
$ openclaw workboard create Active proof card
c56e640c  todo      normal  default  Active proof card
$ openclaw workboard create Archived proof card
d83be64f  todo      normal  default  Archived proof card
$ openclaw workboard list
c56e640c  todo      normal  default  Active proof card
$ openclaw workboard list --include-archived
c56e640c  todo      normal  default  Active proof card
d83be64f  todo      normal  default  Archived proof card
  • Observed result after fix: Default terminal list output hid the archived card; --include-archived showed both active and archived cards.
  • What was not tested: A packaged installed openclaw workboard list run against a real user state database.
  • Proof limitations or environment constraints: pnpm docs:list was attempted before editing docs but failed because pnpm's dependency status check triggered pnpm install and timed out downloading registry tarballs even after a network-enabled retry.
  • Before evidence: Issue Bug: openclaw workboard list CLI does not filter archived cards (CLI/API inconsistency) #94555 includes the source-level before behavior and reproduction.

Tests and validation

  • node scripts/run-vitest.mjs extensions/workboard/src/cli.test.ts extensions/workboard/src/tools.test.ts extensions/workboard/src/command.test.ts
  • git diff --check origin/main...HEAD
  • .agents/skills/autoreview/scripts/autoreview --mode local --prompt "Review the local diff for issue #94555 only: Workboard terminal CLI list should hide archived cards by default and expose --include-archived, matching existing Workboard tool/slash-command behavior. Scope is extensions/workboard/src/cli.ts, cli tests, and docs/cli/workboard.md."
  • env NODE_PATH=$PWD/node_modules node --import tsx /private/tmp/workboard-cli-proof.ts

Regression coverage added:

  • CLI list text and JSON output hide archived cards by default.
  • CLI list text and JSON output include archived cards with --include-archived.

Risk checklist

Did user-visible behavior change? (Yes/No)

Yes. Archived Workboard cards are hidden from terminal list output by default.

Did config, environment, or migration behavior change? (Yes/No)

No.

Did security, auth, secrets, network, or tool execution behavior change? (Yes/No)

No.

What is the highest-risk area?

Operators who depended on workboard list showing archived cards by default now need --include-archived.

How is that risk mitigated?

The new flag preserves access to archived cards, and the default now matches existing Workboard tool and slash-command behavior.

Current review state

What is the next action?

Maintainer review and CI.

What is still waiting on author, maintainer, CI, or external proof?

CI and any maintainer-requested real packaged CLI proof.

Which bot or reviewer comments were addressed?

Local autoreview reported no accepted/actionable findings.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation plugin: workboard triage: mock-only-proof Candidate: PR proof only shows tests, mocks, snapshots, lint, typecheck, or CI. size: S labels Jun 19, 2026
@clawsweeper

clawsweeper Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Thanks for the context here. I swept through the related work, and this is now duplicate or superseded.

Close: this draft is a later duplicate candidate for the Workboard CLI archived-card listing bug, and the same remaining work is already tracked by the earlier open canonical PR with positive proof and maintainer-editable branch state.

Root-cause cluster
Relationship: superseded
Canonical: #94562
Summary: This PR is a later duplicate candidate for the same Workboard CLI archived-card filtering issue already covered by the earlier canonical PR.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Canonical path: Use #94562 as the canonical landing path and resolve the default JSON archived-card visibility decision there.

So I’m closing this here and keeping the remaining discussion on #94562.

Review details

Best possible solution:

Use #94562 as the canonical landing path and resolve the default JSON archived-card visibility decision there.

Do we have a high-confidence way to reproduce the issue?

Yes. Source inspection of current main shows the terminal CLI list path omits archived filtering, while the Workboard tool and slash-command paths already filter archived cards by default.

Is this the best way to solve the issue?

No for this branch as the landing path. The CLI-layer fix is the right boundary, but the earlier open canonical PR should carry the remaining compatibility decision and final implementation.

Security review:

Security review cleared: The diff changes Workboard CLI filtering, adjacent tests, and CLI docs only; it adds no dependencies, workflows, secrets handling, package-resolution changes, or code-execution surface.

AGENTS.md: found and applied where relevant.

What I checked:

  • Current-main CLI mismatch: Current main still has openclaw workboard list read all board cards, filter only by status, and write the result without checking metadata.archivedAt. (extensions/workboard/src/cli.ts:128, 50b5238b3895)
  • Sibling tool default: The Workboard tool exposes includeArchived and filters archived cards unless that option is true, establishing the default the CLI bug report wants to match. (extensions/workboard/src/tools.ts:237, 50b5238b3895)
  • Sibling slash-command default: The /workboard list command already filters out cards with metadata.archivedAt, so the terminal CLI is the outlier among Workboard list surfaces. (extensions/workboard/src/command.ts:96, 50b5238b3895)
  • Store boundary: WorkboardStore.list returns board-matching persisted cards sorted and does not own archive visibility, so list callers currently own the display policy. (extensions/workboard/src/store.ts:2317, 50b5238b3895)
  • This PR implementation: The submitted branch adds the CLI flag and applies an archived-card filter before status filtering and output, including JSON output. (extensions/workboard/src/cli.ts:136, 9d7f67fb621a)
  • Canonical PR live state: The earlier PR is open, not draft, maintainer-editable, mergeable, and has proof: sufficient; it is the stronger canonical place to resolve the same Workboard CLI issue. (9e5e3bdc33a7)

Likely related people:

  • steipete: PR metadata and the merge commit for the Workboard dispatch CLI show this account introduced the Workboard CLI, slash command, CLI tests, and CLI docs surfaces involved here. (role: introduced CLI feature; confidence: high; commits: ed46e62bcc5d; files: extensions/workboard/src/cli.ts, extensions/workboard/src/command.ts, extensions/workboard/src/cli.test.ts)
  • ZengWen-DT: This account authored the earlier viable canonical PR that implements the same Workboard CLI archive-filter behavior with docs, tests, and real behavior proof. (role: canonical fix author; confidence: high; commits: 9e5e3bdc33a7; files: extensions/workboard/src/cli.ts, extensions/workboard/src/cli.test.ts, docs/cli/workboard.md)
  • Vincent Koc: Current history shows recent Workboard CLI/tool/slash/docs snapshot commits by this author, including the release-era snapshot that still contains the CLI mismatch. (role: recent area contributor; confidence: medium; commits: 844f405ac1be; files: extensions/workboard/src/cli.ts, extensions/workboard/src/tools.ts, extensions/workboard/src/command.ts)
  • brokemac79: Current blame on the list blocks points to a recent broad repository update by this author, though the commit appears broad and is weaker ownership evidence than the feature-introduction history. (role: recent area contributor; confidence: low; commits: 8972bff98d86; files: extensions/workboard/src/cli.ts, extensions/workboard/src/tools.ts, extensions/workboard/src/command.ts)

Codex review notes: model internal, reasoning high; reviewed against 50b5238b3895.

@openclaw-barnacle openclaw-barnacle Bot added proof: supplied External PR includes structured after-fix real behavior proof. and removed triage: mock-only-proof Candidate: PR proof only shows tests, mocks, snapshots, lint, typecheck, or CI. labels Jun 19, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels Jun 19, 2026
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 20, 2026
@wuqxuan wuqxuan closed this Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. P2 Normal backlog priority with limited blast radius. plugin: workboard proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. size: S status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: openclaw workboard list CLI does not filter archived cards (CLI/API inconsistency)

1 participant