Skip to content

idea-feasibility accepts blank/whitespace-only acceptance hints as a real objective success signal #6766

Description

@JSONbored

Context

packages/loopover-miner/lib/idea-feasibility.js:38-40 computes objectiveSignals = idea.acceptanceHints?.length ?? 0 — array length only, never content. idea-feasibility-cli.js:34-42's --hint parsing only rejects undefined or a value starting with -; a whitespace-only value like " " is accepted verbatim. packages/loopover-engine/src/idea-intake.ts:104-107's validateIdeaSubmission only checks the array holds strings, no non-blank check (unlike its own isNonEmptyString guard used for id/title/body). So { acceptanceHints: [" "] } sails through as issueStatus: "ready", directly contradicting the module's own stated purpose: "An idea with no objective success signal is invalid... and is rejected before compute."

Requirements

  • deriveIdeaIssueStatus must count only non-blank (trimmed, non-empty) hints toward objectiveSignals.
  • idea-feasibility-cli.js's --hint parsing should reject a whitespace-only value with the same error used for a missing value.

Deliverables

  • Non-blank filtering in deriveIdeaIssueStatus's objectiveSignals computation
  • CLI rejection of whitespace-only --hint
  • Regression tests: acceptanceHints: [" "] returns "invalid"; --hint " " returns a parse error

Test Coverage Requirements

99%+ Codecov patch coverage on every changed line and branch, plus a regression test that reproduces the exact failure mode described above and asserts it's fixed.

Expected Outcome

A whitespace-only acceptance hint is correctly rejected as "no objective success signal," matching the module's stated purpose.

Links & Resources

packages/loopover-miner/lib/idea-feasibility.js:16-18,38-40, packages/loopover-miner/lib/idea-feasibility-cli.js:34-42, packages/loopover-engine/src/idea-intake.ts:79-80,104-107.

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