priv/migration_lineages/prior-2026-08-19.json

58e6347eeb72 · 12 KB

{
  "schema": "openagents.migration-lineage.v1",
  "lineage_id": "prior-2026-08-19",
  "prior_signature_versions": [
    20260816170746,
    20260816203029,
    20260816205329,
    20260816211100,
    20260816211900,
    20260816220500,
    20260816222500,
    20260816224000,
    20260816233000,
    20260817000500,
    20260817070000,
    20260817080000,
    20260817125732,
    20260817170050,
    20260818003948,
    20260818150000,
    20260819011000,
    20260819012000,
    20260819013000
  ],
  "current_root_versions": [
    20260816214000,
    20260816214200
  ],
  "shared_versions": [
    20260816214500,
    20260816214735,
    20260816215500,
    20260816220000,
    20260816224054,
    20260816230000,
    20260816231500,
    20260816231919,
    20260816234500,
    20260816235500,
    20260817002000,
    20260817003500,
    20260817005000,
    20260817010500,
    20260817012000,
    20260817012100,
    20260817020000,
    20260817020100,
    20260817030000,
    20260817030100,
    20260817040000,
    20260817040100,
    20260817050000,
    20260817060000,
    20260817065533,
    20260817140345,
    20260817171456,
    20260818003237,
    20260818003358,
    20260818003949,
    20260818150100,
    20260818160000,
    20260818230000,
    20260818232337,
    20260818234500,
    20260819010000,
    20260819080000,
    20260819170000
  ],
  "baseline_entries": [
    {
      "current_version": 20260816214000,
      "satisfied_by": [
        20260817070000,
        20260817080000,
        20260817125732
      ],
      "reason": "The prior lineage already created the users table and GitHub identity columns."
    },
    {
      "current_version": 20260816214200,
      "satisfied_by": [
        20260816170746,
        20260816203029,
        20260816205329,
        20260816211100,
        20260816211900,
        20260816220500,
        20260816222500,
        20260816224000,
        20260816233000,
        20260817000500,
        20260818003948,
        20260818150000
      ],
      "reason": "The prior lineage already created the conversation, turn, receipt, provider-step, and tool-step tables."
    },
    {
      "current_version": 20260819214108,
      "satisfied_by": [
        20260817070000
      ],
      "reason": "The prior GitHub account migration already created OAuth attempts."
    },
    {
      "current_version": 20260819223229,
      "satisfied_by": [
        20260819011000
      ],
      "reason": "The prior lineage already created UUID forge fleet targets in the final receipt shape."
    },
    {
      "current_version": 20260819223230,
      "satisfied_by": [
        20260819012000
      ],
      "reason": "The prior lineage already created UUID forge build receipts in the final pre-hardening shape."
    },
    {
      "current_version": 20260819223231,
      "satisfied_by": [
        20260819013000
      ],
      "reason": "The prior lineage already created UUID forge deployment receipts."
    },
    {
      "current_version": 20260819233053,
      "satisfied_by": [
        20260817070000,
        20260817170050
      ],
      "reason": "The prior lineage already added account constraints and leaderboard policy; the bridge adds users.browser_key_hash before baselining this version."
    },
    {
      "current_version": 20260820025008,
      "satisfied_by": [
        20260819011000,
        20260819013000
      ],
      "reason": "The prior forge target and deployment identifiers are already UUIDs; replay would convert them to bigint."
    },
    {
      "current_version": 20260820025112,
      "satisfied_by": [
        20260819013000
      ],
      "reason": "The prior forge deployment receipt already has the nodes column."
    },
    {
      "current_version": 20260820025133,
      "satisfied_by": [
        20260819013000
      ],
      "reason": "The prior forge deployment receipt already has result, canary, timing, and node columns."
    },
    {
      "current_version": 20260820031230,
      "satisfied_by": [
        20260819011000,
        20260819012000,
        20260819013000
      ],
      "reason": "The prior forge tables already use UUID identifiers; replay would truncate receipt data."
    },
    {
      "current_version": 20260820031258,
      "satisfied_by": [
        20260819012000
      ],
      "reason": "The prior forge build target identifier is already a UUID."
    },
    {
      "current_version": 20260820031313,
      "satisfied_by": [
        20260819012000,
        20260819013000
      ],
      "reason": "The prior receipt tables already omit the temporary target foreign keys."
    },
    {
      "current_version": 20260820040000,
      "satisfied_by": [
        20260819011000,
        20260819012000
      ],
      "reason": "The prior target and build tables already use the aligned receipt schemas; replay would drop build history."
    }
  ],
  "bridge_changes": [
    {
      "operation": "add_nullable_column",
      "table": "users",
      "column": "browser_key_hash",
      "type": "bytea"
    },
    {
      "operation": "add_partial_unique_index",
      "index": "users_browser_key_hash_index",
      "predicate": "browser_key_hash IS NOT NULL"
    }
  ],
  "reconciliation_versions_to_run": [
    20260820030850,
    20260820030959,
    20260820120000,
    20260820160000
  ],
  "new_versions_to_run": [
    20260819202148,
    20260819202444,
    20260819202647,
    20260819202649,
    20260819203939,
    20260819203943,
    20260819203944,
    20260820032524,
    20260820073810,
    20260820074227,
    20260820074644,
    20260820082100,
    20260820085203,
    20260820130000,
    20260820140000,
    20260820150000,
    20260820161342,
    20260820204317,
    20260820211218,
    20260820220625,
    20260821082652,
    20260822082657,
    20260822120326,
    20260822132511,
    20260822153929,
    20260822234211,
    20260823000143,
    20260823010819,
    20260823013135,
    20260823021021,
    20260823034851,
    20260823040635,
    20260823042207,
    20260823043000,
    20260823045906,
    20260823050000,
    20260823051500,
    20260823052000,
    20260823053000,
    20260823054500,
    20260823060000,
    20260823070000,
    20260823071500,
    20260823072000,
    20260823073000,
    20260823074000,
    20260823120247,
    20260823122038,
    20260823122039,
    20260823122040,
    20260823131739,
    20260823133243,
    20260823141005,
    20260823141008,
    20260823141449,
    20260823143402,
    20260823150050,
    20260823151107,
    20260823152752,
    20260823160036,
    20260823165145,
    20260823170944,
    20260823172131,
    20260823172132,
    20260823172323,
    20260823173228,
    20260823175601,
    20260823180000,
    20260823180051,
    20260823180403,
    20260823191500,
    20260823211108,
    20260823221415,
    20260823221416,
    20260824010337,
    20260824010826,
    20260824011303,
    20260824024146,
    20260824031651,
    20260824032138,
    20260824032226,
    20260824035934,
    20260824040140,
    20260824042729,
    20260824043735,
    20260824184030,
    20260824203139,
    20260824204740,
    20260824210500,
    20260824230007,
    20260824230730,
    20260824231951,
    20260825024500,
    20260825054906,
    20260825101934,
    20260825102408,
    20260825113454,
    20260825113459,
    20260825120000,
    20260825140544,
    20260825140545,
    20260825160000,
    20260825170000,
    20260825170100,
    20260825195623,
    20260825220000,
    20260825230000,
    20260826010000,
    20260826103000,
    20260826145554,
    20260826160000,
    20260827004027
  ],
  "required_tables": [
    "users",
    "visitors",
    "conversations",
    "messages",
    "turns",
    "turn_receipts",
    "turn_provider_steps",
    "turn_tool_steps",
    "github_oauth_attempts",
    "forge_fleet_targets",
    "forge_builds",
    "forge_deploys",
    "repository_closure_policies",
    "issue_completion_claims"
  ],
  "required_columns": {
    "users": [
      "id",
      "github_id",
      "github_login",
      "github_name",
      "github_avatar_url",
      "status",
      "banned_at",
      "ban_reason_code",
      "last_authenticated_at",
      "github_token_ciphertext",
      "public_leaderboard_opted_out"
    ],
    "visitors": [
      "id",
      "browser_key_hash",
      "user_id"
    ],
    "conversations": [
      "id",
      "visitor_id"
    ],
    "messages": [
      "id",
      "conversation_id",
      "role",
      "content",
      "status",
      "provider_response_id",
      "modality",
      "voice_session_id",
      "provider_item_id",
      "transcript_kind",
      "interrupted",
      "work_job_id",
      "search_vector"
    ],
    "turns": [
      "id",
      "conversation_id",
      "user_message_id",
      "assistant_message_id",
      "status",
      "error_message",
      "error_code",
      "provider_response_id",
      "started_at",
      "completed_at"
    ],
    "turn_receipts": [
      "id",
      "turn_id",
      "schema_version",
      "status",
      "model_id",
      "persona_id",
      "persona_digest",
      "role_id",
      "role_digest",
      "role_selection",
      "instruction_digest",
      "input_digest",
      "input_message_count",
      "input_bytes",
      "tool_catalog_digest",
      "blueprint_revision",
      "blueprint_digest",
      "program_artifact_id",
      "program_artifact_digest",
      "program_artifact_receipt",
      "memory_snapshot_ref",
      "profile_memory_snapshot_ref",
      "preference_snapshot_ref",
      "used_preferences",
      "experience_bank_ref",
      "used_experiences",
      "used_source_refs",
      "used_tool_step_refs",
      "used_memory_evidence",
      "usage",
      "provider_started_at",
      "provider_completed_at"
    ],
    "turn_provider_steps": [
      "id",
      "turn_receipt_id",
      "sequence",
      "provider_id",
      "model_id",
      "status",
      "provider_response_id",
      "usage",
      "error_code",
      "started_at",
      "completed_at"
    ],
    "turn_tool_steps": [
      "id",
      "turn_id",
      "turn_receipt_id",
      "sequence",
      "provider_call_id",
      "provider_item_id",
      "provider_response_id",
      "tool_name",
      "tool_version",
      "module_id",
      "module_artifact_digest",
      "executor_implementation_digest",
      "routing_receipt_id",
      "side_effect_class",
      "invocation_key",
      "attribution_policy_id",
      "attribution_policy_version",
      "attribution_policy_digest",
      "billable",
      "billable_attribution_key",
      "cost_units",
      "catalog_digest",
      "raw_arguments",
      "argument_digest",
      "status",
      "outcome_digest",
      "outcome_receipt_ref",
      "usage",
      "result",
      "error",
      "executor_id",
      "executor_disclosure",
      "target_receipt_refs",
      "attribution_refs",
      "requested_at",
      "started_at",
      "completed_at"
    ],
    "github_oauth_attempts": [
      "id",
      "state_digest",
      "expires_at",
      "consumed_at"
    ],
    "forge_fleet_targets": [
      "id",
      "repo",
      "sha",
      "promoted_by",
      "status",
      "details"
    ],
    "forge_builds": [
      "id",
      "repo",
      "sha",
      "target_id",
      "modules",
      "warnings",
      "tests",
      "duration_ms",
      "artifact"
    ],
    "forge_deploys": [
      "id",
      "repo",
      "sha",
      "target_id",
      "modules",
      "nodes",
      "result",
      "canary",
      "push_to_live_ms"
    ]
  },
  "required_column_types": {
    "users.id": "uuid",
    "users.github_id": "int8",
    "users.github_avatar_url": "text",
    "messages.search_vector": "tsvector",
    "turn_tool_steps.raw_arguments": "text",
    "forge_fleet_targets.id": "uuid",
    "forge_builds.id": "uuid",
    "forge_builds.target_id": "uuid",
    "forge_builds.modules": "_varchar",
    "forge_deploys.id": "uuid",
    "forge_deploys.target_id": "uuid",
    "forge_deploys.modules": "_varchar",
    "forge_deploys.nodes": "_varchar"
  },
  "required_constraints": [
    "users_status_check",
    "users_ban_state_check",
    "visitors_identity_source_check",
    "forge_fleet_target_status",
    "forge_deploys_result",
    "issue_completion_claims_close_requires_accepted",
    "issue_completion_claims_state",
    "artifact_links_artifact_type_check",
    "artifact_links_artifact_ref_check",
    "forge_assignments_transparency_tier_check",
    "issue_evidence_transparency_tier_check"
  ],
  "required_indexes": [
    "users_github_id_index",
    "visitors_browser_key_hash_index",
    "visitors_user_id_index",
    "github_oauth_attempts_state_digest_index",
    "issue_completion_claims_issue_id_assignment_id_revision_index"
  ],
  "pre_baseline_required_indexes": [
    "forge_builds_repo_sha_target_id_index"
  ],
  "forbidden_constraints": [
    "forge_builds_target_id_fkey",
    "forge_deploys_target_id_fkey"
  ],
  "forbidden_tables": [
    "forge_builds_phase3_legacy"
  ]
}