Skip to content

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

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

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

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions