C7
Designed by GPT-5.6-Terra. Fresh ATWL redesign from the model's own C4 prose design (continuing that chat), explicitly not a translation. ↓ download raw .atwl
Workflow header & template
workflow vastopolis-outbreak-source-and-transmission-analysis
template: build-model (content classification) →
loop(characterise → define-unit → contextualise → visualise →
assess → build-model (refine classification)) →
define-unit (spatiotemporal aggregation) → characterise →
contextualise → visualise → abstract → generate-knowledge →
characterise (mechanism predictors) → build-model →
loop(characterise (model application) → visualise → abstract →
assess → build-model (refine competing hypotheses)) →
characterise (deployment priority) → visualise →
generate-knowledge
description: "Human-centred outbreak analysis workflow that uses geolocated
microblog posts as uncertain syndromic signals to identify candidate onset
locations, compare plausible transmission mechanisms, and formulate
evidence-qualified emergency-response priorities."
Inputs And External Knowledge
artifact D_posts : entities
origin: given
internal structure: elementary
embedment: {space, time}
features:
- id: f_timestamp
value structure: atomic
value type: temporal
description: "Timestamp of the mobile-device post"
- id: f_location
value structure: atomic
value type: spatial
description: "GPS coordinate associated with the post"
- id: f_text
value structure: atomic
value type: text
description: "Microblog message text"
- id: f_account_reference
value structure: atomic
value type: reference
description: "Pseudonymised source-account reference, where available"
description: "Geolocated microblog posts collected during the outbreak period"
artifact D_zones : entities
origin: given
internal structure: region
embedment: space
features:
- id: f_population
value structure: atomic
value type: numeric
description: "Resident population in the city zone"
- id: f_zone_name
value structure: atomic
value type: categorical
description: "Zone identifier or name"
description: "Thirteen metropolitan zones with boundaries and population statistics"
artifact D_city_features : entities
origin: given
internal structure: elementary
embedment: space
features:
- id: f_feature_type
value structure: atomic
value type: categorical
description: "Highway, hospital, landmark, water body, or other mapped feature"
- id: f_geometry
value structure: atomic
value type: spatial
description: "Geographic geometry of the mapped feature"
description: "Reference map features for interpretation of possible transmission routes"
artifact D_weather : entities
origin: given
internal structure: elementary
embedment: time
features:
- id: f_wind_speed
value structure: atomic
value type: numeric
description: "Observed wind speed"
- id: f_wind_direction
value structure: atomic
value type: numeric
description: "Observed wind direction, converted to air-transport direction"
description: "Daily weather observations for the metropolitan area"
artifact K_epidemiology_priors : knowledge(D_posts, D_weather, D_city_features)
origin: given
representation form: "interpretive rules and expectations"
description: "Public-health knowledge describing plausible signatures of
person-to-person, airborne, waterborne, and common-source transmission,
including plausible delay ranges and known reporting biases"
artifact K_signal_limitations : knowledge(D_posts)
origin: given
representation form: "caveats and constraints"
description: "Microblog reports are not confirmed infections; they can reflect
news amplification, concern, care-seeking, duplicated content, unequal
platform use, and inaccurate location or time information"
artifact S_content_initial : specification
origin: given
representation form: "classification configuration"
description: "Initial symptom vocabulary, exclusion terms, confidence threshold,
duplicate and bot filtering rules, language handling, and privacy constraints"
artifact S_aggregation : specification
origin: given
representation form: "aggregation settings"
description: "Candidate temporal resolutions, spatial assignment rules,
population normalisation method, and minimum-support thresholds for
zone-time outbreak indicators"
Step 1: Create And Refine A Trusted Syndromic Signal
transform T_build_content_model :
intent: build-model
manner: "train weakly supervised text classifier"
input: D_posts, K_epidemiology_priors, S_content_initial
output: M_content_classifier_initial
actor: hybrid
description: "Construct an initial classifier that distinguishes likely
self-reported flu-like symptoms, reports about others, severe illness or
death, care-seeking, general concern, news reposting, and irrelevant posts"
artifact M_content_classifier_initial : model(D_posts, K_epidemiology_priors)
model type: "text classification model"
representation form: "hybrid keyword, entity-extraction, and statistical text model"
description: "Initial model assigning health-evidence categories and confidence
scores to microblog posts"
assign:
M_content_classifier := M_content_classifier_initial
S_content := S_content_initial
loop L_signal_refinement:
purpose: "Create a credible, interpretable symptom-report signal before making
spatial or causal inferences"
until: "The analyst judges that retained symptom reports are sufficiently
credible, representative, and distinct from media or concern amplification
for outbreak exploration"
body:
transform T_screen_posts :
intent: characterise
manner: "classify and score health-related text"
input: D_posts, M_content_classifier, S_content
output: F_health_evidence
actor: machine
description: "Assign each post a health-evidence category, symptom severity,
self-report likelihood, geographic and temporal reliability, and
classification confidence"
artifact F_health_evidence : feature(D_posts)
value structure: vector
value type: {categorical, ordinal, numeric}
representation form: "health-evidence category and confidence vector"
description: "Per-post symptom, severity, reporting-role, reliability, and
confidence descriptors"
transform T_select_symptom_signal :
intent: define-unit
manner: "filter high-confidence syndromic reports"
input: D_posts, F_health_evidence, S_content
output: D_symptom_signals
actor: machine
description: "Retain credible, non-duplicated posts indicating flu-like
symptoms or severe illness while preserving confidence and source-diversity
information"
artifact D_symptom_signals : entities
internal structure: elementary
embedment: {space, time}
features:
- id: f_signal_category
value structure: atomic
value type: categorical
description: "Symptom, severe illness, death-associated, or care-seeking signal"
- id: f_confidence
value structure: atomic
value type: numeric
description: "Confidence that the post represents a relevant health signal"
description: "Filtered microblog posts used as uncertain syndromic evidence"
transform T_contextualise_signal :
intent: contextualise
manner: "map-and-time placement"
input: D_symptom_signals, D_zones
output: A_signal_map
actor: machine
description: "Place symptom signals in their geographic zones while retaining
timestamps for temporal filtering and inspection"
artifact A_signal_map : arrangement(D_symptom_signals)
context: D_zones
principle: "GPS coordinate assigned to containing zone; timestamps retained"
description: "Geographic placement of candidate symptom reports in city zones"
transform T_visualise_signal_quality :
intent: visualise
manner: "coordinated evidence inspection"
input: A_signal_map, D_symptom_signals, F_health_evidence, D_city_features
output: V_signal_quality
actor: machine
description: "Show a linked map, timeline, category distributions, confidence
distributions, source diversity indicators, and original post text for review"
artifact V_signal_quality : visualisation(A_signal_map, D_symptom_signals,
F_health_evidence, D_city_features)
layout: "linked metropolitan map, temporal histogram, category panels, and text table"
form: "coloured points, time-series marks, bars, and selectable text records"
encoding: "map position from A_signal_map; colour from signal category;
size or opacity from confidence; linked text shows original evidence"
description: "Interactive display for detecting misclassification, duplicated
news activity, implausible coordinates, and geographically concentrated
reporting artifacts"
transform T_assess_signal_quality :
intent: assess
manner: "evaluate evidence credibility and interpretability"
input: V_signal_quality, D_symptom_signals, K_signal_limitations
output: K_signal_quality, S_content_revised
actor: human
description: "Judge whether the retained signal plausibly represents illness
reports rather than reporting artifacts; identify ambiguous terms,
excluded categories, suspect accounts, and inappropriate thresholds"
artifact K_signal_quality : knowledge(D_symptom_signals, V_signal_quality)
representation form: "quality judgment"
description: "Assessment of whether the symptom-report signal is credible
enough for outbreak analysis and which errors remain important"
artifact S_content_revised : specification
representation form: "revised classification configuration"
description: "Updated vocabulary, exclusions, confidence thresholds, source
filters, and review priorities derived from signal-quality assessment"
if K_signal_quality indicates signal refinement needed:
then:
transform T_refine_content_model :
intent: build-model
manner: "interactive classifier refinement"
input: D_posts, M_content_classifier, K_signal_quality, S_content_revised
output: M_content_classifier_revised
actor: hybrid
description: "Revise the text-classification model using analyst-reviewed
examples, corrected category definitions, and revised filtering rules"
artifact M_content_classifier_revised : model(D_posts, K_signal_quality)
model type: "refined text classification model"
representation form: "updated hybrid keyword, entity-extraction, and statistical model"
description: "Improved health-evidence classifier aligned with reviewed posts"
assign:
M_content_classifier := M_content_classifier_revised
S_content := S_content_revised
else:
exit loop L_signal_refinement
end loop L_signal_refinement
Step 2: Construct Population-Aware Spatiotemporal Outbreak Indicators
transform T_define_zone_time_units :
intent: define-unit
manner: "spatiotemporal aggregation"
input: D_symptom_signals, D_zones, D_weather, S_aggregation
output: D_zone_time
actor: machine
description: "Aggregate validated symptom signals into multiple candidate
zone-time units, associating each unit with its population, weather
observation, and supporting message evidence"
artifact D_zone_time : entities
internal structure: episode
embedment: {space, time}
features:
- id: f_zone_reference
value structure: atomic
value type: reference
description: "Reference to the represented city zone"
- id: f_time_interval
value structure: atomic
value type: temporal
description: "Analysis time bin"
- id: f_population
value structure: atomic
value type: numeric
description: "Population of the represented zone"
description: "Zone-time episodes containing symptom-report observations and
matched weather context"
transform T_characterise_outbreak_indicators :
intent: characterise
manner: "population-normalised syndromic summarisation"
input: D_zone_time, D_posts, D_symptom_signals, S_aggregation
output: F_outbreak_indicators
actor: machine
description: "Compute symptom-report count, rate per population, share of local
posting activity, severe-report count, independent-source support, growth rate,
and uncertainty indicators for each zone-time unit"
artifact F_outbreak_indicators : feature(D_zone_time)
value structure: vector
value type: numeric
representation form: "multivariate time series per zone"
description: "Population-aware and platform-activity-aware outbreak indicators,
including uncertainty due to sparse or low-confidence reports"
transform T_create_outbreak_lattice :
intent: contextualise
manner: "space-time lattice construction"
input: D_zone_time, D_zones
output: D_outbreak_lattice, A_outbreak_lattice
actor: machine
description: "Create a map-time reference lattice with a position for every
zone and analysis interval, including intervals with low or no signal"
artifact D_outbreak_lattice : entities
internal structure: elementary
embedment: {space, time}
features:
- id: f_zone_reference
value structure: atomic
value type: reference
description: "Zone represented by the lattice position"
- id: f_time_interval
value structure: atomic
value type: temporal
description: "Time interval represented by the lattice position"
description: "Complete zone-by-time context for comparing outbreak evolution"
artifact A_outbreak_lattice : arrangement(D_zone_time)
context: D_outbreak_lattice
principle: "zone identity and time interval"
description: "Placement of each aggregated outbreak unit in the corresponding
zone-time lattice position"
transform T_visualise_outbreak_evolution :
intent: visualise
manner: "linked animated map and temporal profile display"
input: A_outbreak_lattice, F_outbreak_indicators, D_city_features
output: V_outbreak_evolution
actor: machine
description: "Display outbreak intensity, uncertainty, and growth through time
on a metropolitan map, linked to zone-rate trajectories and severe-report views"
artifact V_outbreak_evolution : visualisation(A_outbreak_lattice,
F_outbreak_indicators, D_city_features)
layout: "animated metropolitan map linked to aligned zone time series"
form: "coloured zone marks, uncertainty overlays, lines, and event markers"
encoding: "zone-time position from A_outbreak_lattice; colour from symptom rate;
saturation from uncertainty; lines show rate and growth; map overlays show
hospitals, highways, landmarks, and water bodies"
description: "Visual basis for distinguishing early sustained activity from
isolated posts, high population density, and care-seeking concentration"
Step 3: Identify Candidate Onset Locations And Formulate Testable Hypotheses
transform T_identify_onset_patterns :
intent: abstract
manner: "find persistent spatiotemporal clusters and onset order"
input: D_zone_time, F_outbreak_indicators, V_outbreak_evolution
output: P_outbreak_patterns, F_onset_characteristics
actor: hybrid
description: "Identify sustained excess-activity clusters, their onset order,
persistence, spatial expansion, and sensitivity to aggregation resolution"
artifact P_outbreak_patterns : pattern(D_zone_time, F_outbreak_indicators)
representation form: "ranked spatiotemporal cluster descriptions"
description: "Candidate outbreak clusters characterised by onset time,
persistence, intensity, spatial extent, and apparent expansion direction"
artifact F_onset_characteristics : feature(D_zone_time)
value structure: vector
value type: {temporal, numeric, ordinal}
description: "Onset time, persistence score, local excess score, and
candidate-origin ranking components for each zone-time unit"
transform T_formulate_hypotheses :
intent: generate-knowledge
manner: "formulate competing epidemiological hypotheses"
input: P_outbreak_patterns, F_onset_characteristics, V_outbreak_evolution,
K_epidemiology_priors, K_signal_limitations
output: K_candidate_origins, S_hypotheses_initial
actor: human
description: "Interpret early sustained clusters as candidate observed-signal
origins, distinguish them from likely infection sources, and define competing
person-to-person, airborne, waterborne, common-source, reporting-artifact,
and mixed-mechanism hypotheses"
artifact K_candidate_origins : knowledge(P_outbreak_patterns,
F_onset_characteristics, V_outbreak_evolution)
representation form: "ranked evidence statements"
description: "Ranked candidate origin areas with supporting and contradictory
evidence; explicitly distinguishes earliest observed reporting signal from
a confirmed epidemiological source"
artifact S_hypotheses_initial : specification
representation form: "competing-model configuration"
description: "Candidate sources, plausible time lags, spatial scales, exposure
definitions, confounder controls, model comparison criteria, and sensitivity
scenarios for competing transmission hypotheses"
assign:
S_hypotheses := S_hypotheses_initial
Step 4: Compare Transmission Explanations Through Model And Residual Analysis
transform T_characterise_mechanism_predictors :
intent: characterise
manner: "derive spatiotemporal exposure and connectivity predictors"
input: D_zone_time, D_weather, D_zones, D_city_features, K_candidate_origins,
S_hypotheses
output: F_mechanism_predictors
actor: machine
description: "Compute lagged local and neighbouring symptom activity,
highway-connected exposure, candidate-source distance, downwind alignment,
wind speed, water proximity, population, hospital proximity, and local
posting-activity controls"
artifact F_mechanism_predictors : feature(D_zone_time)
value structure: vector
value type: numeric
representation form: "lagged spatial-exposure predictor vector"
description: "Predictors representing contact propagation, wind-related
transport, water-related exposure, common-source timing, and reporting
confounders for each zone-time unit"
transform T_build_mechanism_models :
intent: build-model
manner: "fit competing explanatory spatiotemporal models"
input: D_zone_time, F_outbreak_indicators, F_mechanism_predictors,
S_hypotheses
output: M_mechanism_models_initial
actor: machine
description: "Fit comparable models for contact propagation, airborne transport,
water-associated exposure, common-source exposure, reporting artifact, and
selected mixed mechanisms, using held-out periods or locations where possible"
artifact M_mechanism_models_initial : model(F_outbreak_indicators,
F_mechanism_predictors)
model type: "competing spatiotemporal count and rate models"
representation form: "set of regularised lagged regression models with uncertainty estimates"
description: "Alternative explanatory models predicting syndromic outbreak
indicators under different transmission mechanisms"
assign:
M_mechanism_models := M_mechanism_models_initial
loop L_mechanism_evaluation:
purpose: "Test whether proposed transmission mechanisms explain observed
outbreak spread robustly enough to guide emergency action"
until: "Leading explanations are interpretable, robust across reasonable
sensitivity settings, and their remaining uncertainty is explicit"
body:
transform T_apply_mechanism_models :
intent: characterise
manner: "predict, compare, and calculate residuals"
input: D_zone_time, F_outbreak_indicators, F_mechanism_predictors,
M_mechanism_models
output: F_mechanism_results
actor: machine
description: "Generate predictions, residuals, uncertainty estimates,
held-out performance measures, and comparative evidence scores for
each transmission hypothesis"
artifact F_mechanism_results : feature(D_zone_time)
value structure: vector
value type: numeric
representation form: "per-hypothesis predictions, residuals, and uncertainty"
description: "Observed-versus-predicted outbreak indicators and local
unexplained activity for each competing mechanism"
transform T_visualise_mechanism_evidence :
intent: visualise
manner: "comparative model and residual display"
input: A_outbreak_lattice, F_outbreak_indicators, F_mechanism_predictors,
F_mechanism_results, D_city_features, D_weather
output: V_mechanism_evidence
actor: machine
description: "Show linked maps of observed activity, predictions, and
residuals; downwind and water-exposure overlays; lag plots; and
held-out model-comparison summaries"
artifact V_mechanism_evidence : visualisation(A_outbreak_lattice,
F_outbreak_indicators, F_mechanism_predictors, F_mechanism_results,
D_city_features, D_weather)
layout: "coordinated map-time views, residual maps, lag plots, and model score panels"
form: "coloured zone marks, wind vectors, exposure overlays, lines, and bars"
encoding: "map and time positions from A_outbreak_lattice; colour shows
observed rate, predicted rate, or residual; arrows show wind transport;
panels compare model performance and uncertainty"
description: "Interactive evidence display for checking whether spatial and
temporal patterns support a transmission mechanism rather than a
coincidental association"
transform T_abstract_mechanism_patterns :
intent: abstract
manner: "interpret explanatory and residual structures"
input: V_mechanism_evidence, F_mechanism_results, K_epidemiology_priors
output: P_mechanism_patterns
actor: hybrid
description: "Identify patterns such as serial local propagation,
repeatable downwind association, shared water-body association,
near-simultaneous point-source onset, or persistent unexplained residuals"
artifact P_mechanism_patterns : pattern(F_mechanism_results,
V_mechanism_evidence)
representation form: "mechanism-evidence descriptions"
description: "Observed explanatory structures and residual anomalies relevant
to the competing transmission hypotheses"
transform T_assess_mechanism_evidence :
intent: assess
manner: "evaluate robustness, confounding, and actionability"
input: M_mechanism_models, F_mechanism_results, P_mechanism_patterns,
V_mechanism_evidence, K_signal_limitations
output: K_mechanism_quality, S_hypotheses_revised
actor: hybrid
description: "Assess predictive performance, residual structure, sensitivity
to time and spatial resolution, plausibility of lag assumptions, reporting
confounding, and whether model evidence is adequate for operational use"
artifact K_mechanism_quality : knowledge(M_mechanism_models,
F_mechanism_results, P_mechanism_patterns)
representation form: "quality judgment and uncertainty assessment"
description: "Assessment of which explanations are supported, weak, or
indistinguishable; whether candidate sources or model assumptions require
revision; and whether social-media evidence can support the intended action"
artifact S_hypotheses_revised : specification
representation form: "revised competing-model configuration"
description: "Updated candidate-source set, lag windows, controls, spatial
scale, exposure definitions, and model-selection choices based on
robustness and residual assessment"
if K_mechanism_quality indicates hypothesis or model revision needed:
then:
transform T_refine_mechanism_models :
intent: build-model
manner: "refit revised competing explanatory models"
input: D_zone_time, F_outbreak_indicators, F_mechanism_predictors,
M_mechanism_models, K_mechanism_quality, S_hypotheses_revised
output: M_mechanism_models_revised
actor: hybrid
description: "Refit or replace competing models after revising candidate
sources, lag assumptions, controls, or included mechanisms"
artifact M_mechanism_models_revised : model(F_outbreak_indicators,
F_mechanism_predictors)
model type: "refined competing spatiotemporal models"
representation form: "revised regularised lagged regression model set"
description: "Updated competing models designed to address identified
confounding, residual anomalies, or hypothesis deficiencies"
assign:
S_hypotheses := S_hypotheses_revised
M_mechanism_models := M_mechanism_models_revised
else:
exit loop L_mechanism_evaluation
end loop L_mechanism_evaluation
Step 5: Turn Evidence Into Qualified Emergency-Response Priorities
transform T_characterise_deployment_priority :
intent: characterise
manner: "risk and uncertainty prioritisation"
input: D_zone_time, F_outbreak_indicators, F_onset_characteristics,
F_mechanism_results, K_mechanism_quality, D_zones, D_city_features
output: F_deployment_priority
actor: hybrid
description: "Calculate zone-time deployment priorities using current outbreak
intensity, growth, severe-report signal, population exposure, hospital context,
model-supported spread risk, unexplained residual risk, and uncertainty"
artifact F_deployment_priority : feature(D_zone_time)
value structure: vector
value type: {numeric, ordinal}
representation form: "priority score with contributing factors"
description: "Emergency-response priority, confidence, and rationale for each
zone-time unit; uncertainty increases the priority for surveillance and
validation rather than implying a confirmed mechanism"
transform T_visualise_decision_support :
intent: visualise
manner: "operational dashboard"
input: A_outbreak_lattice, F_outbreak_indicators, F_mechanism_results,
F_deployment_priority, K_candidate_origins, D_city_features
output: V_decision_support
actor: machine
description: "Provide an operational map of current hotspots, growth, candidate
sources, mechanism evidence, uncertainty, and recommended investigation areas"
artifact V_decision_support : visualisation(A_outbreak_lattice,
F_outbreak_indicators, F_mechanism_results, F_deployment_priority,
K_candidate_origins, D_city_features)
layout: "linked current-risk map, temporal trend panel, source ranking, and evidence panel"
form: "priority-coloured zones, uncertainty hatching, trend lines, and ranked annotations"
encoding: "zone-time placement from A_outbreak_lattice; colour from deployment
priority; hatching from uncertainty; annotations identify candidate origins
and leading supported mechanisms"
description: "Decision-support display for assigning surveillance, clinical,
environmental-investigation, and communication resources"
transform T_formulate_operational_findings :
intent: generate-knowledge
manner: "formulate evidence-qualified recommendations"
input: K_candidate_origins, P_mechanism_patterns, K_mechanism_quality,
F_deployment_priority, V_decision_support, K_signal_limitations
output: K_operational_findings
actor: human
description: "State leading origin and transmission hypotheses with confidence
and contradictory evidence; rank deployment zones; and specify confirmatory
actions such as clinical surveillance, environmental sampling, facility
inspection, and targeted public communication"
artifact K_operational_findings : knowledge(K_candidate_origins,
P_mechanism_patterns, K_mechanism_quality, F_deployment_priority)
representation form: "ranked recommendations with evidence and uncertainty"
description: "Emergency-management recommendations that distinguish immediate
hotspot response from mechanism-specific investigation, explicitly avoid
treating microblog evidence as confirmation of outbreak origin or cause"