+39
-2
cmd/validate-lexicon/main.go
······validationErrors = append(validationErrors, fmt.Sprintf("Failed to parse JSON in %s: %v", path, err))···
······validationErrors = append(validationErrors, fmt.Sprintf("Failed to parse JSON in %s: %v", path, err))···
+5
tests/lexicon-test-data/actor/block-invalid-did.json
+6
tests/lexicon-test-data/actor/block-valid.json
+6
tests/lexicon-test-data/actor/membership-invalid-reputation.json
+6
tests/lexicon-test-data/actor/membership-valid.json
+7
tests/lexicon-test-data/actor/preferences-invalid-enum.json
+40
tests/lexicon-test-data/actor/preferences-valid.json
···
···
+6
tests/lexicon-test-data/actor/profile-invalid-handle-format.json
+6
tests/lexicon-test-data/actor/saved-invalid-type.json
+7
tests/lexicon-test-data/actor/saved-valid.json
+6
tests/lexicon-test-data/actor/subscription-invalid-visibility.json
+6
tests/lexicon-test-data/actor/subscription-valid.json
+9
tests/lexicon-test-data/community/moderator-invalid-permissions.json
···
···
+9
tests/lexicon-test-data/community/moderator-valid.json
···
···
+9
tests/lexicon-test-data/community/profile-invalid-moderation-type.json
+8
tests/lexicon-test-data/community/rules-invalid-sortition.json
+44
tests/lexicon-test-data/community/rules-valid.json
···
···+"description": "Treat all members with respect. No harassment, hate speech, or personal attacks.",
+7
tests/lexicon-test-data/community/wiki-invalid-slug.json
···
···+"slug": "this-slug-is-way-too-long-and-exceeds-the-maximum-allowed-length-of-128-characters-which-should-trigger-a-validation-error-when-we-run-the-test",
+13
tests/lexicon-test-data/community/wiki-valid.json
···
···+"content": "# Welcome to the Programming Community\n\nThis guide will help you get started with our community.\n\n## Rules\nPlease read our community rules before posting.\n\n## Resources\n- [FAQ](/wiki/faq)\n- [Posting Guidelines](/wiki/posting-guidelines)\n- [Code of Conduct](/wiki/code-of-conduct)",
+5
tests/lexicon-test-data/interaction/comment-invalid-content.json
+10
tests/lexicon-test-data/interaction/comment-valid-sticker.json
···
···
+23
tests/lexicon-test-data/interaction/comment-valid-text.json
···
···+"text": "Great post! I especially liked the part about @alice.example.com's contribution to the project.",
+6
tests/lexicon-test-data/interaction/tag-invalid-empty.json
+6
tests/lexicon-test-data/interaction/tag-valid-custom.json
+6
tests/lexicon-test-data/interaction/tag-valid-known.json
+9
tests/lexicon-test-data/moderation/rule-proposal-invalid-status.json
···
···
+9
tests/lexicon-test-data/moderation/rule-proposal-invalid-threshold.json
···
···
+8
tests/lexicon-test-data/moderation/rule-proposal-invalid-type.json
+13
tests/lexicon-test-data/moderation/rule-proposal-valid.json
···
···+"description": "All AI-generated code or content must be clearly marked as such. This helps maintain transparency and allows community members to make informed decisions about the content they consume.",+"ruleDescription": "All posts containing AI-generated code or content must include a clear disclosure statement"
+7
tests/lexicon-test-data/moderation/tribunal-vote-invalid-decision.json
···
···
+13
tests/lexicon-test-data/moderation/tribunal-vote-valid.json
···
···+"reasoning": "The moderator's action was justified based on clear violation of Rule 2 (No Spam). The user posted the same promotional content across multiple communities within a short timeframe.",