{
  "chat_uuid": "b34899cb-25fb-4ea9-a5fd-ef53afb0d1d6",
  "history": [
    {
      "content": "You have received three files: the ATWL specification, which defines a formal language for representing visual analytics workflows; an example workflow expressed in ATWL; and a document titled ATWL Library: Titles and ATWL Representations, which contains 53 visual analytics workflows drawn from the published research literature, each formalised in ATWL. The library was curated by our research group.\n\nPlease read all three carefully before we proceed.\n\nThe ATWL specification describes the language's artifact types, transform intents, actor designations, loop constructs, and syntax. The example workflow illustrates how these elements are used together to describe a specific visual analytics process. Note that the example represents one type of workflow among many possible; its specific analytical structure reflects its particular task and should not be treated as a template that must be followed for other tasks. What the example illustrates is how the language is used — the syntax, the vocabulary, and the conventions for organising artifacts, transforms, and loops.\n\nThe library is a resource of formalised workflows that you may consult when designing your recommendation. Each library workflow addresses a specific analytical problem in a specific domain. You may draw on the library to identify workflow structures, iteration patterns, artifact typing conventions, or methodological approaches that could inform your recommendation for the target task. You may combine elements from multiple library workflows, adapt them, or design new elements as the task requires. You are not obliged to use the library, but you should treat it as a substantive source of design ideas.\n\nIn the next message I will describe a specific visual analytics design task. Your job will be to design an analytical workflow that addresses the task, and to express your recommendation both in natural language (for readability) and in ATWL (for structural precision). The natural-language description should explain the analytical logic of the workflow; the ATWL representation should formally specify the artifacts, transforms, loops, actors, and control flow. Where you draw on specific library workflows, please cite them by name so the sources of your recommendation are traceable.\n\nBefore we proceed, could you briefly confirm that you have absorbed the specification, the example, and the library, and let me know if you have any questions about the language, the syntax, or the library before the task is described?",
      "role": "user"
    },
    {
      "content": "<think>**Clarifying user response**\n\nI need to acknowledge if I absorbed the content properly and decide whether to mention everything. The user seems to be asking for a brief confirmation and has questions. I can’t falsely say I've carefully read everything when I haven't. I have the content, and it's in English. There’s a mention of 53 library workflows as a potentially substantive resource, but I shouldn't include too many details right now. Conciseness is key!</think>\n\nConfirmed. I have absorbed:\n\n- The **ATWL specification**: artifact types, transform intents, actors, syntax, arrangements versus visualisations, specifications/knowledge distinctions, and loop/conditional/assignment conventions.\n- The **HITL example**: its use of feature-refinement and model-refinement loops, while treating its task-specific structure as illustrative rather than prescriptive.\n- The **53-workflow library**: including its domain-specific workflow patterns, interactive refinement strategies, artifact-typing practices, and source names for traceable citation.\n\nFor the upcoming task, I will provide:\n1. A concise natural-language workflow rationale; and  \n2. A formal ATWL workflow with artifacts, transforms, actors, control flow, and appropriate loops.\n\nI have no questions about the language or library at this stage.",
      "role": "assistant"
    },
    {
      "content": "A public health team in Vastopolis, a metropolitan area of about two million residents, has observed a sharp increase in flu-like illnesses over the past few days, with several deaths believed to be associated with the current outbreak. The team wants to understand where the outbreak started and how the infection is being transmitted (person-to-person, airborne, waterborne, or something else) so that emergency management resources can be deployed appropriately.\n\nThe available data consists of: geolocated microblog messages posted from mobile devices over a period of several days, each with a timestamp, GPS coordinates, and text content; a map of the metropolitan area showing highways, hospitals, landmarks, and water bodies; population statistics for 13 city zones; and daily weather observations including wind speed and direction.\n\nThe analyst will need to inspect intermediate results visually and use domain knowledge to interpret patterns and make judgements at each stage.\n\nDesign an analytical workflow for this problem.",
      "role": "user"
    },
    {
      "content": "<think>**Exploring library workflows**\n\nI'm thinking about potential library workflows that could enhance our projects. One idea involves using events-to-places to cluster and refine significant locations while analyzing map and temporal dynamics. Another approach could be employing ST_analysis_modelling for iterative space-time grouping and comparing residual models. Lastly, I wonder if LFPeers could help correlate external factors too. There’s a lot to consider here, but these ideas might lead to some interesting insights!\n\n**Clarifying data collection needs**\n\nI shouldn’t overreach in my approach. I need to clarify the basis for sampling, not just water alone. It seems important to include air quality and water tests in my considerations. I also need to ensure that my final responses are conditional based on the data I collect. It’s all about understanding the specifics of what’s necessary for a thorough evaluation. Let's make sure I'm focused on what's truly relevant!\n\n**Considering timeline visualization**\n\nI'm thinking about how to use the ATWL mapping context with D_zones. I might build component A to visualize timelines, possibly using a V dashboard. Also, I might need the F_spread feature, perhaps as a vector. The `F_context` feature for D_zone_time would include important distances to water, highways, landmarks, hospitals, and wind exposure. To fully characterize this, it sounds like I’ll also need D_map_features and D_weather.\n\n**Evaluating mechanism hypotheses**\n\nI'm considering four competing hypotheses. First is the idea of person-to-person local adjacency, especially along highways that may act as corridors. Then there's the airborne hypothesis, which focuses on wind-aligned downwind lag patterns. The third is centered on waterborne connections, where the timing and proximity of water can play a role. Finally, I think about the idea of other landmarks, hospitals, or reporting artifacts that could influence the situation.</think>\n\n## Recommended analytical logic\n\nThis workflow treats the microblog stream as an **early-warning signal**, not as confirmed clinical case data. It therefore combines automated extraction with repeated visual and epidemiological review.\n\n1. **Validate the illness signal.** Extract messages likely describing current flu-like illness, while distinguishing first-person symptom reports from news, jokes, retweets, or general discussion. Analysts inspect mapped and temporal samples, then refine the detection criteria until the signal is credible.\n\n2. **Create population-normalised space-time outbreak units.** Aggregate relevant posts into zone-by-time episodes (for example, 6- or 12-hour bins), compute counts and rates per population, and derive onset time, growth rate, local spread, and contextual features such as distance to water, hospitals, landmarks, and highways.\n\n3. **Identify plausible origin areas.** Rank candidate source zone-time locations using sustained early excess, subsequent outward propagation, and consistency with the observed timeline. Analysts inspect maps, timelines, and early-message text before accepting an origin hypothesis.\n\n4. **Compare competing transmission explanations.** Fit and visually compare candidate spread models:\n   - **Person-to-person / local-contact:** propagation through adjacent, dense zones or along transport corridors.\n   - **Airborne:** downwind, time-lagged propagation aligned with wind direction and speed.\n   - **Waterborne:** concentration near, or progression along, water-connected areas.\n   - **Other / reporting artefact:** common-source exposure near landmarks, hospital-related posting bias, or another unobserved mechanism.\n\n   The team evaluates each mechanism by its fit, spatial-temporal residuals, and epidemiological plausibility. It iteratively adjusts temporal resolution, lag ranges, thresholds, and covariates where needed.\n\n5. **Produce conditional operational guidance.** The final output ranks likely origin areas and mechanisms, states uncertainty explicitly, and links each hypothesis to immediate action: targeted case investigation, mobile clinical support, water sampling, air-quality/environmental investigation, risk communication, or surveillance expansion.\n\nThis design adapts the spatial clustering and aggregation strategy of **“Extracting significant places from trajectories”**, the iterative model-and-residual assessment pattern of **“Spatio-temporal analysis and modelling”**, and the lag/sensitivity calibration logic of **“Detecting Stable Cross-Impact Patterns in Bivariate Time Series.”** The coordinated map–timeline–space-time exploration is also informed by **“ISeeCube: Visual Analysis of Gaze Data for Video.”**\n\nCrucially, the available data can support **evidence-ranked hypotheses**, but cannot prove a transmission route. Confirmatory epidemiological investigation, clinical case data, environmental samples, and contact-tracing information remain necessary.\n\n## ATWL representation\n\n```atwl\nworkflow vastopolis-outbreak-origin-and-transmission-analysis\n  template: characterise →\n            loop(visualise → abstract → assess →\n                 generate-knowledge → characterise) →\n            define-unit →\n            loop(define-unit → characterise → contextualise → visualise →\n                 build-model → characterise → visualise → abstract →\n                 assess → generate-knowledge) →\n            generate-knowledge\n\n  description: \"Human-in-the-loop visual analytics workflow for detecting\n    a flu-like illness outbreak from geolocated microblogs, estimating\n    plausible origin areas, comparing transmission-mechanism hypotheses,\n    and producing uncertainty-aware emergency-response guidance.\"\n\n# ============================================================================\n# INPUT\n# ============================================================================\n\nartifact D_posts : entities\n  origin: given\n  internal structure: elementary\n  embedment: {set, space, time}\n  features:\n    - id: timestamp\n      value structure: atomic\n      value type: temporal\n      description: \"Posting time\"\n    - id: location\n      value structure: atomic\n      value type: spatial\n      description: \"GPS coordinate recorded by the mobile device\"\n    - id: text\n      value structure: atomic\n      value type: text\n      description: \"Microblog message content\"\n  description: \"Geolocated and timestamped microblog messages posted in\n    Vastopolis during the outbreak observation period.\"\n\nartifact D_zones : entities\n  origin: given\n  internal structure: region\n  embedment: space\n  features:\n    - id: zone_name\n      value structure: atomic\n      value type: categorical\n      description: \"Identifier of one of the 13 city zones\"\n    - id: population\n      value structure: atomic\n      value type: numeric\n      description: \"Resident population of the zone\"\n  description: \"Metropolitan analysis zones with population statistics.\"\n\nartifact D_map_features : entities\n  origin: given\n  internal structure: elementary\n  embedment: space\n  features:\n    - id: feature_type\n      value structure: atomic\n      value type: categorical\n      description: \"Highway, hospital, landmark, water body, or other map feature\"\n    - id: geometry\n      value structure: atomic\n      value type: spatial\n      description: \"Spatial geometry of the map feature\"\n  description: \"Mapped highways, hospitals, landmarks, and water bodies.\"\n\nartifact D_weather : entities\n  origin: given\n  internal structure: elementary\n  embedment: time\n  features:\n    - id: wind_speed\n      value structure: atomic\n      value type: numeric\n      description: \"Observed wind speed\"\n    - id: wind_direction\n      value structure: atomic\n      value type: numeric\n      description: \"Observed wind direction\"\n  description: \"Daily weather observations for Vastopolis.\"\n\nartifact K_epidemiology : knowledge(D_posts, D_zones, D_weather)\n  origin: given\n  representation form: \"domain assumptions and interpretation criteria\"\n  description: \"Public-health knowledge concerning flu-like symptoms,\n    plausible incubation and reporting delays, expected spread mechanisms,\n    intervention constraints, and known limitations of social-media signals.\"\n\nartifact S_signal_detection : specification\n  origin: given\n  representation form: \"text-classification and filtering settings\"\n  description: \"Initial syndrome vocabulary, symptom phrases, language\n    rules, confidence threshold, and exclusion rules for news, metaphorical,\n    historical, or non-local illness references.\"\n\nartifact S_outbreak_analysis : specification\n  origin: given\n  representation form: \"spatio-temporal and mechanism-model settings\"\n  description: \"Initial time-bin size, outbreak threshold, smoothing method,\n    candidate lag range, spatial neighbourhood definition, and assumptions\n    for person-to-person, airborne, waterborne, and other-source models.\"\n\n# ============================================================================\n# STEP 1: INITIAL SYNDROME-SIGNAL EXTRACTION\n# ============================================================================\n\ntransform T_extract_signal :\n  intent: characterise\n  manner: \"text classification and symptom extraction\"\n  input: D_posts, S_signal_detection, K_epidemiology\n  output: F_illness_signal\n  actor: hybrid\n  description: \"Score each message for evidence of a contemporaneous,\n    first-person or locally observed flu-like illness report; retain\n    symptom terms, confidence, and exclusion rationale.\"\n\nartifact F_illness_signal : feature(D_posts)\n  value structure: vector\n  value type: {numeric, categorical, text}\n  description: \"Per-message illness relevance score, symptom indicators,\n    report category, and exclusion reason.\"\n\n# ============================================================================\n# STEP 2: SIGNAL-QUALITY REFINEMENT LOOP\n# ============================================================================\n\nloop L_signal_refinement:\n  purpose: \"Ensure that microblog-derived illness reports provide a credible\n    outbreak signal rather than primarily news, noise, or reporting artefacts\"\n  until: \"The analyst judges that retained messages plausibly indicate\n    current local illness and that obvious false-positive patterns are controlled\"\n  body:\n\n    transform T_visualise_signal :\n      intent: visualise\n      manner: \"linked message map, timeline, and text inspection\"\n      input: D_posts, F_illness_signal, D_zones\n      output: V_signal\n      actor: machine\n      description: \"Show illness-score distributions over time and space,\n        representative message text, and linked zone summaries.\"\n\n    artifact V_signal : visualisation(D_posts, F_illness_signal, D_zones)\n      layout: \"geographic map, temporal histogram, ranked message list\"\n      form: \"points, bars, and text records\"\n      encoding: \"map position from GPS coordinates; point colour from\n        illness confidence; temporal position from timestamp; text panel\n        shows message content and classification rationale\"\n      description: \"Coordinated view for inspecting whether extracted\n        messages plausibly reflect an emerging outbreak.\"\n\n    transform T_interpret_signal :\n      intent: abstract\n      manner: \"perception-and-interpretation of message validity\"\n      input: V_signal, K_epidemiology\n      output: P_signal_characteristics\n      actor: human\n      description: \"Identify false-positive themes, reporting biases,\n        plausible symptom language, and spatial or temporal concentrations.\"\n\n    artifact P_signal_characteristics : pattern(D_posts)\n      representation form: \"descriptions of reliable and unreliable message types\"\n      description: \"Observed message patterns indicating credible illness\n        reports, likely news or metaphor, and possible reporting biases.\"\n\n    transform T_assess_signal :\n      intent: assess\n      manner: \"evaluate syndrome-detection adequacy\"\n      input: V_signal, P_signal_characteristics, K_epidemiology\n      output: K_signal_quality\n      actor: human\n      description: \"Judge whether the extraction settings produce a\n        sufficiently credible illness signal for outbreak analysis.\"\n\n    artifact K_signal_quality : knowledge(F_illness_signal)\n      representation form: \"quality judgment\"\n      description: \"Assessment of signal validity, noise, likely reporting\n        artefacts, and need for further detection refinement.\"\n\n    if K_signal_quality indicates refinement needed:\n      then:\n\n        transform T_refine_signal_detection :\n          intent: generate-knowledge\n          manner: \"revise classification and filtering criteria\"\n          input: K_signal_quality, P_signal_characteristics,\n                 S_signal_detection\n          output: S_signal_detection_r\n          actor: human\n          description: \"Adjust symptom vocabulary, confidence thresholds,\n            exclusion patterns, or language rules.\"\n\n        artifact S_signal_detection_r : specification\n          representation form: \"revised text-classification settings\"\n          description: \"Updated syndrome-detection criteria.\"\n\n        transform T_reextract_signal :\n          intent: characterise\n          manner: \"reclassify messages with revised settings\"\n          input: D_posts, S_signal_detection_r, K_epidemiology\n          output: F_illness_signal_r\n          actor: machine\n          description: \"Recompute illness-report relevance and categories.\"\n\n        artifact F_illness_signal_r : feature(D_posts)\n          value structure: vector\n          value type: {numeric, categorical, text}\n          description: \"Updated illness-signal classification results.\"\n\n        assign:\n          S_signal_detection := S_signal_detection_r\n          F_illness_signal := F_illness_signal_r\n\n    else:\n      exit loop L_signal_refinement\n\nend loop L_signal_refinement\n\n# ============================================================================\n# STEP 3: DEFINE ILLNESS-REPORT ANALYSIS UNITS\n# ============================================================================\n\ntransform T_select_illness_posts :\n  intent: define-unit\n  manner: \"filter high-confidence illness reports\"\n  input: D_posts, F_illness_signal, S_signal_detection\n  output: D_illness_posts\n  actor: machine\n  description: \"Retain posts meeting the validated illness-report criteria.\"\n\nartifact D_illness_posts : entities\n  internal structure: elementary\n  embedment: {set, space, time}\n  features:\n    - id: illness_confidence\n      value structure: atomic\n      value type: numeric\n      description: \"Validated confidence that the post reports current illness\"\n    - id: symptom_terms\n      value structure: list\n      value type: text\n      description: \"Extracted symptom terms\"\n  description: \"Filtered geolocated microblog reports treated as an\n    outbreak-surveillance signal rather than confirmed clinical cases.\"\n\n# ============================================================================\n# STEP 4: OUTBREAK HYPOTHESIS REFINEMENT LOOP\n# ============================================================================\n\nloop L_outbreak_hypothesis:\n  purpose: \"Estimate outbreak origin and compare transmission explanations\n    through iterative spatial-temporal modelling and visual residual analysis\"\n  until: \"A source-area hypothesis and transmission explanation are\n    sufficiently supported for provisional emergency action, with uncertainty\n    and alternative explanations explicitly documented\"\n  body:\n\n    # ------------------------------------------------------------------------\n    # 4a. Construct population-normalised zone-time episodes\n    # ------------------------------------------------------------------------\n\n    transform T_aggregate_zone_time :\n      intent: define-unit\n      manner: \"spatio-temporal aggregation into zone-time episodes\"\n      input: D_illness_posts, D_zones, S_outbreak_analysis\n      output: D_zone_time, F_burden\n      actor: machine\n      description: \"Aggregate illness reports into configurable time bins\n        within zones; compute population-normalised illness-report burden.\"\n\n    artifact D_zone_time : entities\n      internal structure: episode\n      embedment: {space, time}\n      features:\n        - id: zone_reference\n          value structure: atomic\n          value type: reference\n          description: \"Associated city zone\"\n        - id: temporal_extent\n          value structure: atomic\n          value type: temporal\n          description: \"Start and end of the aggregation interval\"\n      description: \"Zone-by-time outbreak-surveillance episodes.\"\n\n    artifact F_burden : feature(D_zone_time)\n      value structure: vector\n      value type: numeric\n      representation form: \"counts and population-normalised rates\"\n      description: \"Illness-post count, rate per resident population,\n        symptom composition, and confidence-weighted burden per zone-time unit.\"\n\n    # ------------------------------------------------------------------------\n    # 4b. Derive propagation and contextual features\n    # ------------------------------------------------------------------------\n\n    transform T_characterise_spread :\n      intent: characterise\n      manner: \"compute onset, growth, neighbourhood, and exposure features\"\n      input: D_zone_time, F_burden, D_map_features, D_weather,\n             S_outbreak_analysis\n      output: F_spread, F_context\n      actor: machine\n      description: \"Compute sustained-onset time, growth rate, local\n        propagation relations, zone adjacency, wind-aligned exposure,\n        proximity to water, hospitals, landmarks, and highways.\"\n\n    artifact F_spread : feature(D_zone_time)\n      value structure: vector\n      value type: {numeric, temporal}\n      description: \"Temporal outbreak descriptors including baseline-adjusted\n        burden, onset time, growth rate, persistence, and lagged spread\n        relationships to neighbouring zones.\"\n\n    artifact F_context : feature(D_zone_time)\n      value structure: vector\n      value type: {numeric, spatial, categorical}\n      description: \"Contextual descriptors including population, zone\n        adjacency, distance to water, highways, landmarks and hospitals,\n        plus wind direction and speed during plausible exposure windows.\"\n\n    transform T_arrange_zone_time_map :\n      intent: contextualise\n      manner: \"map-based arrangement with temporal small multiples\"\n      input: D_zone_time, D_zones\n      output: A_zone_time_map\n      actor: machine\n      description: \"Place each zone-time episode in its geographic zone,\n        retaining time as an animation, small-multiple, or timeline dimension.\"\n\n    artifact A_zone_time_map : arrangement(D_zone_time)\n      context: D_zones\n      principle: \"geographic zone placement with ordered temporal bins\"\n      description: \"Map arrangement for comparing burden, onset, and growth\n        across zones through time.\"\n\n    transform T_visualise_outbreak :\n      intent: visualise\n      manner: \"coordinated outbreak map, timeline, and space-time view\"\n      input: A_zone_time_map, F_burden, F_spread, F_context,\n             D_map_features, D_weather\n      output: V_outbreak\n      actor: machine\n      description: \"Visualise population-normalised burden, onset order,\n        growth, contextual infrastructure, water bodies, and wind vectors.\"\n\n    artifact V_outbreak : visualisation(A_zone_time_map, F_burden, F_spread,\n        F_context, D_map_features, D_weather)\n      layout: \"linked map, zone timelines, onset-ranking chart, and\n        space-time display\"\n      form: \"coloured regions, proportional marks, lines, arrows, and bars\"\n      encoding: \"map position from zones; colour from burden or onset;\n        mark size from growth; arrows from wind direction and speed;\n        overlays identify water, highways, hospitals, and landmarks\"\n      description: \"Interactive overview for visually identifying early\n        clusters, propagation fronts, and contextual correspondences.\"\n\n    # ------------------------------------------------------------------------\n    # 4c. Build source and competing-mechanism models\n    # ------------------------------------------------------------------------\n\n    transform T_build_hypothesis_models :\n      intent: build-model\n      manner: \"fit source inference and competing spread models\"\n      input: D_zone_time, F_burden, F_spread, F_context,\n             K_epidemiology, S_outbreak_analysis\n      output: M_origin, M_transmission\n      actor: hybrid\n      description: \"Build a source-ranking model and alternative\n        spatio-temporal transmission models using epidemiologically\n        plausible lags and mechanisms.\"\n\n    artifact M_origin : model(D_zone_time, F_burden, F_spread)\n      model type: \"spatio-temporal source inference model\"\n      representation form: \"candidate source zone-time likelihood surface\"\n      description: \"Ranks candidate origin locations and times according\n        to early sustained burden and subsequent outward propagation.\"\n\n    artifact M_transmission : model(F_spread, F_context, D_weather)\n      model type: \"competing transmission-mechanism models\"\n      representation form: \"mechanism-specific lagged spatial propagation models\"\n      description: \"Alternative explanatory models for person-to-person or\n        local-contact spread, wind-aligned airborne spread, water-associated\n        spread, and other/common-source or reporting-bias explanations.\"\n\n    transform T_score_hypotheses :\n      intent: characterise\n      manner: \"estimate fit, prediction, and residual patterns\"\n      input: M_origin, M_transmission, D_zone_time, F_burden,\n             F_spread, F_context\n      output: F_origin_scores, F_mechanism_fit, F_residuals\n      actor: machine\n      description: \"Compute candidate-origin scores, mechanism-specific\n        fit statistics, predicted propagation patterns, and unexplained\n        spatial-temporal residuals.\"\n\n    artifact F_origin_scores : feature(D_zone_time)\n      value structure: atomic\n      value type: numeric\n      description: \"Relative support for each zone-time unit as a plausible\n        outbreak origin.\"\n\n    artifact F_mechanism_fit : feature(M_transmission)\n      value structure: vector\n      value type: numeric\n      description: \"Comparative fit, lag consistency, and uncertainty for\n        person-to-person, airborne, waterborne, and other-source hypotheses.\"\n\n    artifact F_residuals : feature(D_zone_time)\n      value structure: vector\n      value type: numeric\n      description: \"Differences between observed and model-predicted burden\n        or propagation, used to detect systematic unexplained patterns.\"\n\n    transform T_visualise_hypotheses :\n      intent: visualise\n      manner: \"comparative origin and mechanism evidence dashboard\"\n      input: V_outbreak, F_origin_scores, F_mechanism_fit, F_residuals,\n             M_transmission\n      output: V_hypotheses\n      actor: machine\n      description: \"Compare observed spread with mechanism-specific expected\n        fronts, residual maps, source rankings, wind alignment, and lag plots.\"\n\n    artifact V_hypotheses : visualisation(V_outbreak, F_origin_scores,\n        F_mechanism_fit, F_residuals, M_transmission)\n      layout: \"coordinated source-ranking panel, observed-versus-predicted\n        maps, lag plots, mechanism comparison chart, and residual map\"\n      form: \"ranked bars, maps, temporal curves, directional arrows,\n        uncertainty intervals, and residual marks\"\n      encoding: \"source rank from origin score; model colour from mechanism;\n        observed and predicted burden shown comparatively; residual colour\n        from under- or over-prediction; uncertainty shown by intervals\"\n      description: \"Evidence dashboard for judging where the outbreak likely\n        started and which transmission explanation best accounts for spread.\"\n\n    # ------------------------------------------------------------------------\n    # 4d. Human interpretation and assessment\n    # ------------------------------------------------------------------------\n\n    transform T_interpret_hypotheses :\n      intent: abstract\n      manner: \"epidemiological interpretation of competing explanations\"\n      input: V_hypotheses, K_epidemiology\n      output: P_outbreak_hypotheses\n      actor: human\n      description: \"Interpret candidate origin areas, probable propagation\n        sequence, support for each mechanism, contradictory evidence, and\n        possible reporting artefacts.\"\n\n    artifact P_outbreak_hypotheses : pattern(D_zone_time, M_transmission)\n      representation form: \"ranked origin and transmission hypotheses\"\n      description: \"Interpreted candidate origin zone-time areas, likely\n        propagation paths, leading mechanism explanation, alternatives,\n        residual anomalies, and explicit uncertainty.\"\n\n    transform T_assess_hypotheses :\n      intent: assess\n      manner: \"evaluate evidential adequacy and actionability\"\n      input: P_outbreak_hypotheses, V_hypotheses, K_epidemiology\n      output: K_hypothesis_quality\n      actor: human\n      description: \"Judge whether source and mechanism inferences are stable,\n        epidemiologically plausible, and adequate for provisional action.\"\n\n    artifact K_hypothesis_quality : knowledge(P_outbreak_hypotheses)\n      representation form: \"quality judgment\"\n      description: \"Assessment of confidence, unresolved alternatives,\n        sensitivity to assumptions, and whether refinement is required.\"\n\n    if K_hypothesis_quality indicates refinement needed:\n      then:\n\n        transform T_refine_outbreak_analysis :\n          intent: generate-knowledge\n          manner: \"revise temporal scale, lag assumptions, thresholds,\n            contextual covariates, or mechanism comparison criteria\"\n          input: K_hypothesis_quality, P_outbreak_hypotheses,\n                 V_hypotheses, S_outbreak_analysis\n          output: S_outbreak_analysis_r\n          actor: human\n          description: \"Refine the analysis configuration in response to\n            residual patterns, implausible assumptions, or unresolved\n            mechanism ambiguity.\"\n\n        artifact S_outbreak_analysis_r : specification\n          representation form: \"revised outbreak-analysis settings\"\n          description: \"Updated aggregation, lag, spatial-neighbourhood,\n            mechanism-model, and evaluation settings.\"\n\n        assign:\n          S_outbreak_analysis := S_outbreak_analysis_r\n\n    else:\n      exit loop L_outbreak_hypothesis\n\nend loop L_outbreak_hypothesis\n\n# ============================================================================\n# STEP 5: OPERATIONAL KNOWLEDGE SYNTHESIS\n# ============================================================================\n\ntransform T_generate_response_guidance :\n  intent: generate-knowledge\n  manner: \"formulate uncertainty-aware emergency recommendations\"\n  input: P_outbreak_hypotheses, K_hypothesis_quality, F_origin_scores,\n         F_mechanism_fit, F_residuals, K_epidemiology\n  output: K_response_guidance\n  actor: human\n  description: \"Produce a ranked, conditional response plan: priority areas\n    for field investigation and care deployment; mechanism-specific\n    interventions; required confirmatory evidence; and surveillance actions.\"\n\nartifact K_response_guidance : knowledge(P_outbreak_hypotheses,\n    K_hypothesis_quality)\n  representation form: \"ranked findings, conditional recommendations,\n    and uncertainty statement\"\n  description: \"Operational guidance stating: likely origin area(s) and\n    onset period; ranked transmission hypotheses and supporting evidence;\n    unexplained anomalies; priority zones for clinical outreach and case\n    investigation; conditional environmental sampling or airflow/water\n    investigation; recommended additional data collection; and explicit\n    caveat that microblog evidence alone cannot establish causality.\"\n```",
      "role": "assistant"
    }
  ]
}