- Integrate ActionMonitor into ChatGPT GitOps API for failure tracking - Add ErrorClassifier with permission, git, runtime, system, secret violation error types - Add FailureRouter to route errors to correct recovery agents (openclaw/hermes/windows_codex_app) - Add RecoveryController orchestrating full pipeline: capture→classify→route→plan→execute→validate→record - Update error_classifier to include ClientResponseError, rate limit, and secret_violation patterns - All 8 integration tests passing (ActionMonitor, ErrorClassifier, FailureRouter, RecoveryController, API 500 scenario) - Push baseline to V1R2C2 with tag v1r2c2-baseline
1.1 KiB
1.1 KiB
fix-patches-permission-v1 - Execution Report
Summary
Fixed patches/ directory tree permission to conform with root:gitops + setgid ownership model.
Before
patches/ drwxrwsr-x root:gitops (OK: setgid on root dir)
nl/ drwxr-xr-x root:root (WRONG: no setgid, wrong group)
nl-*.json -rw-r--r-- root:root (WRONG: wrong group, no group write)
patch_*.json -rw-rw-r-- aiman:aiman (WRONG: wrong owner/group)
self-*.json -rw-r--r-- root:root (WRONG: no group write)
After
patches/ drwxrws--- root:gitops ✓ setgid
nl/ drwxrws--- root:gitops ✓ setgid inherited
nl/*.json -rw-rw---- root:gitops ✓ rw for group
*patch*.json -rw-rw---- root:gitops ✓ rw for group
self-*.json -rw-rw---- root:gitops ✓ rw for group
Verification
- aiman (gitops member): read OK ✓
- aios (gitops member): read OK ✓
- Non-group users: denied (o-rwx) ✓
Git Commit
Not committed. This is a filesystem permission fix, no file content changes.