Think Forward.

L’Iran face à l’épreuve de la réalité : la fin d’un mythe régional ? 1183

Encore une séquence de tensions majeures au Moyen-Orient, mettant en lumière les fragilités profondes du régime iranien. Depuis son avènement en 1979, la République islamique s’est construite sur un récit politique d’une puissance révolutionnaire en opposition frontale au «Grand Satan» les USA, défenseur intransigeant de la cause palestinienne et de la libération de Jérusalem. Ce positionnement idéologique a permis à Téhéran de gagner des relais dans une partie du monde arabe, notamment au sein des mouvements hostiles à Israël. Elle a développé une stratégie d’influence fondée sur la création, le financement et l’armement de groupes affiliés: Hezbollah au Liban, milices chiites en Irak, soutien au régime syrien, Houthis au Yémen, formant ce qu’elle présente comme «l’axe de la résistance». Elle finance sûrement d’autres mouvements dans bien d’autres pays, avec une connivence contre nature avec les islamistes sunnites. Une stratégie d’expansion aux effets déstabilisateurs. Là où l’Iran a étendu son influence, son empreinte est indissociable d’une militarisation accrue et d’une fragmentation des États. La projection repose moins sur la construction étatique que sur l’essor de réseaux politico-militaires parallèles défiant les institutions nationales. Cela a certes permis à Téhéran de disposer de leviers de pression sur ses adversaires et de se poser en champion de la «résistance» à l’ordre régional dominé par les USA et leurs alliés. Mais cela a également contribué à prolonger des conflits, à affaiblir des institutions étatiques déjà fragiles et à exacerber des fractures confessionnelles. À long terme, le coût humain et économique de cette «stratégie» est considérable pour les pays concernés et pour l’Iran lui-même, soumis à des sanctions sévères et à un isolement international persistant. La cause palestinienne est en fait plus instrumentalisée que défendue, depuis près d’un demi-siècle, alors que le régime iranien affirme en faire un pilier central de sa diplomatie et de sa légitimité révolutionnaire. Téhéran a noué des liens avec des acteurs armés palestiniens, comme le Hamas ou le Jihad islamique, qu’il présente comme les prolongements de sa propre «résistance». Pourtant, force est de constater que la situation des Palestiniens ne s’est nullement améliorée: occupation galopante, colonisation et blocus se poursuivent, tandis que les cycles de violence se succèdent sans perspective politique crédible. La Palestine a énormément perdu en territoire, en vies humaines et en sympathie au sein même du monde arabe. Les divisions internes palestiniennes, enfermant la cause dans une logique essentiellement militarisée en l’absence d’horizon diplomatique, interrogent l’efficacité réelle de cette posture. Comme durant l’ère Gamal Abdel Nasser, marquée par un panarabisme imprudent, la période actuelle n’a pas apporté de progrès. L’Iran a, en partie, supplanté un certain leadership arabe sur le dossier, sans pour autant produire de résultats tangibles en faveur d’un règlement durable, ni d’amélioration concrète de la vie des Palestiniens, bien au contraire. Au-delà du registre géopolitique, le régime est confronté à une contestation interne profonde. Les mouvements de protestation récents, et ceux déclenchés après la mort de Jina Mahsa Amini en septembre 2022, ont révélé une fracture majeure entre une partie de la société iranienne et ses dirigeants. La répression, comme unique réponse, s’est traduite par des milliers de morts et d’arrestations, documentées par des organisations internationales et les mécanismes onusiens. La rigidité sécuritaire et idéologique contraste avec les aspirations d’une jeunesse connectée en quête de libertés civiques et individuelles. L’Iran d’aujourd’hui n’est plus celui de 1979: la société s’est transformée, le régime non. Le décalage entre le discours révolutionnaire, la promesse de justice sociale et la réalité socio-économique: inflation élevée, chômage, précarité, fuite des cerveaux, corruption et isolement diplomatique, nourrit un sentiment de désenchantement qui fragilise la légitimité de l’État. Le Maroc a officiellement rompu ses relations avec l’Iran en 2018, Téhéran soutenant le Front Polisario via le Hezbollah et son ambassade à Alger, avec l’appui de l’Algérie. Rabat détient des preuves de livraisons d’armes et de formation de cadres du Polisario. La rupture marocaine apparaît comme une décision stratégique visant à prévenir toute perception d’ingérence dans ses intérêts vitaux, en particulier au Sahara. Elle s’inscrit aussi dans une recomposition plus large des alliances régionales, marquée par le rapprochement de Rabat avec certains partenaires du Golfe et les USA, sur fond de rivalités croissantes avec l’axe irano-algérien. Les développements militaires et diplomatiques récents mettent en évidence une réalité inquiétante pour Téhéran: l’Iran semble souvent réagir dans l’urgence, davantage qu’il ne maîtrise le tempo stratégique. La multiplication des fronts périphériques, du Liban à Gaza, de l’Irak au Yémen, intervient alors même que ses relais régionaux subissent des pressions croissantes, des sanctions et des éliminations ciblées qui érodent la cohésion de «l’axe de la résistance». Cette situation peut apparaître autant comme un aveu de fragilité. La facilité avec laquelle les USA et Israël arrivent à neutraliser les dirigeants interroge jusqu’aux compétences de l’État. Pour autant, annoncer l’effondrement imminent du régime serait hasardeux. L’appareil sécuritaire se veut encore puissant, les réseaux d’influence régionaux restent actifs. Mais le régime va-t-il encore une fois faire preuve de résilience, y compris au prix d’une violence accrue à l’intérieur et d’une gestion dure de la contestation ? Il convient de distinguer clairement le régime du peuple iranien, pris en tenaille. Il est l’héritier d’une civilisation millénaire et d’une riche tradition intellectuelle, et ne doit pas être réduit aux choix de l’élite politico-religieuse. Les souffrances liées aux sanctions, à la répression et à l’isolement international pèsent d’abord sur les citoyens ordinaires, y compris ceux qui aspirent à un changement pacifique et à une réintégration du pays dans la communauté internationale. L’histoire enseigne bien des choses dans des situations identiques. Les transitions exigent lucidité, responsabilité et une vision inclusive de l’avenir. La stabilité régionale ne naîtra ni de la surenchère idéologique, ni de la destruction, mais d’un rééquilibrage fondé sur le droit, la souveraineté, la sécurité collective, la coopération et la confiance, aujourd’hui bien érodée. Dans cette séquence troublée, la solidarité va d’abord aux peuples de la région, pris dans des dynamiques qui les dépassent. Les mollahs devront tôt ou tard rendre des comptes à l'histoire, et répondre à une question simple, mais décisive: ont-ils servi le peuple, ou l’ont-ils sacrifié au nom d’un mythe politique devenu, avec le temps, de plus en plus difficile à soutenir ?
Aziz Daouda Aziz Daouda

