Skip to content

docs: impact depth guidance + full docs-vs-code audit fixes - #517

Merged
ajianaz merged 10 commits into
mainfrom
docs/impact-depth-guidance
Aug 19, 2026
Merged

docs: impact depth guidance + full docs-vs-code audit fixes#517
ajianaz merged 10 commits into
mainfrom
docs/impact-depth-guidance

Conversation

@ajianaz

@ajianaz ajianaz commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

What

  • New Impact Depth Guidance section (configuration.md): per-depth cost profile (1/2/3/4+), why unlimited depth is counterproductive, how to choose per codebase shape, and note that impact_depth only governs review context — interactive cora impact/cora trace default --depth 3.
  • New Call Graph Semantics & Limitations section (code-intelligence.md): multi-level BFS + cycle protection, cross-project caller fallback, static-analysis blind spots (dynamic dispatch, callbacks, reflection).
  • Full docs-vs-code audit fixes: --incoming--direction incoming; tree-sitter is default-enabled (not opt-in); graph.dbcora.db; 15 → 18 regex languages; sidecar filenames corrected; bundling section marked deprecated (dead config — scan does not read it); invalid example values fixed (strategy: directory, severity: warning); include_callers bounds clarified (≤3 only in regex fallback, index path = 20); scan behaviors documented (index findings, brain context, cora.db persistence, exit code 2).

Why

These behaviors were only in source doc-comments or plain wrong. Users configuring impact_depth or trusting cora impact on dynamic-dispatch-heavy code had no way to know the trade-offs. Audit done by 3 parallel reviewers against main.rs, engine/, index/, config/.

Changes

  • docs/configuration.md
  • docs/code-intelligence.md
  • docs/cli-reference.md

Testing

Markdown-only. Every fix verified against cited source lines (main.rs, types.rs, graph.rs, resolver.rs, vector.rs, scan.rs, data_dir.rs, Cargo.toml). Pre-commit cora review passed on all commits.

