ci(ci): add daily retrospective (rolling learning PR) + bump engine#598
Merged
Conversation
Adds the daily learning-extraction flow (the config already anticipated it: 'needs a retrospective: block + a learning workflow, neither wired yet') on engine d05dcb1, which maintains ONE rolling learning PR on a stable branch (ai/learning-pr). - engineer-bot-learning.yaml: daily cron + workflow_dispatch, mirroring engineer-bot.yaml's setup (self-hosted runner, python3.11 venv, PAT install); actions:read for Track B (author-run mining). No live-connection/E2E step — the retrospective only reads diffs+logs and calls the model. - .bot/config.yaml: add retrospective: block (log_path -> the EXISTING .claude/knowledge/learning.md; engine-owned batch prompt) and pin author.knowledge_log to the same file so the author phase reads it NEWEST-first (the config comment's documented upgrade once the log grows). - Bump ENGINE_REF 5fbcee1 -> d05dcb1 across all 4 bot workflows. Co-authored-by: Isaac Signed-off-by: eric-wang-1990 <e.wang@databricks.com>
eric-wang-1990
requested review from
gopalldb,
lidavidm and
msrathore-db
as code owners
July 27, 2026 00:34
The rat pre-commit hook (Apache RAT) requires the standard license header on every file; the new learning workflow was missing it, failing 'lint & pre-commit'. Matches the header on every other .github/workflows/* file. Co-authored-by: Isaac Signed-off-by: eric-wang-1990 <e.wang@databricks.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enables the daily retrospective (learning-extraction) flow — which
.bot/config.yamlalready anticipated ("Auto-append on merge is a separate follow-up: needs aretrospective:block + a learning workflow, neither wired yet") — on the current engined05dcb1, which maintains one rolling learning PR on a stable branch (ai/learning-pr) per databricks-bot-engine#146.What the retrospective does
On a daily cron, the engine gathers merged PRs (diff + review comments) and recent engineer-bot author-run logs over an adaptive look-back window, and if the model finds durable, reusable learnings, appends a dated section to a single rolling PR (
ai/learning-pr) — human-gated, never committing the canonical log directly. The engineer author phase reads those learnings to steer future fixes.Changes
.github/workflows/engineer-bot-learning.yaml(new): dailyschedule+workflow_dispatch(since/window-hoursrecovery inputs). Mirrors this repo'sengineer-bot.yamlsetup exactly — self-hostedpeco-driverrunner,python3.11venv, interimBOT_ENGINE_PATengine install pinned toENGINE_REF. Grantsactions: readfor Track B (author-run mining). No live-connection/E2E step — the retrospective only reads diffs+logs and calls the model, so it needs no warehouse..bot/config.yaml:retrospective:block.log_pathpoints at the existing.claude/knowledge/learning.md(not a new file); engine-owned batch prompt (no override).author.knowledge_logto the same file — the documented upgrade the existing comment describes ("add author.knowledge_log back if it grows past the cap"): now that the log grows automatically, this delivers it to the author phase newest-first and capped, and closes the loop (log_path == knowledge_log).ENGINE_REF5fbcee1→d05dcb1across all 4 bot workflows (keeps every bot on one engine version).Validation
.bot/config.yamlloads viaload_bot; theretrospective:block parses; loop confirmed closed (log_path == author.knowledge_log);log_pathfile exists;author_workflow: engineer-bot.yamlfilename verified;bot_login_prefixpresent.engineer-bot-learning.yamlYAML parses; action refs match this repo's other bot workflows.Provisioning note
The engineer-bot GitHub App installation must carry
actions: readfor Track B.BOT_ENGINE_PAT,ENGINEER_BOT_APP_ID/PRIVATE_KEY,DATABRICKS_HOST/TOKENare already in place from the existing bots.This pull request and its description were written by Isaac.
This PR was created with GitHub MCP.