{
    "model": {
        "rank": 11101,
        "code": "thing-q183888",
        "model_id": "vr.tr.software-developer",
        "name": "software developer",
        "purpose": "Let an agent explain the software developer occupation and its specialisations, relay skills, education, employment and working practices from labour statistics and industry sources, describe the kinds the registry aliases name, and distinguish software developers from software engineers, programmers, IT administrators and data scientists.",
        "family": "Thing Registry",
        "category": "Society, people and institutions",
        "status": "research-draft",
        "kind": "thing",
        "plane": "SOC",
        "domain": "SOC.PER",
        "industry": "",
        "version": "",
        "url": "/models/thing/q183888/",
        "tier": 2,
        "score": 43,
        "payload": {
            "layer": "wikidata",
            "aliases": [
                "video game developer",
                "video game campaign designer",
                "mobile app developer",
                "solo game developer",
                "software-development consultant",
                "open-source developer",
                "OpenBSD developer",
                "homebrew developer",
                "software maintainer",
                "mathematical-technical software developer",
                "web developer",
                "full stack developer",
                "emacs-sly maintainer",
                "emacs-treeview maintainer",
                "Magit maintainer",
                "NetBSD developer",
                "gnome-commander maintainer",
                "co-maintainer",
                "GNU maintainer",
                "back-end developer",
                "front-end developer"
            ],
            "aliasCount": 21,
            "merged": 22,
            "knownIn": 43,
            "facets": null,
            "markers": [],
            "lexicalClass": "",
            "senseRank": null,
            "alsoRegisteredAs": null,
            "source": {
                "dataset": "wikidata",
                "item": "Q183888",
                "url": "https://www.wikidata.org/wiki/Q183888",
                "license": "CC0 1.0"
            }
        },
        "research": {
            "vercy": "1.0-draft",
            "publication": {
                "status": "research-draft",
                "adjudicationStatus": "unreviewed",
                "publishableCanonical": false,
                "generatedAt": "2026-09-13T14:57:11Z",
                "providers": [
                    "Claude"
                ],
                "breadth": "written by Claude from model knowledge without web access - no source was read, every claim is a lead to verify",
                "pass": 2,
                "wave": 4,
                "engine": "claude"
            },
            "metaModel": {
                "id": "THING-Q183888",
                "registryId": "vr.tr.software-developer",
                "name": "software developer",
                "version": "0.2.0-wave.4",
                "entryKind": "thing",
                "family": "Thing Registry",
                "domain": [
                    "SOC.PER"
                ],
                "status": "research-draft"
            },
            "canonicalUrl": "https://ver.cy/models/thing/q183888/",
            "model": {
                "registry_id": "vr.tr.software-developer",
                "name": "software developer",
                "purpose": "Let an agent explain the software developer occupation and its specialisations, relay skills, education, employment and working practices from labour statistics and industry sources, describe the kinds the registry aliases name, and distinguish software developers from software engineers, programmers, IT administrators and data scientists.",
                "definition": "A person who designs, writes, tests and maintains software, including mobile app developers, video game developers and solo game developers, video game campaign designers, open-source developers and software development consultants; the occupation ranges from programming to architecture and is one of the largest professional groups in technology.",
                "what_it_is_for": "Building and maintaining software.",
                "affordances": [
                    "explain the occupation",
                    "relay skills and employment",
                    "describe specialisations",
                    "distinguish related roles"
                ],
                "distinguishing_features": [
                    "Writes and maintains code",
                    "Many specialisations",
                    "Large workforce",
                    "Varied paths"
                ],
                "appearance": "Not a visible object; a person working with code.",
                "visual_identification": [
                    "Person who builds software",
                    "Mobile app developer, video game developer, solo game developer, campaign designer, open-source developer, development consultant",
                    "Software engineers apply engineering discipline; programmers write code; administrators run systems; data scientists analyse data"
                ],
                "physical_properties": [
                    {
                        "quantity": "US employment",
                        "typical_range": "about 1.7",
                        "unit": "million",
                        "note": "2023 BLS, developers and testers"
                    },
                    {
                        "quantity": "ISCO-08 code",
                        "typical_range": "2512",
                        "unit": "note",
                        "note": "software developers"
                    },
                    {
                        "quantity": "typical education",
                        "typical_range": "degree or self-taught",
                        "unit": "note",
                        "note": ""
                    }
                ],
                "families_and_kinds": [
                    "application and mobile app developers",
                    "web developers",
                    "video game developers and solo developers",
                    "game campaign and level designers",
                    "open-source developers",
                    "software development consultants",
                    "embedded and systems developers"
                ],
                "related_models": [
                    {
                        "relation": "is a kind of",
                        "target": "software engineer",
                        "why": "in registry terms"
                    },
                    {
                        "relation": "is a kind of",
                        "target": "software and applications developers and analysts",
                        "why": "in ISCO terms"
                    },
                    {
                        "relation": "produces",
                        "target": "software",
                        "why": "as work product"
                    },
                    {
                        "relation": "is contrasted with",
                        "target": "system administrator",
                        "why": "who runs systems"
                    }
                ],
                "identifiers": [
                    {
                        "scheme": "ISCO-08",
                        "value_or_pattern": "2512",
                        "note": "software developers"
                    }
                ],
                "standards_and_regulation": [
                    "Professional codes such as the ACM Code of Ethics",
                    "Labour and employment law",
                    "Licensing in some jurisdictions for safety-critical work"
                ],
                "failure_modes_and_hazards": [
                    "Confusing developer with engineer or programmer titles",
                    "Registry aliases mixing roles and specialisations",
                    "Stale employment figures"
                ],
                "in_scope": [],
                "out_of_scope": [],
                "characteristics": []
            },
            "sources": [],
            "structure": {
                "bundles": [
                    {
                        "id": "understand",
                        "name": "Understand",
                        "description": "What a software developer is.",
                        "rationale": "Definition.",
                        "layers": [
                            {
                                "id": "definition",
                                "name": "Definition",
                                "description": "Definition.",
                                "findings": [
                                    {
                                        "id": "definition-finding",
                                        "name": "Definition",
                                        "description": "Definition.",
                                        "questions": [
                                            {
                                                "text": "What is a software developer, and how does the role differ from software engineer, programmer, administrator and data scientist?",
                                                "kind": "definition"
                                            },
                                            {
                                                "text": "Is the question about the occupation, a specialisation, careers or employment?",
                                                "kind": "boundary"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "kinds",
                                "name": "Kinds",
                                "description": "Specialisations.",
                                "findings": [
                                    {
                                        "id": "kinds-finding",
                                        "name": "Kinds",
                                        "description": "Kinds.",
                                        "questions": [
                                            {
                                                "text": "What do mobile app, video game, solo game, campaign design, open-source and consultant developers do?",
                                                "kind": "definition"
                                            },
                                            {
                                                "text": "Which entry fits the specific specialisation?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "work",
                        "name": "Work",
                        "description": "Skills and work.",
                        "rationale": "Sources.",
                        "layers": [
                            {
                                "id": "skills",
                                "name": "Skills",
                                "description": "Skills.",
                                "findings": [
                                    {
                                        "id": "skills-finding",
                                        "name": "Skills",
                                        "description": "Skills.",
                                        "questions": [
                                            {
                                                "text": "What skills, languages and tools do developers use?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Which references are standard?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "practices",
                                "name": "Practices",
                                "description": "Practices.",
                                "findings": [
                                    {
                                        "id": "practices-finding",
                                        "name": "Practices",
                                        "description": "Practices.",
                                        "questions": [
                                            {
                                                "text": "How do developers work in teams, with agile methods, version control and code review?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Which sources are cited?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "career",
                        "name": "Career",
                        "description": "Career and employment.",
                        "rationale": "Application.",
                        "layers": [
                            {
                                "id": "education",
                                "name": "Education",
                                "description": "Education and paths.",
                                "findings": [
                                    {
                                        "id": "education-finding",
                                        "name": "Education",
                                        "description": "Education.",
                                        "questions": [
                                            {
                                                "text": "How do people become developers, through degrees, bootcamps or self-teaching?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Which entry fits computer science education?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "employment",
                                "name": "Employment",
                                "description": "Employment.",
                                "findings": [
                                    {
                                        "id": "employment-finding",
                                        "name": "Employment",
                                        "description": "Employment.",
                                        "questions": [
                                            {
                                                "text": "What do labour statistics say about employment, pay and outlook?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Which entry fits the specific country s statistics?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "context",
                        "name": "Context",
                        "description": "History and ethics.",
                        "rationale": "Context.",
                        "layers": [
                            {
                                "id": "history",
                                "name": "History",
                                "description": "History.",
                                "findings": [
                                    {
                                        "id": "history-finding",
                                        "name": "History",
                                        "description": "History.",
                                        "questions": [
                                            {
                                                "text": "How did the occupation develop from early programmers to today?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Which entry fits the history of software engineering?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "ethics",
                                "name": "Ethics",
                                "description": "Ethics.",
                                "findings": [
                                    {
                                        "id": "ethics-finding",
                                        "name": "Ethics",
                                        "description": "Ethics.",
                                        "questions": [
                                            {
                                                "text": "What professional and ethical responsibilities do developers have?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Which entry fits computer ethics?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "openQuestions": [
                "Should video game developer and open-source developer be separate primary entries?",
                "How should labour statistics sources be linked?",
                "The registry entry has merged aliases naming specialisations; should they be split off?"
            ],
            "statistics": {
                "bundles": 4,
                "layers": 8,
                "findings": 8,
                "questions": 16
            }
        },
        "draft": {
            "generator": "vr.draft.v3",
            "status": "draft-generated",
            "researched": false,
            "archetype": "occupation or role",
            "method": "Written from the archetype playbook - what this kind of thing needs beyond identity and provenance - and from the structure that recurred across 6,333 models already researched by two engines. Applied to this entry by rule. No source was read for this thing and no claim here is researched. This entry carries no facets of its own, so they were inferred from its domain - a guess about a whole domain applied to one thing.",
            "facetsInferred": true,
            "nextPass": "A researcher replaces this draft with a sourced specification. Treat every sentence below as a proposal to argue with.",
            "purpose": "Give an agent a durable, checkable way to recognise a software developer, record what state it is in, and decide what may be done with it.",
            "whatItIs": "Let an agent explain the software developer occupation and its specialisations, relay skills, education, employment and working practices from labour statistics and industry sources, describe the kinds the registry aliases name, and distinguish software developers from software engineers, programmers, IT administrators and data scientists.",
            "characteristics": {
                "substance": "social",
                "origin": "natural",
                "agency": "autonomous",
                "mobility": "self-moving"
            },
            "whatYouCanDoWithIt": [
                "observed and measured"
            ],
            "distinguishingFeatures": [
                "Names folded into this entry, which a task may need to split apart again: video game developer, video game campaign designer, mobile app developer, solo game developer, software-development consultant, open-source developer, OpenBSD developer, homebrew developer, software maintainer, mathematical-technical software developer, web developer, full stack developer.",
                "22 finer distinctions are held as aliases rather than separate entries, because telling them apart needs a task that asks for it.",
                "Described in 43 Wikipedia languages, which is a measure of how widely the thing is known, not of how important it is."
            ],
            "openQuestionsForResearch": [
                "Which of the bundles below does a real task actually need, and which are ceremony?",
                "What does this thing have that the facets do not capture at all?",
                "Which neighbouring kind is most often confused with a software developer, and on what evidence are they told apart?"
            ],
            "whatItIsMadeOf": "a social arrangement between people",
            "physicalCharacter": [
                "Moves under its own power or of its own accord.",
                "Acts on its own behalf.",
                "These come from the domain this entry sits in rather than from the entry itself, so treat them as a first guess about the whole domain applied to one thing."
            ],
            "whatCanBeDoneWithIt": [
                "observe it, measure it, record its state"
            ],
            "howItIsRecognised": [
                "Not recognisable by appearance, and guessing from dress or setting is how an agent gets this wrong. Recognised by qualification, licence or engagement."
            ],
            "relatedModels": [
                {
                    "relation": "covers",
                    "note": "Finer kinds folded into this entry because telling them apart needs a task that asks for it. Each is a model waiting to be split out when one does.",
                    "targets": [
                        "video game developer",
                        "video game campaign designer",
                        "mobile app developer",
                        "solo game developer",
                        "software-development consultant",
                        "open-source developer",
                        "OpenBSD developer",
                        "homebrew developer",
                        "software maintainer",
                        "mathematical-technical software developer",
                        "web developer",
                        "full stack developer"
                    ]
                }
            ],
            "standing": "Described in 43 Wikipedia languages, which measures how widely it is written about rather than how important or how common it is. 22 finer distinctions are held inside this entry as names rather than as separate models.",
            "structure": {
                "bundles": [
                    {
                        "id": "identity-and-classification",
                        "name": "Identity, naming and classification",
                        "description": "How an agent tells one software developer from another, and a software developer from things that resemble it.",
                        "rationale": "Recognition comes before every other claim. Without stable identity nothing else in the model can be trusted to be about the same thing twice.",
                        "layers": [
                            {
                                "id": "naming-and-identifiers",
                                "name": "Names and identifiers",
                                "description": "The names this thing goes by and the identifiers that survive translation and time.",
                                "findings": [
                                    {
                                        "id": "preferred-name-and-aliases",
                                        "name": "Preferred name, aliases and local names",
                                        "description": "Which name to use, which names mean the same thing, and which merely sound similar.",
                                        "questions": [
                                            {
                                                "id": "preferred-name-and-aliases-q01",
                                                "text": "What identifies and describes the name of a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "preferred-name-and-aliases-q02",
                                                "text": "Who or what asserted this about the name of a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "preferred-name-and-aliases-q03",
                                                "text": "What may an agent decide or do once the name of a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    },
                                    {
                                        "id": "stable-identifiers",
                                        "name": "Stable identifiers and external keys",
                                        "description": "Identifiers that keep pointing at this kind of thing across systems and languages.",
                                        "questions": [
                                            {
                                                "id": "stable-identifiers-q01",
                                                "text": "What identifies and describes an identifier for a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "stable-identifiers-q02",
                                                "text": "Who or what asserted this about an identifier for a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "stable-identifiers-q03",
                                                "text": "What may an agent decide or do once an identifier for a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "classification-and-granularity",
                                "name": "Classification and granularity",
                                "description": "Where a software developer sits among kinds, and how finely a task needs to cut it.",
                                "findings": [
                                    {
                                        "id": "kind-and-parents",
                                        "name": "Kind, parents and neighbouring kinds",
                                        "description": "The classes this thing belongs to and the ones it is next to.",
                                        "questions": [
                                            {
                                                "id": "kind-and-parents-q01",
                                                "text": "What identifies and describes the kind of a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "kind-and-parents-q02",
                                                "text": "Who or what asserted this about the kind of a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "kind-and-parents-q03",
                                                "text": "What may an agent decide or do once the kind of a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    },
                                    {
                                        "id": "distinguishing-features",
                                        "name": "Distinguishing features",
                                        "description": "What separates a software developer from the things most often confused with it.",
                                        "questions": [
                                            {
                                                "id": "distinguishing-features-q01",
                                                "text": "What identifies and describes what distinguishes a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "distinguishing-features-q02",
                                                "text": "Who or what asserted this about what distinguishes a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "distinguishing-features-q03",
                                                "text": "What may an agent decide or do once what distinguishes a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "place-and-movement",
                        "name": "Place and movement",
                        "description": "Where a software developer is, how it got there and where it may go (self-moving).",
                        "rationale": "A thing that can move needs its position recorded with a time, or every later claim about it is about a place it has left.",
                        "layers": [
                            {
                                "id": "location-and-placement",
                                "name": "Location and placement",
                                "description": "Position, containment and the reference frame the position is given in.",
                                "findings": [
                                    {
                                        "id": "position-and-frame",
                                        "name": "Position, container and reference frame",
                                        "description": "Where a software developer is, and what that position is measured against.",
                                        "questions": [
                                            {
                                                "id": "position-and-frame-q01",
                                                "text": "What identifies and describes the location of a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "position-and-frame-q02",
                                                "text": "Who or what asserted this about the location of a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "position-and-frame-q03",
                                                "text": "What may an agent decide or do once the location of a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "movement-and-transfer",
                                "name": "Movement and transfer",
                                "description": "How a software developer moves on its own.",
                                "findings": [
                                    {
                                        "id": "movement-events",
                                        "name": "Movement events and constraints",
                                        "description": "What counts as a movement, what records it and what limits it.",
                                        "questions": [
                                            {
                                                "id": "movement-events-q01",
                                                "text": "What identifies and describes the movement of a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "movement-events-q02",
                                                "text": "Who or what asserted this about the movement of a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "movement-events-q03",
                                                "text": "What may an agent decide or do once the movement of a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "state-and-lifecycle",
                        "name": "State and lifecycle",
                        "description": "The states a software developer passes through and the events that move it between them.",
                        "rationale": "Most decisions about a thing depend on what state it is in now, which is a claim with a time on it, not a property.",
                        "layers": [
                            {
                                "id": "lifecycle-stages",
                                "name": "Lifecycle stages",
                                "description": "From coming into existence to ceasing to be one of these.",
                                "findings": [
                                    {
                                        "id": "stages-and-transitions",
                                        "name": "Stages and transitions",
                                        "description": "The stages worth naming and what moves a software developer between them.",
                                        "questions": [
                                            {
                                                "id": "stages-and-transitions-q01",
                                                "text": "What identifies and describes the lifecycle of a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "stages-and-transitions-q02",
                                                "text": "Who or what asserted this about the lifecycle of a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "stages-and-transitions-q03",
                                                "text": "What may an agent decide or do once the lifecycle of a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "observations-and-status",
                                "name": "Observations and current status",
                                "description": "What is observed about a software developer, how often and by whom.",
                                "findings": [
                                    {
                                        "id": "observation-record",
                                        "name": "Observation record",
                                        "description": "How an observation of a software developer is recorded so that it can be superseded rather than overwritten.",
                                        "questions": [
                                            {
                                                "id": "observation-record-q01",
                                                "text": "What identifies and describes an observation of a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "observation-record-q02",
                                                "text": "Who or what asserted this about an observation of a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "observation-record-q03",
                                                "text": "What may an agent decide or do once an observation of a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "people-and-responsibility",
                        "name": "People, roles and responsibility",
                        "description": "Who stands in what relation to a software developer.",
                        "rationale": "Social things are defined by the relations people hold to them, and those relations change without the thing changing.",
                        "layers": [
                            {
                                "id": "roles-and-parties",
                                "name": "Roles and parties",
                                "description": "The roles that exist around a software developer and who fills them.",
                                "findings": [
                                    {
                                        "id": "role-assignments",
                                        "name": "Role assignments and their validity",
                                        "description": "Who holds which role over a software developer, from when, and on whose authority.",
                                        "questions": [
                                            {
                                                "id": "role-assignments-q01",
                                                "text": "What identifies and describes a role over a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "role-assignments-q02",
                                                "text": "Who or what asserted this about a role over a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "role-assignments-q03",
                                                "text": "What may an agent decide or do once a role over a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "ownership-and-accountability",
                                "name": "Ownership and accountability",
                                "description": "Who answers for a software developer and who may decide about it.",
                                "findings": [
                                    {
                                        "id": "accountability",
                                        "name": "Accountability and decision rights",
                                        "description": "Where responsibility for a software developer sits when something goes wrong.",
                                        "questions": [
                                            {
                                                "id": "accountability-q01",
                                                "text": "What identifies and describes responsibility for a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "accountability-q02",
                                                "text": "Who or what asserted this about responsibility for a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "accountability-q03",
                                                "text": "What may an agent decide or do once responsibility for a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "competence-and-licence",
                        "name": "Competence, qualification and licence",
                        "description": "What someone must be able to do, and be permitted to do, as software developer.",
                        "rationale": "The permission is jurisdictional and the competence is not, and conflating them is how an agent concludes someone may practise when they may not.",
                        "layers": [
                            {
                                "id": "competences",
                                "name": "Competences and qualifications",
                                "description": "Skills and credentials the role assumes.",
                                "findings": [
                                    {
                                        "id": "qualification-record",
                                        "name": "Qualifications and how they are evidenced",
                                        "description": "What counts as qualified, and what proves it.",
                                        "questions": [
                                            {
                                                "id": "qualification-record-q01",
                                                "text": "What competences and qualifications does software developer require, and how is each evidenced?",
                                                "kind": "definition"
                                            },
                                            {
                                                "id": "qualification-record-q02",
                                                "text": "Which qualifications transfer between jurisdictions and which do not?",
                                                "kind": "boundary"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "licensing",
                                "name": "Licensing and the right to practise",
                                "description": "Who grants permission, where it holds, and when it lapses.",
                                "findings": [
                                    {
                                        "id": "licence-record",
                                        "name": "Licence, issuer and validity",
                                        "description": "The permission, its issuer, its territory and its expiry.",
                                        "questions": [
                                            {
                                                "id": "licence-record-q01",
                                                "text": "Who licenses software developer, in which territory, and for how long?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "id": "licence-record-q02",
                                                "text": "What may an unlicensed person not do, and what must an agent refuse to assume?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "tasks-and-accountability",
                        "name": "Tasks, employment and accountability",
                        "description": "What software developer actually does and who answers for it.",
                        "rationale": "A role is filled by people under an arrangement, and the arrangement decides liability, supervision and who may instruct whom.",
                        "layers": [
                            {
                                "id": "tasks",
                                "name": "Tasks and typical duties",
                                "description": "The work itself, and how it differs by setting.",
                                "findings": [
                                    {
                                        "id": "duty-record",
                                        "name": "Duties and setting",
                                        "description": "What the role does and where the work varies.",
                                        "questions": [
                                            {
                                                "id": "duty-record-q01",
                                                "text": "What tasks define software developer, and how do they differ between settings or seniority?",
                                                "kind": "definition"
                                            },
                                            {
                                                "id": "duty-record-q02",
                                                "text": "Which tasks may only be done by this role, and which are shared with neighbouring roles?",
                                                "kind": "boundary"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "accountability",
                                "name": "Employment and accountability",
                                "description": "The relation under which the work is done and where responsibility sits.",
                                "findings": [
                                    {
                                        "id": "responsibility",
                                        "name": "Responsibility and supervision",
                                        "description": "Who instructs, who supervises, who is liable.",
                                        "questions": [
                                            {
                                                "id": "responsibility-q01",
                                                "text": "Under what arrangement does someone act as software developer, and who supervises or is liable?",
                                                "kind": "definition"
                                            },
                                            {
                                                "id": "responsibility-q02",
                                                "text": "When something goes wrong, what does the model need to have recorded to answer who was responsible?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "provenance-and-evidence",
                        "name": "Provenance, evidence and time",
                        "description": "Where every claim about a software developer came from and when it held.",
                        "rationale": "A claim without a source and a time cannot be superseded, only overwritten, and an agent that overwrites loses the ability to explain itself.",
                        "layers": [
                            {
                                "id": "source-and-authority",
                                "name": "Source and authority",
                                "description": "Who said it, on what evidence, and how strongly.",
                                "findings": [
                                    {
                                        "id": "claim-provenance",
                                        "name": "Claim provenance and confidence",
                                        "description": "The authority behind each claim about a software developer and how confident it is.",
                                        "questions": [
                                            {
                                                "id": "claim-provenance-q01",
                                                "text": "What identifies and describes a claim about a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "claim-provenance-q02",
                                                "text": "Who or what asserted this about a claim about a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "claim-provenance-q03",
                                                "text": "What may an agent decide or do once a claim about a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "time-and-versions",
                                "name": "Time, versions and supersession",
                                "description": "When a claim was true, when it was learnt, and what replaced it.",
                                "findings": [
                                    {
                                        "id": "validity-and-supersession",
                                        "name": "Validity period and supersession",
                                        "description": "How an old claim about a software developer is retired without being erased.",
                                        "questions": [
                                            {
                                                "id": "validity-and-supersession-q01",
                                                "text": "What identifies and describes the validity of a claim about a software developer, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "validity-and-supersession-q02",
                                                "text": "Who or what asserted this about the validity of a claim about a software developer, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "validity-and-supersession-q03",
                                                "text": "What may an agent decide or do once the validity of a claim about a software developer is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "statistics": {
                "bundles": 7,
                "layers": 14,
                "findings": 16,
                "questions": 44
            }
        }
    }
}