{
  "interface": "oyotta.product_features.v1",
  "built_at": "2026-09-06T21:30:11Z",
  "note": "Candidate covariates for Claude's learner. Not a parallel model. Values are structural, not fabricated demand.",
  "ranking_version": "RANK-20260906-NONBEHAVIORAL-V1",
  "model_version": "MODEL-NONE-UNTIL-BEHAVIOR",
  "candidates": [
    {
      "feature_id": "product_area",
      "family": "organization",
      "formula": "area_id",
      "generation": 0,
      "parents": [],
      "notes": "operating area of the offering"
    },
    {
      "feature_id": "product_format",
      "family": "product",
      "formula": "family_id",
      "generation": 0,
      "parents": [],
      "notes": "book, album, film, visual, interactive, software"
    },
    {
      "feature_id": "pricing_state",
      "family": "economics",
      "formula": "ESTABLISHED|UNRESOLVED",
      "generation": 0,
      "parents": [],
      "notes": "carry approved terms only"
    },
    {
      "feature_id": "delivery_mode",
      "family": "product",
      "formula": "hosted_web|hosted_audio|hosted_video|inquiry",
      "generation": 0,
      "parents": [],
      "notes": "actual access path"
    },
    {
      "feature_id": "related_offering_count",
      "family": "graph",
      "formula": "count(related_to)",
      "generation": 1,
      "parents": [
        "product_area"
      ],
      "notes": "cross-medium reinforcement"
    },
    {
      "feature_id": "seasonality_cohort",
      "family": "seasonal",
      "formula": "publication_year",
      "generation": 0,
      "parents": [],
      "notes": "from object publication_time when present"
    },
    {
      "feature_id": "consumption_events",
      "family": "behavior",
      "formula": "read_progress|audio_completion|video_completion|search|onward_navigation",
      "generation": 0,
      "parents": [],
      "notes": "existing oyotta.observation.v1 only"
    }
  ],
  "consume": "https://stream.oyotta.org/allocation.json",
  "emit": "/measure/collect.php"
}
