Source file: /Volumes/Models/data/02_knowledge/knowledge_pairs.jsonl
Total entries: 6,435
Issues found: 83
Verified against: Proposals/, Sources/, Book/, Examples/
| Category | Count |
|---|---|
String concatenation + instead of ++ |
14 |
Wrong Emit syntax |
14 |
Wrong Publish syntax / semantics |
8 |
Hallucinated when { } block construct |
6 |
| Feature set header missing business activity | 7 |
Invalid Compute from X with Y for arithmetic |
5 |
Wrong action prepositions (Throw, Delete, Accept, Transform) |
6 |
Hallucinated actions (Subscribe, Set, Build, while) |
5 |
| Wrong feature set declaration syntax | 4 |
| Wrong behavioral claim (immutability, subdirectories, set ops) | 5 |
Hallucinated non-ARO syntax (<- arrow, type annotations) |
4 |
| Wrong Log syntax | 8 |
| Miscellaneous (HTTP routes, streaming, Return, Listen, Render) | 7 |
Source entry: book:Chapter08-ExportActions
Wrong original: Emit the <user> to the <user-created-event>.
Why it's wrong: Emit requires the event type in the result position with a : event qualifier, and the payload after with. This example reverses them: <user> (data) is in result position, the event name is in object position, and uses wrong preposition to. Article should be a/an not the.
Corrected version: Emit a <UserCreated: event> with <user>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Emit — "Valid Prepositions: with"
Source entry: proposal:ARO-0019-standard-library:0 through :8 (lines 170, 172, 173, 176, 177, 178)
Wrong original: Log the <message> for the <console> with "Calculator ready". (and similar)
Why it's wrong: Log syntax is Log <message> to the <console>. — preposition is to, not for. There is no combined for + with form. The extra <message> result variable is also incorrect; Log takes the message directly as the first argument.
Corrected version: Log "Calculator ready" to the <console>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Log
Source entry: proposal:ARO-0014-domain-modeling:6 (line 170)
Wrong original: "Order placed: " + <order-id>
Why it's wrong: ARO uses ++ for string concatenation. + is reserved for numeric arithmetic only. Mixing string operands with + is an error.
Corrected version: "Order placed: " ++ <order-id>
Origin: Book/TheLanguageGuide/Chapter09-Computations.md §String Concatenation — "ARO uses ++ for string concatenation, distinct from the + arithmetic operator"
Source entry: proposal:ARO-0019-standard-library:0, :1 (lines 174, 175)
Wrong original: Compute the <total> from the <quantity> with <price>. / Compute the <tax> from the <subtotal> with <tax-rate>.
Why it's wrong: The Compute … from <A> with <B> form is only valid for set operations (where a qualifier like : intersect, : union, or : difference is on the result). For arithmetic, the expression goes entirely after from: Compute the <total> from <quantity> * <price>.
Corrected version: Compute the <total> from <quantity> * <price>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Compute; Book/TheLanguageGuide/Chapter09-Computations.md §Set Operations
Source entry: example:WhileLoop (line 96)
Wrong original: while <count> <= 3 { ... } with attribution (* ARO-0131: While Loop Demo *)
Why it's wrong: No ARO proposal defines a while loop. The only iteration construct is For-each. Proposal ARO-0131 does not exist in the codebase. Presenting while as canonical ARO syntax is incorrect.
Corrected version: Use For-each <item> in <collection> { ... } for iteration. For counted loops, create a range collection and iterate it.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md (no While action entry); CLAUDE.md §ARO Syntax
Source entry: actions_context (lines 224, 314, 329, 382)
Wrong original: Application ExtractDemo { / Feature set ProcessOrder { / Feature Set: Execute Action Examples { / Application Emit Demo {
Why it's wrong: ARO feature set declarations must follow exactly (Feature Name: Business Activity) { ... }. None of the forms Application X {, Feature set X {, or Feature Set: X { exist. The colon-separated business activity inside parentheses is mandatory.
Corrected version: (ExtractDemo: My Application) { ... }
Origin: Book/TheLanguageGuide/Chapter06-FeatureSets.md §6.2; CLAUDE.md §ARO Syntax
Source entry: actions_context (line 224)
Wrong original: Extract the age from the person / Transform the data / Filter the records (no angle brackets, no trailing period)
Why it's wrong: All variable identifiers in ARO must be enclosed in angle brackets <...>. Bare words are not valid variable references. Statements require a trailing period.
Corrected version: Extract the <age> from the <person>.
Origin: Book/TheLanguageGuide/Chapter04-StatementAnatomy.md §Result and Object Positions; Sources/AROParser/Parser.swift
Source entry: actions_context (line 329)
Wrong original: Execute the <result> from the <console> with "date +%Y-%m-%d".
Why it's wrong: Execute uses for to identify the command, not from. from the <console> incorrectly implies the console is a data source. The feature set header is also invalid syntax (Feature Set: Execute Action Examples {).
Corrected version: Execute the <result> for the <command: "date +%Y-%m-%d">.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Execute — "Valid Prepositions: for, on, with"
Source entry: actions_context (line 361)
Wrong original: Throw an <Unauthorized: error> for the <admin> to the <console> with <no access>.
Why it's wrong: Throw accepts only the for preposition. The additional clauses to the <console> and with <no access> are not valid for Throw.
Corrected version: Throw an <Unauthorized: error> for the <admin>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Throw — "Valid Prepositions: for"
Source entry: actions_context (line 371)
Wrong original: Log <debug> to the <console> for the <application> with <level>.
Why it's wrong: Once the to the <console> target is specified, Log accepts no further clauses.
Corrected version: Log <debug> to the <console>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Log
Source entry: actions_context (line 382)
Wrong original: emit "Hello from ARO!" to the <console> <Output>. / Emit the <result> to the <console> for the <debug>. / Emit <literal> "Success!" to the <console> for the <debug>. / Emit <event> when <keyboard> key <space> is pressed.
Why it's wrong: Emit is a domain-event publisher, not a console-output action. These forms are completely fabricated syntax. Console output uses Log. None of these patterns have any basis in the ARO specification.
Corrected version: Emit a <UserCreated: event> with <user>. (for domain events); Log "Hello" to the <console>. (for console output)
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Emit, §Log
Source entry: actions_context (line 407)
Wrong original: Publish the <result> as <build>. and Build the <result> with <options> from the <source>.
Why it's wrong: (1) Publish syntax is Publish as <alias> <variable>. — alias comes first, variable second. The shown entry reverses them. (2) Build is not a defined ARO action in any proposal or the action catalog.
Corrected version: Publish as <build> <result>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Publish — "Publish as <alias> <variable>."
Source entry: actions_context (line 482)
Wrong original: when true { ... } else { ... } and when <condition> { ... } else { ... } as standalone control-flow blocks. Also uses { "Business Activity: Feature Sets" as a feature set header.
Why it's wrong: In ARO, when is exclusively a per-statement suffix guard (Log <msg> to the <console> when <ready>.) or a feature-set declaration guard on event handler headers. There are no standalone when { } else { } block constructs. The { "Business Activity: ..." } feature set header format is also fabricated.
Corrected version: Return an <OK: status> with <user> when <active>.
Origin: Book/TheLanguageGuide/Chapter33-ControlFlow.md §When Guards — "The when clause conditionally executes a single statement."
Source entry: book_qa:TheConstructionStudies:AppendixB-Grammar:Notation (lines 1609, 1611); book_qa:TheConstructionStudies:Chapter01-DesignPhilosophy:Trade-offs (line 1682); book_qa:TheConstructionStudies:Chapter08-NativeCompilation:Historical Note (line 1953)
Wrong original (1609): "The comma operator is used for string concatenation in ARO. You can use it to combine strings like this: result = "Hello" + " " + "World""
Wrong original (1682): Throw a <CustomError: status> with "Processing failed due to" + <result>.
Wrong original (1953): Create the <ir-output> with "Hello, World" + "\n".
Why it's wrong: ARO uses ++ for string concatenation. + is the arithmetic addition operator. There is no "comma operator". The shown code also uses assignment syntax (result =) which is not valid ARO.
Corrected version: Compute the <greeting> from "Hello, " ++ "World". / Throw a <CustomError: error> with "Processing failed due to " ++ <result>.
Origin: Book/TheLanguageGuide/Chapter09-Computations.md §String Concatenation
Source entry: book_qa:AROByExample:Chapter02-ProjectSetup:2.3 ARO Application Structure (line 775)
Wrong original: "All .aro files exist at the top level of the application directory. ARO does not support subdirectories for .aro files."
Why it's wrong: This is factually incorrect. ARO automatically discovers .aro files in the application directory AND all subdirectories to any depth. The sources/ subdirectory convention is explicitly supported.
Corrected version: All .aro files in the directory and subdirectories are automatically discovered. Files can be in root, sources/, or any subdirectory to any depth.
Origin: CLAUDE.md §Application Structure; Book/TheLanguageGuide/Chapter06-FeatureSets.md §Multi-file Applications
Source entry: mutation (lines 532, 556); book_qa:AROByExample:Chapter01-Introduction:1.7 What Needs Improvement (line 1092)
Wrong original (532): Compute the <doubled> from <counter> with <counter> * 2.
Wrong original (556): Compute the <square> from <number> with <number>.
Wrong original (1092): Compute the <discount> from <amount> with <rate>.
Why it's wrong: The from X with Y form of Compute is only valid for set operations (intersect, union, difference) where a qualifier is present. For arithmetic, the entire expression goes after from.
Corrected version: Compute the <doubled> from <counter> * 2. / Compute the <square> from <number> * <number>. / Compute the <discount> from <amount> * <rate>.
Origin: Book/TheLanguageGuide/Chapter09-Computations.md §Set Operations vs §Arithmetic
Source entry: book_qa:AROByExample:Chapter11-SetOperations:11.10 What Could Be Better (line 1417)
Wrong original: "ARO provides basic set operations: union, difference, and count."
Why it's wrong: The three set operations are intersect, difference, and union. count is a built-in computation qualifier (Compute the <n: count> from <items>.), not a set operation.
Corrected version: ARO provides three set operations: intersect, union, and difference, used as Compute the <result: intersect> from <a> with <b>.
Origin: Book/TheLanguageGuide/Chapter35-SetOperations.md; Book/TheLanguageGuide/Chapter09-Computations.md §Set Operations
Source entry: book_qa:AROByExample:Chapter11-SetOperations:11.10 What Could Be Better (line 1417)
Wrong original: Compute the <missing-items> from the <expected> with the <found>.
Why it's wrong: Without the : difference qualifier on the result, Compute does not know which set operation to perform.
Corrected version: Compute the <missing-items: difference> from the <expected> with the <found>.
Origin: Book/TheLanguageGuide/Chapter09-Computations.md §Set Operations
Source entry: book_qa:AROByExample:Chapter07-URLNormalization:7.12 What Could Be Better (lines 1271, 1272, 1273)
Wrong original: ("Strip Fragment: " + <url: "https://example.com/page#section1">) {
Why it's wrong: Feature set headers must follow (FeatureName: BusinessActivity) {. A string concatenation expression "string" + <var> is not a valid feature set name.
Corrected version: (StripFragment: URL Normalization) {
Origin: Book/TheLanguageGuide/Chapter06-FeatureSets.md §6.2
ISSUE-020: Feature set header missing business activity — (X Handler) { without colon (lines 823–825, 1748)
Source entry: book_qa:AROByExample:Chapter04-EventDrivenArchitecture:What We Will Learn (lines 823–825); book_qa:TheConstructionStudies:Chapter03-SyntacticAnalysis:The AROStatement Parse (line 1748)
Wrong original: (UserSignedUp Handler) { / (CreateUser Handler) { / (Extract User From Request) {
Why it's wrong: Feature set headers require both a feature name AND a business activity separated by a colon: (FeatureName: BusinessActivity). Without the colon and business activity, this is not valid ARO syntax.
Corrected version: (Handle User Signup: UserSignedUp Handler) { / (Extract User From Request: User API) { ... }
Origin: Book/TheLanguageGuide/Chapter06-FeatureSets.md §6.2 — "The header consists of a feature name and a business activity, separated by a colon."
ISSUE-021: Wrong Emit syntax — wrong preposition or missing : event qualifier (lines 854, 1136–1139, 1237, 1839)
Source entry: Various book_qa:AROByExample:Chapter04 and book_qa:TheConstructionStudies:Chapter05 entries
Wrong originals:
- Line 854:
Emit a <OK: status> for <the: html>. - Line 1136:
Emit the <user-registered> event. - Line 1137:
Emit the <data-changed> event when data updates. - Line 1138:
Emit the <payment-processed> event. - Line 1139:
Emit the <event-name> to the <bus-name>. - Line 1237:
Emit a <NormalizeUrl: Event> with { url: <result> }.(capitalizedEvent) - Line 1839:
Emit an <EventX> with <result>.(missing: event)
Why it's wrong: Correct Emit syntax requires: (1) : event qualifier (lowercase) on the result, (2) with preposition for payload, (3) no explicit event bus target. <OK: status> is for Return, not Emit. Event (capitalized) is invalid — must be lowercase event.
Corrected version: Emit a <UserCreated: event> with <user>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Emit
Source entry: book_qa:AROByExample:Chapter04-EventDrivenArchitecture (lines 1136, 1145)
Wrong original: Subscribe to the <user-registered> event. / Subscribe to the <ExtractedResult: event>.
Why it's wrong: Subscribe is not an ARO action. Event handlers are registered automatically by naming convention — no explicit subscription is needed. There is no Subscribe verb in the ARO action vocabulary.
Corrected version: Create a feature set with business activity UserRegistered Handler to handle the event.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md (Subscribe absent); Book/TheLanguageGuide/Chapter13-EventBus.md §13.3
ISSUE-023: Wrong behavioral claim — Update allows rebinding local variables (lines 1831, 1850, 1856)
Source entry: book_qa:TheConstructionStudies:Chapter05-SemanticAnalysis (lines 1831, 1850, 1856)
Wrong originals:
- Line 1831: "Yes, you can use
Updateto explicitly rebind a variable when theWithclause is used." - Line 1850: "The
updateverb set allows rebinding an existing variable" - Line 1856: "rebinding variables is forbidden except via special verbs like
setor_prefix" andSet the <user> to { name: "Bob", age: 30 }. (* ✅ Allowed *)
Why it's wrong: ARO variables are unconditionally immutable — no verb bypasses this. Update modifies data objects (e.g. merging fields on a record), not local symbol table bindings. There is no Set action in ARO. The _ prefix exception is not documented anywhere in canonical ARO sources.
Corrected version: Update modifies fields on an existing data object. To produce a new value, create a new binding with a different name.
Origin: Book/TheLanguageGuide/Chapter11-Immutability.md §11.2; Book/TheLanguageGuide/AppendixA-ActionReference.md (no Set action)
Source entry: book_qa:TheConstructionStudies:Chapter05-SemanticAnalysis:Immutability Enforcement (line 1830)
Wrong original: Accept the <price> from 200. (* Works - mutation verb *)
Why it's wrong: Accept is the state transition action with no prepositions in the canonical syntax: Accept the <order: placed>. The from 200 form is not valid. Accept does NOT rebind local variables — it validates and applies state transitions.
Corrected version: Accept the <order: placed>. (transitions order to the placed state)
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Accept; Sources/ARORuntime/Actions/BuiltIn/AcceptAction.swift (validPrepositions = [.on])
Source entry: book_qa:TheConstructionStudies:AppendixB-Grammar:Program Structure (lines 1613, 1614)
Wrong original: (GET /users) { Return an <OK: status> with Users. } / (GET /users/{userId}) { ... }
Why it's wrong: ARO uses contract-first HTTP via OpenAPI. Feature set names must match the operationId from openapi.yaml, not HTTP method+path patterns. GET /users is not valid ARO feature set name syntax.
Corrected version: (listUsers: User API) { Retrieve the <users> from the <user-repository>. Return an <OK: status> with <users>. }
Origin: CLAUDE.md §Contract-First HTTP APIs; Book/TheLanguageGuide/Chapter17-OpenAPI.md
Source entry: Multiple book_qa:TheLanguageGuide:Chapter08/25/36 entries
Wrong originals:
- Line 2932:
Compute the <message> from "[AUDIT] user-repository: " + <changeType> + " (id: " + <entityId> + ")". - Lines 3690, 3691:
key: "user:" + <user-id>, - Line 4293: "ARO uses the
+operator for string concatenation..."
Why it's wrong: ARO uses ++ for string concatenation. Single + is arithmetic addition only. Line 4293 is additionally a false factual claim.
Corrected version: Compute the <message> from "[AUDIT] user-repository: " ++ <changeType> ++ " (id: " ++ <entityId> ++ ")". / key: "user:" ++ <user-id>
Origin: Book/TheLanguageGuide/Chapter09-Computations.md §String Concatenation
Source entry: book_qa:TheLanguageGuide:Chapter26-Plugins:26.4 ARO File Plugins (line 3722)
Wrong original: Transform the <title> from <text> using <titlecase>.
Why it's wrong: using is not a valid preposition in ARO. Transform's only valid preposition is from (with optional with). This was copied from a bug in Chapter26 source material.
Corrected version: Transform the <title: titlecase> from <text>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Transform — "Valid Prepositions: from"
Source entry: book_qa:TheLanguageGuide:Chapter12-HappyPath (line 3127); book_qa:TheLanguageGuide:Chapter18-HTTPFeatureSets (line 3382)
Wrong original: Store the <order> in the <order-repository>. / Store the <item> in the <item-repository>.
Why it's wrong: While the runtime accepts in, the canonical documented form throughout all ARO book examples and AppendixA is into. Training data should use canonical form.
Corrected version: Store the <order> into the <order-repository>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Store — "Valid Prepositions: into"
Source entry: book_qa:TheLanguageGuide:Chapter08-ExportActions:8.1 Three Paths Out and :When to Use Emit (lines 2917, 2918, 2937, 2938, 2939)
Wrong originals:
Emit the <event-data> to the <event-bus>.Emit the <campaign-started> to the <event-bus>.Emit a <notification> to the <notification-service>.Emit a <page-view> to the <analytics-service>.
Why it's wrong: Emit does not take an explicit destination. The event bus is implicit. Valid preposition is with, not to. The results also lack the required : event qualifier.
Corrected version: Emit a <CampaignStarted: event> with <campaign-data>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Emit — "Valid Prepositions: with"
Source entry: Multiple book_qa:TheLanguageGuide entries
Wrong originals:
Publish the <result> as <alias>.(word order inverted, extrathe)Publish the <variable: name>.(missingas <alias>entirely)Publish the <notification> with the <channel>.Publish the <shared-value> to the <registry>.Publish the <campaign-id> to the <registry>.Publish the <event: PaymentProcessed> to the <payment-topic>.
Why it's wrong: The only valid Publish syntax is Publish as <alias> <variable>. — as comes immediately after Publish, then the alias, then the variable. No the article, no to or with preposition, no named destination.
Corrected version: Publish as <alias> <result>.
Origin: Sources/AROParser/Parser.swift line 869 (try expect(.as, ...)); Book/TheLanguageGuide/AppendixA-ActionReference.md §Publish
Source entry: book_qa:TheLanguageGuide:Chapter08-ExportActions:Comparison Table (line 2966)
Wrong original: "Publish, in contrast, is for broadcasting events to external systems like a message broker or pub/sub system"
Why it's wrong: Publish is entirely in-process. It "registers data in a global registry" within the same application process. The external pub/sub claim is a hallucinated feature that does not exist.
Corrected version: Publish makes a value accessible to other feature sets within the same application via an in-process global registry. It does not connect to external message brokers.
Origin: Book/TheLanguageGuide/Chapter08-ExportActions.md §8.4 Publish: Shared Values
Source entry: book_qa:TheLanguageGuide:Chapter08-ExportActions:8.3 Emit: Event-Driven Communication (line 2936)
Wrong original: (Emit a UserSignedUp event) when user.email is set.
Why it's wrong: Feature set headers use (Name: Business Activity) format, not parenthesized statements. user.email is set is not valid ARO condition syntax.
Corrected version: Emit a <UserSignedUp: event> with <user>. (inside a feature set body)
Origin: CLAUDE.md §ARO Syntax; Book/TheLanguageGuide/Chapter06-FeatureSets.md §6.2
Source entry: Multiple book_qa:TheLanguageGuide:Chapter16/20/23 entries
Wrong originals:
when <status> = "paid" { (* do the work *) }presented as valid but "slow"when <age> >= 18 { Log "Adult user" to the <console>. }labeled as "statement guard"when <found> is false { Log "Config not found!" to the <console>. }when <verbose> is true { Log "Processing file:" to the <console>. Log <path> to the <console>. }
Why it's wrong: ARO does not have when <condition> { ... } block constructs. The when keyword is only a trailing guard suffix on individual statements. Multiple statements cannot be grouped with a when block.
Corrected version: Each statement needs its own guard: Log "Config not found!" to the <console> when <found> is false.
Origin: Book/TheLanguageGuide/Chapter33-ControlFlow.md §When Guards — "The when clause conditionally executes a single statement."
Source entry: book_qa:TheLanguageGuide:Chapter12-HappyPath:12.6 Strategies for Complex Error Handling (line 3134)
Wrong original: Accept the <user: email> with { error: "Invalid email format" }.
Why it's wrong: Accept's only valid preposition is .on. The canonical form is Accept the <entity: new-state>. There is no with { error: ... } form — this conflates Accept with Validate/Throw.
Corrected version: Accept the <user: valid>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Accept; Sources/ARORuntime/Actions/BuiltIn/AcceptAction.swift (validPrepositions = [.on])
Source entry: book_qa:TheLanguageGuide:Chapter18-HTTPFeatureSets:18.7 Best Practices (line 3384)
Wrong original: Throw an <InvalidUser: error> with { message: "Invalid user data" }.
Why it's wrong: Throw's only valid preposition is for. There is no with clause for Throw.
Corrected version: Throw an <InvalidUser: error> for the <invalid: user-data>.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Throw — "Valid Prepositions: for"
Source entry: book_qa:TheLanguageGuide:Chapter18-HTTPFeatureSets:18.4 Response Patterns (line 3375)
Wrong original: Delete the <user> with { id: 42 }.
Why it's wrong: Delete uses the from preposition with an optional where clause. There is no with dictionary form.
Corrected version: Delete the <user> from the <user-repository> where id = 42.
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Delete — "Valid Prepositions: from"
Source entry: book_qa:TheLanguageGuide:Chapter44-Templates:44.3 Variable Interpolation Shorthand (line 4696)
Wrong original: {{ <first-name> + " " + <last-name> }}
Why it's wrong: ARO's string concatenation operator is ++. Using + in templates is incorrect. (Note: this bug also appears in the source book at Chapter44 line 149 — the training data faithfully reproduces a bug from its source material.)
Corrected version: {{ <first-name> ++ " " ++ <last-name> }}
Origin: Book/TheLanguageGuide/Chapter09-Computations.md §String Concatenation
Source entry: book_qa:TheLanguageGuide:Chapter39-Concurrency:No Concurrency Primitives (lines 4474, 4475, 4476)
Wrong originals:
(response: Response) <- (.Body from https://api.example.com/data).(getUsers: Response) <- (.Body from "https://api.users.com/list").orderId: String <- (.OrderId from <order>.processedAt: DateTime <- now.
Why it's wrong: ARO does not have <- assignment syntax, .Body from accessor chains, or type-annotated assignments. These are hallucinated non-ARO constructs. The "No Concurrency Primitives" section in Chapter39 only lists what ARO does NOT provide — it contains no such code examples.
Corrected version: Request the <response> from <url>. / Extract the <orderId> from the <order: orderId>.
Origin: Book/TheLanguageGuide/Chapter39-Concurrency.md §No Concurrency Primitives; Book/TheLanguageGuide/AppendixA-ActionReference.md
Source entry: book_qa:TheLanguageGuide:Chapter39-Concurrency:Performance Characteristics (line 4503)
Wrong original: (Parallel For Each item in items) { presented as correct ARO syntax
Why it's wrong: Canonical ARO parallel loop syntax is lowercase with angle brackets: parallel for each <variable> in <collection> {. The shown form uses title case, no angle brackets, and wraps in parentheses as if it were a feature set declaration.
Corrected version: parallel for each <item> in <items> {
Origin: Book/TheLanguageGuide/Chapter39-Concurrency.md §Syntax
Source entry: book_qa:TheLanguageGuide:Chapter44-Templates:44.5 Context Isolation (line 4704)
Wrong original: Render the <greeting> from the <Render Template>.
Why it's wrong: Render action uses to the <console>, not from. The object <Render Template> referencing a feature set name as a variable is also a fabricated pattern not present in Chapter44.
Corrected version: Render the <greeting> to the <console>.
Origin: Book/TheLanguageGuide/Chapter47-TerminalUI.md §47.6 — Render the <menu> to the <console>.
Source entry: book_qa:TheLanguageGuide:Chapter46-StreamingExecution:Best Practices for Format Selection (lines 4865, 4866, 4867)
Wrong originals:
LogLine <- extract the <message> from the <event-log>.Event <- extract the <event-data> from the <stream>.Emit <event> to the <event-hub>.Rows <- list the <sales-data> from the <database>.CsvContent <- transform the <rows> into <csv>.
Why it's wrong: ARO does not have <- arrow-assignment syntax. Emit <event> to the <event-hub> is wrong on two counts: missing required article+event qualifier, and uses to instead of with. None of these patterns appear in Chapter46.
Corrected version: Extract the <message> from the <event-log>. / Emit a <DataProcessed: event> with <data>.
Origin: Book/TheLanguageGuide/Chapter46-StreamingExecution.md; Book/TheLanguageGuide/AppendixA-ActionReference.md §Emit
Source entry: book_qa:TheLanguageGuide:Chapter46-StreamingExecution:Streaming Heuristics (line 4879)
Wrong original: Read the <file:streaming> from the <file-path>. / Read the <file:eager> from the <file-path>.
Why it's wrong: The canonical syntax for explicit streaming mode qualifiers places the qualifier on the verb (in angle-bracket verb form), not on the result variable: <Read: streaming> the <data> from the <file: "huge.csv">.
Corrected version: <Read: streaming> the <data> from the <file: "huge.csv">. / <Read: eager> the <data> from the <file: "small.csv">.
Origin: Book/TheLanguageGuide/Chapter46-StreamingExecution.md §Explicit Mode Control
Source entry: book_qa:TheLanguageGuide:Chapter47-TerminalUI:47.7 Keyboard-Driven Interactive UIs (line 4962)
Wrong original: (Handle KeyPress: KeyPress Handler) { Listen the <input> from the <keyboard>. }
Why it's wrong: (1) Canonical Listen syntax is Listen the <keyboard> to the <stdin>. — not from. Object and preposition are reversed. (2) Listen is called once in Application-Start to put the terminal in raw mode, not inside a KeyPress Handler body.
Corrected version: Listen the <keyboard> to the <stdin>. (in Application-Start); KeyPress Handler body uses Extract the <key> from the <event: key>.
Origin: Book/TheLanguageGuide/Chapter47-TerminalUI.md §47.7.1
Source entry: book_qa:ThePluginGuide:Cover:Introduction (line 6370)
Wrong original: Return <sum> from <a> + <b>.
Why it's wrong: Return syntax is Return an <OK: status> with <data>. or Return a <Status: status> for the <object>. Using from preposition for Return is not valid.
Corrected version: Return an <OK: status> with <sum>. (after computing sum in a separate Compute statement)
Origin: Book/TheLanguageGuide/AppendixA-ActionReference.md §Return
The following errors appear across many entries and should be fixed by replacing the entire generation prompt or post-processing corrections:
Search-and-replace pattern in output field: any ARO code using "string" + <var> or <var> + "string" — change + to ++ when operands are strings.
Pattern: Publish the <X> as <alias> or Publish the <X> to the <Y> → Publish as <alias> <X>
Pattern: Emit a <Name> or Emit the <name> without : event → Emit a <Name: event> with <data>.
Pattern: Any when <condition> { ... } inside a feature set body → each statement needs its own ... when <condition>. suffix
All occurrences of <- in ARO code examples are hallucinated non-ARO syntax.
These constructs do not exist in ARO and should be removed.