Skip to content

tep: Monolithic Repository - #8977

Open
whoisj wants to merge 2 commits into
mainfrom
whoisj/tep/monorepo
Open

whoisj wants to merge 2 commits into
mainfrom
whoisj/tep/monorepo

Conversation

@whoisj

@whoisj whoisj commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Create a Triton Enhancement Proposal to reduce the number of Triton repositories by merging the backend, common, core, and python_backend repositories into the server repository.
Preserving commit history by renaming server's main branch to legacy-main and archiving the other repositories.

The intent of this PR is to generate discussion around the topic and generate ideas for improving the developer workflow related to Triton Inference Server.

This change creates the Triton Monolithic Repository TEP.

Signed-off-by: J Wyman <jwyman@nvidia.com>
@greptile-apps

greptile-apps Bot commented Sep 16, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 3/5

The proposal should not be approved until its migration table is made complete and exact and its history-preservation strategy retains ancestry on the new default branch.

Findings

  1. P1 Migration Mapping Is Incomplete
  2. P1 New Main Loses Ancestry

Summary

This PR introduces a draft enhancement proposal for consolidating the backend, common, core, Python backend, and server repositories, and updates both TEP templates to use a consistent requirements hierarchy.

  • Defines goals, requirements, repository layout, and alternatives for the monorepo migration.
  • Proposes replacing the default branch with a new snapshot-based main while retaining prior repositories separately.
  • Corrects the Requirements/REQ heading hierarchy in both proposal templates.
  • The proposed migration mapping needs an exhaustive filename audit, and the history-preservation mechanism needs to preserve ancestry on the new default branch.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Server[server main] --> Legacy[server legacy-main]
  Server --> Snapshot[New snapshot commit]
  Backend[backend main] --> Snapshot
  Common[common main] --> Snapshot
  Core[core main] --> Snapshot
  Python[python_backend main] --> Snapshot
  Snapshot --> NewMain[New monorepo main]
  Backend --> Archived[Archived source repositories]
  Common --> Archived
  Core --> Archived
  Python --> Archived
Loading

Reviews (1) · Last reviewed commit: "tep: monolithic repository"

Comment on lines +183 to +184
The table below is the proposed structure for the monolithic repository.
Each path in the repository has a corresponding repository + path combination explaining where each folder and/or file is sourced from.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Migration Mapping Is Incomplete

The table is presented as the complete source-to-destination mapping, but following it would omit the tracked pyproject.toml and .clang-format files. It also references incorrect case-sensitive names: .CITATION.cff, Dockerfile.SDK, and five CmakeLists.txt destinations. On Linux, these names do not match the existing files, and CMake expects CMakeLists.txt. Implementing this mapping as written could therefore drop build, formatting, and metadata assets or produce component directories that CMake cannot build, contradicting REQ 01 and REQ 03. Please audit the mapping against every source repository and use each file's exact name.

Comment on lines +145 to +146
The merged repositories would be merged into a new `main` branch with a new base commit.
The existing `main` branch would be renamed to `legacy-main` and preserved in order to retain commit history.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 New Main Loses Ancestry

Creating main from a new base and adding the repository contents as a snapshot does not make the original commits ancestors of the migrated files. Normal git log and git blame on the new default branch would stop at that snapshot, while the earlier history remains separate on legacy-main or in archived repositories. This defeats the proposal's stated history-preservation goal and loses normal per-line attribution on main. The proposal should require an ancestry-preserving import and define measurable history and attribution acceptance criteria rather than leaving an attribution script optional.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant