You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Triage] docs/guides/cicd_pipeline.md: misleading — --output-format json gives machine-readable results with a success key; --dry-run --output-format json is the validate step. (DOC-D2B06-033) #832
Needs triage. Reviewers disagreed on this finding, so it is not counted in the backlog. Decide whether it is a real defect: if yes, set severity and wave; if not, close it with the reason.
DOC-D2B06-033 — docs/guides/cicd_pipeline.md: misleading — --output-format json gives machine-readable results with a success key; --dry-run --output-format json is the validate step.
The document says.--output-format json gives machine-readable results with a success key; --dry-run --output-format json is the validate step.
What the code does. For a config with a pipeline: block, --dry-run --output-format json prints nothing on stdout (exit 0; reproduced). A full pipeline run prints the serialised PipelineState, which has no success key, so data['success'] raises KeyError.
User impact. CI parsers built on this guide break as soon as a team adopts pipeline configs.
Proposed correction. Fix the code: emit the standard envelope ({success, …}) for pipeline dry-run and pipeline runs. Meanwhile note in the doc that pipeline configs return the pipeline state object (use .final_status) and an empty dry-run stdout.
Found by the October 2026 ForgeLM code and documentation review against commit cab2947. Code links point at that commit; line numbers may have moved since. Finding IDs (CR-…, DOC-…, TECH-…) are stable references for this backlog.
The guide is accurate for single-stage configs (the dry-run and run envelopes carry success, metrics, resource_usage, benchmark). It is misleading for configs with a pipeline: block: --dry-run --output-format json exits 0 with empty stdout (reproduced), and a full run prints the pipeline state, which has no success key.
That is the code defect tracked in #420, which also lists the matching json-output.md page. Closing as a duplicate of #420; this finding (DOC-D2B06-033) and the two guide pages are recorded there, so they are corrected in the same pull request.
Triage round 1, checked against development on 2026-10-20.
Activity
cemililik commentedon Oct 20, 2026
The guide is accurate for single-stage configs (the dry-run and run envelopes carry
success,metrics,resource_usage,benchmark). It is misleading for configs with apipeline:block:--dry-run --output-format jsonexits 0 with empty stdout (reproduced), and a full run prints the pipeline state, which has nosuccesskey.That is the code defect tracked in #420, which also lists the matching json-output.md page. Closing as a duplicate of #420; this finding (DOC-D2B06-033) and the two guide pages are recorded there, so they are corrected in the same pull request.
Triage round 1, checked against
developmenton 2026-10-20.