Aziz Daouda

Directeur Technique et du Développement de la Confédération Africaine d'Athlétisme. Passionné du Maroc, passionné d'Afrique. Concerné par ce qui se passe, formulant mon point de vue quand j'en ai un. Humaniste, j'essaye de l'être, humain je veux l'être. Mon histoire est intimement liée à l'athlétisme marocain et mondial. J'ai eu le privilège de participer à la gloire de mon pays .


10200

33.0

April 6: The Moroccan Idea That Conquered the World... 246

April 6 is now etched into the global calendar as the International Day of Sport for Development and Peace. A celebration championed by the United Nations, echoed across all continents, and enthusiastically embraced by millions of athletes, institutions, and enthusiasts. Yet behind this worldwide recognition lies an origin that often goes unnoticed. It’s a Moroccan idea, that of Hamid Kamal Lahlou. The irony is striking. While the world fervently celebrates this day, Morocco—the birthplace of the initiative—sometimes seems to lag behind, as if hesitating to fully claim its paternity. Yes, there have been scattered initiatives and events here and there. But they fall far short of what we might have hoped for. We won’t list the few organized manifestations, so as not to ruffle feathers by omitting any. In any case, there are no major events from the sports authorities, such as the ministry, the National Olympic Committee, or the major Royal Moroccan Sports Federations. Is this simply an oversight, or a more subtle form of distancing? The question deserves to be asked, especially when you know the personality of its originator. Kamal Lahlou is not a consensual figure. Journalist, sports leader, communicator, he has established himself over decades as a singular voice in Morocco’s media and sports landscape. His career is dense: former handball player, originally a physical education teacher and inspector, committed actor in the development of national sports, he has held important responsibilities, notably within the Moroccan National Olympic Committee and the Association of African National Olympic Committees. He remains president of the Royal Moroccan Weightlifting Federation and vice-president of the Mohammed VI Sports Champions Foundation. But beyond titles and roles, it’s his words that stand out and his stance that impresses. Direct, clear, often critical, Lahlou disturbs as much as he inspires. He practices neither doublespeak nor complacency. In an environment where restraint is sometimes elevated to an implicit rule, his frankness cuts through. He points out shortcomings, challenges decision-makers, and defends a demanding vision of sport as a lever for development and national influence. This positioning has earned him as many admirers as detractors and doubtless even more denigrators. Some praise his courage and consistency, others reproach him for a tone deemed too incisive. Still others find nothing to fault him for, yet behind his back, lavish him with gratuitous reprimands. But all agree on one point: Kamal Lahlou is an incontournable figure, impossible to ignore. His patriotism admits no ambiguity. Behind every statement, every critique, emerges a clear ambition: to see the Kingdom take the place it deserves on the international sports scene. The April 6 Day fits precisely into this logic. By proposing to dedicate a date to sport as a vector for peace and development, Lahlou sought not personal legitimation, but recognition of the fundamental role sport can play in modern societies. He thus transcribed, in his own way, the royal vision of sport and the role the country can play on a universal scale in service of peace. So why this relative discretion in Morocco around this day? Is it the price to pay for free speech? The backlash of rivalries that have no place? An implicit way to marginalize a figure deemed too independent? A means to silence an ambitious voice? Or simply a deficit of collective memory? Whatever the answers, or the answer, one reality remains. April 6 is an idea born in Morocco, carried by a Moroccan, and adopted by the entire world. At a time when the country seeks to strengthen its soft power and highlight its successes, it might be time to reconcile origin and celebration. For recognizing this initiative to Kamal Lahlou is not just about honoring a man. Does he really need it? It’s rather about embracing a part of contemporary national and global sports history, and reminding that beyond infrastructure and performances, ideas too can change the world. And if it’s the Kingdom of Morocco at the origin, that’s even better.

