Skip to content

Fix exhaustive tabular CSV runs to queue directly from source - #1174

Merged
Paul Lizer (paullizer) merged 1 commit into
microsoft:feature/tabular-unbounded-analysisfrom
paullizer:fix/tabular-direct-source-backed-runs
Aug 8, 2026
Merged

Fix exhaustive tabular CSV runs to queue directly from source#1174
Paul Lizer (paullizer) merged 1 commit into
microsoft:feature/tabular-unbounded-analysisfrom
paullizer:fix/tabular-direct-source-backed-runs

Conversation

@paullizer

Copy link
Copy Markdown
Contributor

Summary:

  • Bypass mini-agent paging for explicit exhaustive row-level CSV export/analysis requests when exactly one authorized CSV source is selected or uploaded.
  • Build a replayable full-source query descriptor directly from the authorized blob, count rows through the bounded CSV replay path, and queue the existing durable runner for 300/3,000/30,000-row cases.
  • Wire the direct queue path through mixed-source, legacy workspace-search, chat-upload, and streaming branches while preserving mini-agent fallback for unsupported sources.
  • Add a regression test proving direct source-backed queueing works without prior filter_rows/query_tabular_data invocations.
  • Bump app version to 0.250.133.

Log analysis:

  • Captured App Service logs showed zero filter_rows/query_tabular_data/generated-output routing for the failed attempts, so the durable runner was never reached. This change moves exhaustive CSV requests ahead of that fragile dependency.

Validation:

  • .\.venv\Scripts\python.exe -m py_compile application\single_app\route_backend_chats.py application\single_app\config.py functional_tests\test_tabular_row_orchestration_scale.py
  • .\.venv\Scripts\python.exe functional_tests\test_tabular_row_orchestration_scale.py

@paullizer
Paul Lizer (paullizer) merged commit e23c2f5 into microsoft:feature/tabular-unbounded-analysis Aug 8, 2026
2 checks passed
@paullizer

Copy link
Copy Markdown
Contributor Author

Follow-up pushed after live log review:

  • Removed local traceback imports that shadowed the module-level traceback import and masked the real streaming exception with cannot access local variable 'traceback'.
  • Wrapped direct source-backed queueing so descriptor/credential failures log [TABULAR_GENERATED_OUTPUT] Direct source-backed generated output queueing skipped and fall back to existing tabular analysis instead of aborting the stream.
  • Added regression coverage for non-fatal direct queue fallback.

Validation rerun:

  • .\.venv\Scripts\python.exe -m py_compile application\single_app\route_backend_chats.py application\single_app\config.py functional_tests\test_tabular_row_orchestration_scale.py
  • .\.venv\Scripts\python.exe functional_tests\test_tabular_row_orchestration_scale.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant