)]}'
{"specs/2027.1/approved/audit-pipeline.rst":[{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"6d61fc65426bb9cd4b133a57eabb29d73f9a1f77","unresolved":false,"context_lines":[{"line_number":585,"context_line":"        \"audit_type\": \"ONESHOT\","},{"line_number":586,"context_line":"        \"execution_mode\": \"CASCADE\","},{"line_number":587,"context_line":"        \"state\": \"PENDING\","},{"line_number":588,"context_line":"        \"auto_trigger\": true,"},{"line_number":589,"context_line":"        \"hostname\": null,"},{"line_number":590,"context_line":"        \"status_message\": null,"},{"line_number":591,"context_line":"        \"stage_uuids\": [\"stage-uuid-1\", \"stage-uuid-2\"],"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1485bb_011ee404","line":588,"updated":"2026-09-10 18:03:53.000000000","message":"The create example request body sets \"auto_trigger\": false and the prose says the field defaults to false, but the corresponding response body example returns \"auto_trigger\": true. The two examples describe the same request/response pair and must agree.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Impact**: API sample tests and client bindings modelled on this example would encode the wrong value, and readers cannot tell what the API actually returns for the example request.\n\n**Recommendation**:\nChange the response example to \"auto_trigger\": false so it matches the request example and the documented default.","commit_id":"a9ca593b1246116a906090080d133834d6e2d1f6"},{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"6d61fc65426bb9cd4b133a57eabb29d73f9a1f77","unresolved":false,"context_lines":[{"line_number":679,"context_line":"* Normal response: 200 OK"},{"line_number":680,"context_line":"* Error responses: 400 Bad Request, 404 Not Found, 409 Conflict"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"PUT updates the mutable user fields and is allowed only while the pipeline is"},{"line_number":683,"context_line":"in ``PENDING`` state. The mutable pipeline fields are ``name`` and"},{"line_number":684,"context_line":"``auto_trigger``; both are optional in the request body and only the supplied"},{"line_number":685,"context_line":"fields are changed. All other fields, including stage fields, are immutable."}],"source_content_type":"text/x-rst","patch_set":1,"id":"c11840b6_12b904c4","line":682,"updated":"2026-09-10 18:03:53.000000000","message":"The spec states ONESHOT pipelines are triggered automatically by the API at creation time, so a pipeline leaves PENDING almost immediately after create returns. Yet the update API is defined as allowed only while the pipeline is in PENDING state. In the initial microversion only ONESHOT pipelines exist, so the update endpoint can only succeed in a narrow asynchronous window. The 2026.2 version of this spec had an explicit /start action endpoint that this revision removes, eliminating the operator\u0027s only way to control when planning starts.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: Implementers following this spec would ship an update endpoint that effectively always returns 409 Conflict in real deployments, and operators would have no documented way to change auto_trigger before the final Action Plan launch decision.\n\n**Suggestion**:\nReconcile the lifecycle: keep pipelines PENDING until explicitly started (restore a start/trigger action), or allow updating auto_trigger while ONGOING until the final Action Plan is persisted, and document the usable update window explicitly.","commit_id":"a9ca593b1246116a906090080d133834d6e2d1f6"}]}
