Skip to content

fix(engine): align no-preference miner lane-fit score to 0.5 - #8981

Closed
joaovictor91123 wants to merge 1 commit into
JSONbored:mainfrom
joaovictor91123:fix/miner-goal-lane-fit-neutral-8870
Closed

fix(engine): align no-preference miner lane-fit score to 0.5#8981
joaovictor91123 wants to merge 1 commit into
JSONbored:mainfrom
joaovictor91123:fix/miner-goal-lane-fit-neutral-8870

Conversation

@joaovictor91123

Copy link
Copy Markdown
Contributor

Summary

  • Align computeMinerGoalLaneFit's empty-preferredLabels branch to return 0.5, matching computeLaneFit's documented neutral (never 0 or 1).
  • Update engine node:test and vitest coverage that pinned the old 1 behavior.

Closes #8870

Scope

  • The PR title follows type(scope): short summary Conventional Commit format, for example fix(api): restore profile access checks.
  • This PR is focused and does not mix unrelated backend, UI, MCP, docs, dependency, and deploy changes.
  • This follows CONTRIBUTING.md and does not reintroduce GitHub Pages, VitePress, site/, or CNAME.
  • I linked a currently open issue this PR resolves (e.g. Closes #123) — a linked open issue is required for every contributor PR.

Validation

  • git diff --check
  • npm run actionlint
  • npm run typecheck
  • npm run test:coverage locally; codecov/patch requires ≥99% coverage of the lines AND branches you changed (aim for 100% on your diff so CI variance does not fail near the threshold). Global coverage is a non-blocking trend with a loose 90% backstop, not the gate.
  • npm run test:workers
  • npm run build:mcp
  • npm run test:mcp-pack
  • npm run ui:openapi:check
  • npm run ui:lint
  • npm run ui:typecheck
  • npm run ui:build
  • npm audit --audit-level=moderate
  • New or changed behavior has unit/integration tests for new branches, fallback paths, and sanitizer boundaries

If any required check was skipped, explain why:

  • Full suite not re-run locally (Node 24 vs engines Node 22). Diff is a one-line scoring alignment plus updated unit expectations; CI is source of truth.

Safety

  • No secrets, wallet details, hotkeys, coldkeys, user PATs, private keys, raw trust scores, private rankings, or private maintainer evidence are exposed.
  • Public GitHub text stays sanitized, low-noise, and does not imply compensation guarantees or optimization tactics.
  • Auth, cookie, CORS, GitHub App, Cloudflare, or session changes include negative-path tests.
  • API/OpenAPI/MCP behavior is updated and tested where needed.
  • UI changes use live API data or real empty/error/loading states, not production mock/demo fallbacks.
  • Visible UI changes include a UI Evidence section below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.
  • Public docs/changelogs are updated where needed; changelogs are only edited for release-prep PRs.

UI Evidence

N/A — no visible UI changes.

Notes

computeMinerGoalLaneFit returned 1 when preferredLabels were empty; match computeLaneFit's documented neutral of 0.5 so metadata ranking does not over-weight unconfigured goals.

Closes JSONbored#8870
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@joaovictor91123

Copy link
Copy Markdown
Contributor Author

Closing per contributor focus shift away from fix(engine) PRs; picking non-engine issues next.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(engine): computeMinerGoalLaneFit and computeLaneFit disagree on the "no preference configured" neutral score

1 participant