{
    "model": {
        "rank": 3015,
        "code": "thing-q2378",
        "model_id": "vr.tr.classic-visual-basic",
        "name": "Classic Visual Basic",
        "purpose": "Enable an AI agent to recognise a Classic Visual Basic artefact, assess its build and execution constraints, and decide which inspection, maintenance, integration or migration actions are justified.",
        "family": "Thing Registry",
        "category": "Information and virtual systems",
        "status": "research-draft",
        "kind": "thing",
        "plane": "INF",
        "domain": "INF.MED",
        "industry": "",
        "version": "",
        "url": "/models/thing/q2378/",
        "tier": 2,
        "score": 92,
        "payload": {
            "layer": "wikidata",
            "aliases": [],
            "aliasCount": 0,
            "merged": 0,
            "knownIn": 92,
            "facets": null,
            "markers": [],
            "lexicalClass": "",
            "senseRank": null,
            "alsoRegisteredAs": null,
            "source": {
                "dataset": "wikidata",
                "item": "Q2378",
                "url": "https://www.wikidata.org/wiki/Q2378",
                "license": "CC0 1.0"
            }
        },
        "research": {
            "vercy": "1.0-draft",
            "publication": {
                "status": "research-draft",
                "adjudicationStatus": "unreviewed",
                "publishableCanonical": false,
                "generatedAt": "2026-09-07T14:14:06Z",
                "providers": [
                    "Codex",
                    "Grok"
                ],
                "missingProviders": [],
                "pass": 2,
                "cost": {
                    "grok": {
                        "usd": 0.00306068,
                        "turns": 1,
                        "seconds": 14.9,
                        "error": null
                    },
                    "codex": {
                        "seconds": 83.8,
                        "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: 01a07c36-d50d-7182-afd9-87493c0dd302\n--------\nuser\nYou are drafting a Vercy meta-model for one registered thing. Answer as JSON only, no prose around it.\n\nThing: Classic Visual Basic\nRegistry id: vr.tr.classic-visual-basic\nPlane / domain: INF / INF.MED\nRegistry definition: (none recorded)\nNames folded into thi"
                    }
                }
            },
            "metaModel": {
                "id": "THING-Q2378",
                "registryId": "vr.tr.classic-visual-basic",
                "name": "Classic Visual Basic",
                "version": "0.1.0-research.1",
                "entryKind": "thing",
                "family": "Thing Registry",
                "domain": [
                    "INF.MED"
                ],
                "status": "research-draft"
            },
            "canonicalUrl": "https://ver.cy/models/thing/q2378/",
            "model": {
                "registry_id": "vr.tr.classic-visual-basic",
                "name": "Classic Visual Basic",
                "purpose": "Enable an AI agent to recognise a Classic Visual Basic artefact, assess its build and execution constraints, and decide which inspection, maintenance, integration or migration actions are justified.",
                "definition": "Classic Visual Basic is Microsoft's event-driven, COM-based BASIC programming language and RAD environment (versions 1.0-6.0, 1991-1998) that compiled to native Windows executables and ActiveX components rather than to the .NET Common Language Runtime.",
                "scope_statement": "This model owns the identifying language, project, designer, runtime and component-contract properties of Classic Visual Basic artefacts, provisionally meaning the pre-.NET Visual Basic product family, while recording version and platform boundaries explicitly.",
                "in_scope": [
                    "Classic Visual Basic dialect, product version and project-type identification",
                    "Source modules, forms, designer resources and project composition",
                    "Event-driven behaviour, state handling and language-specific error semantics",
                    "COM and ActiveX contracts, references and component compatibility",
                    "Build reproducibility, runtime dependencies and maintenance constraints"
                ],
                "out_of_scope": [
                    "Visual Basic .NET language and CLR application models",
                    "VBA host applications, macro containers and host-specific object models",
                    "VBScript execution hosts and script deployment",
                    "Business-domain rules implemented by an individual application",
                    "General Windows administration and operating-system lifecycle management",
                    "Database schemas and external services consumed by the application"
                ],
                "distinguishing_features": [
                    "Identify the producing toolchain and target runtime: a Classic Visual Basic classification requires evidence of a pre-.NET Visual Basic lineage rather than relying on BASIC-like syntax.",
                    "For a suspected VB5 or VB6 project, inspect .vbp metadata and associated .bas, .cls, .frm and designer resources; extensions alone do not establish the dialect.",
                    "Distinguish a standalone Visual Basic project from VBA code embedded in a host document or application, even where syntax and referenced COM objects overlap.",
                    "Distinguish Visual Basic project and designer artefacts from VBScript text executed by a scripting host.",
                    "For later Windows editions, inspect project-type, compilation and COM metadata to distinguish Standard EXE and ActiveX outputs; do not assume these categories apply to every earlier release."
                ],
                "characteristics": [
                    {
                        "name": "Dialect and product lineage",
                        "kind": "category",
                        "unit_or_values": "Recorded Visual Basic version, edition and platform; unresolved when evidence is insufficient",
                        "why_it_matters": "Determines which syntax, project formats, controls and build assumptions apply."
                    },
                    {
                        "name": "Project output type",
                        "kind": "category",
                        "unit_or_values": "Version-specific project type, such as Standard EXE, ActiveX EXE, ActiveX DLL or ActiveX Control; unknown",
                        "why_it_matters": "Separates standalone execution from component activation and control hosting."
                    },
                    {
                        "name": "Available artefact coverage",
                        "kind": "state",
                        "unit_or_values": "Source and designer resources complete; partially available; binary only; unverified",
                        "why_it_matters": "Limits what the agent can inspect, reproduce or safely change."
                    },
                    {
                        "name": "Compilation mode",
                        "kind": "category",
                        "unit_or_values": "P-code; native code; other version-specific mode; unknown",
                        "why_it_matters": "Affects build equivalence and the interpretation of binary inspection."
                    },
                    {
                        "name": "Unresolved build references",
                        "kind": "measurement",
                        "unit_or_values": "Count of missing or mismatched references and controls in a named build environment",
                        "why_it_matters": "Provides a concrete measure of dependency work remaining before a build can be assessed."
                    },
                    {
                        "name": "Component compatibility commitment",
                        "kind": "relation",
                        "unit_or_values": "Project linked to its compatibility baseline binary and known consuming applications, where applicable",
                        "why_it_matters": "Makes interface-preservation obligations visible before a component is rebuilt."
                    },
                    {
                        "name": "Observed execution status",
                        "kind": "state",
                        "unit_or_values": "Not tested; activation failed; starts only; specified workflows passed; specified workflows failed",
                        "why_it_matters": "Distinguishes successful startup from evidence that required behaviour still works."
                    },
                    {
                        "name": "Data-access mechanism",
                        "kind": "category",
                        "unit_or_values": "Observed DAO, RDO, ADO, direct API, other or none; multiple values allowed",
                        "why_it_matters": "Identifies provider and deployment dependencies that source availability alone does not resolve."
                    }
                ],
                "affordances": [
                    "Classify an artefact as Classic Visual Basic and qualify the classification by version evidence.",
                    "Reconstruct a project's source, designer and dependency inventory.",
                    "Trace form events, default instances and error paths for a specified maintenance task.",
                    "Assess whether an identified environment can build, activate and exercise the artefact.",
                    "Evaluate a proposed change against COM consumers, persisted resources and observed behaviour.",
                    "Plan a bounded repair, interoperability wrapper or migration experiment with explicit acceptance checks."
                ]
            },
            "sources": [],
            "structure": {
                "bundles": [
                    {
                        "id": "dialect-and-project-identity",
                        "name": "Dialect and project identity",
                        "description": "Establish which Classic Visual Basic lineage and project form the artefact belongs to.",
                        "rationale": "Similar syntax occurs in neighbouring Visual Basic technologies, while Classic Visual Basic releases do not share every capability.",
                        "layers": [
                            {
                                "id": "lineage-evidence",
                                "name": "Lineage evidence",
                                "description": "Record evidence that supports the language and product classification.",
                                "findings": [
                                    {
                                        "id": "product-and-dialect",
                                        "name": "Product and dialect",
                                        "description": "Capture the producing product, version and platform with the evidence and confidence behind each identification.",
                                        "questions": [
                                            {
                                                "text": "Which project metadata, binary metadata or original tooling identifies the Visual Basic release and platform?",
                                                "kind": "provenance",
                                                "id": "product-and-dialect-q01"
                                            },
                                            {
                                                "text": "What evidence distinguishes this artefact from VBA, VBScript and Visual Basic .NET?",
                                                "kind": "boundary",
                                                "id": "product-and-dialect-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "project-composition",
                                "name": "Project composition",
                                "description": "Identify the project boundary and the files that contribute to its output.",
                                "findings": [
                                    {
                                        "id": "project-membership-and-output",
                                        "name": "Project membership and output",
                                        "description": "Record the declared output type, startup object, project membership and any project-group relationships.",
                                        "questions": [
                                            {
                                                "text": "What output type and startup object does the project declare, and are they valid for the identified release?",
                                                "kind": "definition",
                                                "id": "project-membership-and-output-q01"
                                            },
                                            {
                                                "text": "Which modules, forms, classes and resources are referenced but absent or available only in another project?",
                                                "kind": "measurement",
                                                "id": "project-membership-and-output-q02"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "forms-and-event-execution",
                        "name": "Forms and event execution",
                        "description": "Represent the designer artefacts and event-driven execution paths that determine application behaviour.",
                        "rationale": "A source-only reading can miss persisted control properties, startup behaviour and event-triggered state changes.",
                        "layers": [
                            {
                                "id": "designer-and-controls",
                                "name": "Designer and controls",
                                "description": "Connect form and control definitions to their persisted resources and implementations.",
                                "findings": [
                                    {
                                        "id": "designer-resource-integrity",
                                        "name": "Designer resource integrity",
                                        "description": "Capture form definitions, associated binary resources, control arrays and required custom controls where present.",
                                        "questions": [
                                            {
                                                "text": "Which forms or user controls depend on associated binary resources, and are those resources present?",
                                                "kind": "measurement",
                                                "id": "designer-resource-integrity-q01"
                                            },
                                            {
                                                "text": "Which controls, control-array indices or persisted properties must be preserved for the designer and event bindings to remain usable?",
                                                "kind": "boundary",
                                                "id": "designer-resource-integrity-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "event-flow-and-lifetime",
                                "name": "Event flow and lifetime",
                                "description": "Record how startup, user actions and component callbacks create and mutate application state.",
                                "findings": [
                                    {
                                        "id": "event-and-instance-semantics",
                                        "name": "Event and instance semantics",
                                        "description": "Identify consequential event ordering, form default-instance use, object lifetime and re-entrancy assumptions.",
                                        "questions": [
                                            {
                                                "text": "How does the startup object reach the required workflow through form, control or component events?",
                                                "kind": "definition",
                                                "id": "event-and-instance-semantics-q01"
                                            },
                                            {
                                                "text": "Where could default form instances, DoEvents, timers or callbacks expose partially updated state?",
                                                "kind": "boundary",
                                                "id": "event-and-instance-semantics-q02"
                                            },
                                            {
                                                "text": "Which event sequences must be exercised to validate a proposed change?",
                                                "kind": "action",
                                                "id": "event-and-instance-semantics-q03"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "language-and-data-semantics",
                        "name": "Language and data semantics",
                        "description": "Record Classic Visual Basic behaviours that can change meaning during maintenance or translation.",
                        "rationale": "Implicit conversions, legacy error handling and external data representations can preserve or break behaviour independently of apparent syntax similarity.",
                        "layers": [
                            {
                                "id": "values-and-binding",
                                "name": "Values and binding",
                                "description": "Expose consequential assumptions about types, conversions and member resolution.",
                                "findings": [
                                    {
                                        "id": "implicit-value-behaviour",
                                        "name": "Implicit value behaviour",
                                        "description": "Capture relevant use of Variant, Empty, Null, Nothing, default members, argument passing and array bounds.",
                                        "questions": [
                                            {
                                                "text": "Which paths depend on Variant coercion or distinctions among Empty, Null and Nothing?",
                                                "kind": "definition",
                                                "id": "implicit-value-behaviour-q01"
                                            },
                                            {
                                                "text": "Where do default members, ByRef arguments or array-bound assumptions affect externally observable results?",
                                                "kind": "boundary",
                                                "id": "implicit-value-behaviour-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "errors-and-data-boundaries",
                                "name": "Errors and data boundaries",
                                "description": "Connect error recovery and external data exchange to behaviour that must be checked.",
                                "findings": [
                                    {
                                        "id": "recovery-and-representation",
                                        "name": "Recovery and representation",
                                        "description": "Record On Error handling and assumptions at file, database and native API boundaries.",
                                        "questions": [
                                            {
                                                "text": "Which On Error and Resume paths suppress, recover from or propagate failures, and how is Err inspected?",
                                                "kind": "definition",
                                                "id": "recovery-and-representation-q01"
                                            },
                                            {
                                                "text": "Which file layouts, database providers or Declare signatures depend on specific string encodings, numeric widths or record layouts?",
                                                "kind": "boundary",
                                                "id": "recovery-and-representation-q02"
                                            },
                                            {
                                                "text": "What failure and round-trip examples would detect a semantic regression?",
                                                "kind": "action",
                                                "id": "recovery-and-representation-q03"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "com-and-activex-contracts",
                        "name": "COM and ActiveX contracts",
                        "description": "Represent imported and exported component contracts for projects that use COM or ActiveX.",
                        "rationale": "A component can build successfully while failing to activate or breaking existing clients; this bundle must be marked inapplicable when the identified artefact does not use these mechanisms.",
                        "layers": [
                            {
                                "id": "references-and-activation",
                                "name": "References and activation",
                                "description": "Identify component resolution and activation requirements.",
                                "findings": [
                                    {
                                        "id": "component-resolution",
                                        "name": "Component resolution",
                                        "description": "Record referenced type libraries, ActiveX controls and dynamically activated classes, including their resolution evidence.",
                                        "questions": [
                                            {
                                                "text": "Which dependencies are declared as references or controls, and which are activated through CreateObject or GetObject?",
                                                "kind": "definition",
                                                "id": "component-resolution-q01"
                                            },
                                            {
                                                "text": "Which component identities, versions, registrations or design-time licences are required in the tested environment?",
                                                "kind": "measurement",
                                                "id": "component-resolution-q02"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "published-interface-stability",
                                "name": "Published interface stability",
                                "description": "Identify the promises made to existing component consumers.",
                                "findings": [
                                    {
                                        "id": "compatibility-baseline",
                                        "name": "Compatibility baseline",
                                        "description": "Record exposed classes, members and events alongside project compatibility settings and any baseline binary.",
                                        "questions": [
                                            {
                                                "text": "What compatibility setting and baseline binary govern the component build, where supported by this release?",
                                                "kind": "provenance",
                                                "id": "compatibility-baseline-q01"
                                            },
                                            {
                                                "text": "Which existing clients rely on the exposed interfaces, activation model or events?",
                                                "kind": "boundary",
                                                "id": "compatibility-baseline-q02"
                                            },
                                            {
                                                "text": "What interface comparison and client execution checks are required before replacing the deployed component?",
                                                "kind": "action",
                                                "id": "compatibility-baseline-q03"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "build-runtime-and-change-readiness",
                        "name": "Build, runtime and change readiness",
                        "description": "Establish what can be reproduced and which maintenance actions have sufficient evidence.",
                        "rationale": "Classic Visual Basic maintenance depends on recovering a specific toolchain and dependency environment, then validating behaviour beyond compilation.",
                        "layers": [
                            {
                                "id": "build-and-deployment-environment",
                                "name": "Build and deployment environment",
                                "description": "Separate build prerequisites from runtime installation and activation requirements.",
                                "findings": [
                                    {
                                        "id": "reproducible-environment",
                                        "name": "Reproducible environment",
                                        "description": "Record the compiler, service level, compilation settings, controls, runtime files and installation steps needed for a named environment.",
                                        "questions": [
                                            {
                                                "text": "Which toolchain version, compilation mode, conditional compilation constants and dependency versions produced the reference build?",
                                                "kind": "provenance",
                                                "id": "reproducible-environment-q01"
                                            },
                                            {
                                                "text": "Which prerequisites are required only for development, and which must exist on the execution machine?",
                                                "kind": "boundary",
                                                "id": "reproducible-environment-q02"
                                            },
                                            {
                                                "text": "Can the available inputs produce an executable or component that passes the defined activation and workflow checks?",
                                                "kind": "measurement",
                                                "id": "reproducible-environment-q03"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": "maintenance-decision",
                                "name": "Maintenance decision",
                                "description": "Tie repair, wrapping and migration choices to specific behaviour and dependency evidence.",
                                "findings": [
                                    {
                                        "id": "bounded-change-readiness",
                                        "name": "Bounded change readiness",
                                        "description": "Capture the proposed intervention, its affected semantics and contracts, and the checks needed to accept or reverse it.",
                                        "questions": [
                                            {
                                                "text": "Which forms, error paths, data representations and COM contracts would this intervention affect?",
                                                "kind": "boundary",
                                                "id": "bounded-change-readiness-q01"
                                            },
                                            {
                                                "text": "What observed workflows and consumer checks define acceptance for repair, wrapping or migration?",
                                                "kind": "action",
                                                "id": "bounded-change-readiness-q02"
                                            },
                                            {
                                                "text": "Which reference binaries, installers and data fixtures must be retained to compare results and restore the prior deployment?",
                                                "kind": "action",
                                                "id": "bounded-change-readiness-q03"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "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": [
                                            "Visual Basic 1.0-3.0 (16-bit Windows)",
                                            "Visual Basic 4.0 (16-bit and 32-bit)",
                                            "Visual Basic 5.0",
                                            "Visual Basic 6.0 / VB6",
                                            "Visual Basic for Applications (VBA)",
                                            "VBScript",
                                            "Visual Basic .NET (not classic; successor)",
                                            "Embedded/CE variants"
                                        ],
                                        "questions": [
                                            {
                                                "id": "evidence-kinds-q01",
                                                "text": "Which of these kinds and varieties hold for the sense of Classic Visual Basic this model covers, and on what evidence?",
                                                "kind": "provenance"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "openQuestions": [
                "Does the registry intend Classic Visual Basic to include every pre-.NET release and platform, including Visual Basic for DOS, or specifically the later Windows product family?",
                "Which authoritative, version-specific documentation should support the model's project types, compilation modes and language semantics?",
                "Which current operating-system, runtime, IDE and third-party control combinations have documented support, and which merely have observed successful execution?",
                "How should the model express confidence for binary-only artefacts when the producing release, source completeness or compatibility baseline cannot be recovered?",
                "Which existing Vercy models already own COM contracts, Windows deployment and language migration, and what relations should avoid duplicating those responsibilities?"
            ],
            "statistics": {
                "bundles": 6,
                "layers": 11,
                "findings": 11,
                "questions": 26
            }
        },
        "draft": {
            "generator": "vr.draft.v3",
            "status": "draft-generated",
            "researched": false,
            "archetype": "work, medium or creative form",
            "method": "Written from the archetype playbook - what this kind of thing needs beyond identity and provenance - and from the structure that recurred across 6,333 models already researched by two engines. Applied to this entry by rule. No source was read for this thing and no claim here is researched. This entry carries no facets of its own, so they were inferred from its domain - a guess about a whole domain applied to one thing.",
            "facetsInferred": true,
            "nextPass": "A researcher replaces this draft with a sourced specification. Treat every sentence below as a proposal to argue with.",
            "purpose": "Give an agent a durable, checkable way to recognise a Classic Visual Basic, record what state it is in, and decide what may be done with it.",
            "whatItIs": "Enable an AI agent to recognise a Classic Visual Basic artefact, assess its build and execution constraints, and decide which inspection, maintenance, integration or migration actions are justified.",
            "characteristics": {
                "substance": "information",
                "origin": "conceptual",
                "agency": "inert"
            },
            "whatYouCanDoWithIt": [
                "read and interpreted",
                "observed and measured"
            ],
            "distinguishingFeatures": [
                "Described in 92 Wikipedia languages, which is a measure of how widely the thing is known, not of how important it is."
            ],
            "openQuestionsForResearch": [
                "Which of the bundles below does a real task actually need, and which are ceremony?",
                "What does this thing have that the facets do not capture at all?",
                "Which neighbouring kind is most often confused with a Classic Visual Basic, and on what evidence are they told apart?"
            ],
            "whatItIsMadeOf": "content that has to be carried by something else",
            "physicalCharacter": [
                "Does nothing on its own; everything it does, something else did to it.",
                "These come from the domain this entry sits in rather than from the entry itself, so treat them as a first guess about the whole domain applied to one thing."
            ],
            "whatCanBeDoneWithIt": [
                "read it and act on what it says",
                "observe it, measure it, record its state"
            ],
            "howItIsRecognised": [
                "What is seen is a copy or a performance, not the work. Recognising the work means recognising the content through whatever is carrying it."
            ],
            "relatedModels": [],
            "standing": "Described in 92 Wikipedia languages, which measures how widely it is written about rather than how important or how common it is.",
            "structure": {
                "bundles": [
                    {
                        "id": "identity-and-classification",
                        "name": "Identity, naming and classification",
                        "description": "How an agent tells one Classic Visual Basic from another, and a Classic Visual Basic 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 Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic 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 Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic from the things most often confused with it.",
                                        "questions": [
                                            {
                                                "id": "distinguishing-features-q01",
                                                "text": "What identifies and describes what distinguishes a Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic 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 Classic Visual Basic between them.",
                                        "questions": [
                                            {
                                                "id": "stages-and-transitions-q01",
                                                "text": "What identifies and describes the lifecycle of a Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic, how often and by whom.",
                                "findings": [
                                    {
                                        "id": "observation-record",
                                        "name": "Observation record",
                                        "description": "How an observation of a Classic Visual Basic 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 Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic 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 Classic Visual Basic contains and in what form it is held.",
                                        "questions": [
                                            {
                                                "id": "content-and-format-q01",
                                                "text": "What identifies and describes the content of a Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic and the period it survives.",
                                        "questions": [
                                            {
                                                "id": "access-rules-q01",
                                                "text": "What identifies and describes access to a Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic 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 Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic and how confident it is.",
                                        "questions": [
                                            {
                                                "id": "claim-provenance-q01",
                                                "text": "What identifies and describes a claim about a Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic 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 Classic Visual Basic is retired without being erased.",
                                        "questions": [
                                            {
                                                "id": "validity-and-supersession-q01",
                                                "text": "What identifies and describes the validity of a claim about a Classic Visual Basic, 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 Classic Visual Basic, 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 Classic Visual Basic is known, and what must it refuse?",
                                                "kind": "action",
                                                "answer_data": [
                                                    "permitted actions",
                                                    "preconditions",
                                                    "refusals",
                                                    "escalation"
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "statistics": {
                "bundles": 6,
                "layers": 12,
                "findings": 14,
                "questions": 38
            }
        }
    }
}