Skip to content

Simplify paid bounty records#573

Merged
ramimbo merged 2 commits into
mainfrom
maintainer/simplify-paid-bounties
May 28, 2026
Merged

Simplify paid bounty records#573
ramimbo merged 2 commits into
mainfrom
maintainer/simplify-paid-bounties

Conversation

@ramimbo
Copy link
Copy Markdown
Owner

@ramimbo ramimbo commented May 28, 2026

Summary

  • Replace the manually maintained paid-bounties table with a short guide to the proof-backed activity, bounty, ledger, and proof records.
  • Update maintainer payout docs so new payments no longer require a Markdown row.
  • Update docs smoke and public docs tests for the new contract.

This is a maintainer docs PR. It is not a bounty claim. Review context: regular rolling PR review issue #567.

Checks

  • ./.venv/bin/python scripts/docs_smoke.py
  • ./.venv/bin/python -m pytest tests/test_docs_public_urls.py tests/test_api_mcp.py::test_docs_page_lists_live_ltclab_urls
  • ./.venv/bin/python scripts/check_agents.py
  • ./.venv/bin/python -m ruff format --check .
  • ./.venv/bin/python -m ruff check .
  • ./.venv/bin/python -m mypy app
  • ./.venv/bin/python -m pytest

Summary by CodeRabbit

  • Documentation

    • Reordered project links; replaced “Paid bounty” link with “Payment proof guide” across docs and templates
    • Removed the maintained paid-bounties table; updated guidance to point to ledger, proof pages, activity feed as authoritative
    • Clarified admin-runbook final-checks and bounty payout guidance
  • Tests

    • Extended/refactored docs smoke tests to assert authoritative payment references and removed outdated row-specific tests
  • Chores

    • Added required public-phrase checks for paid-bounties in docs verification script

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 13140079-5050-47a6-947d-09b6a063fcd6

📥 Commits

Reviewing files that changed from the base of the PR and between cbb210d and e3ae59d.

📒 Files selected for processing (1)
  • tests/test_docs_public_urls.py

📝 Walkthrough

Walkthrough

Documentation and admin procedures now point paid-bounty readers to proof-backed activity feeds, ledger, and proof API endpoints instead of a maintained index. Tests and smoke checks were updated to require those endpoint phrases and the new “source of truth” wording while removing row-specific assertions.

Changes

Paid Bounties Proof-Backed Documentation

Layer / File(s) Summary
Documentation and procedure updates
docs/paid-bounties.md, docs/bounty-rules.md, docs/admin-runbook.md, README.md, app/templates/docs.html
docs/paid-bounties.md removes the dated payment table and directs readers to the activity feed, activity API, bounty/ledger/proof endpoints. docs/bounty-rules.md and docs/admin-runbook.md replace manual-table instructions with proof-backed comment/closure steps. README.md and app/templates/docs.html update links to the "Payment proof guide".
Validation and test coverage
tests/test_docs_public_urls.py, scripts/docs_smoke.py
scripts/docs_smoke.py adds required-phrase checks for docs/paid-bounties.md. tests/test_docs_public_urls.py adds re import, includes the activity endpoint in README checks, removes row-specific tests and adds test_paid_bounties_points_to_authoritative_payment_records() to assert "source of truth" wording, required URLs/API routes, and absence of 2026- dated rows.

Possibly related PRs

  • ramimbo/mergework#448: Prior PR that added recent paid-proof rows and tests which this PR replaces by removing the maintained table.
  • ramimbo/mergework#432: Also modified docs/paid-bounties.md and tests/test_docs_public_urls.py; related history of adding table rows and corresponding tests.
  • ramimbo/mergework#433: Related extension of scripts/docs_smoke.py phrase checks; similar validation mechanism expanded here.
🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Simplify paid bounty records' directly names the main change: replacing a manually maintained table with a simplified guide to proof-backed records.
Description check ✅ Passed The PR description includes all required template sections: Summary, Evidence (including confusion addressed, intended files, expected size, and out-of-scope), Test Evidence with checks listed, and MRWK context referencing issue #567.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Mergework Public Artifact Hygiene ✅ Passed Changes describe MRWK as native coin only; enforce cautions against improper claims; remove manual bounty table to reduce false payout claims; add regression test forbidding dated payout rows.
Bounty Pr Focus ✅ Passed All 7 modified files match stated objectives. Paid-bounties table removed, replaced with guide. Tests updated with year-agnostic regex pattern per PR discussion. No unrelated scope.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@eliasx45 eliasx45 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed current head cbb210d398196880652d1266c1e60c93593fefb5 as a non-author.

No blocker found in my reviewed slice. The PR cleanly replaces the manually maintained paid-bounties table with a short guide pointing to the proof-backed activity feed, activity API, per-bounty accepted awards, ledger API, proof payloads, and optional discussion summaries. The surrounding README/docs page/admin-runbook/bounty-rules updates consistently move maintainers away from manual Markdown payment rows and toward authoritative ledger-backed records.

Validation performed:

  • git fetch origin main; diff confirmed focused to 7 docs/docs-test files
  • git diff --check origin/main...HEAD clean
  • python scripts/docs_smoke.py -> docs smoke ok
  • python -m pytest tests/test_docs_public_urls.py tests/test_api_mcp.py::test_docs_page_lists_live_ltclab_urls -q -> 24 passed
  • python scripts/check_agents.py -> ok
  • python -m ruff check . -> passed
  • python -m ruff format --check . -> 79 files already formatted
  • python -m mypy app -> success
  • Public URL HEAD checks returned 200 for /activity, /api/v1/activity, /api/v1/ledger, and GitHub Discussions #16
  • Full suite: python -m pytest -q -> 425 passed
  • Hosted Quality/readiness/docs/image check is passing

CodeRabbit was still marked pending/review-in-progress when I checked, so this approval is scoped to the diff, local validation, public URL verification, and hosted quality status above.

No private data, credentials, wallet material, signatures, production mutation, MRWK price/off-ramp, exchange/liquidity claims, bridge claims, or fabricated payout claims were used.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 348e5922-e43c-47ff-bf0a-0335b5d82fc7

📥 Commits

Reviewing files that changed from the base of the PR and between 24f98d1 and cbb210d.

📒 Files selected for processing (7)
  • README.md
  • app/templates/docs.html
  • docs/admin-runbook.md
  • docs/bounty-rules.md
  • docs/paid-bounties.md
  • scripts/docs_smoke.py
  • tests/test_docs_public_urls.py

Comment thread tests/test_docs_public_urls.py Outdated
@yui-stingray
Copy link
Copy Markdown
Contributor

Reviewed current head cbb210d398196880652d1266c1e60c93593fefb5 after the latest CodeRabbit line comment.

Low-severity future-proofing note: the dated-row regression should be made year-agnostic before merge. test_paid_bounties_points_to_authoritative_payment_records() currently checks only assert "| 2026-" not in paid, so the docs could reintroduce the same manual payment-table pattern with a future dated row such as | 2027-01-01 | ... and the test would still pass. Since this PR's contract is to stop maintaining dated payment rows and route readers to proof-backed sources, the test should reject dated Markdown table rows generically, for example with a multiline pattern like ^\|\s*20\d{2}-\d{2}-\d{2}\b.

Validation:

  • Inspected docs/paid-bounties.md and tests/test_docs_public_urls.py on the current head.
  • pytest tests/test_docs_public_urls.py -q --capture=no with plugin autoload disabled: 23 passed.
  • ruff check tests/test_docs_public_urls.py scripts/docs_smoke.py docs/paid-bounties.md: passed.
  • git diff --check origin/main...HEAD: clean.

@eliasx45
Copy link
Copy Markdown

I rechecked the follow-up note from @yui-stingray after my earlier approval. I agree this is a useful future-proofing improvement: the current regression rejects the old | 2026- manual dated rows, but a year-agnostic assertion would better encode the PR's intent of keeping dated payment-table rows out entirely.

