Skip to content

feat(task): map changed files to workspace projects - #11569

Merged
jdx merged 1 commit into
agent/workspace-discovery-cachefrom
agent/affected-project-paths
Aug 1, 2026
Merged

jdx merged 1 commit into
agent/workspace-discovery-cachefrom
agent/affected-project-paths

Conversation

@jdx

@jdx jdx commented Aug 1, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • map normalized workspace-relative paths to the projects at their deepest matching root
  • preserve all overlapping project owners and retain unowned paths for later global-input policy
  • mark the first affected-project execution milestone complete

Why

Affected execution needs a provider-neutral way to turn changed paths into project IDs before Git revision handling or reverse-dependency expansion is added. The lookup indexes project roots once and walks each path ancestor chain, avoiding a scan of every project for every changed file.

Validation

  • cargo fmt --check
  • cargo test task::workspace::tests
  • cargo clippy --workspace --all-features --all-targets -- -D warnings
  • git diff --check

AI-assisted — Tool: Codex; model: unavailable/unavailable; version: unavailable.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: a72c1a54-0449-4215-967d-6aa9569243a1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds a workspace path-to-project ownership API.

  • Maps normalized workspace-relative paths to projects at the deepest matching root.
  • Preserves multiple projects sharing the same root and tracks unowned paths.
  • Adds tests for nested roots, normalization, deduplication, and invalid paths.
  • Marks changed-file project mapping complete in the parity tracker.

Confidence Score: 5/5

The PR appears safe to merge, with no actionable correctness or security issues identified.

The new API consistently normalizes workspace-relative paths, selects owners at the documented deepest project root, preserves equal-root ownership across providers, and rejects paths outside the workspace.

Important Files Changed

Filename Overview
src/task/workspace.rs Adds a deterministic, validated path ownership map with focused coverage; no actionable defect was found.
TASK_CACHE_PARITY.md Marks the newly implemented changed-file ownership mapping milestone complete.

Reviews (1): Last reviewed commit: "feat(task): map changed files to workspa..." | Re-trigger Greptile

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Instruction counts

benchmark trend instructions Δ wall (min) Δ
env ▃▄▄█▇▅▆▅▅▅▆▃▂▁▁▄▃▃▃▇ 84,668,464 → 84,866,542 +0.23% 17.89 → 18.61ms +4.02%
hook-env ▅▅▅█▇▇▇▇▇▄▇▄▁▃▃▅▂▆▅█ 87,067,676 → 87,186,255 +0.14% 19.01 → 18.83ms -0.96%
ls ▅▆▅█▅▅▄▅▅▄▇▂▁▃▂▂▁▄▅▆ 76,687,691 → 76,702,873 +0.02% 15.57 → 15.42ms -0.98%
registry ▁▁▁▆▅▄▄▅▆▅▆▂▇▂▂▂█▅▃▅ 50,212,106 → 50,306,199 +0.19% 11.62 → 11.48ms -1.24%
startup ▁▁▁▇▆▆▆▆▆▆▇▃▂▂▂▃▃▇▆█ 16,075,010 → 16,115,051 +0.25% 7.86 → 8.57ms +9.02%

No instruction-count regression above 1%.

Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run.

Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.

2f8fa34488e4 vs 48e5c84da4ea · measured on the runner, not pushed to the history.

@jdx
jdx merged commit 8776b56 into main Aug 1, 2026
30 checks passed
@jdx
jdx deleted the agent/affected-project-paths branch August 1, 2026 16:33
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