{
  "openapi": "3.1.0",
  "info": {
    "title": "M. Mursaleen — portfolio resources",
    "version": "1.0.0",
    "summary": "Static, machine-readable profile of an engineering leader.",
    "description": "All resources are static GET files published by an Astro site on GitHub Pages. There is no server; hiring is initiated out-of-band by email using the HireBrief schema. See /AGENTS.md.",
    "contact": {
      "name": "M. Mursaleen",
      "email": "mursaleen.1r@gmail.com",
      "url": "https://1mursaleen.github.io"
    }
  },
  "servers": [
    {
      "url": "https://1mursaleen.github.io"
    }
  ],
  "paths": {
    "/AGENTS.md": {
      "get": {
        "summary": "Agent brief and hire protocol",
        "responses": {
          "200": {
            "description": "Agent brief and hire protocol",
            "content": {
              "text/markdown": {}
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "Plain-text index for LLM agents",
        "responses": {
          "200": {
            "description": "Plain-text index for LLM agents",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Full flattened content",
        "responses": {
          "200": {
            "description": "Full flattened content",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/resume.json": {
      "get": {
        "summary": "Structured resume (JSON Resume v1.0.0)",
        "responses": {
          "200": {
            "description": "Structured resume (JSON Resume v1.0.0)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json"
                }
              }
            }
          }
        }
      }
    },
    "/work.json": {
      "get": {
        "summary": "Structured case studies",
        "responses": {
          "200": {
            "description": "Structured case studies",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkIndex"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-card.json": {
      "get": {
        "summary": "Discovery card",
        "responses": {
          "200": {
            "description": "Discovery card",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/sitemap-index.xml": {
      "get": {
        "summary": "Sitemap",
        "responses": {
          "200": {
            "description": "Sitemap",
            "content": {
              "application/xml": {}
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "HireBrief": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://1mursaleen.github.io/hire-brief.schema.json",
        "title": "HireBrief",
        "type": "object",
        "required": [
          "name",
          "contact",
          "brief"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "contact": {
            "type": "string",
            "description": "Email or phone the reply should go to"
          },
          "company": {
            "type": "string"
          },
          "engagement": {
            "type": "string",
            "enum": [
              "leadership-role",
              "fixed-scope-delivery",
              "advisory",
              "other"
            ]
          },
          "brief": {
            "type": "string"
          },
          "budget": {
            "type": "string"
          },
          "timeline": {
            "type": "string"
          },
          "agent": {
            "type": "string",
            "description": "Which agent prepared this, or \"human\""
          }
        }
      },
      "WorkIndex": {
        "type": "object",
        "properties": {
          "author": {
            "type": "string"
          },
          "canonical": {
            "type": "string",
            "format": "uri"
          },
          "count": {
            "type": "integer"
          },
          "caseStudies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CaseStudy"
            }
          }
        }
      },
      "CaseStudy": {
        "type": "object",
        "required": [
          "slug",
          "title",
          "client",
          "period",
          "role",
          "summary",
          "url"
        ],
        "properties": {
          "slug": {
            "type": "string"
          },
          "order": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "client": {
            "type": "string"
          },
          "clientMeta": {
            "type": "string"
          },
          "program": {
            "type": "string"
          },
          "period": {
            "type": "string"
          },
          "employer": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "teamSize": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "stack": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string"
          },
          "stakes": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "body": {
                "type": "string"
              }
            }
          },
          "numbers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              }
            }
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "Link": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "format": "uri"
          }
        }
      }
    }
  },
  "x-hire-protocol": {
    "transport": "email",
    "to": "mursaleen.1r@gmail.com",
    "subject": "Hire brief for M. Mursaleen",
    "bodySchema": "#/components/schemas/HireBrief",
    "instructions": "https://1mursaleen.github.io/AGENTS.md"
  }
}