Mediterranean: The Great Erasure of the Amazigh in Eurocentric Historical Narrative... 752

The history of relations between the two shores of the Mediterranean is deeply biased. Behind the lazy opposition between a supposedly dynamic North and a South relegated to the margins lies a more serious omission: **the systematic erasure of the determining role of the Amazighs (Berbers, Moors) in the formation of Mediterranean Europe**. This erasure is neither neutral nor accidental; it stems from a genuine ideological construct. Long before the colonial era, Amazigh populations structured most of North African space and held a central place in the political, military, commercial, and cultural dynamics of the Mediterranean, forming essential pillars of its history. They ensured an almost continuous link between sub-Saharan Africa and the northern Mediterranean. From Al-Andalus to medieval Sicily, their imprint is deep and enduring. A symbol of this centrality, the conquest of the Iberian Peninsula in the 8th century was led by Tariq ibn Ziyad (as named in the sources) at the head of a predominantly Amazigh army. Chronicles emphasize its largely Berber composition. This reality is systematically downplayed in favor of an Arab-centered narrative that invisibilizes the predominant Amazigh component. Without the Amazighs, there simply would have been no lasting Muslim implantation in Western Europe and the subsequent impacts. Reducing Al-Andalus to a mere outgrowth of the "Arab world" is a grave falsification by oversimplification. The dynasties that drove its golden age, foremost the Almoravids and Almohads, were of Amazigh origin. Emerging from Saharan and Atlas Berber confederations, they refounded the political balances of North Africa and Al-Andalus, building a Hispano-Moorish civilization that remains vibrant today. This fundamentally Amazigh civilization marked urban and monumental architecture, still visible in Seville, Marrakech, Fez, or Cordoba. It structured religious and legal thought with reformist Malikism among the Almoravids, doctrinal rigor among the Almohads for Muslims, and Maimonides' thought for Jews. It also durably impacted the political and military organization of the western Mediterranean. Southern Spain and Portugal still bear visible and toponymic traces of this Amazigh presence today. Ignoring them mutilates a deeply shared history. To refresh this memory, what better than a little tour of Spain's Extremadura. This influence did not stop at the Andalusian shores. In Sicily and southern Italy in general, particularly Palermo, interactions between North African worlds and European spaces were constant during Islamic and then Norman periods, via military contingents, trade networks, and knowledge transfers. These circulations included a significant Amazigh component, often retroactively dissolved into the vague formula of "Arab influence." Couscous is still present there, accompanied by orange blossom almond sweets. By speaking indistinctly of "Arabs," dominant narratives erase the real plurality of actors and obliterate the African depth of these exchanges. This erasure stems from several cumulative biases. First, **Eurocentrism** and the inability to admit that African populations were co-founders of Mediterranean Europe. Second, **historiographical Arabocentrism** and the tendency to homogenize the Muslim world by invisibilizing its non-Arab components, primarily the Amazighs. Finally, **colonial legacy**, with the need to smooth and hierarchize narratives to legitimize a supposed European civilizational superiority. The result is clear: the Amazighs are relegated to a secondary, folkloric, or local role, even though they were structuring actors of the western Mediterranean. Their impact is unequivocally one of the most important in the region's history. Correcting this bias does not boil down to adding a "Berber" chapter to already-written history books. The narration itself must be reconfigured. It involves reinscribing the Amazighs at the heart of the Mediterranean narrative. Southern Europe is not solely the heir to Rome and Christianity. It is also, in part, the product of North African contributions, particularly Amazigh ones, visible in its political structures, urban landscapes, culinary and clothing arts, certain names, and imaginaries. Isn't the name Maurice an example of indelible impact? The western Mediterranean must be conceived as a space of co-construction, not as a theater of unilateral diffusion from North to South. Recognizing this is not a reflex of identity politics or any ideological claim, but a minimal requirement of scientific rigor. Mediterranean history has been flattened to serve power logics, at the cost of extreme simplification of trajectories and actors. The Amazighs are among the great erased, if not the only ones excluded. Fully reintegrating them into the narrative is not "rewriting" history in the sense of distorting it: it is **repairing** it, by restoring to the Mediterranean its African depth and true complexity. This approach is essential to ease relations in the region and build a solid future for its populations, whether in political, economic, or simply human terms. For centuries, this unbalanced narrative has permeated academic, media, and political discourses. Yet the Mediterranean has always been a sea of circulation, not domination; a space of permanent interactions, not a border between hierarchized worlds. From Antiquity and likely before, it has been a zone of mutual fertilization between African, Levantine, and European civilizations. Archaeology demonstrates this powerfully. Phoenicians, Romans, Carthaginians, Egyptians, Numidians, and of course Amazighs structured its commercial, cultural, and scientific exchanges. The idea of an autonomous Europe, the sole source of modernity, is merely a late reconstruction. Not so long ago on a geological scale, the strait between Morocco and Spain was barely more than one kilometer wide... It falls to historians, teachers, and school systems on both shores to correct this, with a view to a common future founded on an equally shared past.

