Skip to content

feat(task-graph): materialize object dependsOn edges#475

Open
wan9chi wants to merge 4 commits into
mainfrom
codex/global-object-dependson
Open

feat(task-graph): materialize object dependsOn edges#475
wan9chi wants to merge 4 commits into
mainfrom
codex/global-object-dependson

Conversation

@wan9chi

@wan9chi wan9chi commented Jun 18, 2026

Copy link
Copy Markdown
Member

Motivation

Object-form dependsOn rules currently behave like query-time expansion rules, so the global task graph does not show edges for entries such as { "task": "build", "from": "dependencies" }. This PR resets the prior query-time implementation, then reintroduces object-form dependsOn by materializing direct package dependency selections as task graph edges during graph loading.

wan9chi and others added 3 commits June 19, 2026 00:12
This reverts commit ed454ce.

Co-authored-by: GPT-5 Codex <codex@openai.com>
This reverts commit 6296ffa.

Co-authored-by: GPT-5 Codex <codex@openai.com>
Co-authored-by: GPT-5 Codex <codex@openai.com>

wan9chi commented Jun 18, 2026

Copy link
Copy Markdown
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@wan9chi wan9chi changed the title Revert "fix(task-graph): limit package dependsOn to direct deps (#469)" feat(task-graph): materialize object dependsOn edges Jun 18, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 46ddbb1e8e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +542 to +543
for to_node_index in dependency_tasks {
self.task_graph.update_edge(from_node_index, to_node_index, TaskDependencyType);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve ordering between selected dependency tasks

When an object-form dependsOn selects multiple direct dependencies that themselves have a package edge between them (for example, app depends on both ui and shared, and ui depends on shared), this loop only materializes app#task -> ui#build and app#task -> shared#build. The query-time expansion this replaces also added the dependency-task edge between selected packages, so now those builds can run concurrently and ui#build can start before shared#build has produced its artifacts. Please keep the package ordering for the dependency tasks, or keep that part of the expansion query-scoped.

Useful? React with 👍 / 👎.

Co-authored-by: GPT-5 Codex <codex@openai.com>
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