ajianaz and others added 10 commits August 6, 2026 09:55
* feat: self-update command + background update notification (#508)

Add  command for self-updating the binary:
-  — check + interactive [y/N] prompt
-  — auto-confirm (CI/automation)
-  — check only, no download

Background startup notification:
- Non-blocking check on every command run (cached 24h)
- Cache stored at ~/.codecora/cora-code/update-cache.json
- Disable via config: update_check: false
- Disable via env: CORA_NO_UPDATE_CHECK=1

Implementation:
- GitHub 302 redirect parsing (no API rate limit)
- SHA256 checksum verification
- Binary smoke-test post-download
- Atomic rename for safe replacement
- Version normalization (strip 'v' prefix)

Closes #508

* style: cargo fmt

---------

Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
- Add context line filter: drop Minor/Info findings on unchanged diff
  lines (pre-existing code flagged as new issue)
- Enhanced system prompt: in-place mutation awareness (Vec::retain etc.)
  and error path vs happy path distinction
- Import Severity type for filter comparison

Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
… (#512)

- cora_dir() now returns ~/.codecora/cora-code/ (was ~/.cora/)
- cache_dir() now returns ~/.codecora/cora-code/cache/reviews/ (was ~/.cache/cora/reviews/)
- Auto-migration from legacy paths on first run (config.yaml, auth.toml, cache files)
- Migration is idempotent (.migrated-to-codecora marker)
- Old files preserved (copy, not move) for user safety
- Updated all user-facing strings and doc comments

Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
- Replace MIT with Apache-2.0 (patent grant + retaliation clause)
- Add CLA_INDIVIDUAL.md and CLA_CORPORATE.md (v1.1)
- Update CONTRIBUTING.md with Contribution Terms callout at top
- Update README badge MIT to Apache-2.0
- Update AGENT.md license references
- Add [Unreleased] entry to CHANGELOG.md

CLA v1.1 key provisions:
- Contributor retains copyright, grants license (not assignment)
- CodeCoraDev may sublicense under proprietary/commercial terms
- SIAC arbitration (Singapore seat), Indonesian substantive law
- CodeCoraDev definition covers successors/assigns/affiliates
- Signed-off-by required on all commits

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
* ci(cla): add CLA check workflow

Calls org-level reusable workflow from codecoradev/.github.
Every PR will now be checked for CLA signature.

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* ci: re-trigger CLA check (org workflow now merged)

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* fix(ci): add permissions to CLA check caller workflow

Reusable workflow needs explicit permissions grant from caller.
Without it, GitHub Actions silently fails (0s, no log).

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* fix(ci): inline CLA check workflow (drop reusable dependency)

Reusable workflow path with .github repo caused YAML validation
failure (0s, no jobs). Switching to self-contained inline workflow
that fetches signatures.json from org repo via raw.githubusercontent.

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* ci: re-trigger CLA check (CDN cache cleared)

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* fix(ci): use GitHub API for signatures (raw CDN unreliable)

raw.githubusercontent.com returns HTTP 200 with '404: Not Found' body
instead of proper HTTP 404, breaking curl -f flag. Switching to
gh api which properly resolves content via GitHub REST API.

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* fix(ci): use public REST API for signatures fetch

GITHUB_TOKEN is repo-scoped — cannot access codecoradev/.github.
Switching to unauthenticated public REST API endpoint (60 req/hr
limit is fine for PR-triggered workflow).

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* fix(ci): use actions/checkout for signatures fetch

All CDN/API approaches failed for cross-repo access:
- raw.githubusercontent: CDN cache returns 404 body with HTTP 200
- api.github.com: rate limited unauthenticated, GITHUB_TOKEN 404 cross-repo
- jsdelivr: too slow for freshly pushed content

actions/checkout with sparse-checkout is bulletproof: uses git protocol
to clone .cla/ folder from codecoradev/.github directly.

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* fix(ci): use unauthenticated git clone for signatures

GITHUB_TOKEN cannot access codecoradev/.github (repo-scoped).
Switching to plain git clone over HTTPS — repo is public, no auth needed.

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* fix(ci): wget+curl fallback for signatures fetch

.github repo was private — now public. CDN may still cache 404.
Using wget (primary) → curl (fallback) → empty JSON (last resort).

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

* ci: re-trigger CLA check (.github now public + CDN refreshed)

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>

---------

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
## What
- configuration.md: new 'Impact Depth Guidance' section — per-depth cost
  profile (1/2/3/4+), why unlimited depth is counterproductive, and how
  to choose per codebase shape. impact_depth table row now links to it.
- code-intelligence.md: new 'Call Graph Semantics & Limitations' section —
  multi-level BFS traversal with cycle protection, cross-project caller
  fallback, and static-analysis blind spots (dynamic dispatch, callbacks,
  reflection).

## Why
These behaviors were only documented in source doc-comments
(engine/context/types.rs, index/graph.rs). Users configuring impact_depth
or trusting cora impact on dynamic-dispatch-heavy code had no way to know
the trade-offs or limits.

## Changes
- docs/configuration.md
- docs/code-intelligence.md

## Testing
- Markdown-only change; verified internal anchor link
  (#impact-depth-guidance) matches new heading.
## What
Add note: impact_depth only governs automatic review-context blast
radius; interactive cora impact / cora trace default to --depth 3 and
are unaffected by the config.

## Why
Code audit found CLI default depth = 3 (main.rs Impact/Trace clap
default_value) while review context default = 2. Docs previously
implied one setting covered both.

## Changes
- docs/configuration.md (Impact Depth Guidance note)

## Testing
Verified against src/main.rs clap defaults; markdown-only change.
## What
- code-intelligence.md: fix invalid flag --incoming -> --direction
  incoming; graph.db -> cora.db (Multi-Project section); regex languages
  15 -> 18; tree-sitter is DEFAULT-enabled (Cargo.toml default features),
  not opt-in — updated all three mentions; fix sidecar filenames
  (cora_index.keys; lock is held on .usearch file itself, no .lock file).
- configuration.md: bundling section marked deprecated (cora scan does
  not read it — batching is --batch-files + internal 60k char budget);
  fix invalid example values (strategy: directory -> smart,
  severity: warning -> minor); correct include_callers bounds — <=3
  call-sites only applies to regex fallback, index path uses up to 20.
- cli-reference.md: document scan behaviors found in code but not in
  docs (index-based deterministic findings, brain context enrichment,
  cora.db persistence + auto-resolve, exit code 2 for hook block).

## Why
Full docs-vs-code audit (3 parallel reviewers) of code-intelligence,
review engine, and scan engine. All discrepancies patched; everything
else verified accurate (CLI flags, defaults, RRF k=60, quality gate,
debt tracking, embedding backends).

## Changes
- docs/code-intelligence.md
- docs/configuration.md
- docs/cli-reference.md

## Testing
Markdown-only; verified each fix against cited source lines
(main.rs, scan.rs, resolver.rs, vector.rs, data_dir.rs, Cargo.toml).
@ajianaz
ajianaz merged commit e07cc61 into main Aug 19, 2026
15 checks passed
@ajianaz
ajianaz deleted the docs/impact-depth-guidance branch August 19, 2026 06:11
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