feat(tui): route user picker + users label CRUD#64
Conversation
There was a problem hiding this comment.
💡 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".
| SharedWorkspace: "~/sciclaw", | ||
| SharedWorkspaceReadOnly: true, |
There was a problem hiding this comment.
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") { |
There was a problem hiding this comment.
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 👍 / 👎.
…-policy # Conflicts: # pkg/tools/filesystem.go # pkg/tools/filesystem_test.go
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