Repository navigation
fix(tui): remediate permission audit findings on delete scope, edit consent, MCP claims, and Spanish structural summary - #63
Merged
Conversation
…onsent, MCP claims, and Spanish translations
DannyBaanks
force-pushed
the
codex/tui-permission-audit-20261018
branch
from
October 19, 2026 05:09
9503000 to
7f8d5bc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR addresses all 4 security and UX findings reported in the Amp TUI permission audit screenshot:
Delete scope isolation (Un permiso "solo para B" también reactiva A):
_change_session_delete_grant(src/isycode/tui_app_authority.py), scoped targets to[session_id]on enable and removedsession_idon disable, preventing inadvertent reactivation of previous conversation delete grants.File editing consent description (El consentimiento de edición describe permisos distintos de los que guarda):
_change_workspace_write_grant(src/isycode/tui_app_authority.py), replaced misplaced Tailscale metadata with genuine workspace authority metadata (owner="workspace authority",scope=str(self._workspace_root),duration="persistent workspace grant",not_granted="sensitive files, .isyroot, and unapproved folder writes stay off-limits").TailscaleConfirmScreenaccept dynamic structural parameters with backward-compatible defaults.Accurate MCP filesystem isolation claims (MCP promete una restricción de archivos que no aplica):
no filesystem accessstructural claim inLocalMCPConfirmScreenandtui_app_tools.py. Now accurately reports that the MCP server runs with the user's local process permissions (runs with user permissions (no filesystem isolation)).Localization of structural summary fields (Español incompleto en información crítica):
Owner,Scope,Duration, andNot grantedlabels and their dynamic values intr(...)inApprovalScreenandReviewConsentScreen(src/isycode/tui_screens_approval.py).es), and Simplified Chinese (zh). Validated withvalidate_catalogs().Security Authority Snapshot & Tests:
docs/security/m15-authority-coverage.json.tests/test_tui_permission_audit.pycovering all 4 audit points.Verification
pytest tests/test_tui_permission_audit.py tests/test_action_coverage.py tests/test_localization.py: 39 passed.python3 -c "from isycode.tui_localization import validate_catalogs; print(validate_catalogs())": 0 discrepancies.python3 -m compileall src/ tests/: 0 errors.git diff --check: 0 whitespace issues.