Skip to content

[plan] Address schema field dependency and relationship gaps #7575

Description

@github-actions

Overview

This tracking issue addresses the 7 critical relationship gaps identified in the graph-based field dependency analysis. These are schema-documentation gaps where the schema permits invalid configurations that the compiler correctly rejects.

Source: Discussion #7569

Problem Statement

The JSON schema currently describes field relationships only in prose within description fields, and doesn't leverage JSON Schema's built-in relationship features (oneOf, if/then, dependencies, etc.). This creates several issues:

  • Schema validation passes for mutually exclusive field combinations
  • Engine-specific feature compatibility is undocumented
  • Conditional requirements aren't enforced at schema level
  • Users discover validation errors only at compile time

Planned Tasks

This work is broken into 5 focused sub-issues:

  1. Add mutual exclusivity constraints - Implement oneOf constraints for field pairs that cannot coexist
  2. Document engine-specific features - Add compatibility metadata to schema for engine-locked features
  3. Add conditional validation - Implement if/then constraints for conditional requirements
  4. Add array constraints - Add minItems where fields require at least one value
  5. Refactor to use dependencies keyword - Migrate relationship prose to JSON Schema standard features

Success Criteria

  • Schema validation catches mutually exclusive field combinations
  • Engine compatibility is documented in schema metadata
  • Conditional requirements are schema-enforced
  • All array fields have appropriate minItems constraints
  • Field relationships use JSON Schema standard keywords

References

AI generated by Plan Command for discussion #7569

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions