Add structured work-proof submission requirements#347
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR adds a structured ChangesWork Proof Submission Requirements
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
tolga-tom-nook
left a comment
There was a problem hiding this comment.
No blockers found on the current PR #347 head (d574f6d).
What I checked:
- The new
submission_requirementspayload is added consistently to both bounty-specific and genericsubmit_work_proofMCP guidance. - Terminal/closed/paid bounty guidance now switches the first required action to
choose_open_bounty, which matches the existingcan_submit = Falseavailability behavior. - The added metadata stays guidance-only and does not change ledger balances, payout flow, wallet handling, or proof submission side effects.
Validation run locally on PR head:
./.venv/bin/python -m pytest tests/test_api_mcp.py -q-> 76 passed./.venv/bin/python -m ruff check app/main.py tests/test_api_mcp.py-> passed./.venv/bin/python -m mypy app-> passedgit diff --check origin/main...HEAD-> passed
TUPM96
left a comment
There was a problem hiding this comment.
Reviewed the MCP structured-guidance changes for #315/#340.
Evidence checked:
- Inspected
app/main.pyadditions aroundwork_proof_submission_requirements, including bounty-specific, generic no-selector, and terminal paid/closednext_actionsbehavior. - Inspected
tests/test_api_mcp.pycoverage forreference_formats,claim_command,attempt_endpoint,evidence_required, metadata exclusions, and paid/closed first action handling. - Verified the new requirements object is added only to JSON structured guidance and does not alter the existing text guidance path.
Commands run locally on PR head d574f6d:
python -m pytest tests\test_api_mcp.py::test_mcp_submit_work_proof_returns_structured_bounty_guidance tests\test_api_mcp.py::test_mcp_submit_work_proof_returns_structured_generic_guidance tests\test_api_mcp.py::test_mcp_submit_work_proof_structures_terminal_bounty_availability -q-> 3 passedpython -m pytest tests\test_api_mcp.py -q-> 76 passedpython -m ruff check app\main.py tests\test_api_mcp.py-> passed
No blocking issues found in this scope.
Bounty #315
Summary
submission_requirementsobject tosubmit_work_proofJSON guidance.Why this is distinct
PR #317 added
format: "json"and the core structured guidance payload. PR #339 added structured availability state. This PR adds the submission checklist/requirements layer so MCP agents can determine what concrete proof, references, claim command, and acceptance trigger are required without scraping docs or prose.Validation
uv run --with pytest pytest tests/test_api_mcp.py::test_mcp_submit_work_proof_returns_structured_bounty_guidance tests/test_api_mcp.py::test_mcp_submit_work_proof_returns_structured_generic_guidance tests/test_api_mcp.py::test_mcp_submit_work_proof_structures_terminal_bounty_availability -q-> 3 passed.uv run --with pytest pytest tests/test_api_mcp.py -q-> 76 passed.uv run --with pytest pytest -q-> 335 passed.uv run --with ruff ruff check app/main.py tests/test_api_mcp.py-> passed.uv run --with ruff ruff format --check app/main.py tests/test_api_mcp.py-> 2 files already formatted.uv run --with mypy mypy app/main.py-> success.uv run python scripts/docs_smoke.py-> docs smoke ok.git diff --check-> clean.No private keys, seed material, secrets, deployment credentials, private vulnerability details, payout credentials, or MRWK price claims are included.
Summary by CodeRabbit