Repository navigation
Conversation
baron
left a comment
There was a problem hiding this comment.
Reviewed 39355a06a275137f580bf00b4e593b21bd950bc5 against its merge base.
No actionable correctness defect identified in the limit plumbing. I checked optional Codable compatibility, host/provider bounds, persistence through normalization and slot overrides, launch-environment construction, and the usage estimator's precedence for provider-reported windows. The controls retain invalid edits locally rather than persisting them, and the tests distinguish the configured context capacity from an auto-compaction threshold.
This branch is currently reported non-mergeable against main, and its observed CI run remains queued (https://github.com/repoprompt/repoprompt-ce/actions/runs/39879288536). Resolve the conflict and revalidate the resulting head; a green run of the pre-resolution tree would not cover that integration. Review was static source/test inspection only; I did not launch Claude Code or run native macOS tests.
Summary
Fixes #1019.
Custom Claude-compatible backends could not declare a request timeout or context window: environment generation only emitted
API_TIMEOUT_MSandCLAUDE_CODE_AUTO_COMPACT_WINDOWinside the Z.ai special case, and persisted backend configuration had no override fields.requestTimeoutMillisecondsandcontextWindowTokensfields to persisted app configuration and provider DTOs, preserving legacy decoding.CLAUDE_CODE_MAX_CONTEXT_TOKENSfor explicit context-window overrides (not the auto-compaction threshold), and use the configured window as the app accounting fallback when no provider-reported window is available.Relevance / overlap
Issue #1019 is open with no comments and remains reproducible on base
ab84d47e6. PR #356 concerns custom-backend launch isolation/model selection and an execution-location popover crash; it does not add these configuration fields or overrides.Validation
All builds/tests used the worktree's coordinated daemon.
make dev-provider-test FILTER=ClaudeCompatibleRuntimeSupportTests/testCustomBackendPersistsAndAppliesRequestLimits— 1 test, 4 expected assertion failures before implementation.make dev-provider-test— 21 tests passed.make dev-test FILTER=ClaudeCompatiblePluginBridgeTests— 10 tests passed, including the new store/bridge/legacy-decode regression.make dev-swift-build PRODUCT=RepoPrompt— passed (existing unrelated warnings remain).make dev-lint— passed with pinned SwiftFormat 0.61.1 and strict SwiftLint. Initial attempt stopped because only system SwiftFormat 0.63.1 was available; installed the repository-pinned tool and reran successfully..agents/skills/rpce-contribution-check/scripts/preflight.sh commitandpush— passed, including redacted secret scans and repository guardrails.Not run: full root test suite,
pr-ready, release/package validation, or live UI/provider/MCP smoke. No app was launched, relaunched, or stopped. Draft pending independent adversarial review.Adversarial review follow-up
CLAUDE_CODE_AUTO_COMPACT_WINDOWchanges the compaction threshold and cannot raise the assumed model window. Explicit overrides now emitCLAUDE_CODE_MAX_CONTEXT_TOKENS; existing GLM preset auto-compaction behavior stays unchanged. The UI warns about[1m], bareclaude-names, and recognized-model semantics; no compaction-disabling flags are added.600is rejected with guidance to enter600000for ten minutes.environment(...)builder inClaudeCompatibleRuntimeSupport.swiftand the same runtime test file. Expect a rebase conflict/adjacent-hunk reconciliation; preserve both launch-isolation behavior and these explicit limits when integrating.Follow-up validation (conductor-only):
make dev-provider-test: 21 passed (ticketf517ee3a).make dev-test FILTER=ClaudeCompatiblePluginBridgeTests: 10 passed (final ticket176b4190). An intermediate run failed linking withframework Sparkle not found; the subsequent app build and test retry passed without source changes.make dev-swift-build PRODUCT=RepoPrompt: passed (ticketd6d1a3b6).make dev-lint: passed (final ticket870b2d70); changed files formatted with pinned SwiftFormat 0.61.1.