Skip to content

test(docs): guard the signed marketplace contribution policy - #566

Merged
Ayinkx merged 1 commit into
AyinkxLab:mainfrom
titankrypt-gif:test/issue-427-contributing-policy
Oct 23, 2026
Merged

Ayinkx merged 1 commit into
AyinkxLab:mainfrom
titankrypt-gif:test/issue-427-contributing-policy

Conversation

@titankrypt-gif

Copy link
Copy Markdown
Contributor

Summary

Adds regression tests that enforce the plugin contribution policy in
CONTRIBUTING.md: signed, allowlisted catalog installs, no implicit capability
grants, no plugin code execution by the management API/CLI, and no return of the
obsolete blanket "local only" rule.

Problem

The policy text was updated in #532, but nothing kept it from regressing. #427's
acceptance criterion explicitly asks for an accurate, testable policy, and
the old local-only rule could be reintroduced by a routine docs edit.

Solution

  • Added tests/test_contributing_plugin_policy.py.
  • It normalizes whitespace, then asserts:
    • no local only, local-only, or local/trusted wording remains;
    • the signed/allowlisted catalog model and its config variables are present;
    • Ed25519 signatures, integrity hashes, and the client-URL prohibition remain;
    • no-implicit-grants and no-code-execution rules remain.
  • No existing policy text was changed, so this does not duplicate docs(plugins): document the marketplace security model #532.

Validation

  • python -m pytest tests/test_contributing_plugin_policy.py -q — PASS (3 passed)
  • python -m ruff check tests/test_contributing_plugin_policy.py — PASS
  • python -m black --check tests/test_contributing_plugin_policy.py — PASS
  • Repo-wide ruff/black remain blocked by the pre-existing malformed
    app/services/invoice_export.py and tests/test_invoice_export.py files
    merged in feat(billing): export invoices as CSV and PDF with size bounds (#483) #535.

Risk

Test-only change. It codifies the current documented policy and will fail if the
stale local-only rule or the safety rules are removed.

Issue

Closes #427

@Ayinkx
Ayinkx merged commit 4fb151a into AyinkxLab:main Oct 23, 2026
8 of 12 checks passed
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.

Phase 9: Revise the CONTRIBUTING remote-install rule

2 participants