Repository navigation
Config JSON Schema 2026 10 22
github-actions[bot] edited this page Nov 4, 2026
·
3 revisions
qasight.yaml had no JSON Schema, so editors could not suggest its keys or flag a typo such as worker: until qasight config validate ran. Most YAML-driven tools ship one; editors with a YAML language server (VS Code's Red Hat YAML extension, JetBrains, Neovim) load it from a URL or a # yaml-language-server: $schema=... line.
-
qasight/config/json_schema.pybuilds a draft-07 schema from the constants inqasight/config/schema.py(SUPPORTED_FRAMEWORKS,SUPPORTED_TIERS,SUPPORTED_REPORTER_TYPES,Defaults). The loader stays the source of truth for what loads; the schema mirrors the keysqasight/config/loader.pyreads. -
scripts/export_config_schema.pywrites it toschema/qasight.schema.json. CI runs it with--check, the same wayexport_openapi.pyguardsfrontend/openapi.json. Editors load it fromhttps://raw.githubusercontent.com/arieleven/qasight/main/schema/qasight.schema.json. -
qasight config initandqasight initwrite the$schemaline at the top of the file, and the repo's own configs point at the file by relative path. -
equipment,frameworkand reportertypesuggest the built-in names but accept any string, because plugins add their own. Unknown keys on the top level,defaults, cycles and stages are errors, which is what catches typos. Reporter entries allow any key, since those are reporter options. - Only the canonical
cycles:layout is described. Legacyplans:andruns:still load, but the schema flags them.
-
Generate from the dataclasses. Rejected: the dataclasses are the loaded form, not the YAML. YAML has
equipment,ifandargsas a string or list; the dataclasses haveframework,if_exprand a tuple. - Switch the loader to Pydantic and use its schema. Rejected for now: a rewrite of the loader for a small editor feature.
-
Submit to SchemaStore. Tried and declined for now: SchemaStore/schemastore#6546 (2026-10-24) was closed by a maintainer, who said space in the catalog is limited and to open a new PR once the tool is widely used. A duplicate opened by mistake on 2026-10-26 (#6552) was closed the same day. Until then, editors need the
$schemaline, whichqasight config initandqasight initalready write.
- A new loader key needs a matching schema entry.
tests/contract/qasight/test_config_json_schema.pyvalidates the repo's configs and the starter template against the schema, checks a set of invalid configs are flagged, and fails if the committed file is stale. - The schema URL follows
main, so a key added onmainshows up in editors before it is on PyPI.
Generated from docs/Specs & ADRs/Config JSON Schema - 2026-10-22.md. Edit it there; changes made in the wiki are overwritten.
Architecture
CLI Commands
Processes & Guides
- CI-CD Pipeline Setup
- E2E Harness Operations Guide
- GitLab Pages Demo
- Publishing Docker Images
- Publishing to Artifactory
- Publishing to PyPI
- Setup Snippets
- Shared Resource Pools
- Team Server
Prompts & Snippets
Roadmap & Strategy
- Feature Gaps and Quick Wins - 2026-10-31
- New User Journey Audit - 2026-11-01
- Paid Features to Offer Free - 2026-10-31
- Product Roadmap
Specs & ADRs
- Affected Test Selection - 2026-10-30
- Alerts Where Developers Look - 2026-10-22
- Architecture Consolidation - 2026-10-06
- Architecture Review - 2026-10-31
- BehaveX Reports - 2026-10-21
- Better Flaky Signal - 2026-11-01
- Command Adapter and JUnit Import - 2026-09-25
- Config JSON Schema - 2026-10-22
- Crash Detection - 2026-10-31
- Delta Comparison Policy
- Docs Site - 2026-10-19
- Docs Vault and Wiki Sync - 2026-10-07
- Easy Setup - 2026-11-01
- Engine Fixes - 2026-11-01
- Engineering Health Review - 2026-10-31
- Exporting Results - 2026-11-01
- Flaky Test Issues - 2026-11-01
- Flaky Test Quarantine - 2026-10-22
- Free Copies of Paid Features - 2026-11-01
- GitHub Action PR Comment - 2026-10-19
- Human-Run Resource Provider - 2026-10-30
- Importer and Integration Bug Hunt - 2026-10-31
- Ingest and Team Server - 2026-10-22
- Interview Readiness Fixes - 2026-10-07
- Library Packaging
- Lifecycle Fixes - 2026-11-02
- MCP Server - 2026-11-01
- New User Journey Automation - 2026-11-01
- Open Source Features - 2026-10-19
- OpenTelemetry Export - 2026-10-30
- Phase 3 Delta Comparison Engine Plan
- Phase 3 Unified Dashboard Plan
- Phase 4 BYOK and Failure Analysis
- Phase 5 UI Redesign - Cycles-First Navigation
- Playwright Adapter - 2026-10-19
- Playwright JSON Import - 2026-10-22
- Plugin API - 2026-10-19
- Product Roadmap Work - 2026-10-25
- Product to Ten - 2026-10-25
- Project Health - 2026-10-26
- QASight Logo - 2026-11-05
- Qualflare Follow-ups - 2026-10-26
- Quarantine From the UI - 2026-11-01
- Specs & ADRs
- Rename to QASight - 2026-11-04
- Repository Pattern - Database-Agnostic Refactor
- Resource Lifecycle Hooks - 2026-10-26
- Resource Pools and Leases - 2026-10-26
- Run Deletion and Stop - 2026-11-02
- Runner Coverage - 2026-10-26
- Scale Runs and Stages - 2026-10-24
- Security and Install Review - 2026-10-31
- Switchable Team Features - 2026-10-24
- Test Delivery Metrics - 2026-11-02
- Test Labels, Environments and Releases - 2026-11-02
- Test Source in AI Summaries - 2026-11-01
- Throwaway Stage Containers - 2026-10-24
- Tidy Cards and Demo Examples - 2026-11-05
- UI Design Review - 2026-10-31
- UI Polish - 2026-11-08
- UI Restyle - 2026-10-19
- UI Review Fixes - 2026-11-01
Testing Workflows
Vault