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
Trend-tracking jq recipe prints evaluation_completed=false as 'n/a', because jq's // operator treats false like null (F-W1-DOCS-TRAIN-16) #884
The page explains that evaluation_completed: false marks a safety run that produced no usable evidence, then gives a jq view that renders the field with .evaluation_completed // "n/a". jq's alternative operator falls back on false as well as null, so exactly the rows the view is meant to expose print as completed=n/a, indistinguishable from older rows that lack the field.
Primary finding
F-W1-DOCS-TRAIN-16 — The trend query hides an explicit evaluation failure as missing telemetry
severity Low · confidence high · reproduced with jq 1.7.1
With jq 1.7.1 the documented expression prints completed=n/a for {"evaluation_completed": false}, completed=true for true, and completed=n/a when the field is absent.
Recommended fix. Render the field without the alternative operator, for example completed=\(if .evaluation_completed == null then "n/a" else .evaluation_completed end), which prints true, false and n/a for the three cases.
Acceptance criteria
The jq view prints true, false and n/a for true, false and missing values.
Documentation listed above is corrected in English and in its Turkish mirror in the same PR.
The finding is resolved or explicitly closed with a reason.
Found by the September 2026 independent review of ForgeLM against commit cab2947 and re-verified against development at f94595f on 2026-10-09. Code links point at cab2947; line numbers may have moved since. Finding IDs (F-W1-…) are stable references for this backlog.
Use an explicit null/missing check so evaluation_completed=false prints false. Exercise the recipe with true, false, null and a missing key, and keep EN/TR shell blocks identical.
Run the focused tests:
pytest tests/test_safety_advanced.py --no-cov
Run these guards/checks as applicable to the changed files:
If user-facing documentation changes, update the existing Turkish mirror in the same PR; keep commands, code and terminal output in English and structurally aligned. English-only contributor standards need no new mirror.
Open the PR against development with Fixes #884 once every finding is resolved or explicitly closed with a reason; use Refs #884 for partial work and list the resolved finding IDs.
Update — re-verified on development (0766e94). The expression is unchanged in both
pages (line 47).
No Python test is needed; the pytest/ruff lines above are only a sanity run. Check the
replacement against three rows — true, false and a missing field: the documented
expression prints n/a for false, the corrected one prints false. Put the identical
line in the English and the Turkish page.
Activity
cemililik commentedon Oct 11, 2026
Where to start
Thanks for taking a look. Please confirm the issue is unassigned and comment before starting so work does not overlap.
Start with these files on
development:Use an explicit null/missing check so evaluation_completed=false prints false. Exercise the recipe with true, false, null and a missing key, and keep EN/TR shell blocks identical.
Run the focused tests:
Run these guards/checks as applicable to the changed files:
If user-facing documentation changes, update the existing Turkish mirror in the same PR; keep commands, code and terminal output in English and structurally aligned. English-only contributor standards need no new mirror.
Open the PR against
developmentwithFixes #884once every finding is resolved or explicitly closed with a reason; useRefs #884for partial work and list the resolved finding IDs.cemililik commentedon Oct 17, 2026
Update — re-verified on
development(0766e94). The expression is unchanged in bothpages (line 47).
No Python test is needed; the
pytest/rufflines above are only a sanity run. Check thereplacement against three rows —
true,falseand a missing field: the documentedexpression prints
n/aforfalse, the corrected one printsfalse. Put the identicalline in the English and the Turkish page.
yuefdev commentedon Oct 17, 2026
I'll take this one. I'll keep the English and Turkish jq recipes identical and check true, false, null and missing values.