Skip to content

Commit 2bf00c9

Browse files
ci(engineer-bot): wire databricks-jdbc context-repo + bump ENGINE_REF
Adopts the engine's context-repo discovery for adbc so the bug-fix agent can consult the JDBC reference for behavior parity: - .bot/context-repos.yaml: allowlist databricks-jdbc (PUBLIC; cloned lazily/read- only by fetch_context_repo, never vendored). The description is surfaced into the tool menu. - author_system.md: "Reference — how JDBC behaves" note (fetch only when behavior is uncertain; grep the cited class). - ENGINE_REF -> 7e36703 (eric-wang-1990/databricks-bot-engine) in all 4 workflows — the engine build with the engineer fetch_context_repo/read_context_repo/ grep_context_repo tools + shared/source_read. Co-authored-by: Isaac
1 parent 4c11f28 commit 2bf00c9

6 files changed

Lines changed: 43 additions & 4 deletions

File tree

.bot/context-repos.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright (c) 2025 ADBC Drivers Contributors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# Allowlist of PUBLIC repos the bots may fetch on demand for reference context
16+
# (loaded by shared.context_repos.load_context_repos; surfaced into the
17+
# fetch_context_repo tool menu). Cloned LAZILY by fetch_context_repo only when the
18+
# agent needs them — never vendored, never cloned up front. PUBLIC repos only: the
19+
# clone is unauthenticated (no token), so keep clone_url a plain HTTPS URL.
20+
context_repos:
21+
- name: databricks-jdbc
22+
description: >
23+
Databricks' official JDBC driver (Java) — the canonical reference for
24+
correct Databricks SQL/metadata behavior. Consult it when the RIGHT
25+
behavior is uncertain or an issue cites JDBC for parity: metadata
26+
(GetColumns/ORDINAL_POSITION, GetTables, catalog/schema wildcards), type
27+
mapping, error/status semantics, CloudFetch. grep for the class/method the
28+
issue names (e.g. MetadataResultSetBuilder) to see how JDBC does it, then
29+
mirror it in the C# driver.
30+
clone_url: https://github.com/databricks/databricks-jdbc.git

.bot/prompts/author_system.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,15 @@ Rules for the shared workspace (see `docs/e2e-test-isolation-guidance.md`):
6767
share this workspace and those counts drift. Assert on your specific entity with
6868
`Assert.Contains`; scope any row-count check to a table you uniquely created.
6969

70+
## Reference — how the JDBC driver behaves
71+
When the *correct* behavior is uncertain (issues often say "how JDBC does it"),
72+
**`fetch_context_repo databricks-jdbc`**, then `grep_context_repo` /
73+
`read_context_repo` to see how Databricks' official JDBC driver handles it, and
74+
mirror that — it's the parity ground truth for metadata / type / error semantics.
75+
The clone is lazy and read-only; fetch **only** when you need it (most fixes
76+
don't), and `grep` for the class/method the issue names (e.g.
77+
`MetadataResultSetBuilder`) rather than browsing.
78+
7079
## How to work (bug-fix flow)
7180
1. **Write the failing E2E test FIRST — before you deep-dive the fix.** Your first
7281
substantive action is an **E2E test (REQUIRED, under `csharp/test/E2E/`, talking

.github/workflows/engineer-bot-followup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ jobs:
198198
# repo cuts one). claude-agent-sdk / @anthropic-ai/claude-code are left
199199
# unpinned to match the hub (databricks-driver-test); pin them to exact
200200
# versions here if you want full reproducibility.
201-
ENGINE_REF: 5c179e26791afeb0c3be7b8639d71440a60ba7ee
201+
ENGINE_REF: 7e36703f5cae56a3db12fd25620735315fc4c506
202202
run: |
203203
set -euo pipefail
204204
: "${ENGINE_REF:?pin the engine to a tag/SHA before activation (refusing @main)}"

.github/workflows/engineer-bot.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ jobs:
128128
# repo cuts one). claude-agent-sdk / @anthropic-ai/claude-code are left
129129
# unpinned to match the hub (databricks-driver-test); pin them to exact
130130
# versions here if you want full reproducibility.
131-
ENGINE_REF: 5c179e26791afeb0c3be7b8639d71440a60ba7ee
131+
ENGINE_REF: 7e36703f5cae56a3db12fd25620735315fc4c506
132132
run: |
133133
set -euo pipefail
134134
: "${ENGINE_REF:?pin the engine to a tag/SHA before activation (refusing @main)}"

.github/workflows/reviewer-bot-followup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ jobs:
171171
# repo cuts one). claude-agent-sdk / @anthropic-ai/claude-code are left
172172
# unpinned to match the hub (databricks-driver-test); pin them to exact
173173
# versions here if you want full reproducibility.
174-
ENGINE_REF: 5c179e26791afeb0c3be7b8639d71440a60ba7ee
174+
ENGINE_REF: 7e36703f5cae56a3db12fd25620735315fc4c506
175175
run: |
176176
set -euo pipefail
177177
: "${ENGINE_REF:?pin the engine to a tag/SHA before activation (refusing @main)}"

.github/workflows/reviewer-bot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ jobs:
102102
# repo cuts one). claude-agent-sdk / @anthropic-ai/claude-code are left
103103
# unpinned to match the hub (databricks-driver-test); pin them to exact
104104
# versions here if you want full reproducibility.
105-
ENGINE_REF: 5c179e26791afeb0c3be7b8639d71440a60ba7ee
105+
ENGINE_REF: 7e36703f5cae56a3db12fd25620735315fc4c506
106106
run: |
107107
set -euo pipefail
108108
: "${ENGINE_REF:?pin the engine to a tag/SHA before activation (refusing @main)}"

0 commit comments

Comments
 (0)