fix(engine): include experimental and fairnessAnalytics in the manifest preview - #8966
Conversation
…st preview focusManifestToNormalizedJson was missing the experimentalConfigToJson and fairnessAnalyticsConfigToJson calls, even though both blocks carry a .present flag like the other 17 wired blocks and config-lint's TOP_LEVEL_FIELDS already lists them (so no unrecognized-field warning fired). A configured experimental or fairnessAnalytics block therefore never appeared in the .loopover.yml validation preview. This is the same two-sibling-enumeration-site omission fixed once for federatedIntelligence (1c80fb8). Add the two missing serializer calls, matching the existing per-block pattern. Adds regression tests mirroring the federatedIntelligence block: a configured experimental/fairnessAnalytics block now shows in the preview, and both are absent when unconfigured. Closes JSONbored#8867
|
🚨 Contributor flagged. Click here for more info: Superagent Dashboard |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8966 +/- ##
==========================================
+ Coverage 90.56% 93.86% +3.30%
==========================================
Files 96 807 +711
Lines 22490 80350 +57860
Branches 3884 24352 +20468
==========================================
+ Hits 20367 75424 +55057
- Misses 1945 3561 +1616
- Partials 178 1365 +1187
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-26 14:59:28 UTC
Review summary Nits — 2 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Decision record
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
Held for manual review: the gate and required CI are green, but GitHub reports this pull request's mergeable state as |
What & why
Closes #8867.
packages/loopover-engine/src/focus-manifest-validation.ts'sfocusManifestToNormalizedJsonwasmissing the
experimentalConfigToJson/fairnessAnalyticsConfigToJsoncalls, even though both blockscarry a
.presentflag like the other 17 wired blocks andconfig-lint.ts'sTOP_LEVEL_FIELDSalready lists them (so no "unrecognized field" warning fired). A configured
experimental:orfairnessAnalytics:block therefore silently never appeared in the.loopover.ymlvalidationpreview — the same two-sibling-enumeration-site omission already fixed once for
federatedIntelligence(commit1c80fb84b).Change
Add the two missing serializer calls to
focusManifestToNormalizedJson, matching the existingper-block
!== nullpattern used for all 17 other blocks.Validation
federatedIntelligenceblock: a configuredexperimental(
gittensor: true) andfairnessAnalytics(enabled: true) block each now appears in thenormalized preview with no warnings, and both are asserted absent when unconfigured.