@@ -175,71 +175,71 @@ wac_distributed_system(
175175    },
176176    composition  =  """ 
177177        // Financial services platform composition 
178-          
178+ 
179179        // Client interfaces 
180180        let gateway = new api_gateway:component { ... }; 
181181        let mobile = new mobile_app:component { ... }; 
182-          
182+ 
183183        // Core banking services 
184184        let accounts = new account_service:component { ... }; 
185185        let transactions = new transaction_service:component { ... }; 
186186        let balances = new balance_service:component { ... }; 
187187        let loans = new loan_service:component { ... }; 
188-          
188+ 
189189        // Security and compliance layer 
190190        let auth = new auth_service:component { ... }; 
191191        let kyc = new kyc_service:component { ... }; 
192192        let fraud = new fraud_monitor:component { ... }; 
193193        let audit = new audit_service:component { ... }; 
194-          
194+ 
195195        // External services 
196196        let credit = new credit_bureau:component { ... }; 
197197        let payments = new payment_rails:component { ... }; 
198-          
198+ 
199199        // Analytics 
200200        let risk = new risk_analytics:component { ... }; 
201201        let reporting = new reporting_service:component { ... }; 
202-          
202+ 
203203        // Authentication flow 
204204        connect gateway.auth_request -> auth.authenticate; 
205205        connect mobile.auth_request -> auth.authenticate; 
206-          
206+ 
207207        // KYC and onboarding 
208208        connect gateway.kyc_request -> kyc.verify; 
209209        connect kyc.credit_check -> credit.query; 
210-          
210+ 
211211        // Core banking operations 
212212        connect gateway.account_request -> accounts.handle; 
213213        connect gateway.transaction_request -> transactions.process; 
214214        connect gateway.balance_request -> balances.query; 
215215        connect gateway.loan_request -> loans.process; 
216-          
216+ 
217217        // Transaction processing 
218218        connect transactions.payment_request -> payments.process; 
219219        connect transactions.fraud_check -> fraud.analyze; 
220220        connect loans.credit_check -> credit.score; 
221-          
221+ 
222222        // Audit and compliance 
223223        connect auth.audit_event -> audit.log; 
224224        connect transactions.audit_event -> audit.log; 
225225        connect kyc.audit_event -> audit.log; 
226226        connect accounts.audit_event -> audit.log; 
227-          
227+ 
228228        // Risk management 
229229        connect transactions.risk_data -> risk.analyze; 
230230        connect loans.risk_data -> risk.analyze; 
231231        connect fraud.risk_alert -> risk.escalate; 
232-          
232+ 
233233        // Reporting 
234234        connect accounts.reporting_data -> reporting.collect; 
235235        connect transactions.reporting_data -> reporting.collect; 
236236        connect risk.reporting_data -> reporting.collect; 
237-          
237+ 
238238        // Mobile app connections 
239239        connect mobile.account_request -> accounts.handle; 
240240        connect mobile.balance_request -> balances.query; 
241241        connect mobile.transaction_request -> transactions.process; 
242-          
242+ 
243243        export gateway as main; 
244244    """ ,
245245    registry_config  =  ":microservices_registries" ,
@@ -280,68 +280,68 @@ wac_distributed_system(
280280    },
281281    composition  =  """ 
282282        // IoT Edge Computing Platform 
283-          
283+ 
284284        // Edge gateway (local processing) 
285285        let gateway = new edge_gateway:component { ... }; 
286-          
286+ 
287287        // Device management 
288288        let registry = new device_registry:component { ... }; 
289289        let config = new device_config:component { ... }; 
290290        let ota = new ota_updates:component { ... }; 
291-          
291+ 
292292        // Data processing 
293293        let ingestion = new data_ingestion:component { ... }; 
294294        let stream = new stream_processor:component { ... }; 
295295        let batch = new batch_processor:component { ... }; 
296-          
296+ 
297297        // Storage 
298298        let timeseries = new time_series_db:component { ... }; 
299299        let warehouse = new data_warehouse:component { ... }; 
300300        let ml = new ml_inference:component { ... }; 
301-          
301+ 
302302        // Monitoring 
303303        let metrics = new metrics_collector:component { ... }; 
304304        let alerts = new alert_manager:component { ... }; 
305305        let dashboard = new dashboard_service:component { ... }; 
306-          
306+ 
307307        // Cloud connectors 
308308        let aws = new aws_connector:component { ... }; 
309309        let azure = new azure_connector:component { ... }; 
310-          
310+ 
311311        // Device data flow 
312312        connect gateway.device_data -> ingestion.receive; 
313313        connect gateway.device_registration -> registry.register; 
314314        connect gateway.device_status -> registry.update_status; 
315-          
315+ 
316316        // Data processing pipeline 
317317        connect ingestion.raw_data -> stream.process; 
318318        connect stream.processed_data -> timeseries.write; 
319319        connect stream.batch_trigger -> batch.process; 
320320        connect batch.aggregated_data -> warehouse.store; 
321-          
321+ 
322322        // ML inference 
323323        connect stream.feature_data -> ml.predict; 
324324        connect ml.predictions -> timeseries.write; 
325325        connect ml.anomalies -> alerts.trigger; 
326-          
326+ 
327327        // Device management 
328328        connect registry.config_request -> config.provide; 
329329        connect config.update_available -> ota.deploy; 
330330        connect ota.deployment_status -> registry.update_device; 
331-          
331+ 
332332        // Monitoring and alerting 
333333        connect timeseries.metrics -> metrics.collect; 
334334        connect warehouse.metrics -> metrics.collect; 
335335        connect gateway.metrics -> metrics.collect; 
336-          
336+ 
337337        connect metrics.alert_data -> alerts.evaluate; 
338338        connect alerts.notifications -> dashboard.display; 
339-          
339+ 
340340        // Cloud synchronization 
341341        connect warehouse.sync_request -> aws.upload; 
342342        connect timeseries.backup_request -> azure.backup; 
343343        connect ml.model_update -> aws.download; 
344-          
344+ 
345345        export gateway as main; 
346346    """ ,
347347    registry_config  =  ":microservices_registries" ,
@@ -358,12 +358,12 @@ wac_compose_with_oci(
358358        let gateway = new gateway:component { ... }; 
359359        let users = new user_service:component { ... }; 
360360        let products = new product_catalog:component { ... }; 
361-          
361+ 
362362        connect frontend.user_request -> users.handle; 
363363        connect frontend.product_request -> products.handle; 
364364        connect gateway.user_api -> users.handle; 
365365        connect gateway.product_api -> products.handle; 
366-          
366+ 
367367        export frontend as main; 
368368    """ ,
369369    local_components  =  {
@@ -425,31 +425,31 @@ wac_compose_with_oci(
425425        let balancer = new load_balancer:component { ... }; 
426426        let splitter = new traffic_splitter:component { ... }; 
427427        let metrics = new metrics_collector:component { ... }; 
428-          
428+ 
429429        // Stable services 
430430        let users_stable = new user_service_stable:component { ... }; 
431431        let products_stable = new product_catalog_stable:component { ... }; 
432-          
433-         // Canary services    
432+ 
433+         // Canary services 
434434        let users_canary = new user_service_canary:component { ... }; 
435435        let products_canary = new product_catalog_canary:component { ... }; 
436-          
436+ 
437437        // Traffic routing (90% stable, 10% canary) 
438438        connect balancer.user_request -> splitter.route_user; 
439439        connect splitter.user_stable -> users_stable.handle; 
440440        connect splitter.user_canary -> users_canary.handle; 
441-          
441+ 
442442        connect balancer.product_request -> splitter.route_product; 
443443        connect splitter.product_stable -> products_stable.handle; 
444444        connect splitter.product_canary -> products_canary.handle; 
445-          
445+ 
446446        // Metrics collection 
447447        connect users_stable.metrics -> metrics.collect; 
448448        connect users_canary.metrics -> metrics.collect; 
449449        connect products_stable.metrics -> metrics.collect; 
450450        connect products_canary.metrics -> metrics.collect; 
451451        connect splitter.routing_metrics -> metrics.collect; 
452-          
452+ 
453453        export balancer as main; 
454454    """ ,
455455    local_components  =  {
0 commit comments