I still do not see this as changing the core docs/readiness assessment I posted earlier, but I agree the stronger regex-style regression would be a good low-risk follow-up before merge if maintainers want the test to preserve the contract beyond 2026.

Copy link
Copy Markdown
Contributor

@jakerated-r jakerated-r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed current head cbb210d398196880652d1266c1e60c93593fefb5 as a non-author for the rolling PR-review bounty context in #567.

Verdict: no blocker found in my reviewed slice. The PR is focused to the paid-bounty documentation contract: it removes the manually maintained dated payment table, points readers to proof-backed activity/ledger/proof records, updates maintainer payout docs so new payments no longer require a Markdown row, and adds docs-smoke / public-doc tests for that contract.

Evidence checked:

  • Inspected docs/paid-bounties.md, docs/bounty-rules.md, docs/admin-runbook.md, README.md, app/templates/docs.html, scripts/docs_smoke.py, and tests/test_docs_public_urls.py.
  • Confirmed the changed docs point to the activity feed, activity API, ledger API, proof pages/API, per-bounty accepted-award pages, and optional GitHub Discussions summaries instead of dated payment-table rows.
  • Confirmed docs/paid-bounties.md contains the new source-of-truth wording and no | 2026- dated payment rows.
  • Public URL HEAD checks returned HTTP 200 for https://mrwk.ltclab.site/activity, https://api.mrwk.ltclab.site/api/v1/activity, https://api.mrwk.ltclab.site/api/v1/ledger, and https://github.com/ramimbo/mergework/discussions/16.
  • GitHub reports the PR is open, non-draft, mergeable, and its hosted Quality/readiness/docs/image check plus CodeRabbit status are green.

Validation run locally on the PR diff:

  • uv run --extra dev python scripts/docs_smoke.py -> docs smoke ok
  • uv run --extra dev python -m pytest tests/test_docs_public_urls.py tests/test_api_mcp.py::test_docs_page_lists_live_ltclab_urls -q -> 24 passed
  • uv run --extra dev python scripts/check_agents.py -> AGENTS.md ok
  • uv run --extra dev ruff check . -> passed
  • uv run --extra dev ruff format --check . -> 79 files already formatted
  • uv run --extra dev python -m mypy app -> success
  • uv run --extra dev python -m pytest -q -> 425 passed
  • git diff --check -> clean

Scope note: I saw the existing future-proofing suggestion about making the dated-row regression year-agnostic. I agree it would be a useful hardening follow-up, but I did not find a merge-blocking issue in the current docs/readiness slice.

No private data, credentials, wallet material, signatures, production mutation, MRWK price/off-ramp, exchange/liquidity, bridge, or fabricated payout claims were used.

Copy link
Copy Markdown

@eliasx45 eliasx45 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed current head e3ae59d52e8d33b394d725d761b2bec90072ff1a after the follow-up commit.

No blocker found. The new commit resolves the year-specific regression gap I agreed with earlier: test_paid_bounties_points_to_authoritative_payment_records now imports re and rejects dated Markdown table rows with a year-agnostic multiline pattern (^\\|\\s*20\\d{2}-\\d{2}-\\d{2}\\b) instead of checking only | 2026-. That better preserves the PR's intended contract that docs/paid-bounties.md should route readers to proof-backed records rather than reintroducing manual dated payment rows in a future year.

