{
    "model": {
        "rank": 2043,
        "code": "thing-q40056",
        "model_id": "vr.tr.computer-program",
        "name": "computer program",
        "purpose": "Let an agent handle programs by function, version, platform, licence, security and provenance, and never help create or deploy malicious software.",
        "family": "Thing Registry",
        "category": "Information and virtual systems",
        "status": "research-draft",
        "kind": "thing",
        "plane": "INF",
        "domain": "INF.MED",
        "industry": "",
        "version": "",
        "url": "/models/thing/q40056/",
        "tier": 2,
        "score": 117,
        "payload": {
            "layer": "wikidata",
            "aliases": [
                "computer poker player",
                "cloud storage app",
                "virtual instrument",
                "ransomware",
                "Platforms Code",
                "ransomware as a service",
                "REvil",
                "Cursynth",
                "bitcoin wallet",
                "dating app",
                "social media app",
                "Vim plugin",
                "build tool",
                "convertor",
                "image optimization utility",
                "screen generator",
                "Wikibase tool",
                "malware",
                "loadable kernel module",
                "optical disc authoring software",
                "softcam",
                "software configuration manager",
                "anti-cheat software",
                "screensaver",
                "grayware",
                "Tawakkalna",
                "Neovim plugin",
                "emulator",
                "e-book reader software",
                "homebrew plug-in",
                "SPARQL engine",
                "enterprise content management system",
                "Wikidata tool",
                "cryptojacking malware",
                "banker trojan",
                "Winhound",
                "crimeware",
                "mobile virus",
                "computer infection",
                "Cyberpolice virus"
            ],
            "aliasCount": 567,
            "merged": 567,
            "knownIn": 117,
            "facets": null,
            "markers": [],
            "lexicalClass": "",
            "senseRank": null,
            "alsoRegisteredAs": null,
            "source": {
                "dataset": "wikidata",
                "item": "Q40056",
                "url": "https://www.wikidata.org/wiki/Q40056",
                "license": "CC0 1.0"
            }
        },
        "research": {
            "vercy": "1.0-draft",
            "publication": {
                "status": "research-draft",
                "adjudicationStatus": "unreviewed",
                "publishableCanonical": false,
                "generatedAt": "2026-09-11T05:48:14Z",
                "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": 1,
                "engine": "claude"
            },
            "metaModel": {
                "id": "THING-Q40056",
                "registryId": "vr.tr.computer-program",
                "name": "computer program",
                "version": "0.2.0-wave.1",
                "entryKind": "thing",
                "family": "Thing Registry",
                "domain": [
                    "INF.MED"
                ],
                "status": "research-draft"
            },
            "canonicalUrl": "https://ver.cy/models/thing/q40056/",
            "model": {
                "registry_id": "vr.tr.computer-program",
                "name": "computer program",
                "purpose": "Let an agent handle programs by function, version, platform, licence, security and provenance, and never help create or deploy malicious software.",
                "definition": "A set of instructions that a computer can execute to perform tasks, from applications and utilities to games, virtual instruments and malicious software such as ransomware.",
                "what_it_is_for": "Making computers do useful work.",
                "affordances": [
                    "install and run it",
                    "update and patch it",
                    "license it",
                    "audit its security"
                ],
                "distinguishing_features": [
                    "Executable instructions",
                    "Versioned and licensed",
                    "Security depends on provenance and updates",
                    "Malware is software used to harm"
                ],
                "appearance": "Files, app icons and interfaces; source code in text.",
                "visual_identification": [
                    "Name, version and publisher",
                    "Code signatures and checksums",
                    "Malware disguises itself as legitimate software"
                ],
                "physical_properties": [],
                "families_and_kinds": [
                    "applications",
                    "system software",
                    "games",
                    "virtual instruments and plug-ins",
                    "cloud services and apps",
                    "malware such as ransomware"
                ],
                "related_models": [
                    {
                        "relation": "runs on",
                        "target": "computer",
                        "why": "platform"
                    },
                    {
                        "relation": "is licensed under",
                        "target": "software licence",
                        "why": "rights"
                    },
                    {
                        "relation": "uses",
                        "target": "cryptographic key",
                        "why": "security"
                    },
                    {
                        "relation": "is a kind of",
                        "target": "work",
                        "why": "creative and technical work"
                    }
                ],
                "identifiers": [
                    {
                        "scheme": "package name and version",
                        "value_or_pattern": "semantic version",
                        "note": "identifies releases"
                    },
                    {
                        "scheme": "CPE name",
                        "value_or_pattern": "cpe:2.3 string",
                        "note": "vulnerability databases"
                    },
                    {
                        "scheme": "hash",
                        "value_or_pattern": "SHA-256",
                        "note": "file integrity"
                    }
                ],
                "standards_and_regulation": [
                    "EU Cyber Resilience Act",
                    "Copyright and software licences",
                    "Computer misuse law"
                ],
                "failure_modes_and_hazards": [
                    "Vulnerabilities and exploits",
                    "Malware and ransomware",
                    "Supply chain attacks",
                    "Licence violations"
                ],
                "in_scope": [],
                "out_of_scope": [],
                "characteristics": []
            },
            "sources": [],
            "structure": {
                "bundles": [
                    {
                        "id": "identity",
                        "name": "Identity",
                        "description": "Which program.",
                        "rationale": "Identity includes version.",
                        "layers": [
                            {
                                "id": "name",
                                "name": "Name and version",
                                "description": "Release.",
                                "findings": [
                                    {
                                        "id": "name-finding",
                                        "name": "Release",
                                        "description": "Name and version.",
                                        "questions": [
                                            {
                                                "text": "Which program and version is it?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Who publishes it?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "integrity",
                                "name": "Integrity",
                                "description": "Signatures and hashes.",
                                "findings": [
                                    {
                                        "id": "integrity-finding",
                                        "name": "Integrity",
                                        "description": "Integrity checks.",
                                        "questions": [
                                            {
                                                "text": "Is the download signed, and does the hash match?",
                                                "kind": "boundary"
                                            },
                                            {
                                                "text": "Is the source official?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "function",
                        "name": "Function",
                        "description": "What it does.",
                        "rationale": "Function decides use.",
                        "layers": [
                            {
                                "id": "purpose",
                                "name": "Purpose",
                                "description": "Features.",
                                "findings": [
                                    {
                                        "id": "purpose-finding",
                                        "name": "Purpose",
                                        "description": "What it does.",
                                        "questions": [
                                            {
                                                "text": "What does the program do?",
                                                "kind": "definition"
                                            },
                                            {
                                                "text": "On which platforms does it run?",
                                                "kind": "definition"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "data",
                                "name": "Data use",
                                "description": "Permissions and privacy.",
                                "findings": [
                                    {
                                        "id": "data-finding",
                                        "name": "Data",
                                        "description": "Data handling.",
                                        "questions": [
                                            {
                                                "text": "What data does it collect?",
                                                "kind": "boundary"
                                            },
                                            {
                                                "text": "What permissions does it need?",
                                                "kind": "boundary"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "security",
                        "name": "Security",
                        "description": "Vulnerabilities and malware.",
                        "rationale": "Security must be maintained.",
                        "layers": [
                            {
                                "id": "vulnerabilities",
                                "name": "Vulnerabilities",
                                "description": "Known issues.",
                                "findings": [
                                    {
                                        "id": "vulnerabilities-finding",
                                        "name": "Vulnerabilities",
                                        "description": "Known vulnerabilities.",
                                        "questions": [
                                            {
                                                "text": "Are there known vulnerabilities in this version?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "Is a patch available?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "malware",
                                "name": "Malware",
                                "description": "Harmful software.",
                                "findings": [
                                    {
                                        "id": "malware-finding",
                                        "name": "Malware",
                                        "description": "Malware limits.",
                                        "questions": [
                                            {
                                                "text": "Is the request about creating or deploying malware?",
                                                "kind": "boundary"
                                            },
                                            {
                                                "text": "How should the agent respond, for example with defensive guidance?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "licensing",
                        "name": "Licensing",
                        "description": "Rights.",
                        "rationale": "Licences govern use.",
                        "layers": [
                            {
                                "id": "licence",
                                "name": "Licence",
                                "description": "Terms.",
                                "findings": [
                                    {
                                        "id": "licence-finding",
                                        "name": "Licence",
                                        "description": "Licence terms.",
                                        "questions": [
                                            {
                                                "text": "Under which licence is it distributed?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "text": "What does the licence allow?",
                                                "kind": "boundary"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "support",
                                "name": "Support",
                                "description": "Maintenance.",
                                "findings": [
                                    {
                                        "id": "support-finding",
                                        "name": "Support",
                                        "description": "Support status.",
                                        "questions": [
                                            {
                                                "text": "Is the program still supported?",
                                                "kind": "boundary"
                                            },
                                            {
                                                "text": "When does support end?",
                                                "kind": "measurement"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "openQuestions": [
                "Should software types be separate entries?",
                "How should versions and vulnerabilities be linked?",
                "How should agents refuse malware requests consistently?"
            ],
            "statistics": {
                "bundles": 4,
                "layers": 8,
                "findings": 8,
                "questions": 16
            }
        },
        "draft": {
            "generator": "vr.draft.v3",
            "status": "draft-generated",
            "researched": false,
            "archetype": "work, medium or creative form",
            "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 computer program, record what state it is in, and decide what may be done with it.",
            "whatItIs": "Let an agent handle programs by function, version, platform, licence, security and provenance, and never help create or deploy malicious software.",
            "characteristics": {
                "substance": "information",
                "origin": "conceptual",
                "agency": "inert"
            },
            "whatYouCanDoWithIt": [
                "read and interpreted",
                "observed and measured"
            ],
            "distinguishingFeatures": [
                "Names folded into this entry, which a task may need to split apart again: computer poker player, cloud storage app, virtual instrument, ransomware, Platforms Code, ransomware as a service, REvil, Cursynth, bitcoin wallet, dating app, social media app, Vim plugin.",
                "567 finer distinctions are held as aliases rather than separate entries, because telling them apart needs a task that asks for it.",
                "Described in 117 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 computer program, and on what evidence are they told apart?"
            ],
            "whatItIsMadeOf": "content that has to be carried by something else",
            "physicalCharacter": [
                "Does nothing on its own; everything it does, something else did to it.",
                "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": [
                "read it and act on what it says",
                "observe it, measure it, record its state"
            ],
            "howItIsRecognised": [
                "What is seen is a copy or a performance, not the work. Recognising the work means recognising the content through whatever is carrying it."
            ],
            "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": [
                        "computer poker player",
                        "cloud storage app",
                        "virtual instrument",
                        "ransomware",
                        "Platforms Code",
                        "ransomware as a service",
                        "REvil",
                        "Cursynth",
                        "bitcoin wallet",
                        "dating app",
                        "social media app",
                        "Vim plugin"
                    ]
                }
            ],
            "standing": "Described in 117 Wikipedia languages, which measures how widely it is written about rather than how important or how common it is. 567 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 computer program from another, and a computer program 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 computer program, 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 computer program, 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 computer program 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 computer program, 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 computer program, 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 computer program 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 computer program 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 computer program, 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 computer program, 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 computer program 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 computer program from the things most often confused with it.",
                                        "questions": [
                                            {
                                                "id": "distinguishing-features-q01",
                                                "text": "What identifies and describes what distinguishes a computer program, 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 computer program, 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 computer program 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 computer program 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 computer program between them.",
                                        "questions": [
                                            {
                                                "id": "stages-and-transitions-q01",
                                                "text": "What identifies and describes the lifecycle of a computer program, 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 computer program, 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 computer program 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 computer program, how often and by whom.",
                                "findings": [
                                    {
                                        "id": "observation-record",
                                        "name": "Observation record",
                                        "description": "How an observation of a computer program 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 computer program, 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 computer program, 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 computer program is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "content-and-access",
                        "name": "Content, encoding and access",
                        "description": "What a computer program says, how it is encoded and who may read it.",
                        "rationale": "An informational thing carries content that can be copied, versioned and withheld, none of which its physical carrier explains.",
                        "layers": [
                            {
                                "id": "content-and-encoding",
                                "name": "Content and encoding",
                                "description": "The content itself, its format and its language.",
                                "findings": [
                                    {
                                        "id": "content-and-format",
                                        "name": "Content, format and language",
                                        "description": "What a computer program contains and in what form it is held.",
                                        "questions": [
                                            {
                                                "id": "content-and-format-q01",
                                                "text": "What identifies and describes the content of a computer program, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "content-and-format-q02",
                                                "text": "Who or what asserted this about the content of a computer program, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "content-and-format-q03",
                                                "text": "What may an agent decide or do once the content of a computer program is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "access-and-rights",
                                "name": "Access, rights and retention",
                                "description": "Who may read, copy or change it, and for how long it is kept.",
                                "findings": [
                                    {
                                        "id": "access-rules",
                                        "name": "Access rules and retention",
                                        "description": "The permissions attached to a computer program and the period it survives.",
                                        "questions": [
                                            {
                                                "id": "access-rules-q01",
                                                "text": "What identifies and describes access to a computer program, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "access-rules-q02",
                                                "text": "Who or what asserted this about access to a computer program, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "access-rules-q03",
                                                "text": "What may an agent decide or do once access to a computer program is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "work-and-manifestation",
                        "name": "Work, version and copy",
                        "description": "Which level of computer program a statement is about.",
                        "rationale": "The work, the edition, the file and the copy in hand are four things; rights and content attach to different ones.",
                        "layers": [
                            {
                                "id": "levels",
                                "name": "Levels of the thing",
                                "description": "Work, expression, manifestation and item, in plain terms.",
                                "findings": [
                                    {
                                        "id": "level-rules",
                                        "name": "What belongs at each level",
                                        "description": "Which facts hold for the work and which only for one copy.",
                                        "questions": [
                                            {
                                                "id": "level-rules-q01",
                                                "text": "For computer program, which facts belong to the work itself, which to a version, and which to a single copy?",
                                                "kind": "boundary"
                                            },
                                            {
                                                "id": "level-rules-q02",
                                                "text": "What identifier exists at each level, and which one is being cited?",
                                                "kind": "definition"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "versions",
                                "name": "Versions, editions and variants",
                                "description": "How versions differ and which is canonical to whom.",
                                "findings": [
                                    {
                                        "id": "version-record",
                                        "name": "Versions and canonicity",
                                        "description": "Differences that matter and who calls one authoritative.",
                                        "questions": [
                                            {
                                                "id": "version-record-q01",
                                                "text": "Which versions or editions of computer program exist, and how do they differ substantively?",
                                                "kind": "definition"
                                            },
                                            {
                                                "id": "version-record-q02",
                                                "text": "Who treats which version as authoritative, and for what purpose?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "authorship-and-rights",
                        "name": "Authorship, rights and permitted use",
                        "description": "Who made computer program and what may be done with it.",
                        "rationale": "Rights are jurisdictional, time-limited and attached to a level, and an agent that ignores that will copy what it may not.",
                        "layers": [
                            {
                                "id": "authorship",
                                "name": "Authorship and contribution",
                                "description": "Who contributed what, and in what capacity.",
                                "findings": [
                                    {
                                        "id": "contribution-record",
                                        "name": "Contributors and roles",
                                        "description": "The people and bodies behind it, with their roles.",
                                        "questions": [
                                            {
                                                "id": "contribution-record-q01",
                                                "text": "Who authored or contributed to computer program, in what roles, and how is that attested?",
                                                "kind": "provenance"
                                            },
                                            {
                                                "id": "contribution-record-q02",
                                                "text": "Where authorship is disputed or anonymous, what is recorded instead?",
                                                "kind": "boundary"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "rights",
                                "name": "Rights and permissions",
                                "description": "Which rights subsist, where, until when, and what they permit.",
                                "findings": [
                                    {
                                        "id": "rights-record",
                                        "name": "Rights, term and permitted acts",
                                        "description": "The regime in force and what it allows.",
                                        "questions": [
                                            {
                                                "id": "rights-record-q01",
                                                "text": "What rights subsist in computer program, in which jurisdictions, and until when?",
                                                "kind": "definition"
                                            },
                                            {
                                                "id": "rights-record-q02",
                                                "text": "Which acts are permitted without further permission, and which must an agent refuse?",
                                                "kind": "action"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "provenance-and-evidence",
                        "name": "Provenance, evidence and time",
                        "description": "Where every claim about a computer program 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 computer program and how confident it is.",
                                        "questions": [
                                            {
                                                "id": "claim-provenance-q01",
                                                "text": "What identifies and describes a claim about a computer program, 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 computer program, 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 computer program 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 computer program is retired without being erased.",
                                        "questions": [
                                            {
                                                "id": "validity-and-supersession-q01",
                                                "text": "What identifies and describes the validity of a claim about a computer program, 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 computer program, 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 computer program is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "statistics": {
                "bundles": 6,
                "layers": 12,
                "findings": 14,
                "questions": 38
            }
        }
    }
}