Skip to content

feat: target-ontology-adapter §6 ManifestTargetAdapter #103

@deanban

Description

@deanban

First concrete TargetOntologyAdapter: YAML/JSON manifest parser, descriptor + per-facet completeness defaults, endpoints block schema for GRAPH_EDGE, synthesized vs supplied context cards, and the sema target load --manifest CLI command. No LLM use.

Tracking: #97. Source: openspec/changes/target-ontology-adapter/tasks.md §6.

Tasks

  • 6.1 ParsedManifest model
  • 6.2 YAML/JSON loaders (extension auto-detect)
  • 6.3 ManifestTargetAdapter.__init__
  • 6.4 manifest_version=1 validation
  • 6.5 describe() with manifest-implied facet defaults
  • 6.6 Per-entity override rules (synonyms, inline terms)
  • 6.7 Explicit completeness override
  • 6.8 discover_entities() sorted output
  • 6.9 load_entity
  • 6.10 load_obligation
  • 6.11 load_vocabulary_bindings
  • 6.12 load_context_card with synthesized fallback
  • 6.12a Reject card missing card_version
  • 6.12b Reject card carrying card_hash
  • 6.13 iter_terms (NotImplementedError for EXTERNAL)
  • 6.14 endpoints block schema
  • 6.14a Reject GRAPH_EDGE missing endpoints
  • 6.14b Dangling endpoint refs caught at normalizer time
  • 6.14c Reject endpoint targeting TABLE_ROW
  • 6.15 Reject endpoints on TABLE_ROW/GRAPH_NODE
  • 6.16 Vocabulary declarations (INLINE/EXTERNAL)
  • 6.17 @register_target_adapter for manifest
  • 6.18 sema target load --manifest <path> CLI
  • 6.19 Minimal-manifest test
  • 6.20 YAML/JSON equivalence test
  • 6.21 Unknown manifest_version rejection
  • 6.22 Missing descriptor rejection
  • 6.23 Full DTO coverage test
  • 6.24 No-LLM spy test
  • 6.25 EXTERNAL vocab -> no terms test
  • 6.26 Per-facet completeness defaults table
  • 6.27 TargetArtifactKind acceptance + endpoint rejection cases
  • 6.27a GRAPH_EDGE endpoint round-trip test
  • 6.28 GRAPH_EDGE minimum-viable-row default test
  • 6.28a Temporal vs non-temporal edge obligation tests
  • 6.29 Vocabulary-binding round-trip test
  • 6.30 Inline terms upgrade terms to COMPLETE
  • 6.31 Synthesized card test (0.0.0-synthesized)
  • 6.32 Card validation rejection tests
  • 6.32a card_version bump vs drift tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions