Spaces:
Running
Running
Commit History
-
fix: pass username to SmartDataAdjuster so ThoughtSpotDeployer can auth
ThoughtSpotDeployer requires username but SmartDataAdjuster wasn't accepting or forwarding it, causing liveboard context load to fail. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>96b4690
-
fix: remove prompt_logger global singleton — per-session logger throughout
The module-level _prompt_logger singleton was overwritten by each new session's reset_prompt_logger() call, causing concurrent sessions to mix their LLM prompt logs. Fix: - Remove _prompt_logger global, get_prompt_logger(), reset_prompt_logger() - logged_completion() and log_researcher_call() now accept logger= param; if None, call proceeds but is not logged (no crash) - chat_interface: PromptLogger instantiated directly per-controller - Prompt log tab timer reads from controller._prompt_logger via gr.State - ThoughtSpotDeployer: self.prompt_logger set from controller after construction - liveboard_creator: prompt_logger threaded through create_liveboard_from_model_mcp and _generate_smart_questions_with_ai - SmartDataAdjuster: prompt_logger= constructor param, used in _call_llm Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>01e294d
-
feat: March 2026 sprint — new vision merge, pipeline improvements, settings refactor
Core changes: - Merged DemoPrep_new_vision2: StorySpec outlier injection engine, domain packs, quality validator, 1600-line generator with deterministic seeds + trend signals - Consolidated outlier_system.py + 3 data_adjuster files → demo_personas.py liveboard_questions - Rewrote liveboard AI fill prompt: no redundant KPIs, business insight focus - Fixed "Show me" title strip, Spotter Viz Story now persona-driven (Part 1) + AI (Part 2) - Fixed progress meter stuck on Data during ThoughtSpot deployment - Fixed liveboard name: UI field value now always takes priority over DB default - Settings UI: split into Default Settings (AI Model, Use Case, LB Name) + App Settings - Added session_logger.py, admin log viewer, state isolation (per-session loggers) - TS environment dropdown, front page redesign, progress meter Init→Complete - Supabase session logging with file fallback - Sharing after every build (model + liveboard) - Sage indexing retry on 10004, fallback TML skips invalid column re…5ac32c1
-
refactor: centralize LLM config and env-backed client setup
Create a single source of truth for model selection, provider routing, token policy, and API key loading so LLM updates no longer require multi-file edits. This also keeps runtime key sourcing in environment variables and normalizes legacy model aliases for compatibility. Made-with: Cursorcd91248
-
feat: login system, admin settings in Supabase, auth simplification
- Login gate: Gradio auth with PBKDF2 password hashing, UserManager in supabase_client.py - Admin settings: all secrets (TS, Snowflake, LLM keys) stored in Supabase under __admin__ key - get_admin_setting() replaces all os.getenv() for admin-managed values - Admin Settings tab for viewing/editing (admin-only visibility) - Migration script: scratch/migrate_env_to_supabase.py - Auth simplification: removed password auth entirely, trusted auth only - Renamed THOUGHTSPOT_SECRET_KEY -> THOUGHTSPOT_TRUSTED_AUTH_KEY - Removed authenticate_password(), ts_auth_method dropdown, ts_password field - Removed obsolete env vars: INITIAL_USER, USER_EMAIL, USE_MCP_LIVEBOARD, LIVEBOARD_METHOD - Added Regular Case naming style (State Id, Total Revenue) as default - Startup validation: validate_required_settings() blocks pipeline if settings missing - Prompt logger: logs all LLM calls with timing/tokens to logs/prompts/ - Batch test runner: tests/batch_runner.py with 8 test cases - Cherry-picked…1ab614e
-
Feb sprint: vertical×function matrix, structured outliers, unified prompts
- demo_personas.py: VERTICALS, FUNCTIONS, MATRIX_OVERRIDES dicts with get_use_case_config() and parse_use_case() - outlier_system.py: OutlierPattern/OutlierConfig dataclasses, OUTLIER_CONFIGS with Retail Sales patterns - prompts.py: build_prompt() composable system, STAGE_TEMPLATES for research/ddl/liveboard/demo_notes - chat_interface.py: research cache fix (absolute paths), auto-use cache, DDL failure guard - liveboard_creator.py: _clean_viz_title() helper, revert MCP to working stdio/npx approach - smart_data_adjuster.py: multi-LLM support (Claude + OpenAI) via _call_llm() - thoughtspot_deployer.py: fix model validation by keeping FK/PK columns, tag debug logging - CLAUDE.md/PROJECT_STATUS.md: simplify liveboard docs to unified process - demo_prep.py: remove unsupported max_lines from gr.Code() Co-authored-by: Cursor <cursoragent@cursor.com>3b2cd7b
-
Features: Add tag support, improve error handling, MCP improvements
- Add tag_name parameter to deployment flow - Improve population retry logic with numbered options - Add MCP package to requirements - Update CLAUDE.md with dual method documentation - File organization: move docs to dev_notes/, create scratch/ folder - Add .cursorrules for file organization - Add data adjuster modules for runtime data modificationb91d31b