docs(design): add maintainer decision layer roadmap#35
Draft
frankekn wants to merge 5 commits intopwrdrvr:mainfrom
Draft
docs(design): add maintainer decision layer roadmap#35frankekn wants to merge 5 commits intopwrdrvr:mainfrom
frankekn wants to merge 5 commits intopwrdrvr:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a design roadmap for a maintainer decision layer above ghcrawl's existing search and clustering pipeline.
Why
ghcrawlalready does repository-wide semantic grouping well. The remaining gap is maintainer-facing decision support: helping answer which nearby PR is the strongest base, which variant is likely superseded, and which semantic neighbors should stay excluded.This PR does not introduce code or change current runtime behavior. It documents a clean additive direction so future feature work can converge on one architecture instead of growing as disconnected heuristics.
Changes
docs/designs/maintainer-decision-layer.mddocs/PLAN.mdwith a dedicated maintainer decision-analysis phaseDesign Intent
The proposed direction is additive:
analyze-pr, triage, API, and future UI surfacesArchitecture
flowchart LR A[Existing ghcrawl pipeline] --> B[Neighbors / Clusters] B --> C[Candidate retrieval] C --> D[Decision analysis] D --> E[Maintainer outputs] E --> E1[analyze-pr] E --> E2[triage] E --> E3[API] style D fill:#173042,stroke:#7dd3fc,stroke-width:2px,color:#ffffff style E fill:#3a2812,stroke:#fbbf24,stroke-width:2px,color:#ffffffInitial Scoring Direction
One thing I wanted to make explicit in this roadmap is that the future decision layer should not be “more clustering”. It should be a second-stage score model that combines the strongest maintainer-facing signals:
In other words:
best_base,superseded_candidate, andexcluded_neighborare the maintainer-facing resultThat distinction is the main reason this proposal exists. The goal is not to treat cluster membership itself as the final answer. The goal is to reuse the current retrieval and clustering pipeline, then add a maintainer-oriented decision pass on top of it.
flowchart LR A[semantic similarity] B[linked issue overlap] C[path relevance] D[companion test relevance] E[state and recency] F[noise penalty] A --> G[decision score] B --> G C --> G D --> G E --> G F --> G G --> H[best_base] G --> I[same_cluster_candidate] G --> J[superseded_candidate] G --> K[excluded_neighbor] style G fill:#173042,stroke:#7dd3fc,stroke-width:2px,color:#ffffffThe updated design doc keeps the score model concrete at the level that matters for a roadmap:
Exact score weights are intentionally left to implementation and fixture-driven tuning rather than being treated as roadmap truth. The weighting approach itself is not hypothetical:
claw-maintainer-tuialready runs a weighted maintainer decision model today, and the firstghcrawlimplementation can start from that profile before retuning against local fixtures.For clarity, this is not a “stale local data only” proposal. V1 should analyze the latest local repository snapshot produced by the existing explicit
refreshorsync -> embed -> clusterpipeline. Freshness remains an explicit operational step, while the scoring pass itself stays free of hidden live GitHub or OpenAI fetches.Delivery Path
flowchart TD P0[Phase 0<br/>fix current contracts] P1[Phase 1<br/>reusable decision core] P2[Phase 2<br/>analyze-pr] P3[Phase 3<br/>triage and API reuse] P4[Phase 4<br/>decision artifacts on run state] P0 --> P1 --> P2 --> P3 --> P4Non-Goals
Testing