Skip to content

Commit d8d36bd

Browse files
committed
feat(stovepipe): Add status lookup contract
**What**: - Publish a queue-scoped validation-status lookup contract. - Include repository status and future project-result response fields. **Why**: - Let consumers integrate against a stable validation-status interface. - Preserve a compatible path to project-level results.
1 parent 6e91932 commit d8d36bd

4 files changed

Lines changed: 504 additions & 57 deletions

File tree

api/stovepipe/proto/stovepipe.proto

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
111155
service 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

Comments
 (0)