Skip to content

config-lint.ts's TOP_LEVEL_FIELDS is missing fairnessAnalytics, causing a spurious unknown-field warning #8365

Description

@JSONbored

Context

packages/loopover-engine/src/focus-manifest.ts's parseFocusManifest fully recognizes a top-level
fairnessAnalytics: block in .loopover.yml (FocusManifestFairnessAnalyticsConfig, the
config-as-code override for LOOPOVER_FAIRNESS_ANALYTICS) — see line 3993:
fairnessAnalytics: parseFairnessAnalyticsConfig(record.fairnessAnalytics, warnings).

However, packages/loopover-engine/src/config-lint.ts's TOP_LEVEL_FIELDS array (lines 4-31), which
enumerates every field lintManifestText/unknownTopLevelWarnings treats as recognized, does not
include fairnessAnalytics. Any repo whose .loopover.yml declares a fairnessAnalytics: block gets
a spurious "Manifest contains unknown top-level field: fairnessAnalytics." lint warning even though
the field is fully supported and parsed correctly by the manifest loader itself.

No test in test/unit/selfhost-config-lint.test.ts or test/unit/loopover-config-lint-script.test.ts
references fairnessAnalytics at all, confirming this was simply missed when the field was added
rather than being an intentional omission.

Requirements

  • Add "fairnessAnalytics" to TOP_LEVEL_FIELDS in packages/loopover-engine/src/config-lint.ts.
  • Do not change the parsing logic in focus-manifest.ts — it is already correct; this issue is scoped
    to the lint-rule list only.

Deliverables

  • fairnessAnalytics added to TOP_LEVEL_FIELDS in config-lint.ts.
  • A regression test in test/unit/selfhost-config-lint.test.ts (or
    test/unit/loopover-config-lint-script.test.ts, whichever already covers TOP_LEVEL_FIELDS)
    asserting a manifest containing a fairnessAnalytics: block produces no "unknown top-level
    field" warning.

Test Coverage Requirements

This repo's Codecov patch gate is 99%+ of changed lines and branches
(packages/loopover-engine/src/** is covered). The single-line array addition is trivial, but the new
regression test above is required to lock in the fix and prevent future regressions of this same
missed-field pattern.

Expected Outcome

A .loopover.yml with a fairnessAnalytics: block no longer produces a false "unknown top-level
field" lint warning.

Links & Resources

  • packages/loopover-engine/src/config-lint.ts:4-31TOP_LEVEL_FIELDS, the array to fix
  • packages/loopover-engine/src/focus-manifest.ts:3993 — where fairnessAnalytics is actually parsed

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:bugGittensor-scored bug fix — scores a 0.05x multiplier.help wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions