ErrLookup › alibaba/open-code-review
alibaba/open-code-review
Fast, efficient, battle-tested at Alibaba's scale. Hybrid architecture code review tool: deterministic pipelines + LLM Agent, precise line-level comments, built-in multi-language ruleset (NPE, thread-safety, XSS, SQL injection), OpenAI & Anthropic compatible. · Go · 223 source files
Analyzed at 5cf97d0d15 on 2026-09-02. 313 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| Could not locate ${REL}; searched roots: ${roots.join(', ')} | exception | error | github-actions, missing-file, node |
| [ocr] WARNING: skipping %s (%d bytes exceeds %d-byte scan li | console | warning | scan, file-size, go |
| "%q %s" (+ positional signature, valid values, usage line, e | validation | error | cli, argument-parsing, go |
| [ocr] Subtask error for group %q: %v | console | error | agent, concurrency, telemetry, go |
| no browser opener available | exception | error | browser, viewer, go, platform |
| read background file %q: %w | validation | error | cli, filesystem, go |
| background file %q is a directory, not a file | validation | error | cli, filesystem, validation, go |
| background file %q is %d bytes, exceeding the maximum of %d | validation | error | cli, file-size, validation, go |
| background file %q is empty after sanitisation | validation | error | cli, input-validation, background-file |
| background file %q must not contain the reserved delimiters | validation | error | cli, input-validation, reserved-delimiter |
| background content is %d characters, exceeding the hard limi | validation | error | cli, input-validation, size-limit |
| invalid --color value %q: must be one of auto, always, never | validation | error | cli, flag-validation, color-output |
| unsupported shell: %s | validation | error | cli, completion, unsupported-value |
| cannot determine home directory: %w | exception | error | cli, environment, home-directory |
| load config: %w | exception | error | cli, config, json-parse |
| unset supports provider, max_tokens, effort, custom_provider | validation | error | cli, config, invalid-key |
| MCP server %q not found | validation | error | go, cli, config, mcp |
| custom provider %q not found | validation | error | go, cli, config, provider |
| parse config: %w | exception | error | go, json, config, parsing |
| read app config %s: %w | exception | error | go, cli, config, file-io |
| parse app config: %w | exception | error | config, json, go |
| invalid max_tokens %q: must be a positive integer | validation | error | config, cli, validation |
| llm.protocol cannot be %q: bedrock derives its host from aws | validation | error | config, bedrock, aws, cli |
| invalid boolean for llm.use_anthropic: %w | validation | error | config, boolean, go, cli |
| invalid boolean for telemetry.enabled: %w | validation | error | config, telemetry, boolean, cli |
| invalid boolean for telemetry.content_logging: %w | validation | error | config, telemetry, boolean, cli |
| invalid JSON for llm.extra_body: %w | validation | error | config, json, cli |
| unknown config key: %s Supported keys: %s Provider fields: a | validation | error | config, cli, validation |
| invalid URL for %s: %w | validation | error | config, url, validation, cli |
| invalid model list for %s: %w | validation | error | config, models, validation, cli |
| invalid JSON for %s: %w | validation | error | cli, config, json-validation |
| invalid extra headers for %s: %w | validation | error | cli, config, headers-validation |
| invalid retry codes for %s: %w | validation | error | cli, config, validation |
| %s does not apply to provider %q: aws_region and aws_profile | validation | error | cli, config, aws, bedrock |
| unknown provider field %q: supported fields are api_key, api | validation | error | cli, config, typo |
| invalid %s for %s: %q contains whitespace | validation | error | cli, config, aws, validation |
| invalid provider key %q: expected providers.<name>.<field> | validation | error | cli, config, key-format |
| invalid custom provider key %q: expected custom_providers.<n | validation | error | cli, config, key-format |
| custom provider name %q conflicts with a preset provider; us | validation | error | cli, config, naming-conflict |
| provider %q is not configured; set a core field first (proto | validation | error | cli, config, prerequisite |
| invalid MCP server key %q: expected mcp_servers.<name>.<fiel | validation | error | config, mcp, validation |
| invalid MCP server type %q: must be "stdio" or "remote" | validation | error | config, mcp, validation |
| MCP server command cannot be empty | validation | error | config, mcp, validation |
| invalid JSON array for %s: %w | validation | error | config, mcp, json, validation |
| invalid env entry %q: must be in KEY=VALUE format | validation | error | config, mcp, env, validation |
| MCP server URL cannot be empty | validation | error | config, mcp, url, validation |
| invalid MCP server URL %q: %w | validation | error | config, mcp, url, validation |
| MCP server URL must use http or https scheme, got %q | validation | error | config, mcp, url, validation |
| MCP server URL %q must include a host | validation | error | config, mcp, url, validation |
| invalid headers for %s: %w | validation | error | cli, config, json, mcp |
| tool names in %s must not be empty | validation | error | cli, config, validation, mcp |
| unknown MCP server field %q: supported fields are type, comm | validation | error | cli, config, mcp, unknown-field |
| expected JSON object: %w | validation | error | json, config, validation, mcp |
| header name must not be empty | validation | error | config, validation, http-headers, mcp |
| header value for %q must not be empty | validation | error | config, validation, http-headers, secrets |
| preview failed: %w | exception | error | git, cli, preview |
| %w%s | exception | error | cli, flags, cobra, typo |
| git log failed: %w | console | error | git, cli, commit |
| load config: %w | console | error | config, cli, go |
| resolve LLM endpoint: %w | console | error | config, llm, cli, environment |
| load test task config: %w | console | error | config, llm, cli |
| llm request failed: %w | console | error | network, llm, api, timeout |
| --format sarif is not supported with --preview: SARIF output | validation | error | cli, output-format, sarif, flag-combination |
| load config: %w | console | error | config, cli, filesystem, permissions |
| TUI error: %w | console | error | tui, terminal, cli, tty |
| URL is required for manual configuration | validation | error | validation, config, cli, tui |
| model is required for manual configuration | validation | error | validation, config, cli, tui |
| invalid auth_header: %w | validation | error | validation, auth, config, http-headers |
| provider name is required | validation | error | config, cli, validation, provider |
| model is required | validation | error | config, cli, validation, provider, model |
| API key is required for provider %s (configure it, set provi | validation | error | config, api-key, environment, provider |
| API key is required for provider %s (configure it or set pro | validation | error | config, api-key, provider, validation |
| provider and model are required | validation | error | config, cli, validation, provider |
| no provider configured. Run 'ocr config provider' first | validation | error | config, cli, prerequisite, provider |
| provider %q is not configured in custom_providers | validation | error | config, consistency, provider, cli |
| model name cannot be empty | validation | error | validation, config, model-selection |
| create config dir: %w | console | error | filesystem, permissions, config |
| marshal config: %w | console | error | json, serialization, config |
| write config: %w | console | error | filesystem, permissions, config |
| chmod config: %w | console | warning | filesystem, permissions, chmod |
| invalid Base URL %q: %w | validation | error | validation, url, config |
| Base URL must use http or https scheme, got %q | validation | error | validation, url, config |
| Base URL %q must include a host | validation | error | validation, url, config |
| model name must not be empty | validation | warning | validation, tui, model-list |
| failed to save models: %w | console | error | |
| unsupported tab for custom model: %v | console | error | |
| config not loaded | console | error | |
| config path not available | console | error | |
| provider %q already exists | validation | error | |
| save config: %w | console | error | |
| config not available | console | error | |
| close output file: %w | exception | error | |
| emit review result: %w | exception | error | |
| review failed: %w | exception | error | |
| review failed (%s): %s | exception | error | |
| review failed (%s) | exception | error | |
| review failed: %d of %d selected item(s) failed | exception | error | |
| resume requires --from/--to or --commit; workspace resume is | validation | error | |
| load resume session: %w (run 'ocr session list' to see avail | exception | error | |
| %w (run 'ocr session list' to see available sessions) | exception | error | |
| resolve current input identity: %w | exception | error | git, resume, identity |
| resolve path: %w | exception | error | filesystem, path |
| %s is not a git repository, code review requires a valid git | validation | error | git, repository, validation |
| %s value %q is not a valid git ref: refs must not start with | validation | error | security, git, injection |
| %s value %q is not a valid commit ref: %s | validation | error | git, ref-validation |
| %s value %q is not a valid commit ref | validation | error | git, ref-validation |
| preview failed: %w | exception | error | git, preview, diff |
| load rules: %w | exception | error | rules, configuration, json |
| resolver does not support detail inspection | exception | error | rules, interface, internal |
| close output file: %w | exception | error | filesystem, io, scan |
| load scan template: %w | exception | error | go, cli, template, config |
| invalid scan template: %w | validation | error | go, cli, template, validation |
| scan failed: %w | exception | error | go, cli, llm, scan, network |
| load resume session: %w (run 'ocr session list' to see avail | exception | error | go, cli, session, resume |
| %w (run 'ocr session list' to see available sessions) | exception | error | go, cli, session, resume, validation |
| resume session %q has no completed scan items (run 'ocr sess | exception | error | go, cli, session, resume |
| scan preview failed: %w | exception | error | go, cli, scan, preview |
| list sessions: %w | exception | error | go, cli, session, filesystem |
| load session %q: %w | exception | error | go, cli, session |
| sessions belong to different repositories: %s was recorded i | validation | error | go, cli, session, validation |
| --max-tokens must be a non-negative integer | validation | error | go, cli, validation, arguments |
| invalid max_tokens in app config: must be a positive integer | validation | error | go, config, validation |
| load default template: %w | exception | error | go, template, initialization |
| invalid config: %w | validation | error | go, config, validation, template |
| load rules: %w | exception | error | go, rules, config, file-not-found |
| get working directory: %w | exception | error | go, filesystem, cli |
| resolve absolute path: %w | exception | error | go, filesystem, cli |
| stat %s: %w | exception | error | go, filesystem, path-validation |
| %s is not a git repository | exception | error | go, git, cli |
| %s is a git repository without a work tree (bare repo?); can | exception | error | go, git, bare-repository |
| load tools: %w | exception | error | go, config, startup |
| load app config: %w | exception | error | go, config, json |
| resolve LLM endpoint: %w | exception | error | go, llm, configuration |
| create output file %s: %w | exception | error | go, filesystem, io |
| --output %q is a directory | validation | error | go, cli, path-validation |
| --output directory does not exist: %s | validation | error | cli, filesystem, output-path |
| only one review mode allowed (--from/--to or --commit) | validation | error | cli, flags, validation |
| --to is required when --from is specified | validation | error | cli, flags, validation |
| --from is required when --to is specified | validation | error | cli, flags, validation |
| invalid --audience value %q: must be 'human' or 'agent' | validation | error | cli, flags, validation |
| invalid --format value %q: must be 'text', 'json', or 'sarif | validation | error | cli, flags, validation, output-format |
| --preview and --resume cannot be used together | validation | error | cli, flags, validation |
| --max-tools must be a non-negative integer (0 means use temp | validation | error | cli, flags, validation, numeric |
| --max-git-procs must be a non-negative integer (0 means use | validation | error | cli, flags, validation, numeric |
| --max-tokens must be a non-negative integer (0 means use con | validation | error | cli, flags, validation, numeric |
| --max-tokens-budget must be a non-negative integer (0 means | validation | error | cli, flag-validation, input-validation |
| --effort: %w | validation | error | cli, flag-validation, enum |
| invalid --format value %q: must be 'text' or 'json' | validation | error | cli, flag-validation, format, enum |
| load diffs: %w | exception | error | git, diff, pipeline, agent |
| finalize session: %w | exception | error | session, persistence, filesystem, agent |
| get diffs: %w | exception | error | git, diff, cli, go |
| all %d file review(s) failed — check your LLM configuration | exception | error | llm, api-key, configuration, network |
| finalize run manifest: %w | exception | error | manifest, session, validation, go |
| plan request: %w | exception | error | llm, network, api, rate-limit |
| grouping LLM panicked: %v | exception | error | panic, llm, grouping, recovery |
| grouping LLM call: %w | exception | error | llm, network, api, grouping |
| grouping LLM returned empty response | exception | error | llm, empty-response, grouping, tokens |
| grouping response parse failed: %w | exception | error | llm, json-parsing, grouping |
| parse grouping JSON: %w | exception | error | llm, json-parsing, grouping |
| load diffs: %w | exception | error | git, diff-loading, resume |
| resolve merge-base between %q and %q | exception | error | git, merge-base, range-review |
| resolve commit %q | exception | error | git, ref-resolution, resume |
| load diffs: %w | exception | error | git, diff-loading, preview |
| expected '{' in path_rule_map: %w | exception | error | config, json-parsing, rules |
| expected '{' in path_rule_map, got %v | exception | error | config, json-parsing, rules, schema-mismatch |
| read path_rule_map key: %w | exception | error | config, json-parsing, rules |
| expected string key in path_rule_map, got %T | exception | error | config, json-parsing, rules |
| read path_rule_map value for %q: %w | exception | error | json, config, unmarshal |
| read embedded system_rules.json: %w | exception | critical | embed, build, go |
| unmarshal default system rules: %w | exception | critical | json, embed, unmarshal |
| read default rule file %q: %w | exception | critical | embed, config, missing-file |
| read rule file %q for pattern %q: %w | exception | critical | embed, config, missing-file |
| read objc rule file: %w | exception | error | embed, missing-file, go |
| read global rule %s: %w | exception | error | filesystem, permissions, config |
| unmarshal global rule: %w | exception | error | json, config, unmarshal |
| read rule file %s: %w | exception | error | filesystem, config, missing-file |
| unmarshal rule file %s: %w | exception | error | json, config, unmarshal |
| resolve repo dir %s: %w | exception | error | go, config, filesystem, path-resolution |
| resolve project rule %s: %w | exception | error | go, filesystem, symlink, permissions |
| read project rule %s: %w | exception | error | go, filesystem, permissions, config |
| unmarshal project rule: %w | exception | error | go, json, config, schema |
| rule file path %q escapes repo dir %q | validation | error | go, security, path-traversal, symlink |
| unsupported extension %q, only .md/.txt/.markdown allowed | validation | error | go, config, file-extension, validation |
| file too large (%d bytes, max %d) | validation | error | go, config, file-size, limits |
| invalid effort %q: must be one of %s | validation | error | go, config, validation, cli-flags |
| read prompt file %q: %w | exception | error | go, embed, template, fs |
| %s: %w | exception | error | go, template, error-wrapping, embed |
| read embedded task_template.json: %w | exception | critical | go, embed, filesystem |
| unmarshal task_template manifest: %w | exception | error | go, json, unmarshal, config |
| MAIN_TASK: %w | exception | error | go, embed, template, missing-file |
| MEMORY_COMPRESSION_TASK: %w | exception | error | go, embed, template, missing-file |
| unmarshal default scan template: %w | exception | error | go, json, unmarshal, config |
| max_tokens must be positive | validation | error | go, validation, config, template |
| max_tool_request_times must be positive | validation | error | go, validation, config, template |
| max_review_rounds must not be negative | validation | error | go, validation, config |
| main_task.messages must not be empty | validation | error | go, validation, template, config |
| scan: max_tokens must be positive | validation | error | go, validation, scan, config |
| scan: max_tool_request_times must be positive | validation | error | config, validation, scan-template |
| scan: main_task.messages must not be empty | validation | error | config, validation, prompt |
| unmarshal test task config: %w | exception | error | json, embedded-config, unmarshal |
| read tools file %s: %w | exception | error | file-io, config, tools |
| unmarshal tools file: %w | exception | error | json, unmarshal, tools, config |
| cannot find merge-base between %s and %s | exception | error | git, diff, merge-base |
| untracked file diff failed: %w | exception | error | git, diff, untracked-files, workspace |
| %s failed: %w | exception | error | git, subprocess, error-wrapping |
| %s failed: %w: %s | exception | error | git, subprocess, stderr, diagnostics |
| resolve repository path %q: %w | exception | error | filesystem, path-resolution, workspace, diff |
| file path %q must be relative, not absolute | validation | error | |
| file path %q is outside repository | validation | error | |
| resolve parent path for %q: %w | exception | error | |
| stat file %q: %w | exception | error | |
| file path %q is a directory | validation | error | |
| read symlink %q: %w | exception | error | |
| resolve file %q: %w | exception | error | |
| read file %q: %w | exception | error | |
| %w: %s | exception | error | git, process-exit, stderr, exec |
| get tiktoken encoding %q: %w | exception | warning | tiktoken, tokenizer, configuration, go |
| bedrock: could not load AWS configuration: %w bedrock uses | exception | error | aws, bedrock, credentials, configuration |
| bedrock: no AWS region resolved set AWS_REGION, or give th | exception | error | aws, bedrock, region, configuration |
| bedrock rejected the token in AWS_BEARER_TOKEN_BEDROCK (%s): | exception | error | aws, bedrock, bearer-token, authentication |
| bedrock rejected an API-key header rather than a signature ( | exception | error | aws, bedrock, bearer-token, authentication, http-headers |
| bedrock has no access enabled for model %q (%s): %w model | exception | error | aws, bedrock, model-access, permissions |
| bedrock rejected model %q (%s): %w run `aws bedrock list-i | exception | error | aws, bedrock, model-id, configuration |
| bedrock could not authenticate: AWS credentials are expired | exception | error | aws, bedrock, expired-credentials, sso, authentication |
| bedrock denied access to model %q (%s): %w credentials res | exception | error | aws, bedrock, iam, authorization, access-denied |
| bedrock request failed (%s): %w | exception | error | aws, bedrock, authentication, network |
| invalid tool call arguments for %s: %w | exception | error | json, tool-calls, anthropic, serialization |
| tiktoken encoding file %q is not embedded and cannot be fetc | exception | error | tiktoken, offline, tokenizer |
| embedded tiktoken file %q not found: %w | exception | error | tiktoken, embed, build, tokenizer |
| %s timed out after %s: %w | exception | error | timeout, exec, credentials, context |
| %s produced more than 64KiB of output | validation | error | exec, credentials, output-limit |
| %s failed: %w | exception | error | exec, credentials, exit-code |
| %s produced multi-line output; expected a single credential | validation | error | credentials, exec, output-format |
| %s produced a control byte 0x%02X at offset %d; a credential | validation | error | credentials, exec, validation, control-characters |
| %s produced empty output | validation | error | credentials, exec, empty-output |
| unsupported protocol %q; supported protocols are %q, %q, %q, | validation | error | config, validation, llm-protocol |
| resolve OCR config file: %w | exception | error | config, file-io, resolution |
| resolve OCR config file: provider %q is not configured in %s | validation | error | config, missing-config, resolution |
| resolve %s: %w | exception | error | config, resolution, file-io |
| no valid LLM endpoint configured; one of OCR_LLM_URL/OCR_LLM | validation | error | config, env-vars, resolution |
| %s: %w | exception | error | env-vars, parsing, http-headers |
| OCR_LLM_TIMEOUT must be an integer (seconds): %w | validation | error | env-vars, parsing, timeout |
| OCR_LLM_TIMEOUT: %w | validation | error | env-vars, validation, timeout |
| timeout_sec must be non-negative, got %d | validation | error | config, validation, timeout |
| timeout_sec %d overflows time.Duration (max %d) | validation | error | config, validation, timeout, overflow |
| %s cannot be %q: bedrock derives its host from aws_region an | validation | error | configuration, bedrock, aws, env-vars |
| OCR environment: %w | validation | error | configuration, env-vars, protocol |
| parse config: %w | exception | error | configuration, json, parse-error |
| provider %q is set but not configured in %s section | validation | error | configuration, provider, missing-config |
| provider %q: %w | validation | error | configuration, provider, protocol, versioning |
| custom provider %q requires a protocol field | validation | error | configuration, custom-provider, protocol |
| custom provider %q: %w | validation | error | configuration, custom-provider, protocol |
| custom provider %q requires a url field for protocol %q | validation | error | config, llm-provider, validation |
| provider %q has no api_key or api_key_cmd configured and no | validation | error | config, authentication, llm-provider |
| model %q is not available for provider %q; available models: | validation | error | config, model, validation |
| provider %q has no model configured; run 'ocr config model' | validation | error | config, model |
| OCR config file: %w | validation | error | config, legacy, validation |
| unsupported auth_header value %q; expected "x-api-key" or "a | validation | error | config, validation, http-headers, auth |
| invalid extra header %q: expected key=value | validation | error | config, validation, http-headers |
| remote MCP server %q returned HTTP 403 Forbidden — your cred | http | error | mcp, http, authorization, permissions |
| call MCP tool %q: %w | exception | error | mcp, rpc, network, tool-invocation |
| scan template MAIN_TASK is missing or empty | validation | error | config, template, scan, prompt |
| enumerate files: %w | exception | error | filesystem, git, scan, enumeration |
| finalize session: %w | exception | error | persistence, filesystem, scan, session |
| all %d file scan(s) failed — check your LLM configuration an | exception | error | llm, scan, configuration |
| enumerate files: %w | exception | error | file-enumeration, git, preview |
| git ls-files (tracked): %w | exception | error | git, file-enumeration, subprocess |
| git ls-files (untracked): %w | exception | error | git, file-enumeration, subprocess |
| walk %s: %w | exception | error | filesystem, walk, file-enumeration |
| create session writer: %w | exception | error | session, filesystem, persistence |
| resolve home dir: %w | exception | error | session, home-dir, environment |
| read sessions dir %q: %w | exception | error | session, filesystem, permissions |
| open session %q: %w | exception | error | session, filesystem, file-not-found |
| read session %q: %w | exception | error | session, io, file-read |
| resolve home dir: %w | exception | error | filesystem, environment, home-directory |
| create session dir: %w | exception | error | filesystem, permissions, mkdir |
| open session file: %w | exception | error | filesystem, permissions, file-open |
| marshal session_end: %w | exception | error | json, serialization, session-persistence |
| write session_end: %w | exception | error | filesystem, io, session-persistence |
| flush session_end: %w | exception | error | filesystem, io, buffered-writer |
| close session file: %w | exception | warning | filesystem, file-close, session-persistence |
| session id is required | validation | error | validation, session-persistence, arguments |
| resolve home dir: %w | exception | error | filesystem, environment, home-directory |
| open resume session %q: %w | exception | error | go, file-io, resume, session |
| read resume session %q: %w | exception | error | go, file-io, io-error, resume |
| parse resume session %q: %w | exception | error | go, json, resume, corruption |
| resume requires --from/--to or --commit; workspace resume is | validation | error | go, cli, resume, validation |
| resume session %q is missing review mode metadata | validation | error | go, resume, legacy, metadata |
| resume session review mode %q does not match current mode %q | validation | error | go, resume, validation, mode-mismatch |
| resume mode %q is not supported | validation | error | go, resume, validation, unsupported-value |
| resume session scan path scope %q does not match current sco | validation | error | go, resume, scan, scope-mismatch |
| resume rejected: provider changed from %q to %q without bein | validation | error | session, resume, provider, cli |
| resume rejected: model changed from %q to %q without being a | validation | error | session, resume, model, cli |
| resume session %q was interrupted before it closed, so it ne | validation | error | session, resume, interrupted, manifest |
| resume session %q closed without a run manifest, so its inpu | validation | error | session, resume, manifest, versioning |
| resume session %q carries manifest schema %q, but this build | validation | error | session, resume, schema-version, versioning |
| resume session %q recorded operation %q, not %q; %s | validation | error | session, resume, operation, cli |
| resume session %q selected no input, so it has nothing to re | validation | error | session, resume, empty-input, coverage |
| resume rejected: input mode changed from %q to %q; %s | validation | error | session, resume, mode, input |
| resume rejected: repository identity changed, so this is not | validation | error | session, resume, repository, git |
| resume rejected: the reviewed input changed since session %q | validation | error | session, resume, input, git |
| resume session %q recorded no rule identity, so it cannot be | validation | error | session, resume, manifest, integrity-check |
| resume rejected: review rule identity changed — either a rul | validation | error | session, resume, rules, config-drift |
| telemetry shutdown: %v | exception | warning | telemetry, shutdown, network, timeout |
| code_search failed: %w | exception | error | search, git, grep, tool-execution |
| invalid line range: start_line %d is greater than end_line % | validation | error | file-read, validation, arguments, tool-execution |
| file %q not found: %w | exception | error | file-read, file-not-found, path-resolution, tool-execution |
| file %q has only %d lines, requested range %d-%d | validation | error | file-read, line-range, bounds-check, tool-execution |
| read file %q: %w | exception | error | file-io, file-not-found, permissions, workspace |
| resolve repository path %q: %w | exception | error | configuration, path-resolution, workspace, file-io |
| file path %q is outside repository | validation | error | security, path-traversal, validation, sandbox |
| resolve file %q: %w | exception | error | filesystem, symlink, path-resolution, go |
| git show %s:%s: %w | exception | error | git, subprocess, git-show, ref-not-found |