### Cross-Language Implementation Coverage Example (Python) Source: https://context7.com/json-schema-org/community/llms.txt An example YAML entry for tracking JSON Schema implementation quality in Python. It details metrics and known interfaces for the 'jsonschema' library. ```yaml # programs/cross-language-coverage/python.yaml β€” Example entry format language: Python implementations: - name: jsonschema url: https://github.com/python-jsonschema/jsonschema known_to_have: many_failing_tests: false # Must fail < 2% (~30 tests) of official test suite recent_draft_support: true # Supports one of the 2 most recent JSON Schema drafts recent_release: true # Released within the last 3 years recent_commit: true # Human-authored commit within the last year non_production_status: false # Not marked as non-production by maintainer metrics: # last_commit_date: fetched programmatically from GitHub # last_release_date: fetched programmatically from GitHub # open_security_vulnerabilities: fetched from GitHub # open_issues: fetched from GitHub # open_prs: fetched from GitHub known_interfaces: instance-validation: https://python-jsonschema.readthedocs.io/en/stable/api/jsonschema/ version-detection: https://python-jsonschema.readthedocs.io/en/stable/faq/ ``` -------------------------------- ### Example YAML Entry for Implementation Tracking Source: https://github.com/json-schema-org/community/blob/main/programs/cross-language-coverage/README.md This YAML structure provides an example of how to document a JSON Schema implementation. It includes details about the language, implementation name, URL, and various quality metrics such as test suite performance, release recency, and commit activity. It also lists supported interfaces. ```yaml language: Blub implementations: - name: jsonschema-ftw url: https://example.com/someone/jsonsonschema-ftw known_to_have: many_failing_tests: false recent_draft_support: true recent_release: true recent_commit: true non_production_status: false metrics: # last_commit_date: fetched from GitHub # last_release_date: fetched from GitHub # open_security_vulnerabilities: fetched from GitHub # open_issues: fetched from GitHub # open_prs: fetched from GitHub known_interfaces: instance-validation: https://docs.jsonschema-ftw.com/validation/validate_function version-detection: https://docs.jsonschema-ftw.com/validation/version_of_schema ``` -------------------------------- ### Add Contractor Entry to Registry Source: https://context7.com/json-schema-org/community/llms.txt Example of a JSON object representing a contractor entry for the registry. Ensure all required fields are present and correctly formatted. ```json // programs/contractors/contractors.json β€” Add a new contractor entry [ { "name": "Jane Doe", "bio": "Specialist in JSON Schema design, API validation, and OpenAPI integration with over 5 years of experience.", "type": "ambassor", "github": "janedoe", "email": "jane@acme.com", "website": "https://janedoe.dev", "linkedin": "janedoe", "x": "janedoe_dev", "incorporatedIn": ["US"], "links": [ { "title": "JSON Schema Consulting Services", "url": "https://janedoe.dev/services/json-schema" }, { "title": "Published Book: JSON Schema in Practice", "url": "https://example.com/json-schema-book" } ] } ] // Required fields: name, bio, type, github, incorporatedIn, links // type must be: "tsc" (TSC member) or "ambassor" (Ambassador) // Each link requires: title (string) and url (valid URI) ``` -------------------------------- ### PR Review Process Flow Diagram Source: https://github.com/json-schema-org/community/blob/main/programs/triage-group/PR-Review-Process.md Visualizes the workflow of a Pull Request from initial state to completion, including feedback loops. ```mermaid flowchart TD A[Unclear] --> B[Ready to Review] B --> C[In Review Team] C --> D[Changes Requested] D --> B C --> E[Waiting for Others to Review] E --> F[Ready to Merge] F --> G[Done] H[To be closed] --> G ``` -------------------------------- ### GSoC Project Idea Submission Template Source: https://context7.com/json-schema-org/community/llms.txt A template for submitting Google Summer of Code project ideas as GitHub Issues. It includes fields for project title, description, expected outcomes, required skills, mentors, difficulty, and time commitment. ```markdown **Project title:** JSON Schema Visualization Tool β€” Interactive Graphical Viewer **Brief Description:** JSON Schema documents can be deeply nested and difficult to understand at a glance. This project aims to build an interactive browser-based tool that renders JSON Schema as a visual graph, allowing users to explore schema structure, $ref references, and validation rules interactively. **Expected Outcomes:** - A web-based visualization tool deployable as a standalone page - Support for JSON Schema draft 2020-12 keywords - Ability to load schemas from URL or paste directly - Visual differentiation of composition keywords (allOf, anyOf, oneOf) **Skills Required:** JavaScript/TypeScript, graph visualization libraries (e.g., D3.js or Mermaid), JSON Schema **Mentors:** @gregsdennis, @relequestual **Expected Difficulty:** Medium **Expected Time Commitment:** 350 hours ``` -------------------------------- ### Mermaid Diagram of Voting Workflow FSM Source: https://github.com/json-schema-org/community/blob/main/docs/governance/supporting-info.md This Mermaid diagram visualizes the Finite State Machine for the voting process in the JSON Schema Project's governance. It illustrates the states and transitions involved in decision-making via voting. ```mermaid %% Generated with Stately Studio stateDiagram-v2 state "votingMachine" as votingMachine { [*] --> votingMachine.Idle votingMachine.Idle --> votingMachine.Awaiting_public_vote_setup : Call TSC Vote Public \ndo / Call for TSC vote votingMachine.Idle --> votingMachine.Awaiting_approval_for_private_vote : Request private vote \ndo / Contact TSC Chairs votingMachine.Awaiting_approval_for_private_vote --> votingMachine.Awaiting_additional_comment_for_counting_votes : Create Issue in private repo\nif [TSC Chair approved] votingMachine.Voting_open --> votingMachine.Awaiting_extension_approval : request_extension \ndo / requestExtension votingMachine.Voting_open --> votingMachine.VotingClosed : xstate.after(604800000)#votingMachine.Voting open \ndo / calculateQuorum votingMachine.Awaiting_extension_approval --> votingMachine.Voting_open : approve_extension \ndo / extendVotingPeriod votingMachine.Awaiting_approval_for_private_vote --> votingMachine.Idle : Not approved by chairs votingMachine.Awaiting_extension_approval --> votingMachine.Voting_open : Extension not approved votingMachine.Awaiting_public_vote_setup --> votingMachine.Awaiting_additional_comment_for_counting_votes : Create Issue in public TSC repo votingMachine.Voting_open --> votingMachine.Voting_open : Cast Vote votingMachine.Awaiting_additional_comment_for_counting_votes --> votingMachine.Voting_open : Create specific comment for voting on state "Idle\n\nThe system is idle, awaiting a call for a public TSC vote or a request for a private vote." as votingMachine.Idle state "Awaiting public vote setup" as votingMachine.Awaiting_public_vote_setup state "Awaiting approval for private vote\n\nA TSC member requests a private vote by contacting the TSC Chairs. The issue is created in the TSC-private repository." as votingMachine.Awaiting_approval_for_private_vote state "Voting open\n\nVoting is open and members can cast their votes using GitHub Reactions on the specified comment." as votingMachine.Voting_open state "Awaiting extension approval\n\nA TSC member has requested a 7-day extension to the voting period.\n\nThis will not be unreasonably withheld." as votingMachine.Awaiting_extension_approval state "VotingClosed\n\nVoting has closed. The votes are tallied, and the result is determined based on whether quorum was reached." as votingMachine.VotingClosed state "Awaiting additional comment for counting votes" as votingMachine.Awaiting_additional_comment_for_counting_votes } ``` -------------------------------- ### Add Ambassador Entry to JSON Array Source: https://context7.com/json-schema-org/community/llms.txt This JSON structure represents a single ambassador entry. To register, add a new entry to the `ambassadors.json` file following this format. Ensure all required fields are present and contributions meet the minimum requirements. ```json // programs/ambassadors/ambassadors.json β€” Add a new ambassador entry [ { "name": "Jane Doe", "img": "https://avatars.githubusercontent.com/u/123456?v=4", "bio": "Jane is a software engineer specializing in API design and data validation using JSON Schema.", "title": "Senior Software Engineer", "github": "janedoe", "twitter": "janedoe_dev", "mastodon": "@janedoe@fosstodon.org", "linkedin": "janedoe", "company": "Acme Corp", "country": "πŸ‡ΊπŸ‡Έ", "contributions": [ { "type": "article", "title": "Validating REST APIs with JSON Schema", "date": { "year": 2024, "month": "March" }, "link": "https://example.com/json-schema-rest-apis" }, { "type": "talk", "title": "JSON Schema in Production: Lessons Learned", "date": { "year": 2024, "month": "June" }, "link": "https://www.youtube.com/watch?v=example" }, { "type": "initiative", "title": "Organized JSON Schema workshop at local dev meetup", "date": { "year": 2024, "month": "September" }, "link": "https://meetup.com/example" }, { "type": "article", "title": "Advanced JSON Schema: $ref and Composition Keywords", "date": { "year": 2024, "month": "November" }, "link": "https://example.com/advanced-json-schema" } ], "startedOn": { "year": 2024, "month": "December" } } ] // Required fields: name, img, bio, title, github, company, country, contributions, startedOn // Contribution types: "article" | "talk" | "adopter" | "case study" | "video" | "other" // | "book" | "paper" | "initiative" | "project" | "working group" | "community" // Minimum: 4 contributions per year to qualify and maintain ambassador status ``` -------------------------------- ### Validate Ambassador Data with ajv-cli Source: https://context7.com/json-schema-org/community/llms.txt Use the `ajv-cli` tool to validate the `ambassadors.json` file against its schema. This command-line interface helps ensure data integrity before submitting changes. Check the output for validation success or specific error messages. ```bash # Validate ambassadors.json against the schema using ajv-cli npx ajv-cli validate \ -s programs/ambassadors/ambassadors-schema.json \ -d programs/ambassadors/ambassadors.json # Expected output on success: # programs/ambassadors/ambassadors.json valid # Example validation error output if a required field is missing: # programs/ambassadors/ambassadors.json invalid # [ # { # "instancePath": "/0", # "schemaPath": "#/items/required", # "keyword": "required", # "params": { "missingProperty": "img" }, # "message": "must have required property 'img'" # } # ] ``` -------------------------------- ### Create TSC Consensus Decision Issue Source: https://context7.com/json-schema-org/community/llms.txt Template for creating a GitHub Issue to initiate a TSC consensus decision process. Includes stages and instructions for testing agreement. ```markdown **Title:** [DECISION] Standardize JSON Schema meta-schema hosting on CDN **Labels:** tsc-decision, tsc-stage-1 **Body:** ## Summary We need to decide whether to host JSON Schema meta-schemas on a CDN in addition to the current json-schema.org hosting. ## Current Stage: Stage 1 β€” Introduction and Clarify the Issue **Linked Discussion:** https://github.com/orgs/json-schema-org/discussions/500 ## Stage Progress - [x] Stage 1: Introduction (open for min. 7 days) - [ ] Stage 2: Open discussion β€” share needs and perspectives - [ ] Stage 3: Explore ideas broadly - [ ] Stage 4: Form a proposal - [ ] Stage 5: Amend the proposal - [ ] Stage 6: Test for Agreement (open for min. 7 days) - [ ] Stage 7: Determine resolution β†’ create ADR ## Test for Agreement (Stage 6 β€” when called by facilitator) React to this comment with: πŸ‘ = Agree | πŸ€” = Reservations | βœ‹ = Stand Aside | 🚫 = Block ``` -------------------------------- ### GitHub Actions: Validate Ambassadors JSON Source: https://context7.com/json-schema-org/community/llms.txt This workflow validates ambassadors.json against its schema on pull requests. It requires npm and ajv-cli for local testing. ```yaml # .github/workflows/Validate Ambassadors JSON.yml # Triggered automatically on pull_request events affecting ambassadors.json # To test locally before submitting a PR: npm install -g ajv-cli ajv validate \ --spec=draft2020 \ -s programs/ambassadors/ambassadors-schema.json \ -d programs/ambassadors/ambassadors.json # To test contractors similarly: ajv validate \ --spec=draft2020 \ -s programs/contractors/contractors-schema.json \ -d programs/contractors/contractors.json # Common failure: missing required field # Error: data/0 must have required property 'startedOn' # Common failure: invalid contribution type # Error: data/0/contributions/0/type must be equal to one of the allowed values # Allowed: "article","talk","adopter","case study","video","other", # "book","paper","initiative","project","working group","community" ``` -------------------------------- ### Adopt OpenTelemetry for Tooling Observability ADR Source: https://context7.com/json-schema-org/community/llms.txt An Architectural Decision Record (ADR) documenting the decision to adopt OpenTelemetry for JSON Schema tooling. Follows the MADR format. ```markdown # Adopt OpenTelemetry for JSON Schema Tooling Observability * Status: accepted * Deciders: @relequestual, @gregsdennis, @Julian, @jdesrosiers * Date: 2024-11-15 ## Context and Problem Statement JSON Schema tooling implementations lack standardized observability hooks. How should the organization recommend instrumentation for implementations? ## Considered Options * OpenTelemetry – vendor-neutral, CNCF-hosted standard * Prometheus – pull-based metrics, widely adopted * Custom logging format – lightweight but non-standard ## Decision Outcome Chosen option: "OpenTelemetry", because it is vendor-neutral, supports traces/metrics/logs, and aligns with the broader cloud-native ecosystem that many JSON Schema adopters use. ### Positive Consequences * Implementations gain a standard observability interface * Integrates with existing monitoring stacks (Datadog, Grafana, etc.) ### Negative Consequences * Adds a non-trivial dependency for implementers ## Links * Proposal: [Discussion #400](https://github.com/json-schema-org/community/discussions/400) * Issue: [#401](https://github.com/json-schema-org/community/issues/401) ``` -------------------------------- ### Create TSC Vote Issue Source: https://context7.com/json-schema-org/community/llms.txt Template for creating a GitHub Issue to conduct a formal TSC vote. Includes proposal details, voting instructions, and quorum requirements. ```markdown **Title:** [VOTE] Approve updated Code of Conduct v3.0 **Labels:** tsc-vote **Body:** ## Proposal Adopt the updated Code of Conduct v3.0 as drafted in PR #450. **PR:** https://github.com/json-schema-org/community/pull/450 ## Voting Instructions Cast your vote by reacting to the [voting comment below](#). - πŸ‘ = In Favour - πŸ‘Ž = Against - πŸ‘€ = Abstain **Voting opens:** 2024-11-15 **Voting closes:** 2024-11-22 (7-day default; any TSC member may request a 7-day extension) **Quorum required:** 75% of active TSC members --- ## πŸ—³οΈ Cast your vote here using GitHub Reactions ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.