Add telco_network_recovery template (multi-reasoner, private)#56
Open
Add telco_network_recovery template (multi-reasoner, private)#56
Conversation
Four-stage chained-reasoner template on a shared telco ontology: GNN regression on per-region daily KPIs (Predictive) → derived per-tower averages + is_critical_restore flag (Rules) → PageRank on the call graph + per-tower blast radius (Graph) → tower-upgrade MIP with three-factor objective (Prescriptive). Each stage writes properties consumed by the next. Bundled CSVs are dumped from TELCO_ENRICHMENT.PUBLIC; end-to-end run produces $4,956,843 plan / 122 Gbps restored / 12 GOLD + 2 SILVER + 1 BRONZE across all 15 critical WEST DEGRADED towers. Marked private: true to match peer predictive templates.
|
The docs preview for this pull request has been deployed to Vercel!
|
Adds two reference files customers can adapt: - telco_full_ontology.py — 18-concept reference ontology with model.Table() bindings (placeholder <YOUR_DB>.<YOUR_SCHEMA>) for users who want to scale the chain to their own Snowflake schema - runbook.md — narrative walkthrough of all 5 reasoner stages plus the Stage 6 interpretation, including ASCII visualizations useful for explaining the chain to non-technical stakeholders README links both from a new 'Further reading' section.
Drop telco_full_ontology.py — customer treats this as a worked example, not a starter kit, so the broader Snowflake-source ontology added noise without payoff. Rewrite runbook.md from a narrative walkthrough into a build recipe keyed to the RAI agent skills: rai-discovery scopes the question; rai-pyrel-coding lays the focused 7-concept ontology; rai-rules-authoring covers the derived averages + critical_restore flag; rai-graph-analysis covers PageRank + blast radius; rai-prescriptive-problem-formulation covers the MIP and pre-solver gates; rai-prescriptive-results-interpretation covers the post-solve summary. Closes with how to adapt the chain to a different domain.
3 tasks
… templates) Plan for PR 57's hybrid build+present runbook authoring lives in dev_temp/pr57_runbook_hybrid_plan.md (untracked, not shipped).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A network operator missing revenue targets in one region needs a tower-upgrade plan that's grounded in evidence: which towers are technically broken, who actually depends on them, where demand is heading, and how to spend a fixed capex budget. No single reasoner answers this — the value of RAI is the chain.
This template demonstrates that chain end-to-end on one shared ontology:
CellTower.projected_demand_growth.CellTower.is_critical_restorefor WEST DEGRADED towers with low health.Subscriber → SubscriberviaCallDetailRecordedges), scores influence, aggregates per-critical-tower blast radius (weighted_impact).weighted_impactfrom Stage 3,projected_demand_growthfrom Stage 1).Marked
private: trueandfeatured: falseto match peer predictive templates.The runbook for this template lives in PR #57, which adds reproducibility runbooks across all four multi-reasoner templates in a consistent style.
Contents
telco_network_recovery.py— single combined script with the 4 stage bannersdata/— 8 bundled CSVs (~1.2 MB total): cell_towers (250), subscribers (1,200), call_detail_records (6,000), network_performance (5,000), network_equipment (544), equipment_health (544), tower_upgrade_options (360 = 3 tiers × 120 towers), time_series_metrics (3,285 = 365 days × 9 regions)README.mdwith reasoner overview table, per-stage how-it-works walkthrough, troubleshooting collapsiblespyproject.tomlpinningrelationalai==1.0.14,pandas>=2.0Test plan
python -m py_compile telco_network_recovery.pypassesruff check v1/telco_network_recovery/passesprivate: trueexcludes from the public gallery