Commit Graph

6164 Commits

Author SHA1 Message Date
Christian Gunderman
746be830fe fix(bot): ensure branch names always start with 'bot/' prefix 2026-05-14 10:23:03 -07:00
Christian Gunderman
f65cacfea4 fix(bot): exempt bots from PR rate limiter 2026-05-14 09:13:50 -07:00
Christian Gunderman
8d6b0effc3 fix(bot): always target main in brain workflow to prevent leaking feature branch changes 2026-05-14 09:08:00 -07:00
Christian Gunderman
6efdbd3e48 fix(bot): improve reasoning resilience and prevent infinite loops
- Update PR skill to allow informed escalation and help requests when stuck.

- Update main brain prompt to encourage strategic pivoting between hypotheses.

- Explicitly authorize bailing out of tasks that cannot be verified.
2026-05-13 21:50:51 -07:00
Christian Gunderman
a2841350ba fix(bot): implement prompt-level loop prevention and enforce test timeouts 2026-05-13 21:15:05 -07:00
Christian Gunderman
928ce879ea fix(bot): improve patch resilience in brain workflow
- Pin publish job to the specific SHA from reasoning job to avoid drift.

- Use git apply --3way --ignore-whitespace for better conflict resolution.
2026-05-13 20:35:02 -07:00
Christian Gunderman
5dc5b4ed4a fix: handle ENAMETOOLONG gracefully during path resolution
This fix was recovered from a timed-out bot run. It addresses issue #26979
where the CLI would crash if a user provided an extremely long path string
in an @ command (e.g. @/aaa...a).

Changes:
- Updated 'robustRealpath' in 'packages/core/src/utils/paths.ts' to catch
  and gracefully handle 'ENAMETOOLONG' and 'EINVAL' errors from fs.realpathSync
  and fs.lstatSync.
- Added a defensive try-catch block to 'checkPermissions' in
  'packages/cli/src/ui/hooks/atCommandProcessor.ts' to prevent long path
  strings from crashing the CLI during @ command parsing.
- Added regression unit tests to verify the fix.
2026-05-13 20:24:15 -07:00
Christian Gunderman
98781cd97d chore(bot): remove maxSessionTurns and improve artifact archiving
- Removed the `maxSessionTurns: 30` limit from the bot's configuration as requested.
- Added `if: always()` to the `Archive Brain Data` step in the workflow to ensure logs (telemetry, debug) are available even when the agent fails or times out.
2026-05-13 18:37:18 -07:00
Christian Gunderman
daaa631071 feat(bot): optimize search strategy in issue-fixer skill
Updated the issue-fixer skill to instruct the bot to search one top-level
folder at a time and avoid problematic directories with large data files
(memory-tests, last_brain_data) to prevent grep_search timeouts.
2026-05-13 18:27:39 -07:00
Christian Gunderman
506184d739 fix(bot): cap reasoning loops to 30 turns
The non-interactive CLI defaults to infinite `maxSessionTurns`. This causes the bot to get stuck in infinite trial-and-error loops when it struggles to fix a failing test suite, only stopping when the 60-minute GitHub Actions timeout kills the runner.

By setting `maxSessionTurns: 30` in the bot's configuration, the LLM session will gracefully abort with an error if it cannot find a solution within a reasonable number of attempts.
2026-05-13 17:59:25 -07:00
Christian Gunderman
9b3fef4f68 fix(ci): prevent infinite hangs in bot reasoning workflow
- Added a 60 minute timeout to the Reasoning job in the workflow.
- Updated the issue-fixer skill to instruct the bot to wrap 'npm run preflight' with the linux 'timeout' utility to prevent infinite loops from hanging the entire LLM agent.
2026-05-13 17:15:50 -07:00
Christian Gunderman
83d15895f1 fix(bot): archive pr-labels.txt to apply labels to PRs
The pr-labels.txt file was being correctly generated by the bot but was not
being passed to the Publish Artifacts job because it was omitted from the
Archive Brain Data step.
2026-05-13 16:29:02 -07:00
Christian Gunderman
03877eae3b fix(core): trust explicitly allowed variables over name patterns
This removes the `NEVER_ALLOWED_NAME_PATTERNS` filter from `getSecureSanitizationConfig`.

Previously, if a user explicitly added a variable like `GH_TOKEN` to their `allowedEnvironmentVariables` in `settings.json`, it would be silently dropped during configuration parsing because it matched the `NEVER_ALLOWED_NAME_PATTERNS` regex.

