v0.16.0
What's Changed
- feat(rag): split embedding into docs and code with Studio UI by @omeryasirkucuk in #464
- refactor(search): split agent_tools.py and tool_agent.py into focused modules by @omeryasirkucuk in #465
- refactor(agents): extract orchestrator merge logic by @omeryasirkucuk in #466
- refactor(agents): extract orchestrator writeback by @omeryasirkucuk in #467
- refactor(agents): extract orchestrator review UI by @omeryasirkucuk in #468
- refactor(cli): extract compare.py pure formatters by @omeryasirkucuk in #469
- refactor(llm): extract provider error classification by @omeryasirkucuk in #470
- refactor(llm): extract provider config + reasoning helpers by @omeryasirkucuk in #471
- refactor(llm): extract logprob confidence helpers by @omeryasirkucuk in #472
- refactor(llm): extract litellm bootstrap + structured-content shim by @omeryasirkucuk in #473
- refactor(db): extract connector value types + retry policy by @omeryasirkucuk in #474
- refactor(db): extract column profiler to _column_profiler by @omeryasirkucuk in #475
- fix(tests): de-flake advisory_lock parallel test by @omeryasirkucuk in #476
- refactor(cli): extract compare.py export helpers by @omeryasirkucuk in #477
- refactor(search): extract SCD + dimensional-role tools to mixin by @omeryasirkucuk in #478
- refactor(cli): extract analyze_flow bounded-input prompts by @omeryasirkucuk in #479
- refactor(cli): extract db.py environment-diagnostic helpers by @omeryasirkucuk in #480
- refactor(web): extract runs router payload helpers by @omeryasirkucuk in #481
- refactor(storage): extract sqlite_store event log + session state by @omeryasirkucuk in #482
- refactor(cli): extract reference-based quality metrics by @omeryasirkucuk in #483
- refactor(cli): extract session.py keybindings by @omeryasirkucuk in #484
- refactor(cli): extract analyze_flow bulk review actions by @omeryasirkucuk in #485
- refactor(storage): extract sqlite_store cache layer to _history_caches by @omeryasirkucuk in #486
- refactor(cli): extract manual.py DB error classifier by @omeryasirkucuk in #487
- refactor(cli): extract search results renderer by @omeryasirkucuk in #488
- fix(tests): use threading.Barrier to deflake advisory_lock parallel test by @omeryasirkucuk in #489
- refactor(storage): extract apply audit + scheduled runs from sqlite_store by @omeryasirkucuk in #490
- refactor(cli): extract compare.py run resolution by @omeryasirkucuk in #491
- refactor(storage): extract variations + result queries from sqlite_store by @omeryasirkucuk in #492
- refactor(cli): extract search.py action dispatch + approval flow by @omeryasirkucuk in #493
- refactor(storage): extract sqlite_store run lifecycle to _history_runs by @omeryasirkucuk in #494
- refactor(cli): extract session.py UI prints by @omeryasirkucuk in #495
- refactor(cli): extract quality embedding helpers by @omeryasirkucuk in #496
- refactor(cli): extract db inspect+profiling commands by @omeryasirkucuk in #497
- Ask cache-only by default: Live refresh toggle, coverage tools, daemon fix, sidebar cache by @omeryasirkucuk in #501
- fix(ci): green main after #501 by @omeryasirkucuk in #502
- feat(lineage): /lineage slice 1 — cache-first column lineage by @omeryasirkucuk in #503
- feat(lineage): v2 — query-log + LLM extractors + Studio Lineage View by @omeryasirkucuk in #505
- feat(lineage): v3 S3 — Studio Lineage usable + smart by @omeryasirkucuk in #506
- feat(lineage): v3 S5 — feedback loop + audit + share link + rejected filter by @omeryasirkucuk in #507
- feat(lineage): v4 S1 — column-level edge storage foundation by @omeryasirkucuk in #508
- feat(lineage): v4 S2 — view_ddl surfaces operator metadata on edges by @omeryasirkucuk in #509
- feat(lineage): v4 S3 — column-level canvas with TableNode + OperatorNode by @omeryasirkucuk in #510
- feat(lineage): v4 S4 — column trace panel (datapav-style ORIGIN→HERE) by @omeryasirkucuk in #511
- feat(lineage): v4 S5 — inline operator editor + name_match opt-in by @omeryasirkucuk in #512
- feat(lineage): v4 S6 — LOD + column-level fuzzy search (closing polish) by @omeryasirkucuk in #513
- fix(lineage): v4 hotfix — Create-new 500, column rows, operator edge anchoring by @omeryasirkucuk in #514
- feat(lineage): canvas overhaul — typed columns, streaming AI, logos, rich-text labels by @omeryasirkucuk in #515
- feat(lineage): AI Generate quality overhaul + delete affordance + picker UX fixes by @omeryasirkucuk in #516
Full Changelog: v0.15.1...v0.16.0