{
  "catdef": "1.4",
  "orgdef": "1.0.0",
  "type": "orgdef:Organization",
  "id": "catdef-org",
  "name": "catdef + roledef + orgdef ecosystem",
  "version": "2.0.0",
  "mission": "Steward the catdef substrate spec and the catdef-family consumer specs (roledef, orgdef, future xxxdef specs) as open standards. Demonstrate empirically that AI roles can be portable across runtimes, that organizations can be machine-readable, and that the catdef substrate scales across multiple consumer specs.",
  "scope": "catdef substrate + roledef + orgdef + future catdef-family consumer specs (memodef, openmemo, openorg, aigp). Out of scope: AWS Thinkbox OpenJD, Oracle Open Agent Specification, chrisbarry/openagent — adjacent specs in different technical domains. Also out of scope: vendor-specific runtime tooling, single-vendor accommodations, closed-source forks.",
  "governance_model": "Bounded AI authority + human-maintainer ratification. AI sessions draft, validate, decide, sign off; human maintainers (currently a single human steward) hold final merge authority on every commit. Vendors do not own the spec — Anthropic, xAI, OpenAI, Google, Meta, and any future runtime are equal citizens. Pattern-promotion (recognizing emergent patterns in submissions and promoting them to spec text) is a strategist responsibility; spec-text drafting is a maintainer responsibility; canonical implementation work is a canonical-implementor responsibility; library validation is a validator responsibility — explicit role-separation is load-bearing for the bounded-authority discipline.",
  "relationships": [
    {
      "type": "reports_to",
      "from": "catdef-strategist",
      "to": "human-steward",
      "description": "Drafts catdef governance decisions and signs off; human steward merges. No autonomous merge authority."
    },
    {
      "type": "reports_to",
      "from": "roledef-strategist",
      "to": "human-steward",
      "description": "Drafts roledef library decisions and signs off; human steward merges."
    },
    {
      "type": "reports_to",
      "from": "orgdef-strategist",
      "to": "human-steward",
      "description": "Drafts orgdef library decisions and signs off; human steward merges."
    },
    {
      "type": "reports_to",
      "from": "catdef-maintainer",
      "to": "human-steward",
      "description": "Drafts catdef spec text per strategist build directives; human steward merges."
    },
    {
      "type": "reports_to",
      "from": "roledef-maintainer",
      "to": "human-steward",
      "description": "Drafts roledef spec text; human steward merges."
    },
    {
      "type": "reports_to",
      "from": "orgdef-maintainer",
      "to": "human-steward",
      "description": "Drafts orgdef spec text; human steward merges."
    },
    {
      "type": "reports_to",
      "from": "catdef-canonical-implementor",
      "to": "human-steward",
      "description": "Drafts ecosystem-service code (catdef.org Worker, etc.); human steward merges and deploys."
    },
    {
      "type": "reports_to",
      "from": "reference-implementor",
      "to": "human-steward",
      "description": "Maintains canonical reference data; human steward merges."
    },
    {
      "type": "derives_from",
      "from": "catdef-strategist",
      "to": "senior-open-standards-strategist-abstract",
      "description": "catdef-strategist v2.0.0 declares metadata.derived_from pointing at senior-open-standards-strategist v1.0.0. Retrofit derivation per the post-hoc abstraction pattern."
    },
    {
      "type": "derives_from",
      "from": "roledef-strategist",
      "to": "senior-open-standards-strategist-abstract",
      "description": "roledef-strategist v1.0.0 declares metadata.derived_from pointing at senior-open-standards-strategist v1.0.0. Authored AS a derivation from the start."
    },
    {
      "type": "peer_of",
      "from": "catdef-strategist",
      "to": "roledef-strategist",
      "description": "Sister strategist roles; both children of senior-open-standards-strategist.",
      "bidirectional": true
    },
    {
      "type": "peer_of",
      "from": "catdef-strategist",
      "to": "orgdef-strategist",
      "description": "Sister strategist roles in the catdef-family ecosystem.",
      "bidirectional": true
    },
    {
      "type": "peer_of",
      "from": "roledef-strategist",
      "to": "orgdef-strategist",
      "description": "Sister strategist roles in the catdef-family ecosystem.",
      "bidirectional": true
    },
    {
      "type": "peer_of",
      "from": "catdef-maintainer",
      "to": "roledef-maintainer",
      "description": "Sister maintainer roles in the catdef-family ecosystem.",
      "bidirectional": true
    },
    {
      "type": "peer_of",
      "from": "catdef-maintainer",
      "to": "orgdef-maintainer",
      "description": "Sister maintainer roles.",
      "bidirectional": true
    },
    {
      "type": "peer_of",
      "from": "roledef-maintainer",
      "to": "orgdef-maintainer",
      "description": "Sister maintainer roles.",
      "bidirectional": true
    },
    {
      "type": "drafts_for",
      "from": "catdef-maintainer",
      "to": "catdef-strategist",
      "description": "Maintainer drafts catdef spec text per strategist build directives."
    },
    {
      "type": "drafts_for",
      "from": "roledef-maintainer",
      "to": "roledef-strategist",
      "description": "Maintainer drafts roledef spec text per strategist directives."
    },
    {
      "type": "drafts_for",
      "from": "orgdef-maintainer",
      "to": "orgdef-strategist",
      "description": "Maintainer drafts orgdef spec text per strategist directives."
    },
    {
      "type": "implements_for",
      "from": "catdef-canonical-implementor",
      "to": "catdef-strategist",
      "description": "Implementor delivers ecosystem-service code per strategist handoff prompts."
    },
    {
      "type": "implements_for",
      "from": "reference-implementor",
      "to": "catdef-strategist",
      "description": "Reference-implementor delivers canonical reference data per strategist directives."
    },
    {
      "type": "validates_for",
      "from": "roledef-validator",
      "to": "roledef-contributor",
      "description": "Validator schema-checks contributor submissions. PASS/PASS-with-notes/FAIL output is one input to strategist library-fit calls."
    },
    {
      "type": "coordinates_with",
      "from": "catdef-strategist",
      "to": "roledef-strategist",
      "description": "When consumer-spec needs require substrate change, catdef-strategist holds substrate-side authority; roledef-strategist proposes the consumer-side need.",
      "bidirectional": true
    },
    {
      "type": "coordinates_with",
      "from": "catdef-strategist",
      "to": "orgdef-strategist",
      "description": "Same substrate-vs-consumer coordination for orgdef.",
      "bidirectional": true
    },
    {
      "type": "coordinates_with",
      "from": "roledef-strategist",
      "to": "orgdef-strategist",
      "description": "Cross-consumer-spec coordination (e.g., orgdef positions reference roledefs by id+version+url; spec-shape changes affecting that contract require both sides).",
      "bidirectional": true
    }
  ],
  "items": [
    {
      "type": "orgdef:Position",
      "id": "human-steward",
      "name": "Human Steward",
      "status": "staffed",
      "incumbent": {
        "kind": "human",
        "identifier": "scott (scottconfusedgorilla on GitHub)"
      },
      "description": "The single human at the apex. Final sign-off authority on every merge, version bump, governance decision, deploy, and DNS change. Authorizes AI-session work but does not author it. Routes inter-session memos by handing prompts (current state) or notifying receivers of new memos (future state)."
    },
    {
      "type": "orgdef:Position",
      "id": "senior-open-standards-strategist-abstract",
      "name": "Senior Open Standards Strategist (abstract)",
      "status": "informal",
      "role_definition": {
        "id": "senior-open-standards-strategist",
        "version": "1.0.0",
        "url": "https://roledef.org/roledefs/senior-open-standards-strategist.openthing"
      },
      "description": "Abstract parent role. Not directly staffed — sessions instantiate via one of the derived strategist roles (catdef, roledef, orgdef). Included here for lineage transparency: catdef-strategist v2.0.0 and roledef-strategist v1.0.0 declare metadata.derived_from pointing at this abstract."
    },
    {
      "type": "orgdef:Position",
      "id": "catdef-strategist",
      "name": "catdef Strategist",
      "status": "staffed",
      "role_definition": {
        "id": "catdef-strategist",
        "version": "2.0.0",
        "url": "https://roledef.org/roledefs/catdef-strategist.openthing"
      },
      "incumbent": {
        "kind": "ai",
        "session_arc": "Bootstrapping session 2026-04-25 to 2026-04-26 — same arc that bootstrapped catdef v1.4, the roledef library v0.1, the strategist-formalization sequence (PRs #18-#20 in roledef), and the orgdef bootstrap (PR #1 in orgdef which is THIS artifact).",
        "portable": true,
        "portable_via": "https://roledef.org/roledefs/catdef-strategist.openthing"
      },
      "description": "Stewards the catdef substrate spec and coordinates catdef-family ecosystem decisions. Triages catdef proposals using catdef-spec/CLAUDE.md heuristics (first-matching-branch discipline). Enforces value-that-doesn't-move governance with human-ratification escalation. Drafts CA-NNN decision artifacts.",
      "x.position.working_directory": "s:/projects/catdef-spec/"
    },
    {
      "type": "orgdef:Position",
      "id": "roledef-strategist",
      "name": "roledef Strategist",
      "status": "staffed",
      "role_definition": {
        "id": "roledef-strategist",
        "version": "1.0.0",
        "url": "https://roledef.org/roledefs/roledef-strategist.openthing"
      },
      "incumbent": {
        "kind": "ai",
        "session_arc": "Same arc as catdef-strategist (one session played both roles during the bootstrap). Role-separation acknowledged in decision artifacts; expected to split as the ecosystem matures and runtimes/sessions specialize.",
        "portable": true,
        "portable_via": "https://roledef.org/roledefs/roledef-strategist.openthing"
      },
      "description": "Stewards the roledef consumer spec. Triages roledef library submissions against schema + additive-only invariant for derivations + dual-review pattern for production-extracted submissions. Maintains the runtime-conformance methodology (4-runtime classification per RUNTIME_AMENABILITY.md). Stewards the abstract→derived showcase pattern.",
      "x.position.working_directory": "s:/projects/roledef-spec/roledef/"
    },
    {
      "type": "orgdef:Position",
      "id": "orgdef-strategist",
      "name": "orgdef Strategist",
      "status": "informal",
      "incumbent": {
        "kind": "ai",
        "session_arc": "Currently played informally by the catdef-strategist session arc (bootstrapping). roledef forthcoming as a derivation of senior-open-standards-strategist; will join the canonical roledef library when orgdef bootstrap stabilizes.",
        "portable": false,
        "note": "No roledef yet; eventual derivation from senior-open-standards-strategist is a forward work item."
      },
      "description": "Stewards the orgdef consumer spec. Triages orgdef library submissions against schema + roledef-reference resolution + connectedness checks. THIS artifact is its first piece of stewardship work.",
      "x.position.working_directory": "s:/projects/orgdef-spec/orgdef/"
    },
    {
      "type": "orgdef:Position",
      "id": "catdef-maintainer",
      "name": "catdef Maintainer",
      "status": "informal",
      "incumbent": {
        "kind": "ai",
        "session_arc": "Currently no dedicated maintainer session has been spun up; catdef-strategist has been doing maintainer work in delegated capacity during the v1.4 release.",
        "portable": false,
        "note": "Per catdef-spec/CLAUDE.md the maintainer role is defined; the role's incumbent has not been formally roledef-extracted. Future work item."
      },
      "description": "Drafts catdef spec text (CATDEF_SPEC.md, CATIO_SPEC.md, MCP_REFERENCE.md). Processes feedback. Runs editorial passes. Operates per catdef-spec/CLAUDE.md operating manual. Bounded authority — drafts, doesn't merge.",
      "x.position.working_directory": "s:/projects/catdef-spec/"
    },
    {
      "type": "orgdef:Position",
      "id": "roledef-maintainer",
      "name": "roledef Maintainer",
      "status": "informal",
      "incumbent": {
        "kind": "ai",
        "session_arc": "Currently no dedicated maintainer; roledef-strategist has done maintainer work in delegated capacity (drafting README, CONTRIBUTING, CLAUDE, WRAPPER_PROMPT, RUNTIME_AMENABILITY, SCHEMA edits)."
      },
      "description": "Drafts roledef spec text. Processes feedback. Runs editorial passes. Operates per roledef CLAUDE.md.",
      "x.position.working_directory": "s:/projects/roledef-spec/roledef/"
    },
    {
      "type": "orgdef:Position",
      "id": "orgdef-maintainer",
      "name": "orgdef Maintainer",
      "status": "informal",
      "incumbent": {
        "kind": "ai",
        "session_arc": "Currently no dedicated maintainer; orgdef-strategist has done maintainer work in delegated capacity (drafting orgdef SCHEMA, CONTRIBUTING, CLAUDE, README during the v0.1 bootstrap)."
      },
      "description": "Drafts orgdef spec text. Processes feedback. Runs editorial passes.",
      "x.position.working_directory": "s:/projects/orgdef-spec/orgdef/"
    },
    {
      "type": "orgdef:Position",
      "id": "roledef-validator",
      "name": "roledef Validator",
      "status": "informal",
      "role_definition": {
        "id": "roledef-validator",
        "version": "1.0.0",
        "url": "https://roledef.org/roledefs/roledef-validator.openthing"
      },
      "incumbent": {
        "kind": "ai",
        "session_arc": "No dedicated validator session running; roledef-strategist self-validates in validator capacity per the validator-vs-strategist role-overlap acknowledged in decision artifacts. Validator-as-CI-step automation is a Known Work Item that would close this overlap."
      },
      "description": "Validates submitted roledefs against SCHEMA.md. Produces structured PASS / PASS WITH NOTES / FAIL reports. Schema-conformance only — library-fit calls are strategist scope.",
      "x.position.working_directory": "s:/projects/roledef-spec/roledef/"
    },
    {
      "type": "orgdef:Position",
      "id": "roledef-contributor",
      "name": "roledef Contributor",
      "status": "shared",
      "role_definition": {
        "id": "roledef-contributor",
        "version": "1.0.0",
        "url": "https://roledef.org/roledefs/roledef-contributor.openthing"
      },
      "incumbent": {
        "kind": "ai",
        "session_arc": "Multiple sessions act as contributor across the bootstrap. Notable instances: brother-blackhat-tester (self-extracted blackhat-tester roledef + sncro-blackhat-tester derivation); brother-DangerStorm (source-project peer review + extracted senior-jaded-vc-associate). Each operates in a session-arc associated with its source-project workspace."
      },
      "description": "Authors roledef submissions. Self-extraction by the role's incumbent is the strongest source-material pattern. Production-extraction (behavioral capture from a live AI product) requires dual-review per the established policy."
    },
    {
      "type": "orgdef:Position",
      "id": "catdef-canonical-implementor",
      "name": "catdef Canonical Implementor",
      "status": "informal",
      "incumbent": {
        "kind": "ai",
        "session_arc": "Brother-canonical-implementor session arc — has shipped catdef.org PRs #1 (URL-loadable renderer + /fetch SSRF proxy), #2 (catdef-family namespaced types + tolerant flat field lookup), #3 (renderable-path linkification), and is currently working on PR #4 (template-literal escape-eating fix).",
        "portable": false,
        "note": "Role exists informally per the catdef.org PR sequence; eventual self-extraction into a canonical roledef is a forward work item from strategist memory."
      },
      "description": "Owns ecosystem-service code (catdef.org Worker, render.catdef.org renderer + /fetch proxy, future ecosystem services at catdef.org subdomains). Receives handoffs from strategist via prompt-and-paste (current) or memo (forthcoming via this org's x.org.memo_location). Bounded authority — drafts code, opens PRs, does not deploy or merge.",
      "x.position.working_directory": "s:/projects/catdef.org/"
    },
    {
      "type": "orgdef:Position",
      "id": "reference-implementor",
      "name": "Reference Implementor",
      "status": "vacant",
      "description": "Maintains canonical reference data in catdef-spec/canonical/ and builds reference implementations (planned: MCP server). Defined per catdef-spec/CLAUDE.md but not currently staffed; the planned MCP server is upcoming work.",
      "x.position.working_directory": "s:/projects/catdef-spec/"
    }
  ],
  "metadata": {
    "kind": "operational",
    "authors": [
      "roledef-strategist <roledef-strategist@roledef.org>"
    ],
    "license": "MIT",
    "created": "2026-04-26",
    "extracted_from": "Self-extraction by the orgdef-strategist incumbent (currently the same session arc as catdef-strategist and roledef-strategist; role-separation acknowledged). Sources: catdef-spec/CLAUDE.md role definitions; roledef CLAUDE.md + CONTRIBUTING.md role definitions; the recently-published roledef library (8 roledefs as of 2026-04-26); catdef.org PR sequence #1-#5; strategist memory file; orgdef SCHEMA.md.",
    "extends": null,
    "related": [
      "roledef-spec/roledef library (sister consumer-spec library)",
      "catdef-spec (substrate spec)",
      "catdef.org (ecosystem-services repo)",
      "render.catdef.org (rendering service)"
    ],
    "homepage": "https://orgdef.org/orgs/catdef-org",
    "repository": "https://github.com/orgdef-spec/orgdef/blob/main/orgs/catdef-org.opencatalog",
    "history": [
      {
        "version": "1.0.0",
        "date": "2026-04-26",
        "change": "Initial self-extraction. First orgdef artifact in canonical. 12 positions (1 staffed-human, 3 staffed-ai, 7 informal/vacant), 25 relationships across 7 standard relationship types. First instantiation of the x.org.memo_location convention."
      },
      {
        "version": "2.0.0",
        "date": "2026-05-10",
        "change": "MAJOR: substrate-shape migration per decisions/proposal-orgdef-as-opencatalog-substrate-shape.md. orgdef SCHEMA bumped v0.1.0 → v1.0.0; artifact substrate changes from .openthing to .opencatalog (atomic-transportable bundle). Positions migrated from top-level array to items[] with `type: orgdef:Position` tag; relationships preserved at catalog level (lightweight); metadata.repository URL updated; metadata.kind explicit ('operational'). No job items embedded (catdef-org positions don't have job specializations beyond their role_definition references; jobs-as-items would apply when catdef-org adds Job specializations in future). Substantive content (mission, governance, positions, relationships, x.org.* extensions) unchanged."
      }
    ]
  },
  "x.org.memo_location": {
    "description": "Convention for memo addressing in this organization. A memo to position X lives in X's working repo at ./memos/, named YYYY-MM-DD-HHMM--<from>--<to>--<short-subject>.openthing. The recipient's working repo is the value of the position's x.position.working_directory extension. This enforces authorization-implies-write-access: a sender must have git/filesystem write access to the recipient's repo to send them a memo.",
    "convention": "<recipient_position.x.position.working_directory>/memos/",
    "design_rationale": "Authorization-implies-write-access (articulated by the human steward 2026-04-26 during PR #1 review).",
    "all_addressing": "x.memo.to: 'all' is acceptable but requires the sender to write the memo to every applicable position's inbox (which means having write access to all those repos)."
  },
  "x.org.notes": {
    "description": "Operational notes about this org that don't fit cleanly into positions or relationships.",
    "value": [
      "Single-session-plays-multiple-strategist-roles is the current bootstrap reality. Role-separation discipline is enforced via decision-artifact attribution.",
      "Several positions are 'informal' — operationally active but not yet roledef-extracted. Listed with status: informal so the org chart is accurate even when the underlying roledef artifact doesn't exist yet.",
      "The human-steward position is the single non-AI position. Authority flow: AI sessions draft/decide/sign off → human steward authorizes → human steward merges and deploys."
    ]
  }
}
