Commit ae22461
committed
fix(agent): address edit-approval-gate review feedback
- Bypass the sub-agent tool allowlist for system-initiated ask_user prompts
in both the edit and shell policy gates. A restricted sub-agent allowlist
(e.g. {write_file} / {exec}) that omits ask_user previously caused the
approval prompt itself to fail.
- Make the edit-policy Deny message context-aware (unattended vs plan mode)
instead of hardcoding 'plan mode active', which is misleading for the
unattended default-deny.
- Skip the approval prompt for no-op edits (old_text == new_text) and no-op
writes (content identical to the existing file).
- Add regression tests covering each fix.
Addresses #62 review comments.1 parent fa3352b commit ae22461
3 files changed
Lines changed: 120 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
424 | 424 | | |
425 | 425 | | |
426 | 426 | | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
427 | 438 | | |
428 | 439 | | |
429 | 440 | | |
| |||
494 | 505 | | |
495 | 506 | | |
496 | 507 | | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
497 | 528 | | |
498 | 529 | | |
499 | 530 | | |
| |||
826 | 857 | | |
827 | 858 | | |
828 | 859 | | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
829 | 863 | | |
830 | 864 | | |
831 | 865 | | |
832 | 866 | | |
833 | | - | |
| 867 | + | |
834 | 868 | | |
835 | 869 | | |
836 | 870 | | |
| |||
916 | 950 | | |
917 | 951 | | |
918 | 952 | | |
919 | | - | |
920 | | - | |
| 953 | + | |
921 | 954 | | |
922 | 955 | | |
923 | 956 | | |
| |||
951 | 984 | | |
952 | 985 | | |
953 | 986 | | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
954 | 990 | | |
955 | 991 | | |
956 | 992 | | |
957 | 993 | | |
958 | | - | |
| 994 | + | |
959 | 995 | | |
960 | 996 | | |
961 | 997 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
371 | 396 | | |
372 | 397 | | |
373 | 398 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
361 | 361 | | |
362 | 362 | | |
363 | 363 | | |
364 | | - | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
365 | 372 | | |
366 | 373 | | |
367 | 374 | | |
| |||
515 | 522 | | |
516 | 523 | | |
517 | 524 | | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
518 | 531 | | |
519 | 532 | | |
520 | 533 | | |
| |||
2717 | 2730 | | |
2718 | 2731 | | |
2719 | 2732 | | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
| 2749 | + | |
| 2750 | + | |
| 2751 | + | |
| 2752 | + | |
| 2753 | + | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + | |
| 2757 | + | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
| 2771 | + | |
| 2772 | + | |
| 2773 | + | |
2720 | 2774 | | |
2721 | 2775 | | |
2722 | 2776 | | |
| |||
0 commit comments