Chapter 5: Formalize & Systemize 1091

A working implementation begins with a narrowly defined document type. The unit of construction is a skill, which combines input schema, feature computation, semantic rules, generation constraints, and validation logic into a single packaged pipeline. The input schema defines the structure of accepted data. Each field has a fixed type and meaning. Inputs outside this structure are rejected or normalized before processing. This step removes ambiguity at the entry point. The feature layer computes derived values from the input schema. These computations are deterministic and expressed in standard tooling such as SQL or Python. The outputs include numerical transformations, aggregations, and formatted representations. Once computed, these values are stored and reused across all downstream operations for the same input. The semantic layer maps computed features into categorical labels. These mappings are expressed as explicit rules that define thresholds and conditions. The rules function as a translation layer between raw computation and narrative intent. Changes in business definition are reflected by modifying rules rather than rewriting logic. The generation layer receives three inputs: original data, computed features, and semantic labels. It produces structured text under strict constraints. The model is restricted to expressing provided values. No additional facts are introduced. Output formats are predefined, often as structured JSON containing narrative sections. The validation layer compares generated text against deterministic outputs. It extracts numerical values, categorical claims, and references, then checks them against the feature and semantic layers. Any deviation indicates failure. Output is either accepted or routed for correction. A complete skill behaves like a compiled artifact. Input enters through a fixed interface. Output is produced in a predictable format. Internal logic remains inspectable and versioned. Once a single skill is stable, the same structure can be replicated across multiple document types. Financial reports, product summaries, operational dashboards, and compliance documents follow identical architectural patterns. Variation exists only in schema definitions, feature logic, and semantic rules. As the number of skills increases, duplication appears in semantic definitions. Terms such as “strong performance,” “declining trend,” or “high risk” recur across domains, often with subtle differences in meaning depending on context. A static rule system cannot represent these contextual variations efficiently. Each skill encodes its own version of definitions, which leads to inconsistency and maintenance overhead. A knowledge graph introduces a shared semantic layer. Concepts are represented as nodes, and relationships between them are explicitly defined. Each concept carries attributes such as context, domain, and threshold values. This allows meaning to vary based on surrounding conditions rather than fixed rule files embedded in individual skills. In this structure, a query retrieves the appropriate definition of a concept based on context parameters such as industry, market state, or organizational role. The semantic layer no longer evaluates rules directly. It resolves references into context-specific definitions drawn from the graph. Feature computation remains unchanged. Inputs are still transformed into deterministic values. The difference lies in how those values are interpreted. Instead of fixed thresholds embedded in code or configuration files, interpretation depends on graph queries that return context-aware mappings. This creates composability across systems. Multiple skills reference the same underlying semantic nodes. A change in definition propagates through the graph without modifying individual pipelines. Consistency emerges from shared structure rather than replicated configuration. The generation layer remains unchanged. It still receives features and resolved semantic labels. The difference lies upstream, where those labels are derived from a shared semantic space rather than isolated rule sets. Validation also extends naturally. Outputs can be traced not only to feature computations but also to the specific semantic definitions used during interpretation. This adds a second layer of provenance, linking each statement to both numerical derivation and contextual meaning. The system shifts from isolated pipelines to a connected network of shared meaning, where document generation becomes an application of structured knowledge rather than repeated local interpretation.

