Heuristic: manual fallback wins when ≤5 min and reliable
Don’t autonomous-tool what AJ already does fast manually
When AJ has a manual fallback that’s ≤5 min/instance + reliable + vendor-supported, do NOT build complex autonomous tooling. The maintenance overhead doesn’t amortize at low volume.
Real incident (2026-05-03)
Built a Tier-3 Playwright autonomous publish path for Tableau Cloud keypair workbooks: publish_workbook_with_saved_credential MCP tool + tier3_delegate.py + workbook publish CLI subcommand + 8 cloud_publish_* selectors + HEADED browser session + selector-discovery flow. Tableau Cloud’s deep-link auth bounced headless sessions to SSO unpredictably; selector discovery never reached the project page reliably. Reverted same session per AJ directive.
Wasted: 4 commits + revert noise + Playwright Chromium install + audit log scaffolding for the autonomous path that never worked.
What worked: the original 3-min Tableau Desktop manual flow with hand-holding doc at /root/aj-ea/outputs/documents/way-of-working-tableau-desktop-publish-keypair.md.
Decision recipe (apply before building autonomous variant)
Before building any autonomous variant of a capability AJ does manually, ask:
- How long does AJ’s manual flow take? (≤5 min = high bar for autonomous to clear)
- How often does AJ do it? (<5×/week = autonomous won’t amortize maintenance)
- What’s the maintenance surface? (Browser selectors / OAuth token rotation / cron schedule = each adds drift risk)
- Does the manual flow have a vendor-architectural moat? (“must use Desktop” per Tableau docs = autonomous can’t beat that)
If ANY of (1) ≤5 min, (2) <5/wk, (3) high maintenance, (4) vendor moat — propose the manual way-of-working doc as canonical answer. Build autonomous ONLY when AJ explicitly says “this is recurring, bake it in”.
Cross-reference
“World-class zero-compromise” doesn’t mean “build everything autonomous”. It means “ship the right answer with no debt”. Sometimes the right answer is operator + clear instructions. Captured locally at feedback_manual_fallback_wins.md (aj-workspace memory).