Skip to content

feat(tui): route user picker + users label CRUD#64

Merged
drpedapati merged 7 commits intomainfrom
feat/shared-workspace-policy
Feb 23, 2026
Merged

feat(tui): route user picker + users label CRUD#64
drpedapati merged 7 commits intomainfrom
feat/shared-workspace-policy

Conversation

@drpedapati
Copy link
Owner

Summary\n- routing add/edit now uses central Users allowlist as a picker with toggle controls\n- keeps a manual CSV fallback for advanced/custom sender IDs\n- users tab now supports label editing (CRUD update path)\n- improved path guard error guidance for outside allowed roots\n\n## UX changes\n- Routing add wizard (allowed senders step):\n - if channel has approved users, shows selectable checklist from Users tab\n - keys: j/k move, Space toggle, a all/none, m manual CSV, Enter save\n- Routing edit users:\n - same picker behavior, with preservation notice for custom IDs not in Users list\n- Users tab:\n - [e] edit selected display label\n\n## Validation\n- go test ./cmd/picoclaw/tui\n- go test ./cmd/picoclaw\n

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Feb 23, 2026

Deploying sciclaw with  Cloudflare Pages  Cloudflare Pages

Latest commit: b4b396f
Status:⚡️  Build in progress...

View logs

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b32ef477bb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 243 to 244
SharedWorkspace: "~/sciclaw",
SharedWorkspaceReadOnly: true,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Decouple shared workspace default from writable workspace

The defaults now set Workspace and SharedWorkspace to the same path (~/sciclaw) while also enabling SharedWorkspaceReadOnly, which causes the shell guard to treat the default working directory as read-only and block mutating commands there. In a default setup this prevents normal operations like creating files or running write-oriented CLI flows in the primary workspace, so users get a non-writable shell out of the box unless they manually reconfigure paths.

Useful? React with 👍 / 👎.

return true
}
// Common write-style flags used by CLI tools.
if strings.Contains(cmd, "--output") || strings.Contains(cmd, " -o ") || strings.Contains(cmd, "--ris ") || strings.HasSuffix(cmd, "--ris") {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Narrow -o detection in mutating-command guard

The mutating-command heuristic classifies any command containing -o as a write, which produces false positives in read-only shared workspaces for read-only tools that legitimately use -o (for example grep -o ...). In those cases the guard blocks harmless reads from shared paths, so the check should be limited to known write-oriented commands/flags instead of matching all -o usage.

Useful? React with 👍 / 👎.

@drpedapati drpedapati merged commit 1196407 into main Feb 23, 2026
0 of 2 checks passed
@drpedapati drpedapati deleted the feat/shared-workspace-policy branch February 23, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant