@@ -107,6 +107,50 @@ message GetRequestHistoryByURIResponse {
107107 repeated RequestHistory histories = 1 ;
108108}
109109
110+ // GetProjectStatusByURIRequest selects the validation status for an exact commit URI.
111+ message GetProjectStatusByURIRequest {
112+ // Logical queue containing the validation request.
113+ string queue = 1 ;
114+ // Exact VCS-agnostic URI of the commit under validation.
115+ string change_uri = 2 ;
116+ // Optional exact project selector. When set, page_size and page_token must be zero and empty.
117+ optional string project = 3 ;
118+ // Maximum projects to return. Zero selects the server default.
119+ int32 page_size = 4 ;
120+ // Opaque continuation token for project-list pagination.
121+ string page_token = 5 ;
122+ }
123+
124+ // ProjectValidation contains one planned project and its recorded result, if any.
125+ message ProjectValidation {
126+ // Stable consumer-defined project identifier.
127+ string project = 1 ;
128+ // Breakage degree on [0.0, 1.0]. Zero is green; absence means no result is recorded yet.
129+ optional double breakage_degree = 2 ;
130+ }
131+
132+ // GetProjectStatusByURIResponse contains the selected validation's current projection.
133+ message GetProjectStatusByURIResponse {
134+ // Globally unique identifier of the validation request.
135+ string request_id = 1 ;
136+ // Logical queue containing the validation request.
137+ string queue = 2 ;
138+ // VCS-agnostic URI of the commit under validation.
139+ string change_uri = 3 ;
140+ // Baseline URI for incremental validation. Empty for a full build.
141+ string base_uri = 4 ;
142+ // Stable public lifecycle state of the validation request.
143+ string request_state = 5 ;
144+ // Whole-repository breakage degree. Absent until the result is durable.
145+ optional double repository_breakage_degree = 6 ;
146+ // True only after every planned project has a durable result.
147+ bool project_results_complete = 7 ;
148+ // Planned projects in stable project order, with any recorded breakage degrees.
149+ repeated ProjectValidation projects = 8 ;
150+ // Opaque continuation token. Empty on the final page.
151+ string next_page_token = 9 ;
152+ }
153+
110154// Stovepipe provides the Stovepipe API.
111155service Stovepipe {
112156 // Ping returns a response indicating the service is alive
@@ -118,4 +162,6 @@ service Stovepipe {
118162 rpc GetRequestHistoryByID (GetRequestHistoryByIDRequest ) returns (GetRequestHistoryByIDResponse ) {}
119163 // GetRequestHistoryByURI returns retained histories for an exact commit URI.
120164 rpc GetRequestHistoryByURI (GetRequestHistoryByURIRequest ) returns (GetRequestHistoryByURIResponse ) {}
165+ // GetProjectStatusByURI returns the current validation status for an exact commit URI.
166+ rpc GetProjectStatusByURI (GetProjectStatusByURIRequest ) returns (GetProjectStatusByURIResponse ) {}
121167}
0 commit comments