Chapter 4: Tokenomics & Failure 1095

Token usage in direct generation scales with both input size and document count. When identical datasets are used repeatedly, the same information is reintroduced into prompts and reprocessed each time. This creates redundancy across runs. A staged pipeline changes this behavior by separating computation from generation. Feature computation runs once per dataset. The results are stored and reused. The generation step receives only derived values and semantic tags rather than raw input data. Let Tin represent the original input size and T'in the reduced representation produced after feature extraction. For n documents derived from the same dataset, direct generation cost scales with n⋅Tin. In the staged system, cost splits into a one-time computation cost plus n⋅Tin. As n increases, the amortized cost of preprocessing becomes negligible relative to repeated generation savings. This structure also changes verification cost. When outputs depend on raw inputs embedded inside prompts, validation requires rechecking both computation and interpretation. When outputs depend on precomputed features, verification reduces to checking alignment between text and deterministic values. This reduces the scope of manual review. A second effect concerns failure containment. In end-to-end generation, errors in reasoning, calculation, and phrasing occur in the same process, making attribution difficult. A staged pipeline isolates these responsibilities. Feature computation is deterministic and testable. Semantic classification is rule-based and auditable. Generation is constrained to express only pre-validated inputs. Validation operates as a final comparison layer between text and deterministic outputs. In practical terms, this structure prevents entire classes of errors that arise when models are allowed to both compute and express facts. Numerical inconsistencies, misapplied rules, and unsupported claims can be traced back to specific layers and eliminated without affecting unrelated parts of the system. The result is a system where cost and correctness are both controlled through separation of responsibilities rather than increased model complexity.

Chapter 3: Prior Art and Pipeline Structure 1098

