Agents: raise bootstrap total cap and warn on /context truncation (#18229)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: f6620526df
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
This commit is contained in:
Gustavo Madeira Santana
2026-02-16 12:04:53 -05:00
committed by GitHub
parent 5b185da366
commit 8a67016646
16 changed files with 188 additions and 14 deletions

View File

@@ -39,7 +39,6 @@ function parseSkillBlocks(skillsPrompt: string): Array<{ name: string; blockChar
function buildInjectedWorkspaceFiles(params: {
bootstrapFiles: WorkspaceBootstrapFile[];
injectedFiles: EmbeddedContextFile[];
bootstrapMaxChars: number;
}): SessionSystemPromptReport["injectedWorkspaceFiles"] {
const injectedByPath = new Map(params.injectedFiles.map((f) => [f.path, f.content]));
const injectedByBaseName = new Map<string, string>();
@@ -57,7 +56,7 @@ function buildInjectedWorkspaceFiles(params: {
injectedByPath.get(file.name) ??
injectedByBaseName.get(file.name);
const injectedChars = injected ? injected.length : 0;
const truncated = !file.missing && rawChars > params.bootstrapMaxChars;
const truncated = !file.missing && injectedChars < rawChars;
return {
name: file.name,
path: file.path,
@@ -119,6 +118,7 @@ export function buildSystemPromptReport(params: {
model?: string;
workspaceDir?: string;
bootstrapMaxChars: number;
bootstrapTotalMaxChars?: number;
sandbox?: SessionSystemPromptReport["sandbox"];
systemPrompt: string;
bootstrapFiles: WorkspaceBootstrapFile[];
@@ -148,6 +148,7 @@ export function buildSystemPromptReport(params: {
model: params.model,
workspaceDir: params.workspaceDir,
bootstrapMaxChars: params.bootstrapMaxChars,
bootstrapTotalMaxChars: params.bootstrapTotalMaxChars,
sandbox: params.sandbox,
systemPrompt: {
chars: systemPrompt.length,
@@ -157,7 +158,6 @@ export function buildSystemPromptReport(params: {
injectedWorkspaceFiles: buildInjectedWorkspaceFiles({
bootstrapFiles: params.bootstrapFiles,
injectedFiles: params.injectedFiles,
bootstrapMaxChars: params.bootstrapMaxChars,
}),
skills: {
promptChars: params.skillsPrompt.length,