Skip to content

Conversation

@theahura
Copy link
Contributor

Summary

🤖 Generated with Nori

  • Add approval mode display to the TUI status line footer beneath the input area
  • Shows "Approval Mode: Read Only", "Approval Mode: Agent", or "Approval Mode: Full Access" in magenta
  • Label updates dynamically when approval settings change via /approvals command
  • Position: after git branch, before skillset

Test Plan

  • Unit tests for approval_mode_label helper function (5 tests)
  • Snapshot tests for footer rendering with all three approval modes (3 tests)
  • All 663 TUI tests pass
  • All 31 common tests pass
  • Manual verification: start nori, check footer shows approval mode
  • Manual verification: change approval via /approvals, verify footer updates

Share Nori with your team: https://www.npmjs.com/package/nori-ai

theahura and others added 4 commits January 18, 2026 20:58
Add the current approval mode to the footer status line beneath the TUI input
area. Shows "Approval Mode: Read Only", "Approval Mode: Agent", or
"Approval Mode: Full Access" in magenta, positioned after the git branch
and before the skillset.

The label updates dynamically when the user changes approval settings
via the /approvals command.

- Add approval_mode_label helper function to approval_presets.rs
- Add approval_mode_label field and rendering to footer.rs
- Wire through ChatComposer, BottomPane, and ChatWidget
- Add snapshot tests for all three approval modes
- Update documentation in common/docs.md and tui/docs.md
🤖 Generated with [Nori](https://nori.ai)

Co-Authored-By: Nori <contact@tilework.tech>
Update E2E test snapshots to reflect the new approval mode label
displayed in the footer status line. The tests now verify that
"Approval Mode: Agent" appears in the footer when using the default
trusted project configuration.
🤖 Generated with [Nori](https://nori.ai)

Co-Authored-By: Nori <contact@tilework.tech>
On macOS, /tmp is a symlink to /private/tmp. When the E2E tests
wrote config.toml with a non-canonicalized temp directory path,
the config loader would canonicalize CODEX_HOME and resolved_cwd
but fail to match the project trust level because the paths
differed.

This caused the approval mode to default to ReadOnly instead of
using the configured Agent mode, breaking the snapshot test.

Fix by canonicalizing the cwd path when generating config.toml
in E2E tests, ensuring path matching works correctly on macOS.
🤖 Generated with [Nori](https://nori.ai)

Co-Authored-By: Nori <contact@tilework.tech>
@theahura theahura merged commit 81ef184 into dev Jan 19, 2026
3 checks passed
@theahura theahura deleted the feature/approval-mode-status-line branch January 19, 2026 02:49
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.

2 participants