You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 165f2f6
Browse filesBrowse the repository at this point in the historyBrowse files
**What value `0` means:** Setting `timeout_secs = 0` results in `Duration::from_secs(0)`, which causes an immediate timeout on every request. Use only for testing.
200
+
201
+
**Retry behavior:** Failed requests (429, 5xx, network errors) are retried with exponential backoff:
202
+
- Base delay: Configured via `[llm] retry_backoff_ms` (default: 2000ms)
203
+
- Formula: `base_ms * 2^attempt`, capped at 30 seconds
204
+
- Max retries: Configured via `[llm] max_retries` (default: 3)
205
+
- Source: `src/llm/mod.rs:254-269`
206
+
207
+
Retries are bounded; after exhausting retries on one model, the client fails over to the next configured model (if multiple models are specified).
|`TICKET_GITHUB_KEY`| Overrides `[[tickets.systems]]` api_key for GitHub |
357
383
|`TICKET_GITLAB_KEY`| Overrides `[[tickets.systems]]` api_key for GitLab |
358
384
@@ -362,6 +388,57 @@ include_rejected = false
362
388
-**report.html**: Visual report with severity colors, code snippets, AI summary
363
389
-**report.sarif**: SARIF format for CI/CD integration
364
390
391
+
## Scan Options
392
+
393
+
### `--dry-run`
394
+
395
+
The `--dry-run` flag performs indexing and prioritization without executing any LLM or semgrep phases. It prints an estimate of the resources a full scan would consume, then exits.
396
+
397
+
**What it does:**
398
+
1. Indexes the project (counts files, calculates total size, estimates tokens)
399
+
2. Computes priority scores for each file
400
+
3. Estimates LLM calls based on budget and triage configuration
401
+
4. Prints the summary and exits
402
+
403
+
**What it does NOT do:**
404
+
- No LLM API calls
405
+
- No semgrep scanning
406
+
- No findings produced
407
+
- No report generation
408
+
409
+
**Example usage:**
410
+
```bash
411
+
baco scan --config baco.toml --dry-run
412
+
```
413
+
414
+
**Output example:**
415
+
```
416
+
[Dry Run] Project Estimate
417
+
═══════════════════════════════════════
418
+
Target: ./my-project
419
+
420
+
Files by language:
421
+
python: 42 files
422
+
javascript: 18 files
423
+
424
+
Total files: 60
425
+
Total size: 1234567 bytes
426
+
Estimated tokens (~4 chars/token): 308641
427
+
428
+
Planned LLM calls: 45
429
+
(budget max: 100, normal cap: 75, high-risk: 25)
430
+
431
+
Average priority score: 0.67
432
+
```
433
+
434
+
Use `--dry-run` before a full scan to:
435
+
- Estimate costs (LLM call count, token usage)
436
+
- Verify your configuration is correct
437
+
- Check which files will be analyzed
438
+
- Decide if you need to adjust budget/triage settings
0 commit comments