Validation run locally on this head:

  • git diff --check origin/main...HEAD
  • rg -n "re\\.search|20\\\\d|paid-bounties|source of truth|not manually updated|activity" tests\\test_docs_public_urls.py docs\\paid-bounties.md scripts\\docs_smoke.py README.md docs\\admin-runbook.md docs\\bounty-rules.md app\\templates\\docs.html
  • .\\.venv\\Scripts\\python.exe -m pytest tests\\test_docs_public_urls.py::test_paid_bounties_points_to_authoritative_payment_records tests\\test_docs_public_urls.py::test_readme_lists_live_ltclab_urls tests\\test_api_mcp.py::test_docs_page_lists_live_ltclab_urls -q -> 3 passed
  • .\\.venv\\Scripts\\python.exe scripts\\docs_smoke.py -> docs smoke ok
  • .\\.venv\\Scripts\\python.exe -m pytest tests\\test_docs_public_urls.py tests\\test_api_mcp.py::test_docs_page_lists_live_ltclab_urls -q -> 24 passed
  • .\\.venv\\Scripts\\python.exe -m ruff check tests\\test_docs_public_urls.py scripts\\docs_smoke.py -> passed
  • .\\.venv\\Scripts\\python.exe -m ruff format --check tests\\test_docs_public_urls.py scripts\\docs_smoke.py -> 2 files already formatted
  • .\\.venv\\Scripts\\python.exe scripts\\check_agents.py -> AGENTS.md ok

Hosted Quality/readiness/docs/image is green for this head. CodeRabbit was still pending on the one-file follow-up when I checked, so this approval is scoped to the diff and local validation above.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Actionable comments posted: 0

@ramimbo ramimbo merged commit f097f0b into main May 28, 2026
2 checks passed
Copy link
Copy Markdown
Contributor

@jakerated-r jakerated-r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed current head e3ae59d52e8d33b394d725d761b2bec90072ff1a after the maintainer follow-up commit that changed the dated-row regression from a 2026-only string check to a year-agnostic Markdown-row pattern.

Verdict: no blocker found in this reviewed slice. The follow-up commit closes the future-year gap from the earlier discussion: tests/test_docs_public_urls.py now imports re and asserts that docs/paid-bounties.md does not contain dated payment table rows matching ^\|\s*20\d{2}-\d{2}-\d{2}\b, while the docs continue to route readers to proof-backed activity, ledger, bounty, and proof records instead of a manually maintained payment table.

Evidence checked:

  • inspected tests/test_docs_public_urls.py, docs/paid-bounties.md, scripts/docs_smoke.py, README.md, docs/admin-runbook.md, docs/bounty-rules.md, and app/templates/docs.html;
  • confirmed docs/paid-bounties.md still contains the source-of-truth language and the public activity/API/proof links;
  • confirmed docs/admin-runbook.md and docs/bounty-rules.md tell maintainers not to add manual payment rows and to use proof-backed records instead;
  • confirmed the PR diff remains focused to documentation, docs smoke checks, and public docs tests;
  • public HEAD checks returned HTTP 200 for the activity page, activity API, ledger API, and GitHub Discussions #16.

Validation run locally:

  • uv run --extra dev python scripts/docs_smoke.py -> docs smoke ok
  • uv run --extra dev python -m pytest tests/test_docs_public_urls.py::test_paid_bounties_points_to_authoritative_payment_records tests/test_docs_public_urls.py::test_readme_lists_live_ltclab_urls tests/test_api_mcp.py::test_docs_page_lists_live_ltclab_urls -q -> 3 passed
  • uv run --extra dev python -m pytest tests/test_docs_public_urls.py tests/test_api_mcp.py::test_docs_page_lists_live_ltclab_urls -q -> 24 passed
  • uv run --extra dev python scripts/check_agents.py -> AGENTS.md ok
  • uv run --extra dev ruff check tests/test_docs_public_urls.py scripts/docs_smoke.py docs/paid-bounties.md README.md docs/admin-runbook.md docs/bounty-rules.md -> all checks passed
  • uv run --extra dev ruff check . -> all checks passed
  • uv run --extra dev ruff format --check . -> 79 files already formatted
  • uv run --extra dev python -m mypy app -> success
  • uv run --extra dev python -m pytest -q -> 425 passed
  • git diff --check origin/main...HEAD -> clean

This re-review is scoped to the current head after the new follow-up commit. No private data, credentials, wallet material, signatures, production mutation, MRWK price/off-ramp, exchange/liquidity, bridge, or fabricated payout claims were used.

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.

4 participants