feat(loop): codify external intrinsic loop management, progressive remediation, and operational runbook

- Add bin/gravity.py loop diagnostics, reconstruction, and progressive remediation
- Wire hard-break alerting to job-log audit and operator direct message
- Add comprehensive architecture and operational specification in docs/LOOP-MANAGEMENT.md
- Add sidechat thread auto-provisioning fallback on 'Navigated to: None' in bin/dm.py
- Support Muse unconfirmed signup error handling in bin/muse-signin.py
- Track dynamic pipe sidechat mappings in job-sidechats.json
This commit is contained in:
operator
2026-10-04 16:52:54 +00:00
parent b8f02af572
commit 1d739f6b6a
6 changed files with 1001 additions and 7 deletions
+7 -2
View File
@@ -126,8 +126,13 @@ def main():
time.sleep(4)
# Step 5: Check for OTP prompt
body = ev(ws, "document.body.innerText.slice(0,300)")
if "Enter your code" in body or "code we sent" in body:
body = ev(ws, "document.body.innerText.slice(0,400)")
if "To confirm your account" in body:
print(f"NEEDS_SIGNUP: Account not yet confirmed/created on Muse for {args.email}. Client must complete signup first at https://muse.ai", file=sys.stderr)
ws.close()
sys.exit(4)
if "Enter your code" in body or "code we sent" in body or "To log in" in body:
print(f"OTP prompt detected for {args.email}")
if not args.otp:
print(f"APPROVAL_NEEDED: OTP required for {args.email}")