Skip to content

feat(web): derive pull request navigation paths - #28

Open
kalvenschraut wants to merge 1 commit into
stacks/dependency-servicefrom
stacks/navigation-model
Open

feat(web): derive pull request navigation paths#28
kalvenschraut wants to merge 1 commit into
stacks/dependency-servicefrom
stacks/navigation-model

Conversation

@kalvenschraut

@kalvenschraut kalvenschraut commented Sep 5, 2026

Copy link
Copy Markdown
Member

What Changed

Derive the navigator view model from dependency context: a bounded chain around the focus, explicit sibling and candidate choices, cycle stops, partial states, and separate native membership. Tests cover long chains, ambiguous ancestors, unavailable reads, and older servers.

Why

The renderer needs one consistent, conservative navigation model so uncertain relationships never become a guessed previous or next PR.

Stack step 5/7. Builds on #27.

Validation: focused tests and scoped lint passed for the implementation and review fixes, including 56 Gitea API, 15 topology, 113 service, and 11 navigation tests after the latest changes. Contracts, client-runtime, and web typechecks passed. Server typechecking reports eight Gitea errors, all reproduced on pristine parent 85dd52877, with no new errors.

Checklist

  • One focused review slice
  • Explained the problem and resulting behavior

Models and harnesses: GPT-5.6 Terra (medium) in Codex; UI design and source review by Claude Fable 5.1 via Claude Code.

Summary by CodeRabbit

  • New Features

    • Added pull request dependency navigation, showing confirmed and potential parent/child relationships.
    • Displays dependency paths, sibling pull requests, branching children, and native dependency members.
    • Provides clear states for pending, unavailable, partial, empty, ambiguous, and unsupported dependency data.
    • Handles complex dependency graphs, including cycles, multiple parents, and long chains.
  • Tests

    • Added comprehensive coverage for dependency navigation scenarios, including incomplete data and branching relationships.

@kalvenschraut
kalvenschraut marked this pull request as ready for review September 5, 2026 05:56
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 12 minutes.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: ee7955a5-b3ca-46a1-9a24-71401eb1883e

📥 Commits

Reviewing files that changed from the base of the PR and between 3d682df and 76bdd7a.

📒 Files selected for processing (2)
  • apps/web/src/components/pullRequest/pullRequestDependencyNavigation.logic.test.ts
  • apps/web/src/components/pullRequest/pullRequestDependencyNavigation.logic.ts

Included review availability: Your plan provides up to 10 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The pull request adds dependency navigation logic for pull requests. It models explicit navigation states, resolves confirmed and candidate relationships, builds bounded paths, detects cycles and ambiguity, exposes native dependency data, and adds comprehensive tests.

Changes

Pull request dependency navigation

Layer / File(s) Summary
Navigation contract and graph setup
apps/web/src/components/pullRequest/pullRequestDependencyNavigation.logic.ts
Defines DependencyChip and DependencyNavigation. It handles input states and separates confirmed from candidate relationships.
Path traversal and navigation states
apps/web/src/components/pullRequest/pullRequestDependencyNavigation.logic.ts
Traverses ancestors and descendants, detects cycles, limits path length, derives relationships and native data, and returns explicit status results.
Dependency navigation coverage
apps/web/src/components/pullRequest/pullRequestDependencyNavigation.logic.test.ts
Tests linear paths, siblings, candidate and ambiguous parents, native membership, partial coverage, unavailable data, cycles, multiple parents, and bounded long chains.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to 76bdd

This adds bounded pull-request dependency navigation with explicit states for incomplete or unavailable data. Current coverage includes the new graph and edge cases, with no concrete merge-blocking risk identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly and concisely describes the main change: deriving pull request navigation paths in the web application.
Description check ✅ Passed The description includes complete What Changed and Why sections, a focused checklist, validation details, and scope information. The UI Changes section is omitted, which is appropriate because the cha…
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch stacks/navigation-model

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

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from f904f5d to 76bdd7a Compare September 5, 2026 06:29
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from 76bdd7a to c244d83 Compare September 5, 2026 06:54
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

Please review the latest head after the verified findings were fixed and the stack was rebased. The focused fixes passed 296 tests and targeted lint; web typechecking passed. Server typechecking matches the eight errors on the pristine Gitea parent, with no new errors.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Rate Limit Exceeded

@kalvenschraut have exceeded the limit for the number of chat messages per hour. Please wait 6 minutes and 53 seconds before sending another message.

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from c244d83 to e491092 Compare September 5, 2026 07:47
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from e491092 to 031e03f Compare September 5, 2026 08:05
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from 031e03f to 294dec3 Compare September 5, 2026 08:43
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from 294dec3 to 7202e0f Compare September 5, 2026 08:56
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from 7202e0f to a7ab29a Compare September 5, 2026 09:06
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from a7ab29a to 0ac4ea1 Compare September 5, 2026 09:23
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai approve

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved. Approval is disabled; enable reviews.request_changes_workflow to allow explicit top-level @coderabbitai resolve or @coderabbitai approve commands.

@kalvenschraut
kalvenschraut force-pushed the stacks/navigation-model branch from 0ac4ea1 to 58c3938 Compare September 5, 2026 10:01
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai approve

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved and changes approved.

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