- _has_answer_artifact() now strips closed code fences before checking for unclosed markup, and strips closed markup before checking for unclosed code fences. A Python / JS snippet containing literal "<html>" / "<svg>" strings no longer trips the unclosed-markup cross-check, and complete HTML containing a JS string with literal backticks no longer trips the unclosed-fence cross-check. - _looks_like_real_artifact() iterates every artifact match. An empty <html></html> / <svg></svg> skeleton followed by a real complete page no longer hides the real artifact. - _is_empty_markup_skeleton() strips an optional <!doctype ...> prefix before testing the empty-skeleton pattern, so "<!doctype html><html></html>" plan-only mentions also re-prompt. - _BARE_INTENT_NUMBERED_PLAN catches the tight "I'll:\n1. Open ..." / "Let me:\n1. Parse ..." shape where bare first-person intent + colon + newline is immediately followed by numbered action items. No work verb is required between the intent and the list. |
||
|---|---|---|
| .. | ||
| assets | ||
| auth | ||
| core | ||
| loggers | ||
| models | ||
| plugins | ||
| requirements | ||
| routes | ||
| state | ||
| storage | ||
| tests | ||
| utils | ||
| __init__.py | ||
| _platform_compat.py | ||
| colab.py | ||
| main.py | ||
| run.py | ||
| startup_banner.py | ||