← Files APODICTIC Development EditorARCHIVED FILE

schemas/_coverage.json

7.43 KB · Nov 9, 2026 · 00:53 UTC

↓ Download file

{
  "schema": "apodictic.schema_coverage.v1",
  "$comment": "Binding table for Harness Contracts v2 (docs/harness-contracts-v2.md). Every apodictic.*.schema.json on disk (minus schema_coverage/schema_binding self) MUST appear in bindings[] with a non-empty validators[] and a canonical_gate, OR be listed in non_artifact[]. schema_coverage.py proves disk == this table at --check-all. Author-facing: THIS file is the table; no doc re-lists it. `validators` names validate.sh dispatch arms; `canonical_gate` is a filename/dirname token that --check-all exercises the schema against (or `self-test-only` for the registry schemas, whose validator self-test is the ground truth). `closed_keys:true` flips the schema file's additionalProperties to false (the misspelled-field kill). non_artifact[] is empty: execution-gates.v1.json is NOT named *.schema.json, so known_schema_ids()'s glob already excludes it — it is never an orphan and never needs listing here.",
  "non_artifact": [],
  "bindings": [
    {"schema": "apodictic.finding.v1", "validators": ["structured-findings"], "canonical_gate": "example-findings-ledger.md", "closed_keys": false},
    {"schema": "apodictic.audit_trigger.v1", "validators": ["structured-findings"], "canonical_gate": "diagnostic-state-meta-template.json", "closed_keys": true},
    {"schema": "apodictic.readiness.v1", "validators": ["structured-findings"], "canonical_gate": "diagnostic-state-meta-template.json", "closed_keys": true},
    {"schema": "apodictic.diagnostic-state.v1", "validators": ["structured-findings"], "canonical_gate": "diagnostic-state-meta-template.json", "closed_keys": false},
    {"schema": "apodictic.severity_calibration.v1", "validators": ["finding-trace"], "canonical_gate": "example-editorial-letter.md", "closed_keys": true},
    {"schema": "apodictic.gate_event.v1", "validators": ["gate-state"], "canonical_gate": "example-run-folder", "closed_keys": false},
    {"schema": "apodictic.state_card.v1", "validators": ["state-card-diff"], "canonical_gate": "example-state-card.md", "closed_keys": false},
    {"schema": "apodictic.legal_risk.v1", "validators": ["legal-risk"], "canonical_gate": "example-legal-risk-register.md", "closed_keys": false},
    {"schema": "apodictic.argument_spine.v1", "validators": ["argument-spine"], "canonical_gate": "example-argument-state-predraft.md", "closed_keys": false},
    {"schema": "apodictic.support_plan.v1", "validators": ["argument-spine"], "canonical_gate": "example-argument-state-predraft.md", "closed_keys": false},
    {"schema": "apodictic.warrant_plan.v1", "validators": ["argument-spine"], "canonical_gate": "example-argument-state-predraft.md", "closed_keys": false},
    {"schema": "apodictic.pitch_copy.v1", "validators": ["promise-contract"], "canonical_gate": "example-promise-contract.md", "closed_keys": false},
    {"schema": "apodictic.viz_manifest.v1", "validators": ["manuscript-viz"], "canonical_gate": "example-structure-map-manifest.md", "closed_keys": false},
    {"schema": "apodictic.scene_roster.v1", "validators": ["manuscript-viz"], "canonical_gate": "example-scene-roster.md", "closed_keys": true},
    {"schema": "apodictic.scene_function.v1", "validators": ["manuscript-viz"], "canonical_gate": "example-scene-function.md", "closed_keys": true},
    {"schema": "apodictic.tension_point.v1", "validators": ["manuscript-viz"], "canonical_gate": "example-tension-points.md", "closed_keys": true},
    {"schema": "apodictic.story_spine.v1", "validators": ["manuscript-viz"], "canonical_gate": "example-story-spine.md", "closed_keys": true},
    {"schema": "apodictic.annotation.v1", "validators": ["annotated-manuscript"], "canonical_gate": "example-annotated-manuscript", "closed_keys": false},
    {"schema": "apodictic.project_registry.v1", "validators": ["registry-check"], "canonical_gate": "self-test-only", "closed_keys": false},
    {"schema": "apodictic.project_entry.v1", "validators": ["registry-check"], "canonical_gate": "self-test-only", "closed_keys": false},
    {"schema": "apodictic.feedback_item.v1", "validators": ["feedback-triage"], "canonical_gate": "example-feedback-triage.md", "closed_keys": true},
    {"schema": "apodictic.reader_question.v1", "validators": ["reader-instrument"], "canonical_gate": "example-beta-reader-instrument.md", "closed_keys": true},
    {"schema": "apodictic.retcon_item.v1", "validators": ["retcon-plan"], "canonical_gate": "example-retcon-plan.md", "closed_keys": false},
    {"schema": "apodictic.retcon_reading.v1", "validators": ["retcon-plan"], "canonical_gate": "example-retcon-plan.md", "closed_keys": false},
    {"schema": "apodictic.revision_arc.v1", "validators": ["revision-arc"], "canonical_gate": "example-revision-arc.md", "closed_keys": false},
    {"schema": "apodictic.scene_ethics.v1", "validators": ["scene-ethics"], "canonical_gate": "example-scene-ethics-plan.md", "closed_keys": true},
    {"schema": "apodictic.canon_fact.v1", "validators": ["continuity-bible"], "canonical_gate": "example-continuity-bible.md", "closed_keys": false},
    {"schema": "apodictic.setup_payoff.v1", "validators": ["setup-payoff"], "canonical_gate": "example-setup-payoff-ledger.md", "closed_keys": true},
    {"schema": "apodictic.payoff.v1", "validators": ["setup-payoff"], "canonical_gate": "example-setup-payoff-ledger.md", "closed_keys": true},
    {"schema": "apodictic.intake_query.v1", "validators": ["intake-interview"], "canonical_gate": "example-intake-interview.md", "closed_keys": false},
    {"schema": "apodictic.voice_fingerprint.v1", "validators": ["author-fingerprint"], "canonical_gate": "example-author-voice-profile.md", "closed_keys": false},
    {"schema": "apodictic.style_label.v1", "validators": ["style-explanation"], "canonical_gate": "example-author-style-explanation.md", "closed_keys": false},
    {"schema": "apodictic.content_note.v1", "validators": ["content-advisory"], "canonical_gate": "example-content-advisory.md", "closed_keys": false},
    {"schema": "apodictic.coaching_observation.v1", "validators": ["coaching-history"], "canonical_gate": "example-coaching-history", "closed_keys": true},
    {"schema": "apodictic.divergence.v1", "validators": ["persona-divergence"], "canonical_gate": "example-persona-divergence-map.md", "closed_keys": false},
    {"schema": "apodictic.persona.v1", "validators": ["persona-divergence"], "canonical_gate": "example-persona-divergence-map.md", "closed_keys": false},
    {"schema": "apodictic.world_fact.v1", "validators": ["world-bible"], "canonical_gate": "example-worldbuilding-bible.md", "closed_keys": false},
    {"schema": "apodictic.genre_profile.v1", "validators": ["argument-spine"], "canonical_gate": "example-argument-state-genre-grant.md", "closed_keys": false},
    {"schema": "apodictic.finding_disposition.v1", "validators": ["disposition-check"], "canonical_gate": "example-run-folder-dispositions", "closed_keys": true},
    {"schema": "apodictic.refutation.v1", "validators": ["refutation-coverage", "refutation-evidence", "refutation-write-scope"], "canonical_gate": "example-run-folder", "closed_keys": false},
    {"schema": "apodictic.refutation_budget.v1", "validators": ["refutation-coverage", "refutation-evidence"], "canonical_gate": "example-run-folder", "closed_keys": true},
    {"schema": "apodictic.contract_map.v1", "validators": ["reader-contract-outline"], "canonical_gate": "example-reader-contract-outline", "closed_keys": true},
    {"schema": "apodictic.aif-core-export.v1", "validators": ["argument-aif-check"], "canonical_gate": "example-argument-aif-export.json", "closed_keys": true}
  ]
}

SHA-256: fdc55857b6624037555ec7f6aa6253cbe20d6a40e863c19d7a9a03f3409b1175