{"schema":"sb.node.v1","id":"sb:e/c2b38f8589e5b69a298e1ab3","kind":"entity","label":{"text":"ekurhuleni","locale":"en"},"identity":{"anchor":"label:en:ekurhuleni","strength":"label"},"asOf":{"knowledgeCutoff":"2026-10-08T17:31:13.825968+00:00","snapshot":"deploy 0213c6200d34bd9327cf8fb2d5bb00702183a24b"},"lens":{"kind":"public"},"build":{"plane":"projected","builtFrom":["entity_graph.slim.json","entity_receipts (deploy asset)","event_graph.json","truth_records (deploy asset)","corroborated_record.json"],"rule":"node-projection.entity@v1"},"standing":{"evidence":{"supporting":75,"separatePublishers":11,"basis":"documents that mention the subject and the outlets that carried them; a mention is evidence the referent is in use, not evidence about any claim"},"admission":{"state":"canonical","reason":"entity graph provenance 'curated'; the node carries no promotion receipt in v1","policy":"EQ-PROMOTION (receipt not carried)"},"disposition":{"state":"served","reason":"public record"},"validity":{"from":"2026-09-03","to":"2026-10-06","basis":"first and last day we saw it mentioned; not the subject's own lifetime"},"measurement":{"state":"partial","blind":["assertion coverage 0.08: about 92% of mentions carry no typed assertion"]}},"dimensions":{"domains":["auto","africa"],"activeDays":22,"assertions":{}},"up":[],"upNote":"An entity is a root: it is contained by nothing. Pan out by following R.","children":{"count":12,"byKind":{"observation":12},"items":[{"id":"sb:o/ed377411276fc7949a980003","kind":"observation","label":"Mail Guardian Africa · 2026-09-30 · Ramaphosa orders urgent action as Ekurhuleni killings put GBVF response under scrutiny","url":"https://mg.co.za/news/south-africa/2026-09-29-ramaphosa-orders-urgent-action-as-ekurhuleni-killings-put-gbvf-response-under-scrutiny/"},{"id":"sb:o/c985dece805ab61b2fb718c4","kind":"observation","label":"Mail Guardian Africa · 2026-09-24 · Ekurhuleni killings: ‘The onus cannot shift to women to keep themselves safe’","url":"https://mg.co.za/news/south-africa/2026-09-23-ekurhuleni-killings-the-onus-cannot-shift-to-women-to-keep-themselves-safe/"},{"id":"sb:o/4b7faae7a76b51289846d2aa","kind":"observation","label":"AllAfrica Latest Headlines · 2026-09-21 · South Africa: Three Arrested Over Ekurhuleni Woman's Murder - South African News Briefs - September 21, 2026","url":"https://allafrica.com/stories/202609210094.html"},{"id":"sb:o/3d146ce1472e51f63eaf45a6","kind":"observation","label":"Mail Guardian Africa · 2026-09-19 · Why did it take ‘Tsontso’ to make Ekurhuleni’s women's bodies matter?","url":"https://mg.co.za/thought-leader/2026-09-18-why-did-it-take-tsontso-to-make-ekurhuleni-s-women-s-bodies-matter/"},{"id":"sb:o/84ae09aa317ab203e550e50e","kind":"observation","label":"Mail Guardian Africa · 2026-09-19 · Julius Mkhwanazi fired by Ekurhuleni Metro","url":"https://mg.co.za/news/south-africa/2026-09-18-julius-mkhwanazi-fired-by-ekurhuleni-metro/"},{"id":"sb:o/91b1838f47fe03cdf7ac5958","kind":"observation","label":"Mail Guardian Africa · 2026-09-18 · Ekurhuleni murders expose GBVF gaps","url":"https://mg.co.za/news/south-africa/2026-09-17-ekurhuleni-murders-expose-gbvf-gaps/"},{"id":"sb:o/40892f6d6945e92b3e98499d","kind":"observation","label":"AllAfrica Latest Headlines · 2026-09-17 · South Africa: JMPD Units On High Alert Following Murder of Women in Ekurhuleni","url":"https://allafrica.com/stories/202609160394.html"},{"id":"sb:o/0b956dc42d1857117e97acb4","kind":"observation","label":"AllAfrica Latest Headlines · 2026-09-17 · South Africa: Brother's Agonising Search for Ekurhuleni Killings Victim Itumeleng Kekana","url":"https://allafrica.com/stories/202609170085.html"},{"id":"sb:o/4d00dee0b796b1252e34eb79","kind":"observation","label":"Mail Guardian Africa · 2026-09-17 · Ninth woman’s body found in Dawn Park as Ekurhuleni deaths raise alarm","url":"https://mg.co.za/news/south-africa/2026-09-17-ninth-woman-s-body-found-in-dawn-park-as-ekurhuleni-deaths-raise-alarm/"},{"id":"sb:o/2c67dd44354fd67ab5e5b8e4","kind":"observation","label":"AllAfrica Latest Headlines · 2026-09-16 · South Africa: Suspect Sought as Police Probe Ekurhuleni Murders - South African News Briefs - September 16, 2026","url":"https://allafrica.com/stories/202609160101.html"}],"cursor":"c1.eyJpZCI6InNiOmUvYzJiMzhmODU4OWU1YjY5YTI5OGUxYWIzIiwibCI6ImNoaWxkcmVuIiwibyI6MTAsImsiOm51bGwsImEiOiIyMDI2LTEwLTA4VDE3OjMxOjEzLjgyNTk2OCswMDowMCJ9","order":"newest first; we keep the 12 newest receipts for this entity. Its other observations are counted in standing.evidence.supporting but are not addressable in v1"},"relations":{"count":10,"byKind":{"co-mentioned":10},"items":[{"kind":"relation","label":"co-mentioned with africa (63 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/9a394db303fa61ad7387c864"},{"kind":"relation","label":"co-mentioned with south africa (62 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/e95caba6bcbf8b80ce588dfd"},{"kind":"relation","label":"co-mentioned with johannesburg (31 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/330ef8a2dcce349896411eee"},{"kind":"relation","label":"co-mentioned with cyril ramaphosa (24 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/67a3db03bb67d6f586f3745c"},{"kind":"relation","label":"co-mentioned with kempton park (24 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/f744bca8ccfeb398321a5a5d"},{"kind":"relation","label":"co-mentioned with president cyril ramaphosa (21 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/eb2521456cbd37e7993078a2"},{"kind":"relation","label":"co-mentioned with gauteng (20 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/57c228c400d9f3e0fb29235e"},{"kind":"relation","label":"co-mentioned with south african police (19 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/b433ab08d2079bd810ed3d8e"},{"kind":"relation","label":"co-mentioned with moselakgomo (15 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/c1e096ab1704669c4428973a"},{"kind":"relation","label":"co-mentioned with tsontso (14 documents)","role":"co-mentioned","relationKind":"co-mentioned","members":2,"id":"sb:r/a73781fd972b6896ef54d68b"}],"cursor":null,"order":"situations first, then claims (the subject's own maintained record, then site-wide corroborated clusters; each label ends with its standing), then co-mentions by shared documents, descending. Co-mentions are the ten strongest the entity graph keeps per entity"},"edge":{"state":"continues"},"links":{"rest":"/api/v1/node/e/c2b38f8589e5b69a298e1ab3","mcp":"traverse {\"id\":\"sb:e/c2b38f8589e5b69a298e1ab3\"}","page":"/entity/ekurhuleni/"},"limits":{"levelsPerCall":1,"pageSize":10,"maxPageSize":50,"membersMax":50,"statement":"One level per call: depth is 1 and only 1, and there is no whole-graph dump. pageSize 1-50 (default 10); a page limit is a cursor, never an edge. Members are listed up to 50. At most 60 traverse calls a minute per caller (runaway-loop protection, not a meter). One knowledge cutoff is served: the deploy's."},"actions":[{"verb":"unfold","lit":true,"effect":"read","layer":"cantina","call":"traverse {\"id\":\"sb:e/c2b38f8589e5b69a298e1ab3\",\"level\":\"children\"}"},{"verb":"fold","lit":true,"effect":"read","layer":"cantina","call":"traverse {\"id\":\"sb:e/c2b38f8589e5b69a298e1ab3\"}"},{"verb":"panOut","lit":false,"effect":"read","layer":"cantina","reason":"An entity is a root: it is contained by nothing. Pan out by following R."},{"verb":"follow","lit":true,"effect":"read","layer":"cantina","call":"traverse {\"id\":\"sb:e/c2b38f8589e5b69a298e1ab3\",\"level\":\"relations\"}"},{"verb":"receipts","lit":false,"effect":"read","layer":"cantina","reason":"receipts are the observations below this node; unfold to reach them"},{"verb":"edge","lit":true,"effect":"read","layer":"cantina","call":"traverse {\"id\":\"sb:e/c2b38f8589e5b69a298e1ab3\"}"},{"verb":"asOf","lit":false,"effect":"read","layer":"cantina","reason":"v1 serves one knowledge cutoff, this deploy's; walking an earlier cutoff needs retained history (EQ-REPLAY), which v1 does not keep"},{"verb":"switchObserver","lit":false,"effect":"read","layer":"cantina","reason":"the public record is the same for every observer; traversal through a Watch's lens is not served in v1"},{"verb":"readOriginal","lit":false,"effect":"read","layer":"cantina","reason":"no translation is applied on this node; every label is the source's own text"},{"verb":"save","lit":false,"effect":"watch-declaration","layer":"workshop","reason":"saving applies to a configured Watch; configure one around this node first (free), then save it"},{"verb":"deliver","lit":false,"effect":"watch-declaration","layer":"workshop","reason":"delivery applies to a saved Watch"},{"verb":"format","lit":false,"effect":"watch-declaration","layer":"workshop","reason":"output format applies to a saved Watch"},{"verb":"deltaR","lit":false,"effect":"read","layer":"workshop","reason":"Delta R needs a saved Watch with a previous reading"},{"verb":"read","lit":false,"effect":"read","layer":"docking-bay","reason":"one-time Reads are parked until the Commander decides their shape (#938)"}]}