The problem of translating structured input into structured output has been addressed in other domains through staged processing. Compiler design separates parsing, semantic analysis, transformation, and code generation into distinct phases, each operating on well-defined representations. Natural language generation research formalized a similar sequence, separating content selection, organization, lexical choice, and surface realization. These designs isolate responsibilities and prevent later stages from altering the assumptions established earlier in the pipeline. End-to-end neural generation replaced these staged systems with a single model that maps input directly to output. This removes explicit intermediate representations and shifts all responsibilities into one probabilistic process. While this simplifies implementation, it removes the boundaries that make verification and auditing feasible. When a model both computes values and expresses them, there is no clear point at which correctness can be enforced. A staged approach restores those boundaries. Data is transformed into a set of derived values using deterministic computation. These values are then mapped to semantic categories using explicit rules. Only after these steps are complete is text generated, and the generation step is constrained to use the prepared inputs. A final validation stage compares the generated text against the deterministic outputs to detect discrepancies. This structure ensures that computation, classification, and expression are handled independently. The model is not responsible for deriving facts, only for expressing them. Each stage produces artifacts that can be inspected, tested, and reused. The framework operates as a directed sequence of transformations from input data to validated text. Each layer has a defined input and output, and data flows forward without feedback into earlier stages. The input layer accepts structured records or extracts them from unstructured sources into a predefined schema. When extraction is required, it is limited to identifying and normalizing explicit facts without inference or aggregation. The goal is to produce a stable, typed representation of the data that downstream stages can consume. The feature layer performs deterministic computation. This includes arithmetic operations, aggregations, formatting, and lookups. The implementation can use SQL, Python, or any environment that produces consistent outputs for identical inputs. Results from this layer are cacheable and reusable, since they depend only on the input data. The semantic layer applies rule-based classification to the computed features. Rules encode domain definitions such as thresholds, categories, or states. These rules are externalized as data so they can be modified without changing application code. The output of this layer is a set of labels or tags that describe the state of the input according to business logic. The generation layer receives the original inputs, computed features, and semantic tags. The prompt specifies exactly which values must be included and prohibits the introduction of additional facts. Structured output constraints restrict the format of the response. The model converts the provided values into text without performing new calculations or introducing new data. The validation layer inspects the generated text and compares it against the outputs of the feature and semantic layers. Numeric values, percentages, and categorical statements are extracted and checked for agreement. Any mismatch results in rejection or routing to review. No document proceeds without passing this reconciliation step. This sequence enforces separation between computation, interpretation, and expression. It also creates a complete lineage from each statement in the text back to a deterministic source.

Chapter 2: Why Agents, MCP, and RAG Fail for Data-to-Text 1098

The current default approach to generating documents from data combines agents, multi-step prompting, and retrieval. These methods are often grouped together in practice, but they introduce the same structural issue: the model repeatedly interprets and transforms the same data without a fixed, verifiable intermediate state. Start with agent workflows. A typical setup assigns roles such as writer, reviewer, and editor. Each role operates on text produced by the previous step while also referencing the original data. The data is not processed once and stored as a stable representation; it is re-read and reinterpreted at every stage. Derived values are recomputed multiple times, sometimes with small differences. The final document depends on a chain of generated text rather than a single transformation from source data. When a number is incorrect, there is no clear point in the process where the error can be isolated, because each stage mixes interpretation with generation. Multi-chain prompting attempts to impose order by splitting the task into explicit steps within a single workflow. One step extracts information, another computes metrics, another organizes structure, and a final step generates the document. This looks closer to a pipeline, but the boundaries are not enforced. Each step still depends on the model to preserve exact values from the previous step. Intermediate outputs remain probabilistic. A value that is slightly altered during extraction will be used as input for all subsequent steps. The system accumulates small inconsistencies rather than preventing them. Retrieval-augmented generation changes how data is accessed, not how it is processed. Relevant documents or records are retrieved and inserted into the prompt. The model then reads and synthesizes them. For data-to-text tasks, this means that the model is responsible for selecting, combining, and expressing values from retrieved sources. If multiple sources contain overlapping or conflicting information, the model resolves them implicitly during generation. There is no requirement that the output match any single source exactly. Retrieval improves coverage but does not enforce consistency. These methods are often combined. A system may retrieve data, process it through multiple prompting steps, and coordinate the process with agents. The number of transformations applied to the same data increases. Each transformation introduces another opportunity for deviation. Token usage grows because the same information is processed repeatedly. The final output reflects a sequence of interpretations rather than a controlled mapping from input to output. Data-to-text generation requires a different structure. Numerical values must remain exact. Classifications must follow defined rules. Every statement must be traceable to a source. These requirements assume that data is processed once, stored in a stable form, and then used consistently throughout the pipeline. Agents, MCP, and RAG do not provide this property because they rely on iterative interpretation. They remain useful in earlier stages where the goal is to gather information, explore alternatives, or synthesize unstructured inputs. In those contexts, variation is acceptable and often necessary. Once the data is fixed and the task is to produce a document that must align exactly with that data, the process must shift to a deterministic pipeline where computation, classification, and generation are separated and verified.
bluwr.com/Chapter 2: Why Agents,...