{
  "schema_version": "0.1.0",
  "catalogue_status": "discovery_inventory",
  "authority": "Evidence-derived inventory; not a final implementation-governing SSOT. Preserve source modality and consult conflicts.json.",
  "category": "identities_tenancy_owners",
  "description": "Human actors, tenancy, provisioning, authentication, oversight, and administration.",
  "items": [
    {
      "id": "actor.owner",
      "name": "Owner",
      "kind": "human_actor",
      "description": "Only non-API user; human administrator with account and tenant/system authority.",
      "modality": "firm_statement",
      "sources": [
        {
          "file": "docs/seed/Description_Zero.txt",
          "lines": "14-18"
        }
      ]
    },
    {
      "id": "actor.system_owner",
      "name": "System Admin Owner",
      "kind": "human_actor",
      "description": "First Owner with owner_scope=system; creates/suspends Owners, enters oversight, and reviews system information without Author impersonation ability.",
      "modality": "source_description",
      "sources": [
        {
          "file": "docs/seed/Owners.txt",
          "lines": "1-24"
        }
      ],
      "capabilities": [
        "Create gift Owners",
        "Activate manually paid Owners",
        "Suspend Owners",
        "Enter tenancy oversight",
        "Review system alerts",
        "Review public-key and audit information"
      ]
    },
    {
      "id": "actor.tenant_owner",
      "name": "Tenant Owner",
      "kind": "human_actor",
      "description": "Subsequent Owner, normally owner_scope=tenant, with total human administrative authority over the tenant subject to system safety controls.",
      "modality": "source_description",
      "sources": [
        {
          "file": "docs/seed/Owners.txt",
          "lines": "34-40"
        }
      ]
    },
    {
      "id": "entity.tenant",
      "name": "Tenant",
      "kind": "administrative_boundary",
      "description": "Boundary separating Owner and Key data and authority.",
      "modality": "mvp_inclusion",
      "sources": [
        {
          "file": "docs/seed/MVP_Cut_Line.txt",
          "lines": "3-6"
        },
        {
          "file": "docs/seed/Minimum_Database_Model.txt",
          "lines": "22-27"
        }
      ]
    },
    {
      "id": "owner.provisioning_source",
      "name": "Provisioning source",
      "kind": "classification",
      "description": "Internal classification: system_gift, commercial, migration, development; must not affect API output, authorization, limits, security, features, or authority.",
      "modality": "firm_statement",
      "sources": [
        {
          "file": "docs/seed/Owners.txt",
          "lines": "42-61"
        }
      ],
      "values": [
        "system_gift",
        "commercial",
        "migration",
        "development"
      ]
    },
    {
      "id": "owner.oversight",
      "name": "Tenancy oversight session",
      "kind": "administrative_flow",
      "description": "System Owner entry into another tenant requires step-up, reason, distinct UI, event, and short expiry.",
      "modality": "firm_statement",
      "sources": [
        {
          "file": "docs/seed/Owners.txt",
          "lines": "16-23"
        }
      ]
    },
    {
      "id": "owner.session",
      "name": "Owner session",
      "kind": "authentication_component",
      "description": "Opaque random token stored hashed in PostgreSQL; stateless JWT dashboard sessions are rejected by one source.",
      "modality": "firm_statement",
      "sources": [
        {
          "file": "docs/seed/Sessions.txt",
          "lines": "1-3"
        }
      ]
    },
    {
      "id": "owner.step_up",
      "name": "Step-up authentication",
      "kind": "security_control",
      "description": "Required at minimum for high-risk Owner actions.",
      "modality": "firm_statement",
      "sources": [
        {
          "file": "docs/seed/Step_Up.txt",
          "lines": "1-9"
        }
      ],
      "triggers": [
        "Mint Primary Author",
        "Expand Primary Author authority",
        "Rotate delegation component",
        "Revoke large subtree",
        "Disable alerts",
        "Export tenant-wide audit",
        "Enter system-wide administrative scope"
      ]
    },
    {
      "id": "owner.signup",
      "name": "Owner signup and recovery",
      "kind": "owner_flow",
      "description": "Username/email/password signup, verification, login, secure sessions; SMTP is considered for verification, recovery, and alerts.",
      "modality": "mvp_inclusion",
      "sources": [
        {
          "file": "docs/seed/Description_Zero.txt",
          "lines": "5"
        },
        {
          "file": "docs/seed/MVP_Cut_Line.txt",
          "lines": "3"
        },
        {
          "file": "docs/seed/Description_Zero.txt",
          "lines": "48-59"
        }
      ]
    }
  ]
}
