Skip to content

fix(ai): inject .ai/progress.md as project context in AI sessions#10344

Open
kinzirva wants to merge 2 commits into
warpdotdev:masterfrom
kinzirva:kinzirva/project-progress-context
Open

fix(ai): inject .ai/progress.md as project context in AI sessions#10344
kinzirva wants to merge 2 commits into
warpdotdev:masterfrom
kinzirva:kinzirva/project-progress-context

Conversation

@kinzirva
Copy link
Copy Markdown

@kinzirva kinzirva commented May 7, 2026

Closes #10342

When a project contains .ai/progress.md, the current and next task are automatically injected into every AI session whose pwd is inside that project. Task status is auto-derived from git commit history, keeping context in sync across all Warp windows without manual maintenance.

  • Add app/src/ai/project_progress.rs: parser, git-log deriver, context formatter
  • Inject progress context via AIAgentContext::ProjectRules in context_model.rs::pending_context()
  • Add specs/GH10342/product.md and tech.md

Description

Linked Issue

  • The linked issue is labeled ready-to-spec or ready-to-implement.
  • Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes).

Testing

  • I have manually tested my changes locally with ./script/run

Screenshots / Videos

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

Closes warpdotdev#10342

When a project contains .ai/progress.md, the current and next task are
automatically injected into every AI session whose pwd is inside that
project. Task status is auto-derived from git commit history, keeping
context in sync across all Warp windows without manual maintenance.

- Add app/src/ai/project_progress.rs: parser, git-log deriver, context
  formatter
- Inject progress context via AIAgentContext::ProjectRules in
  context_model.rs::pending_context()
- Add specs/GH10342/product.md and tech.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 7, 2026

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @kinzirva on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment @cla-bot check to trigger another check.

@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 7, 2026

@kinzirva

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@github-actions github-actions Bot added the external-contributor Indicates that a PR has been opened by someone outside the Warp team. label May 7, 2026
@kinzirva
Copy link
Copy Markdown
Author

kinzirva commented May 7, 2026

@cla-bot check

@cla-bot cla-bot Bot added the cla-signed label May 7, 2026
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 7, 2026

The cla-bot has been summoned, and re-checked this pull request!

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds client-side project progress context from .ai/progress.md and injects it into AI sessions as ProjectRules, with optional .ai/ctx files and git-log status derivation.

Concerns

  • Progress lookup only checks the terminal's exact working directory, so sessions opened in subdirectories of a project do not receive the promised project-wide context.
  • Empty or fully unparsable progress.md files still inject a [CURRENT] (no task in progress) block instead of skipping context as specified.

Verdict

Found: 0 critical, 2 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread app/src/ai/blocklist/context_model.rs
Comment thread app/src/ai/project_progress.rs
Address oz-for-oss review comments on warpdotdev#10344:
- ProjectProgressContext::load now walks ancestors of the start dir
  (capped at 30) so sessions in subdirectories of the project still
  pick up .ai/progress.md.
- When progress.md is empty or has no parseable task lines, load
  returns None instead of injecting a [CURRENT] (no task in progress)
  placeholder.

Adds three tests covering both behaviours plus the not-found case.
@kinzirva
Copy link
Copy Markdown
Author

kinzirva commented May 7, 2026

Thanks for the review — addressed both in f05c4a3:

  1. load now walks ancestors (capped at 30) so subdirectory sessions
    resolve to the same project root.
  2. Empty / unparseable progress.md returns None so no placeholder
    context is injected.

Added three tests covering the new behaviour.

@kinzirva
Copy link
Copy Markdown
Author

kinzirva commented May 7, 2026

@oz-for-oss please re-review — commit f05c4a3 addresses both items.

kinzirva added a commit to warp-context/rightStage that referenced this pull request May 7, 2026
@kinzirva kinzirva changed the title feat(ai): inject .ai/progress.md as project context in AI sessions fix(ai): inject .ai/progress.md as project context in AI sessions May 7, 2026
Copy link
Copy Markdown
Author

@kinzirva kinzirva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please merge @oz-agent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed external-contributor Indicates that a PR has been opened by someone outside the Warp team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Persistent AI context sync across multiple windows/panes (project-scoped)

1 participant