This change ensures that explicit user allowlists take precedence over heuristic name-based pattern matching, while still maintaining the strict blocklist for known highly-sensitive system variables (`NEVER_ALLOWED_ENVIRONMENT_VARIABLES`).
2026-05-13 16:11:34 -07:00
Christian Gunderman
d17a813cc3 Revert "fix:reorder env var redaction checks to scan values first (#21059)"
This reverts commit 9773a084c9.
2026-05-13 15:29:05 -07:00
Christian Gunderman
a6e460e595 feat(bot): add support for applying labels to bot-created PRs
- Update the publish workflow to read labels from a pr-labels.txt file and apply them to the PR using the gh CLI.
- Update the prs skill to instruct the bot to write labels to pr-labels.txt.
- Update the issue-fixer and metrics skills to explicitly request the application of their respective labels in pr-labels.txt.
2026-05-13 15:13:46 -07:00
Christian Gunderman
4449f3f43c chore(bot): configure environment variable redaction bypass
This adds a settings.json file to the bot's configuration to explicitly allow GH_TOKEN and GITHUB_TOKEN to bypass the environment variable redaction engine. This is required because the bot runs in GitHub Actions, which enforces strict redaction mode by default. The workflow file was also simplified by removing the wrapper script that was previously used to bypass redaction.
2026-05-13 15:05:02 -07:00
Christian Gunderman
7789469bd1 fix(bot): provide GH_TOKEN in bot-brain workflow to fix gh cli auth 2026-05-13 12:08:13 -07:00
Christian Gunderman
4464ff23fc fix(bot): disable gh pagers globally via env
- Sets `GH_PAGER: ''` in the workflow environment variables to ensure any `gh` CLI commands executed by the bot or in bash scripts do not hang waiting for user input in the headless CI environment.
2026-05-13 11:36:37 -07:00
Christian Gunderman
8a6ec5978c fix(bot): force json or --no-pager in gh cli commands to prevent hangs
- Replaces `gh issue list` with the `--json` flag to prevent default pagers (like `less`) from waiting for user input and hanging the CI run.
- Adds `--no-pager` to `gh run view`.
2026-05-13 11:17:02 -07:00
Christian Gunderman
c460745bcb fix(bot): enforce github-first discovery and forbid local fishing
- Updates the `issue-fixer` skill to strictly forbid the use of local tools (like lint, tsc, grep) for finding tasks.
- Updates `scheduled.md` to clarify that local tools are for verification only.
2026-05-13 10:12:43 -07:00
Christian Gunderman
278858ed11 fix(bot): satisfy YAML lint rules and clarify monorepo build order 2026-05-13 09:54:50 -07:00
Christian Gunderman
a58e3f5654 chore(build): standardize all package library targets to ES2023 2026-05-13 09:50:45 -07:00
Christian Gunderman
821cb2be9b feat(ci): re-enable telemetry and debug logging for the bot 2026-05-13 09:27:51 -07:00
Christian Gunderman
3250033366 fix(ci): resolve YAML syntax error in bot brain workflow 2026-05-12 22:35:04 -07:00
Christian Gunderman
7344507c7b feat(ci): enable detailed telemetry and debug logging for the bot 2026-05-12 22:32:42 -07:00
Christian Gunderman
e9df8d2914 fix(bot): allow redirection in CI policy and improve skill activation steering 2026-05-12 22:20:37 -07:00
Christian Gunderman
9e90ccefb4 fix(bot): restrict critique skill to only fix scoped flaws 2026-05-12 21:35:11 -07:00
Christian Gunderman
c1b15d23b6 fix(ci): make scheduled brain base prompt generic to respect mandate 2026-05-12 14:55:53 -07:00
Christian Gunderman
20669e964c Fix skill syntax. 2026-05-12 14:33:01 -07:00
Christian Gunderman
c0e78767b7 feat(ci): improve mandate selection and add activate_skill to policy 2026-05-12 14:15:45 -07:00
Christian Gunderman
75ab39ca3a feat(ci): add mandate override to brain workflow 2026-05-12 14:15:41 -07:00
Christian Gunderman
a11f347928 Issue fixer. 2026-05-12 14:15:38 -07:00
Christian Gunderman
2334e9b1c4 Incremental refactor repo agent towards skills-based composition (#26717)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-05-12 20:37:09 +00:00
Tommaso Sciortino
f901a4e6b7 fix(ci): replace brittle --no-tag with explicit staging-tmp tag (#26940) 2026-05-12 13:39:54 -07:00
Adam Weidman
c987b99394 refactor(core): introduce SubagentState enum for progress (#26934) 2026-05-12 18:58:25 +00:00
Coco Sheng
c4973d01da ci: actively triage missing priority labels and intelligently clean up conflicting labels (#26865) 2026-05-12 18:33:55 +00:00
kevinjwang1
27a39b04b0 Enable NumericalRouter when using dynamic model configs (#26929) 2026-05-12 18:06:21 +00:00
Sandy Tao
ebe15553a9 Exclude extension context from skill extraction agent (#26879) 2026-05-12 10:45:19 -07:00
Yulong Wu
bc730b2c0f fix (telemetry): inject quota_project_id to prevent fallback to default oauth client (#26698)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
2026-05-12 17:02:15 +00:00
Gal Zahavi
9fe8643552 chore: update checkout action configuration in workflows (#26897) 2026-05-12 16:58:37 +00:00
joshualitt
07792f98cd feat(context): Introduce adaptive token calculator to more accurately calculate content sizes. (#26888) 2026-05-12 15:51:20 +00:00
Coco Sheng
7a9ed4c20a fix: respect explicit model selection after Flash quota exhaustion (#26759) (#26872) 2026-05-12 14:26:50 +00:00
Kuroda Kayn
11a9edc808 fix(cli): restore resume for legacy sessions (#26577)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
2026-05-12 00:28:47 +00:00
Adam Weidman
24b98ade86 fix(cli): enable adk non-interactive session (#26895) 2026-05-11 23:38:23 +00:00
Eswar809
9f759f97a2 fix(core): ignore .pak and .rpa game archive formats by default (#26884)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
2026-05-11 21:58:08 +00:00
Franco Pieri
9ff7304391 Allow Enter to select session while in search mode in /resume (#21523)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
2026-05-11 21:46:00 +00:00
Neil Nair
84fc5cd533 Fix/vscode run current file ts (#22894)
Co-authored-by: Spencer <spencertang@google.com>
2026-05-11 21:21:42 +00:00
Daniel Weis
e1b3ce5b36 revert 6b9b778d82 (#26893) 2026-05-11 21:07:54 +00:00
Suhaan Raqeeb Khavas
8e58df72c6 fix: prevent EISDIR crash when customIgnoreFilePaths contains directories (#19868) (#19898)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
2026-05-11 20:46:08 +00:00
Dev Randalpura
c0d5ab1f1e fix(ui): added a gutter width to the input prompt width calculation (#26882) 2026-05-11 20:26:48 +00:00