{
    "model": {
        "rank": 6027,
        "code": "thing-program-communication",
        "model_id": "vr.tr.program-communication",
        "name": "program",
        "purpose": "(computer science) a sequence of instructions that a computer can interpret and execute",
        "family": "Thing Registry",
        "category": "Information and virtual systems",
        "status": "research-draft",
        "kind": "thing",
        "plane": "INF",
        "domain": "INF.MED",
        "industry": "",
        "version": "",
        "url": "/models/thing/program-communication/",
        "tier": 2,
        "score": 63,
        "payload": {
            "layer": "wordnet",
            "aliases": [
                "programme",
                "computer program",
                "computer programme",
                "anti-virus program",
                "application",
                "application program",
                "applications programme",
                "active application",
                "applet",
                "frame",
                "binary",
                "binary program",
                "browser",
                "web browser",
                "lynx",
                "natural language processor",
                "natural language processing application",
                "disambiguator",
                "word processor",
                "word processing system",
                "loop",
                "malevolent program",
                "patch",
                "assembler",
                "assembly program",
                "checking program",
                "compiler",
                "compiling program",
                "debugger",
                "driver",
                "device driver",
                "diagnostic program",
                "editor program",
                "editor",
                "input program",
                "interface",
                "user interface",
                "command line interface",
                "CLI",
                "graphical user interface"
            ],
            "aliasCount": 96,
            "merged": 63,
            "knownIn": 0,
            "facets": {
                "substance": "information",
                "origin": "conceptual",
                "agency": "operable",
                "mobility": "not-applicable",
                "scale": "not-applicable",
                "affordances": [
                    "operable",
                    "readable"
                ]
            },
            "markers": [
                "software"
            ],
            "lexicalClass": "noun.communication",
            "senseRank": 6,
            "alsoRegisteredAs": null,
            "source": {
                "dataset": "oewn:2024",
                "synset": "oewn-06581154-n",
                "ili": "i70974",
                "license": "CC BY 4.0"
            }
        },
        "research": {
            "vercy": "1.0-draft",
            "publication": {
                "status": "research-draft",
                "adjudicationStatus": "unreviewed",
                "publishableCanonical": false,
                "generatedAt": "2026-09-07T11:03:35Z",
                "providers": [
                    "Codex",
                    "Grok"
                ],
                "missingProviders": [],
                "pass": 2,
                "cost": {
                    "grok": {
                        "usd": 0.01133594,
                        "turns": 1,
                        "seconds": 120.2,
                        "error": null
                    },
                    "codex": {
                        "seconds": 75.3,
                        "error": "Reading additional input from stdin...\nOpenAI Codex v0.153.3\n--------\nworkdir: R:\\02_PROJECTS\\02_Meta_Models_Platforms\\Ver.cy\\current\\thing-registry-backlog\nmodel: gpt-6-astra\nprovider: openai\napproval: never\nsandbox: read-only\nreasoning effort: none\nreasoning summaries: none\nsession id: 01a07b85-b813-7161-8a93-4d946102b5cd\n--------\nuser\nYou are drafting a Vercy meta-model for one registered thing. Answer as JSON only, no prose around it.\n\nThing: program\nRegistry id: vr.tr.program-communication\nPlane / domain: INF / INF.MED\nRegistry definition: (computer science) a sequence of instructions tha"
                    }
                }
            },
            "metaModel": {
                "id": "THING-PROGRAM-COMMUNICATION",
                "registryId": "vr.tr.program-communication",
                "name": "program",
                "version": "0.1.0-research.1",
                "entryKind": "thing",
                "family": "Thing Registry",
                "domain": [
                    "INF.MED"
                ],
                "status": "research-draft"
            },
            "canonicalUrl": "https://ver.cy/models/thing/program-communication/",
            "model": {
                "registry_id": "vr.tr.program-communication",
                "name": "program",
                "purpose": "Enable an AI agent to recognise a computer program, assess whether its instructions can achieve an intended result in a given environment, and determine which execution or modification actions are justified.",
                "definition": "A computer program is a finite, ordered body of instructions together with any associated data definitions, expressed in a programming language or in machine code, that a processor or language processor can interpret or execute in order to perform a specified computation or to control a digital process.",
                "scope_statement": "This model owns the program as an identifiable sequence of computer-interpretable instructions, including its intended behaviour, execution requirements, possible effects, revision identity and evidence of fitness for use.",
                "in_scope": [
                    "Instruction content, representation and program boundaries",
                    "Intended behaviour, inputs, outputs and observable effects",
                    "Execution entry points, dependencies and environmental requirements",
                    "Conditions governing execution, failure and resource use",
                    "Revision identity and evidence supporting execution or modification decisions"
                ],
                "out_of_scope": [
                    "A running process's current memory, scheduling and resource allocations",
                    "The computer or virtual machine that executes instructions",
                    "Programming languages and their general semantics",
                    "A software product's commercial packaging, roadmap and support organisation",
                    "Datasets consumed or produced by the program as independently managed things",
                    "Broadcast programmes, event programmes and organisational programmes"
                ],
                "distinguishing_features": [
                    "Its content has an instruction interpretation for an identified computer execution mechanism; ordinary prose describing an algorithm does not by itself meet this test.",
                    "It can remain the same program artifact across multiple executions; a process denotes a particular running instance.",
                    "It expresses a computation through instructions, whereas a dataset supplies values unless an execution mechanism explicitly interprets those values as instructions.",
                    "Its instruction boundary can be identified within a package or product; the enclosing distribution may also contain documentation, data and multiple programs.",
                    "It has an identifiable execution or invocation route, which may require an interpreter, compilation, linking or a host rather than a standalone executable file."
                ],
                "characteristics": [
                    {
                        "name": "Instruction representation",
                        "kind": "category",
                        "unit_or_values": "Source text, bytecode, machine code, mixed representation, other specified representation or unknown",
                        "why_it_matters": "Determines how instructions can be inspected and what preparation they require before execution."
                    },
                    {
                        "name": "Revision identity",
                        "kind": "relation",
                        "unit_or_values": "Association with an exact source revision or artifact digest, with any human-readable version label",
                        "why_it_matters": "Binds behavioural and safety evidence to the instructions actually being considered."
                    },
                    {
                        "name": "Execution mechanism",
                        "kind": "relation",
                        "unit_or_values": "Identified processor architecture, interpreter, virtual machine or host, including relevant versions",
                        "why_it_matters": "Establishes which mechanism assigns executable meaning to the instructions."
                    },
                    {
                        "name": "Invocation form",
                        "kind": "category",
                        "unit_or_values": "Command invocation, hosted invocation, event callback, continuous execution or other specified form",
                        "why_it_matters": "Identifies how execution begins and how inputs and completion are exposed."
                    },
                    {
                        "name": "Execution readiness",
                        "kind": "state",
                        "unit_or_values": "Unknown, preparation required, blocked, ready for a specified environment or incompatible",
                        "why_it_matters": "Separates possession of instructions from having the prerequisites needed to execute them."
                    },
                    {
                        "name": "Effect surface",
                        "kind": "category",
                        "unit_or_values": "Declared and observed effects on files, networks, persistent stores, devices, subprocesses and external services",
                        "why_it_matters": "Supports containment, permission and reversibility decisions."
                    },
                    {
                        "name": "Required authority",
                        "kind": "relation",
                        "unit_or_values": "Required permissions, credentials and capabilities scoped to operations and resources",
                        "why_it_matters": "Allows an agent to assess whether execution is authorised and whether privileges can be restricted."
                    },
                    {
                        "name": "Observed resource demand",
                        "kind": "measurement",
                        "unit_or_values": "Elapsed seconds, processor seconds, peak memory bytes and I/O bytes for a stated workload and environment",
                        "why_it_matters": "Supports capacity and limit decisions without treating one measurement as a universal bound."
                    },
                    {
                        "name": "Behavioural verification status",
                        "kind": "state",
                        "unit_or_values": "Unassessed, evidence supports specified claims, conflicting evidence or known failure, scoped to revision and environment",
                        "why_it_matters": "Prevents successful execution or isolated tests from being mistaken for general correctness."
                    }
                ],
                "affordances": [
                    "Inspect instructions and identify their execution boundaries and entry points.",
                    "Check whether a specified environment satisfies preparation and runtime requirements.",
                    "Prepare an executable form through the applicable compilation, linking or interpretation route.",
                    "Execute under authorised permissions and explicit containment and resource limits.",
                    "Test observable behaviour against stated expectations and record failures.",
                    "Compare or modify revisions and determine which existing evidence must be renewed."
                ]
            },
            "sources": [
                {
                    "id": "ieee-610.12",
                    "title": "IEEE Standard Glossary of Software Engineering Terminology (IEEE Std 610.12-1990)",
                    "url": "",
                    "what_it_supports": "Classic engineering definition of a computer program as instructions plus data definitions that enable hardware to perform computational or control functions; later folded into ISO/IEC/IEEE 24765."
                },
                {
                    "id": "iso-24765",
                    "title": "Systems and software engineering - Vocabulary (ISO/IEC/IEEE 24765)",
                    "url": "",
                    "what_it_supports": "Current consensus vocabulary for program, software, and related software-engineering terms used in the kinds, neighbours, and standards fields."
                },
                {
                    "id": "iso-2382",
                    "title": "Information technology - Vocabulary (ISO/IEC 2382)",
                    "url": "",
                    "what_it_supports": "IT vocabulary treating a program as a syntactic unit of a programming language composed of the declarations and statements needed to perform a function or solve a problem."
                },
                {
                    "id": "eu-2009-24",
                    "title": "Directive 2009/24/EC on the legal protection of computer programs",
                    "url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32009L0024",
                    "what_it_supports": "EU legal characterisation of a computer program as a literary work (including preparatory design material) and the copyright regime that governs it in the Union.",
                    "url_status": "live"
                },
                {
                    "id": "wikidata-q40056",
                    "title": "Wikidata item Q40056 (computer program)",
                    "url": "https://www.wikidata.org/wiki/Q40056",
                    "what_it_supports": "Stable public identifier and alias set for the computer-science sense of program.",
                    "url_status": "live"
                }
            ],
            "structure": {
                "bundles": [
                    {
                        "id": "instruction-identity",
                        "name": "Instruction identity",
                        "description": "Identifies which instructions constitute the program and how their executable meaning is established.",
                        "rationale": "An agent must distinguish the program from its packaging, supporting data and individual executions before attaching claims to it.",
                        "layers": [
                            {
                                "id": "program-boundary",
                                "name": "Program boundary",
                                "description": "Locates the instruction sequence and its included components.",
                                "findings": [
                                    {
                                        "id": "instruction-membership",
                                        "name": "Instruction membership",
                                        "description": "Records the artifacts or instruction regions treated as this program and the basis for including them.",
                                        "questions": [
                                            {
                                                "text": "Which files, modules or instruction regions constitute this program?",
                                                "kind": "definition",
                                                "id": "instruction-membership-q01"
                                            },
                                            {
                                                "text": "Which adjacent resources are separate programs, libraries, configuration or input data?",
                                                "kind": "boundary",
                                                "id": "instruction-membership-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "instruction-interpretation",
                                "name": "Instruction interpretation",
                                "description": "Establishes the representation and mechanism that give the instructions computational meaning.",
                                "findings": [
                                    {
                                        "id": "execution-semantics",
                                        "name": "Execution semantics",
                                        "description": "Records the language, instruction format and execution mechanism on which interpretation depends.",
                                        "questions": [
                                            {
                                                "text": "What language or instruction format expresses the program, and which execution mechanism interprets it?",
                                                "kind": "definition",
                                                "id": "execution-semantics-q01"
                                            },
                                            {
                                                "text": "Which version-specific or implementation-specific behaviours could change the meaning of these instructions?",
                                                "kind": "boundary",
                                                "id": "execution-semantics-q02"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "behavioural-contract",
                        "name": "Behavioural contract",
                        "description": "Describes the computation the program is intended to perform and the observations that would support that claim.",
                        "rationale": "A program's state cannot be judged from executability alone; the agent needs expectations against which its behaviour can be assessed.",
                        "layers": [
                            {
                                "id": "invocation-and-inputs",
                                "name": "Invocation and inputs",
                                "description": "Defines how the program starts and which supplied or ambient values influence its computation.",
                                "findings": [
                                    {
                                        "id": "entry-and-preconditions",
                                        "name": "Entry and preconditions",
                                        "description": "Records callable entry points, input meanings and conditions required for an invocation to be valid.",
                                        "questions": [
                                            {
                                                "text": "Through which entry points is the program invoked, and what arguments, streams, events or ambient state does each consume?",
                                                "kind": "definition",
                                                "id": "entry-and-preconditions-q01"
                                            },
                                            {
                                                "text": "Which input constraints and preconditions separate supported invocations from invalid or unspecified cases?",
                                                "kind": "boundary",
                                                "id": "entry-and-preconditions-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "results-and-completion",
                                "name": "Results and completion",
                                "description": "Defines expected observations and the meaning of success, failure or continued operation.",
                                "findings": [
                                    {
                                        "id": "observable-outcomes",
                                        "name": "Observable outcomes",
                                        "description": "Records expected outputs, persistent effects and completion conditions, including permitted variability.",
                                        "questions": [
                                            {
                                                "text": "Which outputs and state changes constitute the intended result for a valid invocation?",
                                                "kind": "definition",
                                                "id": "observable-outcomes-q01"
                                            },
                                            {
                                                "text": "How are success, failure and intentional continued operation distinguished, and what outcome variability is permitted?",
                                                "kind": "measurement",
                                                "id": "observable-outcomes-q02"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "execution-feasibility",
                        "name": "Execution feasibility",
                        "description": "Captures the prerequisites and operating limits under which the program can run.",
                        "rationale": "Instructions may be valid yet unusable because preparation steps, dependencies or execution capacity are missing.",
                        "layers": [
                            {
                                "id": "preparation-and-dependencies",
                                "name": "Preparation and dependencies",
                                "description": "Connects the available instruction artifacts to an executable form and a compatible environment.",
                                "findings": [
                                    {
                                        "id": "execution-prerequisites",
                                        "name": "Execution prerequisites",
                                        "description": "Records necessary transformations, dependency versions and platform requirements.",
                                        "questions": [
                                            {
                                                "text": "What compilation, linking, generation or loading steps are required before these instructions can execute?",
                                                "kind": "action",
                                                "id": "execution-prerequisites-q01"
                                            },
                                            {
                                                "text": "Which runtime components, dependency versions, platform features and external services are required for the proposed use?",
                                                "kind": "boundary",
                                                "id": "execution-prerequisites-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "resource-and-progress-conditions",
                                "name": "Resource and progress conditions",
                                "description": "Captures resource demand and expectations about progress for specified workloads.",
                                "findings": [
                                    {
                                        "id": "operating-envelope",
                                        "name": "Operating envelope",
                                        "description": "Records measured consumption, configured limits and known conditions for blocking, exhaustion or nontermination.",
                                        "questions": [
                                            {
                                                "text": "What time, memory and I/O consumption has been measured, for which workloads and execution environments?",
                                                "kind": "measurement",
                                                "id": "operating-envelope-q01"
                                            },
                                            {
                                                "text": "What evidence supports progress or termination expectations, and what timeout or cancellation action is appropriate when those expectations fail?",
                                                "kind": "action",
                                                "id": "operating-envelope-q02"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "effects-and-execution-control",
                        "name": "Effects and execution control",
                        "description": "Makes the program's access requirements and consequences usable in execution decisions.",
                        "rationale": "Executing instructions can alter external state, so an agent needs to understand authority, containment and recovery before running them.",
                        "layers": [
                            {
                                "id": "access-and-side-effects",
                                "name": "Access and side effects",
                                "description": "Identifies resources the program can access and operations it may perform.",
                                "findings": [
                                    {
                                        "id": "authority-effect-map",
                                        "name": "Authority and effect map",
                                        "description": "Connects required capabilities to expected or observed operations on external resources.",
                                        "questions": [
                                            {
                                                "text": "Which files, network destinations, stores, devices or subprocesses can the program read, create, change or invoke?",
                                                "kind": "boundary",
                                                "id": "authority-effect-map-q01"
                                            },
                                            {
                                                "text": "Which permissions and credentials are needed for the intended operation, and can execution use narrower authority?",
                                                "kind": "action",
                                                "id": "authority-effect-map-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "containment-and-recovery",
                                "name": "Containment and recovery",
                                "description": "Describes controls for limiting effects and handling interruption or partial completion.",
                                "findings": [
                                    {
                                        "id": "controlled-execution",
                                        "name": "Controlled execution",
                                        "description": "Records applicable isolation, interruption, retry and compensation conditions.",
                                        "questions": [
                                            {
                                                "text": "Which sandbox, dry-run mode or resource restrictions can constrain this execution while preserving its intended behaviour?",
                                                "kind": "action",
                                                "id": "controlled-execution-q01"
                                            },
                                            {
                                                "text": "If execution fails or is interrupted after partial effects, what can be rolled back, compensated or safely retried?",
                                                "kind": "action",
                                                "id": "controlled-execution-q02"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "revision-and-behavioural-evidence",
                        "name": "Revision and behavioural evidence",
                        "description": "Binds program identity and change history to evidence about actual behaviour.",
                        "rationale": "Trust in one revision or environment does not automatically transfer to another, and an agent must know which claims remain supported.",
                        "layers": [
                            {
                                "id": "artifact-lineage",
                                "name": "Artifact lineage",
                                "description": "Identifies the exact instruction artifacts and their relationship to source and transformations.",
                                "findings": [
                                    {
                                        "id": "source-to-executable-trace",
                                        "name": "Source-to-executable trace",
                                        "description": "Records revision identifiers, artifact digests and available evidence connecting source to executable content.",
                                        "questions": [
                                            {
                                                "text": "Which revision identifiers or digests identify the instructions being inspected and the artifact proposed for execution?",
                                                "kind": "provenance",
                                                "id": "source-to-executable-trace-q01"
                                            },
                                            {
                                                "text": "What evidence connects the executable artifact to its claimed source, build inputs and transformation process?",
                                                "kind": "provenance",
                                                "id": "source-to-executable-trace-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "verification-and-change-impact",
                                "name": "Verification and change impact",
                                "description": "Tracks supported behavioural claims, known defects and the implications of instruction changes.",
                                "findings": [
                                    {
                                        "id": "claim-evidence-coverage",
                                        "name": "Claim and evidence coverage",
                                        "description": "Associates behavioural expectations with tests, analyses or observations and identifies where changes require renewed assessment.",
                                        "questions": [
                                            {
                                                "text": "Which tests, analyses or execution observations support each behavioural claim, and which revisions, inputs and environments do they cover?",
                                                "kind": "provenance",
                                                "id": "claim-evidence-coverage-q01"
                                            },
                                            {
                                                "text": "Given known defects or a proposed instruction change, which uses should be restricted and which checks must be repeated?",
                                                "kind": "action",
                                                "id": "claim-evidence-coverage-q02"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "evidence-and-external-alignment",
                        "name": "Evidence and external alignment",
                        "description": "What the world already says about this thing, gathered so the model can be checked against it.",
                        "rationale": "A model that cannot be lined up against existing standards, identifiers and practice cannot be adopted by anyone who already uses them.",
                        "layers": [
                            {
                                "id": "reported-evidence",
                                "name": "Reported evidence",
                                "description": "Findings from the breadth pass, kept separate from the structural claims.",
                                "findings": [
                                    {
                                        "id": "evidence-kinds",
                                        "name": "Kinds and varieties",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            "source program",
                                            "object or executable (binary) program",
                                            "application program",
                                            "system program (kernel, driver, utility)",
                                            "script (interpreted automation or glue)",
                                            "firmware",
                                            "embedded or real-time program",
                                            "concurrent or distributed program"
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-kinds-q01",
                                                "text": "Which of these kinds and varieties hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    },
                                    {
                                        "id": "evidence-identifiers",
                                        "name": "Identifiers and schemes",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            {
                                                "scheme": "Wikidata",
                                                "value_or_pattern": "Q40056",
                                                "note": "Item for computer program in the computer-science sense."
                                            },
                                            {
                                                "scheme": "CPE 2.3",
                                                "value_or_pattern": "cpe:2.3:a:<vendor>:<product>:<version>:*:*:*:*:*:*:*",
                                                "note": "NIST Common Platform Enumeration for named application programs as products."
                                            },
                                            {
                                                "scheme": "Package URL (PURL)",
                                                "value_or_pattern": "pkg:<type>/<namespace>/<name>@<version>",
                                                "note": "Cross-ecosystem locator for packaged programs and libraries (npm, Maven, PyPI, and others)."
                                            },
                                            {
                                                "scheme": "Software Heritage SWHID",
                                                "value_or_pattern": "swh:1:(cnt|dir|rev|rel|snp):<hash>",
                                                "note": "Content-addressed identifier for source artifacts of programs archived by Software Heritage."
                                            }
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-identifiers-q01",
                                                "text": "Which of these identifiers and schemes hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    },
                                    {
                                        "id": "evidence-standards-and-regulation",
                                        "name": "Standards and regulation",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            "ISO/IEC 2382 Information technology - Vocabulary (ISO/IEC)",
                                            "ISO/IEC/IEEE 24765 Systems and software engineering - Vocabulary (ISO, IEC, IEEE)",
                                            "ISO/IEC 12207 Software life cycle processes (ISO/IEC)",
                                            "ISO/IEC 25010 Systems and software Quality Requirements and Evaluation - product quality model (ISO/IEC)",
                                            "Directive 2009/24/EC on the legal protection of computer programs (European Union)",
                                            "Berne Convention for the Protection of Literary and Artistic Works, as applied to software as a literary work (WIPO)",
                                            "IEC 61508 Functional safety of electrical/electronic/programmable electronic safety-related systems (IEC), for safety-related programs"
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-standards-and-regulation-q01",
                                                "text": "Which of these standards and regulation hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    },
                                    {
                                        "id": "evidence-real-world-use",
                                        "name": "Real-world use",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            "Installed and launched as applications on phones, desktops, and servers.",
                                            "Built from source in continuous-integration pipelines and shipped as binaries, packages, or container images.",
                                            "Loaded by an operating system as one or more processes with an entry point.",
                                            "Resident in non-volatile memory of microcontrollers in vehicles, appliances, and medical devices.",
                                            "Run as long-lived network services behind APIs.",
                                            "Published as source repositories that others clone, fork, and rebuild."
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-real-world-use-q01",
                                                "text": "Which of these real-world use hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    },
                                    {
                                        "id": "evidence-measurements",
                                        "name": "Typical measurements",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            {
                                                "quantity": "source size (lines of code)",
                                                "typical_range": "10-10 000 000",
                                                "unit": "lines"
                                            },
                                            {
                                                "quantity": "installed binary size",
                                                "typical_range": "1 KiB-10 GiB",
                                                "unit": "bytes"
                                            },
                                            {
                                                "quantity": "cyclomatic complexity per routine",
                                                "typical_range": "1-50 typical; higher values are treated as a maintainability risk",
                                                "unit": "McCabe complexity"
                                            },
                                            {
                                                "quantity": "resident memory of a running instance",
                                                "typical_range": "tens of KiB (embedded) to several GiB (desktop/server applications)",
                                                "unit": "bytes"
                                            },
                                            {
                                                "quantity": "execution duration",
                                                "typical_range": "microseconds (short tools) to unbounded (services and embedded controllers)",
                                                "unit": "seconds"
                                            }
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-measurements-q01",
                                                "text": "Which of these typical measurements hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    },
                                    {
                                        "id": "evidence-failure-modes-and-hazards",
                                        "name": "Failure modes and hazards",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            "Defects that produce wrong results while the program still terminates.",
                                            "Abnormal termination (crash, unhandled exception, panic).",
                                            "Non-termination (infinite loop or deadlock).",
                                            "Resource leaks and exhaustion of memory, file handles, or other quotas.",
                                            "Security vulnerabilities in the program or its dependencies (injection, memory-safety errors, privilege escalation).",
                                            "Supply-chain compromise of source, build tools, or distributed binaries.",
                                            "Unsafe behaviour when the program is used to control physical processes (avionics, medical, industrial control).",
                                            "Malicious programs (malware) written to harm systems or data."
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-failure-modes-and-hazards-q01",
                                                "text": "Which of these failure modes and hazards hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    },
                                    {
                                        "id": "evidence-regional-variation",
                                        "name": "Regional variation",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            "In computing usage, both British and American English write program; British English reserves programme for events and broadcasts.",
                                            "Copyright is the default worldwide protection (Berne; EU Software Directive; national copyright acts); patentability of computer-implemented inventions differs sharply between the EPO and the USPTO.",
                                            "Some cryptographic and dual-use programs are export-controlled (for example US EAR and the Wassenaar Arrangement), so distribution practice is jurisdiction-dependent.",
                                            "Locale, character encoding, and decimal/date conventions change source text, identifiers, and the observable I/O of the same program."
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-regional-variation-q01",
                                                "text": "Which of these regional variation hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    },
                                    {
                                        "id": "evidence-neighbours",
                                        "name": "Neighbouring kinds and how to tell them apart",
                                        "description": "Reported by the breadth pass; each item needs checking against its source before it becomes normative.",
                                        "evidence": [
                                            {
                                                "name": "algorithm",
                                                "difference": "An algorithm is an abstract procedure independent of any particular encoding; a program is a concrete encoding that a machine can interpret or execute."
                                            },
                                            {
                                                "name": "software",
                                                "difference": "Software is the broader product (one or more programs plus data, configuration, and often documentation); a program is the instruction sequence itself."
                                            },
                                            {
                                                "name": "process",
                                                "difference": "A process is a running instance of a program with state and resources; the program is the static artifact from which that instance is created."
                                            },
                                            {
                                                "name": "library or module",
                                                "difference": "A library is reusable code meant to be called; it is a program only when it also has a standalone entry point that a machine can launch."
                                            },
                                            {
                                                "name": "script",
                                                "difference": "A script is a program written to be interpreted, often for automation; every script is a program, but compiled binaries and firmware are programs that are not scripts."
                                            },
                                            {
                                                "name": "firmware",
                                                "difference": "Firmware is a program stored in a device's non-volatile memory and bound to that hardware; not every program is firmware."
                                            },
                                            {
                                                "name": "source code",
                                                "difference": "Source code is the textual form of a program; the same program may also exist only as object code or as a loaded image."
                                            },
                                            {
                                                "name": "instruction",
                                                "difference": "An instruction is a single executable step; a program is a finite sequence of such steps (plus data definitions) that together specify a computation or control task."
                                            }
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-neighbours-q01",
                                                "text": "Which of these neighbouring kinds and how to tell them apart hold for the sense of program this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "openQuestions": [
                "Does the registry treat libraries, individual functions and hosted scripts as programs in their own right, or as components unless separately registered?",
                "What identity rule should relate source code, compiled artifacts and modified revisions to one program rather than separate registered things?",
                "Where should this registry place declarative queries, configuration with executable expressions and dynamically generated instructions at the program-data boundary?",
                "Which neighbouring models own dependency packages and running processes, and what references should connect them to this model?",
                "What evidence threshold should justify readiness for a particular use when dependencies, environmental behaviour or effects remain only partially characterised?"
            ],
            "statistics": {
                "bundles": 6,
                "layers": 11,
                "findings": 18,
                "questions": 28
            }
        },
        "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.",
            "facetsInferred": false,
            "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 program, record what state it is in, and decide what may be done with it.",
            "whatItIs": "(computer science) a sequence of instructions that a computer can interpret and execute",
            "characteristics": {
                "substance": "information",
                "origin": "conceptual",
                "agency": "operable"
            },
            "whatYouCanDoWithIt": [
                "operated or controlled",
                "read and interpreted"
            ],
            "distinguishingFeatures": [
                "Names folded into this entry, which a task may need to split apart again: programme, computer program, computer programme, anti-virus program, application, application program, applications programme, active application, applet, frame, binary, binary program.",
                "63 finer distinctions are held as aliases rather than separate entries, because telling them apart needs a task that asks for it."
            ],
            "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 program, and on what evidence are they told apart?"
            ],
            "whatItIsMadeOf": "content that has to be carried by something else",
            "physicalCharacter": [
                "Does something when operated, and nothing when not."
            ],
            "whatCanBeDoneWithIt": [
                "operate it, set it, turn it on and off",
                "read it and act on what it says"
            ],
            "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": [
                        "programme",
                        "computer program",
                        "computer programme",
                        "anti-virus program",
                        "application",
                        "application program",
                        "applications programme",
                        "active application",
                        "applet",
                        "frame",
                        "binary",
                        "binary program"
                    ]
                }
            ],
            "standing": "63 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 program from another, and a 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 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 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 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 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 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 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 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 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 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 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 program from the things most often confused with it.",
                                        "questions": [
                                            {
                                                "id": "distinguishing-features-q01",
                                                "text": "What identifies and describes what distinguishes a 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 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 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 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 program between them.",
                                        "questions": [
                                            {
                                                "id": "stages-and-transitions-q01",
                                                "text": "What identifies and describes the lifecycle of a 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 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 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 program, how often and by whom.",
                                "findings": [
                                    {
                                        "id": "observation-record",
                                        "name": "Observation record",
                                        "description": "How an observation of a 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 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 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 program is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "use-and-operation",
                        "name": "Use and operation",
                        "description": "What can be done with a program and what it takes to do it.",
                        "rationale": "An agent that can recognise a thing but not act on it has only half a model.",
                        "layers": [
                            {
                                "id": "intended-use",
                                "name": "Intended use and function",
                                "description": "What a program is for, and what it is used for anyway.",
                                "findings": [
                                    {
                                        "id": "function-and-purpose",
                                        "name": "Function, purpose and misuse",
                                        "description": "The function a program performs and the uses that fall outside it.",
                                        "questions": [
                                            {
                                                "id": "function-and-purpose-q01",
                                                "text": "What identifies and describes the use of a program, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "function-and-purpose-q02",
                                                "text": "Who or what asserted this about the use of a program, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "function-and-purpose-q03",
                                                "text": "What may an agent decide or do once the use of a program is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "handling-and-procedure",
                                "name": "Handling and procedure",
                                "description": "The steps, skills and tools involved in using a program.",
                                "findings": [
                                    {
                                        "id": "procedures-and-skills",
                                        "name": "Procedures, skills and required tools",
                                        "description": "What an agent needs before it can act on a program at all.",
                                        "questions": [
                                            {
                                                "id": "procedures-and-skills-q01",
                                                "text": "What identifies and describes handling a program, and in what units or vocabulary?",
                                                "kind": "definition",
                                                "answer_data": [
                                                    "identifiers",
                                                    "types and classes",
                                                    "values with units",
                                                    "explicit unknowns"
                                                ]
                                            },
                                            {
                                                "id": "procedures-and-skills-q02",
                                                "text": "Who or what asserted this about handling a program, by which method, and when was it true?",
                                                "kind": "provenance",
                                                "answer_data": [
                                                    "authority",
                                                    "method",
                                                    "evidence",
                                                    "event time",
                                                    "knowledge time"
                                                ]
                                            },
                                            {
                                                "id": "procedures-and-skills-q03",
                                                "text": "What may an agent decide or do once handling a 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 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 program contains and in what form it is held.",
                                        "questions": [
                                            {
                                                "id": "content-and-format-q01",
                                                "text": "What identifies and describes the content of a 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 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 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 program and the period it survives.",
                                        "questions": [
                                            {
                                                "id": "access-rules-q01",
                                                "text": "What identifies and describes access to a 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 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 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 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 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 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 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 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 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 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 program and how confident it is.",
                                        "questions": [
                                            {
                                                "id": "claim-provenance-q01",
                                                "text": "What identifies and describes a claim about a 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 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 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 program is retired without being erased.",
                                        "questions": [
                                            {
                                                "id": "validity-and-supersession-q01",
                                                "text": "What identifies and describes the validity of a claim about a 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 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 program 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
            }
        }
    }
}