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
Copy file name to clipboardExpand all lines: docs/ai-quality.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,7 @@ This brief tracks the AI-generated-code quality features currently implemented i
47
47
- Verified auto-fix
48
48
-`codeguard.VerifyFix(...)` and `codeguard.GenerateVerifiedFix(ctx, req)` only return patches after diff-scoped verification and inferred or explicit verification tests pass in an isolated workspace
49
49
-`codeguard fix -ai` exposes the same verified-fix flow from the CLI for one selected finding
50
+
-`codeguard fix-batch -input fixes.json` verifies explicitly supplied, catalogued deterministic fixes together in one isolated workspace and returns only their aggregate patch. It never modifies the working tree. The input is a JSON object with an `items` array of `{ "finding": { ... }, "candidate": { "diff": "..." } }` entries; use `-format json` to retain included, skipped, and failed item details.
50
51
- Natural-language custom rules
51
52
- custom rule packs can use `natural_language` instructions alongside regex and path matchers
52
53
- evaluation is command-driven through the optional AI runtime and produces normal custom-rule findings
Copy file name to clipboardExpand all lines: docs/checks.md
+37-1Lines changed: 37 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,43 @@ Each top-level boolean enables or disables an entire check family.
46
46
47
47
`context` covers agent-context legibility: when the key is omitted the family defaults to enabled in full scans and disabled in diff scans; see [Agent Context](#agent-context).
48
48
49
-
`supply_chain` is opt-in and currently covers normalized manifest parsing plus initial policy checks for missing lockfiles, content-based lockfile drift validation, unpinned dependencies, dependency license policy resolved from local manifest and installed metadata where available, and Cargo manifest hygiene for missing package licenses and non-hermetic dependency sources.
49
+
`supply_chain` is opt-in and currently covers normalized manifest parsing plus initial policy checks for missing lockfiles, content-based lockfile drift validation, unpinned dependencies, dependency license policy resolved from local manifest and installed metadata where available, local advisory-cache vulnerability matching, and Cargo manifest hygiene for missing package licenses and nonhermetic dependency sources.
50
+
51
+
Set `output.format` to `cyclonedx` (or pass `codeguard scan -format cyclonedx`) to emit the normalized dependency artifacts as deterministic CycloneDX 1.6 JSON. The SBOM contains declared dependency versions or requirements when a resolver version is unavailable; it does not execute project code or contact a registry.
52
+
53
+
### Offline advisory cache
54
+
55
+
Vulnerability matching is opt-in. It reads a local, versioned JSON cache only; CodeGuard never contacts an advisory service during a scan. Configure the cache relative to the target root (or provide an absolute path):
56
+
57
+
```yaml
58
+
checks:
59
+
supply_chain: true
60
+
supply_chain_rules:
61
+
detect_vulnerabilities: true
62
+
advisory_cache_path: .codeguard/advisories.json
63
+
```
64
+
65
+
The first supported cache schema is `schema_version: 1`. Each advisory has an ecosystem matching CodeGuard's normalized ecosystem (`go`, `npm`, `python`, or `cargo`), a package, and one or more comma-separated version comparators. Matching is restricted to concrete pinned dependency versions to avoid claims based on unresolved ranges.
Findings contain the advisory identifier, source, generated timestamp, and cache age as non-sensitive metadata. Refreshing the cache is intentionally outside scan execution and should be handled by an approved, auditable update process.
50
86
51
87
`contracts`covers API compatibility against a diff base. When omitted, it is enabled in diff scans and disabled in full scans. It checks exported Go declarations, public C++ headers, OpenAPI documents, protobuf schemas, and destructive migrations.
0 commit comments