🤖 feat: replace sections with sub-projects#3225
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0da090e1a6
ℹ️ 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".
0da090e to
bbbed7f
Compare
|
@codex review |
|
@codex review Addressed the two review comments:
|
bbbed7f to
11d6aac
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 11d6aacd66
ℹ️ 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".
|
@codex review Fixed the Windows path regression by keeping the user-facing project path stable in config while using realpath only for canonical duplicate checks. |
11d6aac to
faaa3ac
Compare
|
@codex review Addressed the latest comments:
|
faaa3ac to
c0d931e
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c0d931e9f4
ℹ️ 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".
|
@codex review Fixed draft creation/reuse navigation so sub-project drafts route to the sub-project page while remaining stored under the parent draft bucket. |
c0d931e to
df00b90
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: df00b90fb9
ℹ️ 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".
|
@codex review Fixed creation draft storage so sub-project creation routes still use the parent project scope for draft/pending localStorage keys. |
df00b90 to
6a04f21
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6a04f21fa2
ℹ️ 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".
|
@codex review Fixed parent project removal to refresh the full project list after success so cascaded sub-project removals are reflected immediately in renderer state. |
6a04f21 to
0fc9d2c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0fc9d2cd2a
ℹ️ 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".
|
@codex review Updated ProjectContext test coverage for removeProject's full refresh behavior after cascaded sub-project removal. |
0fc9d2c to
4a2730f
Compare
|
@codex review Fixed hierarchy derivation to compute top-level parentage from the full project path set, independent of map insertion order, and added coverage for nested existing paths. |
4a2730f to
1c01a52
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c01a52f32
ℹ️ 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".
|
@codex review Normalized sub-project relative cwd segments to POSIX separators before passing them through runtime path normalization. |
1c01a52 to
fe11f10
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fe11f10846
ℹ️ 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".
|
@codex review Updated systemMessage tests to assert the new concatenation behavior for Tool/Model scoped instructions. |
|
@codex review Adjusted draft routing back to the parent project key and now pass the draft's sub-project path through WorkspaceContext → ProjectPage → ChatInput so creation still uses the sub-project cwd/AGENTS context. |
ed7852b to
a4f0aed
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a4f0aed8fe
ℹ️ 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".
|
@codex review Added validation for the inverse registration order: adding a parent above existing descendants now verifies every descendant shares the same git root before hierarchy derivation can re-parent them. |
a4f0aed to
41f7f1d
Compare
|
Codex Review: Didn't find any major issues. 👍 ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
@codex review Three follow-ups for sub-projects:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a71a9174d
ℹ️ 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".
|
@codex review Two more sub-project follow-ups:
|
5c55a24 to
60bdfee
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5c55a24229
ℹ️ 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".
- SectionHeader: drop double-click rename (raced with click-to-create-draft); rename remains on the kebab menu. - WorkspaceContext: scrub stale subProjectPath from drafts when the sub-project has been removed; fall back to parent cwd so reopening a draft doesn't fail with 'Sub-project not found'.
3b90ce8 to
74e14c2
Compare
|
@codex review Rebased on Addressed both review threads:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 74e14c2a8d
ℹ️ 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".
|
@codex review P2 — addressed: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4bb787adb1
ℹ️ 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".
…t dir Worktree/SSH/Docker workspaces have their own checkout. Reading AGENTS.md from the parent's host directory mixed stale guidance from the parent checkout into prompts and prevented the workspace branch from overriding parent guidance. Switch single-project (incl. sub-project) instruction loading to use the runtime view rooted at workspaceRoot, matching how multi-project already prefers runtime-mounted reads. Sub-project segment uses the workspaceRoot-relative path; bad/non-descendant subProjectPath self-heals to parent-only instructions.
|
@codex review P2 — addressed: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d92430eefe
ℹ️ 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".
…imes path.relative emits host-native separators, but SSH/Docker/devcontainer runtimes read files via POSIX paths. Convert backslashes to forward slashes and use runtime.normalizePath so Windows hosts using remote runtimes still resolve the sub-project AGENTS.md location.
|
@codex review P2 — addressed: sub-project AGENTS.md lookup now normalizes the relative path with |
|
Codex Review: Didn't find any major issues. Hooray! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Summary
Replaces the old Sections/sub-folder feature wholesale with first-class sub-projects. Sub-projects are registered projects whose path is inside a top-level parent project, render beneath that parent in the sidebar, and share the parent worktree/branch model while providing sub-project-specific cwd and AGENTS.md context.
Background
Sections were free-form workspace groups. The new model ties grouping to real project paths so nested app/package directories can have their own steering while staying inside the same git repo and parent worktree.
Implementation
sectionId, section ordering, section deep-link handling, section picker UI, and obsolete section tests.ProjectConfig.parentProjectPathandWorkspaceConfig.subProjectPath/WorkspaceMetadata.subProjectPath.subProjectPathonly for cwd and prompt context.Validation
make static-checkmake fmtmake lintbun run typecheckbun test src/common/utils/subProjects.test.ts src/common/utils/deepLink.test.ts src/node/runtime/runtimeHelpers.test.ts src/browser/components/ProjectSidebar/ProjectSidebar.test.tsxmake storybook-build+ servedstorybook-static+make test-storybookRisks
This intentionally removes compatibility for existing section data. The main regression risk is around workspace creation and execution path resolution because sub-projects share parent worktrees while changing cwd/prompt context. Local typecheck, lint, static-check, and targeted sidebar/runtime tests pass.
Generated with
mux• Model:openai:gpt-5.5• Thinking:high• Cost:$109.28