Skip to content

learn: retrospective learnings - #908

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

peco-engineer-bot[bot] wants to merge 24 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-28: 1 new learning(s) since 2026-10-27T17:26:56Z.

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.

Verdict: 1 Low

Documentation-only PR appending auto-generated retrospective learning sections — no executable code, APIs, or tests touched, so correctness/security/test axes don't apply. Structure, ordering, and sentinel line are intact. One Low data-quality note: three consecutive sections (2026-09-24, 2026-09-28, 2026-10-07) repeat the same since 2026-09-18T17:27:19Z watermark and re-describe PR #947, suggesting the generator's window cursor didn't advance between those runs.

- **Context:** PR #947 fixed `RedactUrlQueryParamsFilter.filter` in `src/databricks/sql/__init__.py`, which crashed on log calls with no args (`record.args is None`) and carried a latent `record.arg[k]` NameError typo hidden in the never-exercised dict-args branch.
**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

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 — Three consecutive sections carry the same watermark learnings since 2026-09-18T17:27:19Z — ### 2026-09-24, ### 2026-09-28, and ### 2026-10-07 — and all three describe the same PR #947 RedactUrlQueryParamsFilter.filter fix in near-identical wording. The log's own convention is that each daily run appends learnings for a new window; a static since timestamp across three dated runs means the retrospective's cursor was not advanced after the 09-24 and 09-28 runs, so the same window (and the same PR) was redistilled and re-appended three times.

This is a generator/data-quality issue, not a code bug, but it leaves three redundant entries that future author-phase reads will treat as three distinct lessons about the same fix. Worth confirming the retrospective advances its knowledge_log cursor to the merge/run time after each run so windows don't overlap. The 2026-10-08 and 2026-10-13 sections correctly advance the watermark, so the issue appears isolated to this run of 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

Looks good — this PR only appends dated entries to a markdown learning log, so no code-correctness, error-handling, security, or test axes apply. One low data-quality note: PR #947 is recorded three times (2026-09-24 / 2026-09-28 / 2026-10-07) all under the same 2026-09-18T17:27:19Z watermark, indicating the same window was reprocessed and the learning triplicated.

- **Context:** PR #947 fixed `RedactUrlQueryParamsFilter.filter` in `src/databricks/sql/__init__.py`, which crashed on log calls with no args (`record.args is None`) and carried a latent `record.arg[k]` NameError typo hidden in the never-exercised dict-args branch.
**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

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 learning about PR #947's RedactUrlQueryParamsFilter.filter fix is recorded three times — in the 2026-09-24, 2026-09-28, and 2026-10-07 sections — and all three share the identical watermark learnings since 2026-09-18T17:27:19Z. The retrospective appears to have re-processed the same 2026-09-18 window on three consecutive runs, emitting a near-duplicate rule each time (all describe the record.args None/tuple/dict handling and the record.arg[k] typo). Since this log is read by the engineer author phase to steer future fixes (author.knowledge_log), the triplication adds redundant context and suggests the watermark wasn't advanced after the first emission. Consider collapsing to a single entry and confirming the retrospective's since-watermark advances past 2026-09-18T17:27:19Z so the window isn't reprocessed again.

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

Looks good — this PR only appends dated sections to the bot-maintained retrospective knowledge log (.claude/knowledge/learning-log.md); no executable code changes, entries are well-formed and ordered oldest→newest above the sentinel line. One low-severity content note: the 2026-09-24 / 2026-09-28 / 2026-10-07 sections triplicate the same PR #947 learning under an identical, non-advancing since 2026-09-18T17:27:19Z watermark.

- **Context:** PR #947 fixed `RedactUrlQueryParamsFilter.filter` in `src/databricks/sql/__init__.py`, which crashed on log calls with no args (`record.args is None`) and carried a latent `record.arg[k]` NameError typo hidden in the never-exercised dict-args branch.
**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

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 three sections dated 2026-09-24 (L127), 2026-09-28 (L131), and 2026-10-07 (L135) all carry the identical watermark learnings since 2026-09-18T17:27:19Z and all three re-state the same PR #947 RedactUrlQueryParamsFilter.filter learning with only cosmetic wording differences.

Everywhere else in the log the since timestamp advances run-to-run (e.g. the 2026-09-17 section is since 2026-09-16, the 2026-09-24 section since 2026-09-18). Three consecutive runs frozen at 2026-09-18T17:27:19Z indicates the retrospective's "last processed" watermark did not advance after the 2026-09-24 run, so the same already-captured PR #947 learning was re-harvested and re-appended twice more.

Impact is limited to log hygiene — the engineer author phase reads this log (per the file's own header / .bot/config.yaml author.knowledge_log), so the triplicate entry wastes context budget and over-weights one lesson. Worth a one-line cleanup (drop L131 and L135, keep the original at L127) and a look at why the pipeline's watermark stalled, since the same stall would re-duplicate future learnings. Not a connector-code defect; flagging as low.

This branch was successfully deployed

1 active deployment
azure-prod — 1a1a53e9 Deployed Oct 28, 2026 by peco-review-bot[bot] via followup #1042
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