Skip to content

Block truncated/lossy file regenerations from shipping - #10

Merged
AlSh007 merged 1 commit into
mainfrom
fix/backend-agent-echo-noop-pr
Jun 28, 2026
Merged

Block truncated/lossy file regenerations from shipping#10
AlSh007 merged 1 commit into
mainfrom
fix/backend-agent-echo-noop-pr

Conversation

@AlSh007

@AlSh007 AlSh007 commented Jun 28, 2026

Copy link
Copy Markdown
Owner

PR #9 committed a README that was the existing file echoed back and cut off mid-table — syntactically fine, so it passed validation and shipped. Root causes: .md files got no integrity check (static validation only syntax-checks TS/JS/JSON), the LLM client never inspected finish_reason so a max_tokens cut was returned silently, and the 4096-token cap is too small for full-file rewrites.

  • static.ts: validateChanges now takes the originals map and flags a modified file that is a truncated copy of the original (exact prefix, shorter) or has lost >50% of its content — covers .md and other non-code files that get no syntax check. This deterministically catches PR Improve the readme file #9.
  • index.ts: pass repoContext.keyFiles as the originals to validateChanges.
  • client.ts: capture choice.finish_reason and warn when a response is cut off at max_tokens, so token-cap truncation is no longer silent.
  • base.ts: raise the Backend/Frontend output cap from 4096 to 8192 tokens.

PR #9 committed a README that was the existing file echoed back and cut off
mid-table — syntactically fine, so it passed validation and shipped. Root
causes: .md files got no integrity check (static validation only syntax-checks
TS/JS/JSON), the LLM client never inspected finish_reason so a max_tokens cut
was returned silently, and the 4096-token cap is too small for full-file rewrites.

- static.ts: validateChanges now takes the originals map and flags a modified
  file that is a truncated copy of the original (exact prefix, shorter) or has
  lost >50% of its content — covers .md and other non-code files that get no
  syntax check. This deterministically catches PR #9.
- index.ts: pass repoContext.keyFiles as the originals to validateChanges.
- client.ts: capture choice.finish_reason and warn when a response is cut off
  at max_tokens, so token-cap truncation is no longer silent.
- base.ts: raise the Backend/Frontend output cap from 4096 to 8192 tokens.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
forge-ai-frontend Skipped Skipped Jun 28, 2026 10:38am

@AlSh007
AlSh007 merged commit 0c7ae85 into main Jun 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant