I work on the insides of query engines and the tools that let LLM agents talk to them.
B.Tech CSE @ IIIT Kottayam (2027) · Bangalore, India
- Apache SeaTunnel - reworking checkpoint scheduling in the Zeta engine: shared trigger scheduling across pipelines (STIP-40), lock contention during savepoints, and force-stop futures that never complete.
- Google ADK for Go - hunting agent-runtime bugs: lost session state under concurrent appends, loop agents that keep running after a sub-agent fails, SSE timeouts, per-user MCP sessions, plus a new BigQuery toolset. 23 merged.
- Apache Spark - Catalyst optimizer correctness fixes and new SQL functions (1 merged, 12 in review).
- B.Tech thesis - a component-swappable LLM agent harness, studying how memory representation changes long-horizon task success and token cost.
| Project | What I did | Links |
|---|---|---|
Added gcd / lcm SQL functions with Catalyst codegen, ANSI overflow semantics, Scala + PySpark APIs. Fixed optimizer correctness bugs in ReplaceExceptWithFilter, LimitPushDown, and Expand pre-aggregation. Merged: shuffle skew accounting on by default so AQE can actually see skew. BloomFilter hot-path speedup. |
#58242 #57528 (merged) #58046 #58065 #58102 all 13 | |
function_metadata() datasource function exposing the runtime function registry as queryable rows. MCP assistant panel in the cluster dashboard (~4.7k lines) that answers questions and runs SQL++ against the live cluster. Admin and Connector API docs. Patches landed via Gerrit. |
#51 #52 #48 | |
| Checkpoint scheduling benchmark and its trigger-count warm-up (both merged), shared trigger scheduling, cooperative worker budgeting, savepoint lock fix, force-stop future fix. Filed the design proposal STIP-40 and 3 bug reports. | #12418 #12896 #12165 #12511 #12623 | |
clickhouse-connect |
Merged a fix so the server-side parameter binder accepts $ in placeholder names. Before, those queries silently fell back to client-side formatting and went out with no bound parameters. |
#948 |
23 merged: per-user MCP sessions under Config.Auth, new BigQuery toolset (dataset, table and job tools), app/user state-row locking in AppendEvent and Create, function responses routed to the calling sub-agent under workflow roots, loop and sequential agents stopping on sub-agent error, persisted input/output transcriptions, zero SSE write timeout that failed every response, literal ${var} placeholders, callback artifact saves recorded on the event, thought parts skipped in memory search, repeatable flaky tests. |
#1755 #2171 #1743 #1684 #1662 #1686 #1975 all 26 | |
| Serialized U2M OAuth token refreshes across processes. Rejected symlinked directories in templates. | #6759 #6758 | |
2 merged: correct OTLP span kind from ops-tracing, ops.testing.Container fallback type checking with ty and pyrefly in CI. Open: OTLP/JSON attribute encoding, Pebble state-map init. |
#2824 #2804 #2827 pebble#1117 | |
6 merged: drop_diagonal_before_measurement transformer, qubit routing on directed device graphs, recursive CircuitOperation support, Gateset.__contains__ crash on unhashable gates. |
#7790 #7810 #7843 #7963 all | |
| Also | sktime (merged: AutoResearchForecaster update fix), Gemini CLI, Omnigent, Qiskit |
gemini-cli omnigent sktime#11686 |
|
asterixdb-mcp-server Model Context Protocol gateway for Apache AsterixDB. 26 tools, 12 resources, 6 prompts over JSON-RPC 2.0: sync/async SQL++, plan introspection, index advice, schema discovery. OAuth 2.1 (JWKS), multi-tenant isolation, stdio + HTTP transports. 650+ tests at 100% line and branch coverage. Architecture accepted as APE 36. |
agentdb NL-to-SQL context layer that gives agents a warehouse's physical design (sort keys, partitions, column stats) instead of a schema dump. 4.0x fewer bytes read on a 100M-row ClickBench table. Flags Delta Lake filters outside the 32-column data-skipping window. Ships |
borgpilot Autonomous SRE agent on Google Borg 2019 traces. Zero hardcoded SQL: it discovers the schema and writes SQL++ itself. Isolated 1 faulty host in a 10,001-machine fleet in 156 ms. Gradient-boosted failure-risk model at 0.897 ROC-AUC; rightsizing engine over 25.7M events. |
Catalyst optimizer rules · MergeTree sort keys and data skipping · reading EXPLAIN plans · building MCP servers that are safe to point at a real database · getting a first PR into an Apache project
If something here overlaps with what you're building, open an issue on any of my repos or reach out on LinkedIn.









