# The Understanding Compiler # Book: Language # Chapter URL: https://programmer.ie/books/language/08-chapter/ # Prose fingerprint (sha256, normalized): bf40c953cd1a56b16d147f9d02a88341dd879b3d5d945ccef6c42dfa757a66c0 # Snapshot generated at build time by Hugo. This is the complete rendered prose # of the chapter; it is not a transcript of the source file. A service owner writes five sentences about a production migration. The first says that a green rehearsal is evidence of readiness, not permission to run a production migration. The second requires separate owner approval for production changes. The third allows an emergency rollback before review, but only for a signed, known-good build with audit records retained. The fourth says that this exception never permits a new migration. The fifth leaves vendor replication approval unresolved. The text is short. A reader may understand it on the first pass. But ask a model to turn it into instructions for another model and something less obvious happens. Does it treat the green rehearsal as an authorisation? Does it notice that a rollback is a different operation from a migration? Does it preserve the two prerequisites on the rollback? Does it understand what this exception refers to? Does it turn the unresolved vendor question into a default permission or a default prohibition? These are not questions about the beauty of a summary. They concern what the communication allows a recipient to conclude. The first model might produce five plausible sentences and still omit the one relationship that changes a decision. A recipient might repeat every important noun and nevertheless act on an exception as though it overrode the original rule. If an intelligent channel is going to mediate communication, we need to see its proposed reading before relying on the message it constructs. This chapter introduces a candidate instrument for that inspection: the Understanding Compiler. The name borrows an idea from programming languages, but its promise is narrower. It does not compile natural language into a uniquely correct interpretation. It turns a source and declared context into a versioned, inspectable proposal about what was communicated: its meaningful units, actors and actions, communicative acts, permissions and obligations, qualifications, relationships, evidence and unresolved alternatives. It must also make its own limits visible. Three terms recur throughout. A meaning unit is a single proposed piece of meaning, linked to the words that support it. A profile is a versioned configuration that decides which questions, vocabularies and checks apply to a given kind of communication. A semantic record is the fallible, source-linked interpretation that a later stage may build from accepted units. Each is explained more fully where it first matters. The central question is therefore: How can a communication be decomposed into proposed meaning without allowing the decomposition to impersonate the sender’s meaning? The record needs a construction process Chapter 7 introduced a distinction that every later chapter requires: SOURCE ≠ SEMANTIC RECORD ≠ RENDERING The source is the identified communication. The semantic record is a fallible, source-linked interpretation. A rendering is the particular view offered to a recipient for a task. Making a record reusable could help several renderings agree about what they are required to preserve. But if the record is wrong, agreement merely spreads the same mistake. Chapter 7 named the fields of a record (claims, relations, qualifiers, sequence, evidence and spans) without establishing how a fallible model would reliably construct them. That is the missing boundary. A model can produce JSON that obeys a schema yet still misunderstand the source. A syntactic parser can identify a subordinate clause without deciding whether its condition limits an authorisation. A graph can be complete as a data structure while incomplete as an interpretation. A human can accept a beautifully presented proposal without ever noticing that its most important exception disappeared. The compiler’s job is to put a disciplined, inspectable process between the source and the record. It proposes meaning units and reports what supports each one. It does not accept them on the sender’s behalf, and its output is not permitted action. Where a proposed unit cannot be justified, the appropriate result may be unresolved rather than a tidy label. Sentences are anchors, not atoms Splitting a document into sentences is a useful first move because it gives the reader stable places to return to. It is not, by itself, an analysis of meaning. A sentence can contain more than one act or proposition; conversely, the meaning of one sentence may depend on an earlier sentence, a heading, a definition or a shared convention. Consider the first migration sentence: A green migration rehearsal is readiness evidence only and not permission to run a production migration. A sentence inventory has one row. A meaning inventory needs at least two: The source presents a green rehearsal as evidence of readiness. The source explicitly denies that the rehearsal itself supplies permission for a production migration. The second item is not a global prohibition against production migration. The following sentence describes a route to approval. A careless classifier that labels the first sentence simply PROHIBITION could contradict the source. An equally careless classifier that extracts only readiness evidence could invite the wrong action. Classification and interpretation have to stay linked. The third sentence likewise contains several distinctions: an emergency rollback is the regulated operation; it may precede review; a signed, known-good build is a prerequisite; retained audit records are another prerequisite. The fourth sentence qualifies the emergency exception: the exception is not a route to performing a new migration. If that qualification becomes an isolated fact with no edge back to the permission, the record has lost structure while keeping most of the words. The following table is an author-constructed reference interpretation, not a measured output from a machine: Source anchor Proposed meaning unit Communicative function Force or standing Essential qualification S1 A green rehearsal is readiness evidence Inform Assertion about evidence Green rehearsal; readiness only S1 A green rehearsal does not itself authorise a production migration Limit authority No permission conveyed Does not prohibit separately approved migration S2 Production changes require separate service-owner approval Set requirement Obligation / prerequisite Each production change S3 Emergency rollback may occur before review Specify exception Conditional permission Signed known-good build; audit retention S3 Audit records must be retained on that path Attach condition Prerequisite Emergency rollback only S4 The emergency rollback exception does not authorise a new migration Limit exception No permission conveyed Refers back to S3 S5 Vendor replication approval has not been established Identify unknown Unresolved Neither authorised nor categorically denied by this statement A better interface would let the reader select S3 and see its meaning units, then select the scope of S4 and see the proposed reference to the exception in S3. It would show the source quotation alongside the interpretation. The reader could reject a relationship without losing the original words. There is no rule that every sentence must have at least one assertive meaning unit. A heading, quotation, fragment, joke, question or deliberate silence can play a communicative role that the chosen profile cannot fully express. The compiler must be able to record that limitation, rather than fill every row with a manufactured fact. Understanding at Both Ends of Communication The same instrument could inspect more than the input. Call its source interpretation Understanding A, its interpretation of the delivered representation Understanding B, and its interpretation of the observable recipient response Understanding C. Each is a proposed meaning inventory of a different communication. A is not guaranteed sender intent; B is not what the recipient necessarily understood; C describes what an answer, explanation or decision expresses, not an internal mental state. This is an engineering architecture to investigate, not an established psychological model. Return to the migration policy. For this worked example the exact source sentences are: S1. A green migration rehearsal is readiness evidence only and not permission to run a production migration. S2. Production changes require the service owner’s separate approval. S3. An emergency rollback may precede review only for a signed known-good build with audit records retained. S4. This emergency rollback never permits a new migration. S5. Vendor replication approval is unknown. These sentences are the prepared migration source used by the baseline. The following IDs, interpretations, messages, responses and judgements are hand-authored illustrations. None is a computed compiler result, a captured model output or a new observation. They show the proposed comparison, including a hypothetical failure and repair. A unit Atomic proposed meaning Source and relationship A1 A green rehearsal supplies readiness evidence S1; evidence, not an action grant A2 That rehearsal does not itself authorise production migration S1; limits A1’s practical implication A3 Production changes require separate service-owner approval S2; prerequisite for the governed change A4 Emergency rollback may precede review S3; conditional exception, restricted to rollback A5 That rollback must use a signed known-good build S3; prerequisite on A4 A6 Audit records must be retained on that path S3; prerequisite on A4 A7 The rollback exception never permits a new migration S4; limits A4, preserving its link to S3 A8 Vendor replication approval is unresolved S5; unknown, with no invented resolution This expands the earlier table’s combined build condition into a separately inspectable unit. Neither count is a universal atomisation. The link from A7 to A4 matters as much as the rows: losing it could make a bounded rollback exception look like an alternative approval path for migration. Suppose mediation produces this message: A green rehearsal supports readiness. Production changes need separate owner approval. A signed known-good emergency rollback can precede review. Vendor replication approval is unknown. A hand-authored B inventory would contain B1, readiness evidence; B2, separate approval for production changes; B3, permission for a signed known-good rollback before review; and B4, unresolved vendor approval. B3 lacks audit retention. The message also leaves out the explicit denial that rehearsal supplies permission and the explicit boundary preventing use of the rollback exception for a new migration. B2 does not justify assuming that the recipient will recover either omitted distinction. Now ask the recipient: May a green rehearsal alone authorise a new production migration? The illustrative response is: No. It is readiness evidence; separate service-owner approval is required. C1 proposes that rehearsal alone does not authorise the migration; C2 proposes that separate owner approval is required. This response correctly applies A1–A3 for this question. Its silence about rollback and vendor replication is appropriate here. It does not repair B’s incomplete rollback instruction, and one correct answer does not establish understanding of the whole policy. The compiler’s reading of that answer could itself be wrong. Source-grounded comparison Proposed judgement Consequence A1 and A3 against B1 and B2 PRESERVED Evidence and separate approval remain explicit A2 against the delivered message OMITTED as an explicit distinction Check whether the task requires an explicit denial; do not infer recipient error from this alone A4–A6 against B3 CHANGED: audit condition OMITTED The rollback message is insufficient for deciding whether that path is available A7 against the delivered message OMITTED The exception’s explicit boundary needs restoration A8 against B4 PRESERVED, with underlying approval UNRESOLVED The comparison preserves uncertainty rather than resolving it A1–A3 against C1–C2 PRESERVED for the stated question Evidence of correct application on this question only A4–A8 against C TASK_IRRELEVANT to this question Their absence from this answer is not scored as failed recall Recipient application to an actual rollback NOT_ASSESSED No rollback decision or behaviour was observed A possible correction is: Emergency rollback may precede review only for a signed known-good build with audit records retained. This exception never permits a new migration. A green rehearsal does not itself authorise migration. A new question about an unsigned build or missing audit records would probe another distinction; it would not retrospectively certify the earlier answer. Correction creates another communication whose interpretation needs checking. A proposed comparison vocabulary is PRESERVED, OMITTED, CHANGED, ADDED, CONTRADICTED, UNRESOLVED, NOT_ASSESSED and TASK_IRRELEVANT. These are book-level categories, not claims about implemented schema values. Use them with an identified comparison target: a condition can be omitted from B while irrelevant to the question answered in C. An added assertion can be unsupported without contradicting the source; an unresolved judgement is different from a difference that was never assessed. For each comparison, retain the exact source and delivered-message identities, response identity where available, admitted context and purpose, profile and version, model or analysis method, meaning-unit IDs, supporting spans, relevant conditions, uncertainty, assessment method and human review standing. An illustrative ID such as A4 is no substitute for that provenance. New obligations remain candidates until independently reviewed and accepted for their purpose. The following flow shows where each inventory sits in the loop: source → A proposal → mediation → delivered representation → B proposal ↓ recipient reconstruction ↓ observable response → C proposal ↓ source + task + A/B/C → semantic comparison ↓ correction / clarification → next communication The compiler observes communications at these boundaries. It does not observe reconstruction itself. All three inventories can be misleading; none can discharge the independent source and outcome checks. Six dimensions, not one sentence type A practical interpretation often needs several labels at once. The word type conceals distinctions that should be kept apart. Communicative act. Is the speaker informing, questioning, requesting, warning, promising, directing, quoting or narrating? An imperative can be advice, an authorised instruction, a quotation of somebody else’s instruction, or a threat. Surface grammar is evidence, not the final verdict. Propositional content. What event, state, comparison, relation or possible action is being described? Identify the participants, their roles, the object of the claim and, when relevant, the outcome. Who approves what? What occurs before which review? Normative force. Does the communication require, permit, discourage, recommend or forbid something? Distinguish may from must, not authorised from prohibited, and an exception from a repeal of the rule it qualifies. The existence of source-described permission does not itself grant the compiler authority to execute an action. Qualifications. Under which conditions, population, time, version, purpose, location or exception is the proposition meant to hold? A missing condition can reverse a decision even if the rest of the proposition is intact. Evidential standing. What is directly stated by the source; what is a proposed inference; what is attributed to another speaker; what is unknown or disputed? A citation tells us where words appear. It does not certify that the claimed meaning follows from them, or that the source is factually correct. Discourse relationship. Which meaning unit refers to, supports, contrasts with, qualifies, explains or is an exception to another? These may cross sentence boundaries. The direction and scope of the relationship must be inspectable. These dimensions should not be forced into one mutually exclusive enum. A statement may at once report evidence, limit the scope of a permission and warn against a foreseeable mistake. A domain profile may choose which dimensions are relevant, but it cannot make the others disappear without reporting its exclusions. A configurable reading, not a universal ontology Different communications invite different interpretations. A legal agreement may be concerned with parties, defined terms, obligations, exceptions, jurisdiction and effective dates. A system incident report may need components, transitions, causes, observations, timestamps and disputed hypotheses. A novel may require a separation between the narrator’s report, a character’s belief and what the fiction establishes as an event. An interview must preserve speaker attribution, questions, hedges, quotation and corrections. The categories useful for one are not automatically a complete vocabulary for another. The proposal is therefore one stable output envelope with versioned interpretation profiles, rather than a universal table whose labels have been chosen once and assumed sufficient. A profile selects relevant questions, vocabularies, thresholds and checks. It must carry its identity into every result. A technical-policy profile might request actors, governed actions, deontic force, preconditions, exceptions, negation, temporal order and authority limits. An interview profile might instead emphasise speaker, question–answer linkage, reported speech, stance, uncertainty and self-correction. A fiction profile might preserve narrator, point of view, character attribution, event sequence, counterfactuals and unreliable narration. The difference belongs in an explicit configuration, not in undocumented prompt intuition. For example, a profile could express its priorities like this: { "schema": "language-understanding-profile/0.1", "id": "technical-policy", "version": "0.1", "segment_by": ["sentence", "clause"], "dimensions": [ "communicative_act", "actor", "action", "object", "normative_force", "negation", "conditions", "exceptions", "time", "uncertainty", "evidence" ], "candidate_relations": ["REFERS_TO", "REQUIRES", "QUALIFIES", "EXCEPTION_TO", "PRECEDES"], "evaluation": ["source_coverage", "source_support", "relation_integrity"], "uncertainty_policy": "preserve" } This is an illustrative design contract, not a validated implementation or a guarantee that the listed dimensions can be extracted accurately. A profile is allowed to ask for an inference. It is not allowed to upgrade that inference into source-stated fact. Nor should the profile silently import another conversation, a private person-model or an external policy that was not admitted as context. Parsing is useful; parsing is not understanding Much of the early pipeline is familiar natural-language processing rather than a novel invention. Sentence tokenisers identify likely boundaries. Part-of-speech taggers assign grammatical categories. Dependency parsers propose grammatical relationships. Named-entity recognisers and entity-linking tools provide candidates for participants and referents. Semantic-role labelling and frame semantics aim to represent events and who fills which role. Abstract Meaning Representation (AMR) proposes graph structures closer to predicate–argument meaning than a surface parse. spaCy supplies tokenisation, sentence segmentation, part-of-speech tagging, dependency parsing and named-entity recognition through its components; a full trained pipeline is required for many of these annotations. NLTK provides a range of tokenisers and linguistic tools, including Punkt sentence segmentation. Universal Dependencies offers a cross-language grammar annotation framework. FrameNet describes situations through semantic frames and their participants. AMR makes a family of sentence-level meaning graphs possible. These are valuable building blocks, not proof of recovered communicative intent. The boundary matters. Knowing that a sentence contains the modal may does not settle whether it conveys permission, epistemic possibility, reported speech or sarcasm. A dependency tree does not decide whether a service owner has delegated authority. A grammar parser may attach a condition to the closest verb when the author’s intended scope was wider. AMR and semantic role labelling address parts of who did what to whom, but do not by themselves settle audience, normative standing, domain-specific applicability or the reliability of a speaker. Embeddings solve a different problem: they can propose similarity, useful neighbours or relevant passages. Proximity in an embedding space does not establish an obligation, negation, temporal direction, or exception relationship. Embeddings may assist candidate discovery; they should not be the source of truth for the compiler’s semantic table. For the first implementation, a Python analysis service can combine spaCy and NLTK for source-anchored segmentation and observable linguistic features. A separate semantic proposal stage can use rules, specialised classifiers or an explicitly named model. It must label which method produced which field, and it must remain possible to compare a rules-only baseline with a model-assisted interpretation. A result returned by a rules-only baseline must not be displayed as complete comprehension. The compiler contract The first input is modest: an identified source text, a declared task, a recipient or audience where known, available context, and a named interpretation profile. The output is not a new definitive document. It is a candidate inventory from which a semantic record may be constructed. identified source + admitted context + profile + model/method version ↓ sentence inventory ↓ candidate meaning units ↓ qualification and links ↓ source/meaning checks ↓ inspectable proposal + unknowns + review status Every source anchor has an exact character span and source hash. Every proposed meaning unit has an ID, one or more source anchors, a text label, a set of proposed classifications, qualifiers, an explicit derivation method and an assessment state. Relations connect meaning-unit IDs with types and directions. The envelope also includes unmapped source regions, unresolved references and profile limitations. The original source remains available and unchanged. At the interface, the basic output is a table: source passage; proposed meaning; type or force; conditions; evidence; review state. Clicking a row reveals the original context, its alternative readings and the relation graph. The JSON is for reproducibility and integration, not what a human should be required to read. A table is a display of the model’s assertions about meaning, not a direct view into its internal reasoning. The output should not automatically become a core/record artifact. That existing component holds a derived document record, and core/language holds communication state. The compiler proposes candidate units, and a deliberate conversion stage validates and translates accepted ones. The boundaries are useful: a reader can challenge the extraction without corrupting the source or silently changing previously accepted communication state. Inspecting the instrument A checker cannot determine completeness just by looking at the claims a generator happened to output. That would evaluate only the things it remembered to say. There are three distinct tests. Source to interpretation: coverage. Build a provisional inventory independently from the source and task, without showing the candidate interpretation to the reviewer. Map each relevant source unit to the proposed meaning units. Report covered, partly covered, missing and disputed distinctions. Include the source segments for which no meaning was extracted. This is coverage against an explicit inventory, not a certificate of every meaning the author could have intended. Interpretation to source: support. For each meaning unit, ask whether its claimed actor, action, force, negation, timing, conditions and scope follow from the cited text. In an entailment-style assessment, supported, contradicted and not established must remain different results. Check the span mechanically first; then check the semantic relation separately. A real quotation can be attached to the wrong interpretation. Interpretation to interpretation: relation integrity. Ask whether the relationships are directed correctly, whether an exception qualifies the right rule, whether a pronoun resolves to a supported antecedent, and whether unresolved alternatives stayed unresolved. The original migration example fails its purpose if the emergency exception becomes detached from the later prohibition, even when both appear in the table. A fourth, downstream test asks whether a recipient can use the resulting representation to answer a task question or make an appropriate decision. This is evidence about communication effectiveness, not a substitute for checking the extracted content. The first three tests may pass while the recipient still misunderstands a complex procedure. Conversely, a recipient may answer one question correctly despite an incomplete semantic inventory. The independent reviewer is also a model or a person with limitations. It can miss omissions, hallucinate counterexamples, and agree with the generator for the wrong reason. To evaluate the reviewer, seed omissions, polarity reversals, false permission, switched referents and dropped exceptions; also include faithful paraphrases it must not falsely reject. Use adjudicated held-out cases to report detection and false-alarm rates by failure type. A single overall fidelity score would hide the one missing condition that matters. Meaning Is Not Stationary Interpretations are not permanent. The source can change. The audience’s purpose can change. A previously unknown definition may be supplied. The same phrase may denote a different event in a new situation. A new model version may choose another plausible reading without any human communication having changed at all. A compiler result therefore needs separate identities for source, admitted context, interpretation profile, toolchain/model and proposed semantic state. Re-running an old document tomorrow is a new interpretation event, not an in-place correction of yesterday’s accepted one. The system should show a meaning diff: which units appeared or disappeared, which relations or conditions changed, and whether the difference came from changed source, changed context or changed interpreter. If only the model changed, that must be visible too. A reviewed version records what a named operator accepted for an identified communication purpose. It does not show the operator’s entire intention, establish the truth of the source, or authorise an external action. When the source or operative interpretation changes, review may need to be renewed. When context is missing, asking the sender is sometimes more faithful than silently selecting a likely meaning. A changed task may make a different subset of an unchanged source relevant. A changed audience may need an implicit term made explicit. A changed profile may inspect speech acts that the earlier profile did not represent. Newly available evidence may justify another interpretation, or reveal that a claim in an unchanged source is false. These are different events from revising what the source says. Record the changed input rather than attributing every difference to a change in source meaning. Where several inputs change together, the cause of the interpretive difference may itself remain unresolved. The Compiler Can Be Wrong Twice If the extractor reads “only when audit records are retained” as optional advice in A, and treats the same clause as optional in a delivered message in B, the inventories can agree while both miss the binding condition. C might repeat that reading too. Agreement would then reproduce error rather than establish faithful communication. A second pass with the same model is not independent merely because it has another role name. Independent, source-grounded assessment must therefore remain outside inventory agreement. Negative controls should remove audit retention, swap rollback for migration, or turn unknown vendor approval into permission; faithful paraphrases must also be included to expose false alarms. Distinguishing questions test recipient application separately. These are proposed evaluation requirements, not checks whose reliability this example has demonstrated. What Counts as Success? The first questions are bounded: does the compiler identify specified source distinctions; classify communicative acts and modality correctly; preserve conditions and directed relationships; and leave genuinely unresolved readings open? Can an independently evaluated checker detect omissions and unsupported additions without rejecting faithful paraphrases? Does using the compiler improve subsequent recipient decisions compared with the same source and task without it? These are separate milestones. The spaCy/NLTK baseline supplies source-linked segmentation and provisional lexical classifications. Local structural checks do not establish complete semantics, cross-sentence relation accuracy or independent meaning evaluation. Studio documentation reports process integration for input, delivered-text and response inventories; wiring those boundaries does not answer the research questions. The current prototype has not established that this loop improves communication. A first experiment the compiler can fail Begin with short technical-policy passages where explicit conditions, negation and cross-sentence references matter. Build a small, independently authored ledger of meaning units and relationships for development cases. Include control cases that should resist premature formalisation: may meaning possibility rather than permission; not authorised rather than forbidden; a quoted instruction rather than a live instruction; a pronoun with two plausible antecedents; an undefined term; an exception that cannot safely be resolved. Compare three methods on the same source: (A) transparent tokenisation and linguistic rules, (B) one model prompted to extract semantic units, and (C) model extraction with an independently formed source inventory and relation review. Hold the profile, task and target output contract fixed. Evaluate candidate spans and segmentation, type classification, supportedness, coverage of the independently selected obligations, relation direction, uncertainty preservation, and unnecessary abstention. Do not turn the example the system was built around into held-out evidence. The claim to test is not that every sentence can be mapped into a perfect graph. It is that a source-linked, reviewable inventory makes specified errors more visible and correctable than a direct summary or opaque schema output. It might fail. Rules may be brittle; a model might introduce plausible but unsupported implications; the reviewer may simply repeat the generator’s errors. If a simple source-linked table performs as well as a richer semantic graph for the task, the smaller representation may be preferable. A prototype’s rows and passing structural tests demonstrate only that the programme produced checkable candidate annotations. The first research milestone is achieved when independent assessments show which kinds of meanings it extracts faithfully, which it misses, and where it abstains. Human and AI recipient benefit remain additional experiments. Where this belongs in Language The Understanding Compiler is not the whole Language system and not a replacement for Chapter 7’s semantic record. It is a proposed upstream construction instrument: communication / document / utterance ↓ UNDERSTANDING COMPILER sentences · meaning units · relations · ambiguity ↓ inspect / challenge / revise / accept within scope ↓ SEMANTIC RECORD / COMMUNICATION STATE ↓ mediate · render · transfer ↓ recipient reconstruction ↓ measure survival, loss, addition and gain For the Semantic Browser of Part I, it would help one source support alternative, traceable views. For the Personal Information Radar of Part II, it could propose what an item asserts, cautions about or leaves unsettled, without deciding by itself whether it deserves attention. For the adaptive mediation of Part III, a profile may respond to a declared task while keeping temporary context separate from source truth. For the delegated communication of Part IV, it supplies inspectable meaning proposals, but its classifications confer no permission to speak or act on anyone’s behalf. Later boundaries depend on the earlier distinctions; they are not solved by a compiler. The reader should be able to hand Language a short passage, open a meaning table, and answer three questions without inspecting raw JSON: What does the system think this says? Where did that reading come from? What might be missing or wrong? The human should be able to disagree and see the consequence of the correction. That is the first useful interface for intelligence in the communication channel. The next chapter’s sidecar can then offer outside material without pretending it was already present in the source. First, however, the channel has to disclose its own reading. An invisible interpretation cannot be corrected; an inspectable interpretation can still be wrong, but it gives the sender and recipient a place to begin repairing it. The larger question is whether inspecting source, delivered meaning and observable response makes correction useful enough to earn its cost. The following chapters add sidecar material, examine relationships and ask what survived transformation; the Semantic Browser brings the loop together. Later parts change what the channel selects, which context it may use and whose authority it needs. The instrument offers a place to inspect those changes. Their success still depends on what recipients can recover and apply. References and background Austin, J. L. (1962). How to Do Things with Words. Oxford University Press. Speech acts and the distinction between saying and doing; not a ready-made machine classifier. Searle, J. R. (1969). Speech Acts. Cambridge University Press. Communicative acts and constitutive rules; not a complete computational ontology. Palmer, M., Gildea, D., and Kingsbury, P. (2005). The Proposition Bank: An Annotated Corpus of Semantic Roles. Computational Linguistics, 31(1), 71–106. Predicate–argument structure, not authority assessment. Baker, C. F., Fillmore, C. J., and Lowe, J. B. (1998). The Berkeley FrameNet Project. COLING-ACL 1998, 86–90. Frame semantics and participant roles. Banarescu, L. et al. (2013). Abstract Meaning Representation for Sembanking. Linguistic Annotation Workshop and Interoperability with Discourse, 178–186. https://aclanthology.org/W13-2322/ . Sentence-level semantic graphs, not full communicative intent. Universal Dependencies, guidelines and treebanks. https://universaldependencies.org/ . A grammatical annotation framework, not evidence of source-level semantic completeness. spaCy, Linguistic Features documentation. https://spacy.io/usage/linguistic-features . Tokenisation, boundaries, dependency parsing, entities and other predicted linguistic annotations. NLTK, Tokenization documentation. https://www.nltk.org/api/nltk.tokenize . Tokenisation and Punkt; not a general language-understanding oracle. Wadden, D. et al. (2020). Fact or Fiction: Verifying Scientific Claims. EMNLP 2020, 7534–7550. https://aclanthology.org/2020.emnlp-main.609/ . Separates evidence retrieval, verification and rationale. Koreeda, Y. and Manning, C. D. (2021). ContractNLI: A Dataset for Document-level Natural Language Inference for Contracts. Findings of EMNLP 2021. https://aclanthology.org/2021.findings-emnlp.164/ . Legal-domain entailment, contradiction and not-mentioned judgments; not direct proof for this compiler. Research standing: architecture and test proposal. The worked inventory above is hand-authored. The accompanying Python package is a transparent baseline, not a validated understanding engine.