Visitar URL original
learn: retrospective learnings by peco-engineer-bot[bot] · Pull Request #908 · databricks/databricks-sql-python · GitHub
Skip to content

learn: retrospective learnings - #908

Open
peco-engineer-bot[bot] wants to merge 17 commits into
mainfrom
ai/learning-pr
Open

peco-engineer-bot[bot] wants to merge 17 commits into
mainfrom
ai/learning-pr

Conversation

@peco-engineer-bot

@peco-engineer-bot peco-engineer-bot Bot commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

Rolling retrospective learnings

This PR accumulates one dated section of learnings per day (from merged PRs and engineer-bot author runs) until it is merged; merging it starts a fresh one. The bot never writes the canonical log directly.

Latest update 2026-10-07: 1 new learning(s) since 2026-09-18T17:27:19Z.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>
@peco-engineer-bot peco-engineer-bot Bot added the engineer-bot-learning Auto-generated retrospective learning PR label Aug 13, 2026

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: 1 Low

Doc-only change appending dated learning sections to the retrospective knowledge log; content is coherent and no executable code is touched. One low-severity concern: the new 2026-09-28 section duplicates the preceding 2026-09-24 entry (same PR #947, same since 2026-09-18T17:27:19Z window), adding a restated learning rather than a new one.

**Rule:** A `logging.Filter` that mutates `record.args` must handle all three shapes it can take — `None` (message logged with no args), a tuple, and a dict — and tests must exercise each shape (especially the dict path) since an untested branch masked a NameError.

### 2026-09-28: learnings since 2026-09-18T17:27:19Z
- **Context:** PR #947 fixed `RedactUrlQueryParamsFilter.filter` in `src/databricks/sql/__init__.py`: the non-dict branch assumed `record.args` was always iterable and crashed when it was `None` (log calls with no interpolation args), and a `record.arg[k]` typo in the dict branch had gone unnoticed because that path was never exercised by a test.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Low — This new 2026-09-28 section is a near-duplicate of the immediately-preceding 2026-09-24 section: both cover the same PR #947 fix to RedactUrlQueryParamsFilter.filter in src/databricks/sql/__init__.py, and both carry the identical since 2026-09-18T17:27:19Z window start. The retrospective window evidently did not advance (both say "since 2026-09-18T17:27:19Z"), so the same learning was re-emitted with only slightly reworded Context/Rule text.

The log's own convention comment says each daily run appends "one dated section of 0..N learnings" — a genuinely-new run that surfaced no new source PR should append 0 learnings rather than restate a prior one. As written, a future reader mining this log for durable lessons hits the same record.args-mutation rule twice back-to-back, and the duplicated since timestamp obscures which retrospective actually produced it. Consider dropping this section (or, if a new run genuinely occurred with nothing new, appending an empty-dated section) so the log doesn't accumulate restated duplicates.

Signed-off-by: peco-engineer-bot[bot] <peco-engineer-bot[bot]@users.noreply.github.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: 1 Low

Documentation-only change appending dated sections to the engineer-bot learning log — no executable code, so nothing to review for correctness/security/tests. One low-severity content concern: PR #947's learning is duplicated across the last three sections (2026-09-24, 2026-09-28, 2026-10-07), all sharing the same since 2026-09-18T17:27:19Z watermark, hinting the retrospective's since-cursor isn't advancing between runs.


### 2026-09-17: learnings since 2026-09-16T17:28:35Z
- **Context:** PR #951 hardened mTLS client-identity handling in `SSLOptions`: it added `validate_client_identity()` / `load_client_cert_chain()` and rejects a private key configured without a client certificate.
**Rule:** Python's `ssl.SSLContext.load_cert_chain` accepts a combined cert+key PEM (so certfile-without-keyfile is valid) but silently ignores a keyfile-without-certfile and downgrades to one-way TLS — explicitly reject key-without-cert, and preflight each identity file (readable, non-empty) separately before calling `load_cert_chain` so the failing input is named instead of an opaque stdlib SSL error.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Low — The same PR #947 RedactUrlQueryParamsFilter.filter learning is emitted three times in a row, in the 2026-09-24, 2026-09-28, and 2026-10-07 sections, each phrased slightly differently but conveying the identical rule (handle record.args as None/tuple/dict, test the dict branch).

Tellingly, all three sections carry the same learnings since 2026-09-18T17:27:19Z watermark, which suggests the retrospective's since-cursor isn't advancing after each run, so it keeps re-distilling the same merged PR into a fresh dated section. Each subsequent run will likely append yet another copy. Worth checking the cursor-advance logic in the retrospective job (databricks_bot_engine.engineer_bot.retrospective) so the window base moves forward once a learning is recorded; otherwise the rolling log accretes duplicates until merge.

This branch was successfully deployed

1 active deployment
azure-prod — ce821ffb Deployed Oct 7, 2026 by peco-review-bot[bot] via followup #972
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engineer-bot-learning Auto-generated retrospective learning PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants