Problem: #4798's acceptance criteria covers rejecting a malformed or empty idea submission with a clear error, but nothing in this milestone screens a well-formed idea for semantic infeasibility (e.g. out-of-scope, impossible, or requires access/capabilities the loop doesn't have) or for abusive/illegal intent, before it consumes paid compute or reaches the execution loop. Miner Wave 2 already built a feasibility gate for existing, structured GitHub issues (packages/gittensory-miner/lib/feasibility-cli.js) — but Rent-a-Loop's intake is freeform natural-language text describing a new idea, a materially different input shape that gate wasn't designed for. Without this, a customer can pay for (or a free trial can burn compute on) an idea that was never going to succeed, with no defined recourse until it fails downstream and #4791's settlement/refund logic has to clean up after the fact.
Area: Product spec / Safety
Proposal: Define and implement a pre-execution feasibility and content-moderation check on a submitted idea (post-schema-validation, pre-compute-allocation): reject or flag ideas that are well-formed but out-of-scope/impossible to evaluate objectively, and reject ideas whose intent is abusive, illegal, or violates the eventual Terms of Service (#4805). Check first whether feasibility-cli.js's existing scoring approach can be adapted for freeform text rather than building a parallel mechanism from scratch.
Deliverables:
Acceptance criteria:
Boundaries:
Part of #4778.
Problem: #4798's acceptance criteria covers rejecting a malformed or empty idea submission with a clear error, but nothing in this milestone screens a well-formed idea for semantic infeasibility (e.g. out-of-scope, impossible, or requires access/capabilities the loop doesn't have) or for abusive/illegal intent, before it consumes paid compute or reaches the execution loop. Miner Wave 2 already built a feasibility gate for existing, structured GitHub issues (
packages/gittensory-miner/lib/feasibility-cli.js) — but Rent-a-Loop's intake is freeform natural-language text describing a new idea, a materially different input shape that gate wasn't designed for. Without this, a customer can pay for (or a free trial can burn compute on) an idea that was never going to succeed, with no defined recourse until it fails downstream and #4791's settlement/refund logic has to clean up after the fact.Area: Product spec / Safety
Proposal: Define and implement a pre-execution feasibility and content-moderation check on a submitted idea (post-schema-validation, pre-compute-allocation): reject or flag ideas that are well-formed but out-of-scope/impossible to evaluate objectively, and reject ideas whose intent is abusive, illegal, or violates the eventual Terms of Service (#4805). Check first whether
feasibility-cli.js's existing scoring approach can be adapted for freeform text rather than building a parallel mechanism from scratch.Deliverables:
Acceptance criteria:
Boundaries:
Part of #4778.