Add explicit enum constraints to page_type, severity, and confidence_source
fields in the generated JSON Schema for better validation.
Changes:
- Modified xtask/src/bin/gen_schema.rs to add explicit enum constraints
during schema generation via add_enum_constraints() function
- page_type enum: ["text", "scanned", "mixed", "broken_vector", "blank", "figure_only"]
- severity enum: ["info", "warning", "error", "fatal"]
- confidence_source enum: ["native", "heuristic", "ocr"]
- Regenerated docs/schema/v1.0/pdftract.schema.json with enum constraints
- Added .github/workflows/schema-gen.yml CI workflow for schema validation
The CI workflow validates:
1. Generated schema matches committed file (fails on diff)
2. JSON syntax is valid
3. Schema structure is correct ($id, $schema, title, $defs)
4. Enum constraints are present and have correct values
This ensures schema changes are reviewable in PRs and forces
developers to commit the updated schema when type definitions change.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Update CODE_OF_CONDUCT.md to official Contributor Covenant v2.1 text
- Change enforcement contact from security@jedarden.com to community@jedarden.com
- Add links to CODE_OF_CONDUCT.md from all issue templates
- Add Code of Conduct link to README Contributing section
Satisfies GitHub Community Standards requirement for CODE_OF_CONDUCT.md
linked from issue templates and README.
Refs: pdftract-4618
Signed-off-by: jedarden <github@jedarden.com>
Converted GitHub issue templates from Markdown to YAML Issue Forms with
required field enforcement. Added documentation template. Updated PR
template with local validation checkbox.
Changes:
- Added config.yml to disable blank issues and route to Discussions/Security
- Converted bug_report, feature_request, performance_regression to .yml forms
- Added documentation.yml template for docs issues
- Updated security.yml as reference redirect to SECURITY.md
- Updated PULL_REQUEST_TEMPLATE.md with local validation checkbox
- Bug template enforces pdftract doctor output as required field
Closes: pdftract-f29c
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>