From e55f95bd35e0e737ce254f503a3757327d76e790 Mon Sep 17 00:00:00 2001 From: daniel Date: Mon, 23 Feb 2026 03:03:10 +0000 Subject: [PATCH] improve: Battle of Adrianople --- .automate/.improve-state.tsv | 1 + .automate/continuous-improve.log | 179 ++++++++++++++++++++++++++++++ .automate/improve-history.log | 3 + .factbase/factbase.db | Bin 10076160 -> 10076160 bytes battles/battle-of-adrianople.md | 95 +++++----------- logs/mcp-puppeteer-2026-02-23.log | 3 + 6 files changed, 211 insertions(+), 70 deletions(-) diff --git a/.automate/.improve-state.tsv b/.automate/.improve-state.tsv index 8116a43..d86d7ba 100644 --- a/.automate/.improve-state.tsv +++ b/.automate/.improve-state.tsv @@ -70,3 +70,4 @@ eb53be 1771815190 ee0ff0 1771815299 f36cdb 1771815389 f6391a 1771815558 +f760d3 1771815657 diff --git a/.automate/continuous-improve.log b/.automate/continuous-improve.log index 41fbf11..3175c95 100644 --- a/.automate/continuous-improve.log +++ b/.automate/continuous-improve.log @@ -12382,3 +12382,182 @@ Let me write the updated document now. [?25h status: UPDATED | Phoenicia | changes: removed duplicate title heading, fixed approximate temporal tag prefix, added Origins section (Bronze Age Canaanite succession), added Religion section (Baal/Astarte/Melqart/El), added Trade Network section, expanded Achievements with cedar exports/glass production/bireme/murex detail, added government structure to Key Facts, added 3 new scholarly footnotes, removed answered review questions block +[main 21d2054] improve: Phoenicia + 6 files changed, 190 insertions(+), 73 deletions(-) + rewrite civilizations/phoenicia.md (81%) +[2026-02-23 03:00:57] ✅ Committed: improve: Phoenicia +[2026-02-23 03:00:57] Done (91s) — UPDATED +[2026-02-23 03:01:02] [33/66] Next up... +[2026-02-23 03:01:02] ━━━ [Battle of Adrianople] (fc7830) reviews=0 garbage=0 ━━━ +[2026-02-23 03:01:02] 🧹 Bash cleanup applied +[2026-02-23 03:01:02] 🔍 Enrichment + review pass +All tools are now trusted (!). Kiro will execute tools without asking for confirmation. +Agents can sometimes do unexpected things so understand the risks. + +Learn more at https://kiro.dev/docs/cli/chat/security/#using-tools-trust-all-safely + + + +[?25l[?25lI'll share my reasoning process (using tool: thinking): Let me analyze the current document and plan what needs to be done: + +1. REVIEW QUESTIONS: Skip (0 open questions confirmed) + +2. IDENTITY & ORGANIZATION: The title "Battle of Adrianople" is appropriate for a battle document. The file is in `battles/` folder which is correct. No changes needed here. + +3. ENRICH FROM OUTSIDE SOURCES: I need to search for additional information about the Battle of Adrianople to enrich the document. + +Looking at the current document, it covers: +- Date, location, belligerents, commanders, result +- Battle narrative (Valens attacked without waiting, cavalry routed, infantry surrounded) +- Significance (vulnerability to heavy cavalry, Treaty of 382, harbinger of fall) + +Things that could be added: +- Background/context (Gothic crisis of 376-378, crossing of the Danube) +- More detail on the battle itself +- Aftermath beyond the Treaty of 382 +- Casualty figures with more context +- The role of Gratian and why Valens didn't wait +- Archaeological/scholarly updates + +Also I notice the document has a duplicate title heading (two `# Battle of Adrianople` lines) which should be fixed. + +Let me search for enrichment information. + - Completed in 0.0s + +[?25l[?25l[?25lSearching the web for: Battle of Adrianople 378 CE scholarship archaeology recent research Visigoths Valens (using tool: web_search) +Searching the web for: Battle of Adrianople 378 CE Gothic crisis foederati Treaty 382 Fritigern historical analysis (using tool: web_search) + + ✓ Found 10 search results + - Completed in 0.801s + + + ✓ Found 10 search results + - Completed in 0.989s + +[?25l[?25lFetching content from: https://www.worldhistory.org/Battle_of_Adrianople/ (searching for: Gothic crisis 376 Danube crossing foederati Hunnic pressure background aftermath) [mode: selective] (using tool: web_fetch) + + ✓ Fetched 17266 bytes (selective) from URL + - Completed in 0.44s + +[?25l[?25lI'll share my reasoning process (using tool: thinking): Now I have good enrichment material. Let me plan the document improvements: + +1. Fix the duplicate title heading (two `# Battle of Adrianople` lines) +2. Add background/context section covering: + - Hunnic pressure pushing Goths westward + - Gothic crossing of the Danube in 376 CE + - Mistreatment by Roman commanders (Lupicinus and Maximus) + - Gothic revolt and earlier battles (Marcianople 376, Ad Salices/Battle of the Willows 377) +3. Enrich the battle section: + - Fritigern's peace envoys as a stalling tactic + - The Greuthungi cavalry (additional ~10,000) arriving during battle + - Valens' jealousy of Gratian's success as motivation + - Valens' body never found +4. Enrich significance: + - Gothic War 376-382 CE continued after the battle + - Goths lacked siege weapons, couldn't take Adrianople itself + - Theodosius I negotiated the 382 treaty (not just "the empire") + - Alaric's sack of Rome in 410 CE as downstream consequence + - Comparison to Cannae and Carrhae + +Also note: The document says "~20,000 Roman soldiers killed" but World History Encyclopedia says "over 10,000" and Ammianus says two-thirds of the army. The document already notes this is a modern estimate. Burns (1994) gives ~20,000. The World History Encyclopedia says "over 10,000." These are not necessarily contradictory - "over 10,000" is a minimum. I'll note the scholarly range. + +Also: The document says "Belligerents: Eastern Roman Empire vs. Visigoths" but the Goths included Thervingi (Visigoths), Greuthungi (Ostrogoths), Alans, and other groups. This should be noted. + +Let me also note: Fritigern died c. 380 CE, not long after the battle. + +Now let me write the updated document. I need to: +1. Remove the duplicate title +2. Add a Background section +3. Enrich the Battle section +4. Enrich the Significance section +5. Add new footnotes for new sources + +New sources to add: +- [^3]: Wasson, Donald L. "Battle of Adrianople." World History Encyclopedia (2014). https://www.worldhistory.org/Battle_of_Adrianople/ +- [^4]: Heather, Peter. *The Fall of the Roman Empire: A New History of Rome and the Barbarians*. Oxford University Press, 2006. + +Actually, Heather (2006) is already referenced in the document text but not in the footnotes. Let me add it properly. + +Let me draft the updated document: + +```markdown + +# Battle of Adrianople + +## Overview +The Battle of Adrianople (9 August 378 CE) was a catastrophic Roman defeat in which the Visigoths and allied Gothic forces destroyed a Roman army and killed Emperor Valens. @t[=0378] It is often cited as a turning point signaling the decline of Roman military power, comparable in scale to the defeats at Cannae (216 BCE) and Carrhae (53 BCE). [^3] + +## Key Facts +- Date: 9 August 378 CE @t[=0378] +- Location: Adrianople (modern Edirne, Turkey), Roman province of Thracia +- Belligerents: Eastern Roman Empire vs. Gothic coalition (Thervingi, Greuthungi/Ostrogoths, Alans) +- Commanders: Emperor Valens (Rome, killed), Fritigern (Thervingi Visigoths, d. c. 380 CE) +- Result: Decisive Gothic victory [^1] +- Roman losses: Approximately two-thirds of the army (~10,000–20,000 killed), including Valens [^1][^2] + +## Background +The battle was the culmination of the Gothic War (376–382 CE). @t[0376..0382] In 376 CE, Hunnic expansion from the east drove over 200,000 Visigoths (Thervingi) to the Danube frontier, where they sought and received Roman permission to settle in Thrace. @t[=0376] Roman commanders Lupicinus and Maximus exploited the refugees, demanding slaves and weapons in exchange for food. Facing starvation, the Goths revolted under Fritigern. Earlier engagements at Marcianople (376 CE) @t[=0376] and Ad Salices (Battle of the Willows, 377 CE) @t[=0377] failed to suppress the Gothic raiding across the Balkans. [^3] + +By 378 CE, Emperor Valens — who had been campaigning against Persia — returned to Constantinople under pressure from its citizens and marched against Fritigern. His co-emperor in the west, Gratian (son of Valentinian I), was advancing with reinforcements from Gaul but had not yet arrived. [^1] + +## The Battle +- Valens attacked without waiting for Gratian's western reinforcements, reportedly driven by jealousy of his nephew's military successes [^1][^3] +- Fritigern sent peace envoys on the morning of battle — historians regard this as a stalling tactic to await the return of ~10,000 Greuthungi (Ostrogothic) cavalry who were away foraging [^1][^3] +- Roman cavalry on the left flank was routed when the Greuthungi cavalry arrived and struck unexpectedly +- Roman infantry, already exhausted from an eight-mile march in August heat without food or water, was surrounded and annihilated [^1] +- Valens was mortally wounded; his body was never recovered [^1] + +## Significance +- Demonstrated the vulnerability of Roman legions to heavy cavalry and the dangers of poor scouting and low morale [^2][^3] +- The Goths lacked siege equipment and could not take Adrianople itself; the Gothic War continued until 382 CE [^3] +- Led to the Treaty of 382 CE: Emperor Theodosius I settled the Goths within the empire as *foederati*, granting land in exchange for military service @t[=0382] [^2][^4] +- Alaric, a Visigoth and former Roman commander, sacked Rome in 410 CE — a direct downstream consequence of the foederati settlement [^3] +- Often considered a harbinger of the fall of the Western Roman Empire (476 CE) [^2][^4] + +--- +[^1]: Ammianus Marcellinus, *Res Gestae* 31.12–13 (~390 CE) +[^2]: Burns, T.S. *Barbarians Within the Gates of Rome*. Indiana University Press, 1994. +[^3]: Wasson, Donald L. "Battle of Adrianople." *World History Encyclopedia*, 2014. https://www.worldhistory.org/Battle_of_Adrianople/ +[^4]: Heather, Peter. *The Fall of the Roman Empire: A New History of Rome and the Barbarians*. Oxford University Press, 2006. +``` + +This is a solid enrichment. Let me now call update_document with this content. + +Key changes: +1. Removed duplicate `# Battle of Adrianople` heading +2. Added comparison to Cannae and Carrhae +3. Clarified belligerents (Thervingi, Greuthungi, Alans) +4. Added Fritigern's death date +5. Added Roman losses range +6. Added entire Background section (Gothic War 376-382, Hunnic pressure, Danube crossing, Lupicinus/Maximus exploitation, earlier battles) +7. Enriched battle section (Greuthungi cavalry stalling tactic, exhaustion details, Valens' body never found) +8. Enriched significance (Goths lacked siege weapons, Theodosius I named, Alaric 410 CE connection) +9. Added footnotes [^3] and [^4] with proper citations +10. Fixed footnote [^1] to include date (~390 CE) +11. Fixed footnote [^2] to include publisher + + - Completed in 0.0s + +[?25l[?25lRunning tool update_document with the param (from mcp server: factbase) + ⋮ { + ⋮ "id": "fc7830", + ⋮ "content": "## Overview\nThe Battle of Adrianople (9 August 378 CE) was a catastrophic Roman defeat in which a Gothic coalition destroyed a Roman army and killed Emperor Valens. @t[=0378] It is often cited as a turning point signaling the decline of Roman military power, comparable in scale to the defeats at Cannae (216 BCE) and Carrhae (53 BCE). [^3]\n\n## Key Facts\n- Date: 9 August 378 CE @t[=0378]\n- Location: Adrianople (modern Edirne, Turkey), Roman province of Thracia\n- Belligerents: Eastern Roman Empire vs. Gothic coalition (Thervingi Visigoths, Greuthungi/Ostrogoths, Alans)\n- Commanders: Emperor Valens (Rome, killed), Fritigern (Thervingi, d. c. 380 CE)\n- Result: Decisive Gothic victory [^1]\n- Roman losses: Approximately two-thirds of the army (~10,000–20,000 killed), including Valens [^1][^2]\n\n## Background\nThe battle was the culmination of the Gothic War (376–382 CE). @t[0376..0382] In 376 CE, Hunnic expansion from the east drove over 200,000 Visigoths (Thervingi) to the Danube frontier, where they received Roman permission to settle in Thrace. @t[=0376] Roman commanders Lupicinus and Maximus exploited the refugees, demanding slaves and weapons in exchange for food. Facing starvation, the Goths revolted under Fritigern. Earlier engagements at Marcianople (376 CE) @t[=0376] and Ad Salices (Battle of the Willows, 377 CE) @t[=0377] failed to suppress Gothic raiding across the Balkans. [^3]\n\nBy 378 CE, Valens — who had been campaigning against Persia — returned to Constantinople under pressure from its citizens and marched against Fritigern. His co-emperor in the west, Gratian (son of Valentinian I), was advancing with reinforcements from Gaul but had not yet arrived. [^1]\n\n## The Battle\n- Valens attacked without waiting for Gratian's western reinforcements, reportedly driven by jealousy of his nephew's military successes [^1][^3]\n- Fritigern sent peace envoys on the morning of battle — historians regard this as a stalling tactic to await the return of ~10,000 Greuthungi cavalry who were away foraging [^1][^3]\n- Roman cavalry on the left flank was routed when the Greuthungi arrived and struck unexpectedly\n- Roman infantry, already exhausted from an eight-mile march in August heat without food or water, was surrounded and annihilated [^1]\n- Valens was mortally wounded; his body was never recovered [^1]\n\n## Significance\n- Demonstrated the vulnerability of Roman legions to heavy cavalry and the dangers of poor scouting and low morale [^2][^3]\n- The Goths lacked siege equipment and could not take Adrianople itself; the Gothic War continued until 382 CE [^3]\n- Led to the Treaty of 382 CE: Emperor Theodosius I settled the Goths within the empire as *foederati*, granting land in exchange for military service @t[=0382] [^2][^4]\n- Alaric, a Visigoth and former Roman commander, sacked Rome in 410 CE — a downstream consequence of the foederati settlement @t[=0410] [^3]\n- Often considered a harbinger of the fall of the Western Roman Empire (476 CE) [^2][^4]\n\n---\n[^1]: Ammianus Marcellinus, *Res Gestae* 31.12–13 (~390 CE)\n[^2]: Burns, T.S. *Barbarians Within the Gates of Rome*. Indiana University Press, 1994.\n[^3]: Wasson, Donald L. \"Battle of Adrianople.\" *World History Encyclopedia*, 2014. https://www.worldhistory.org/Battle_of_Adrianople/\n[^4]: Heather, Peter. *The Fall of the Roman Empire: A New History of Rome and the Barbarians*. Oxford University Press, 2006.\n" + ⋮ } + - Completed in 0.10s + +[?25l> Document updated successfully. Here's a summary of what changed: + +- Removed the duplicate # Battle of Adrianople heading +- Clarified belligerents: Thervingi Visigoths + Greuthungi/Ostrogoths + Alans (not just "Visigoths") +- Added Fritigern's death date (c. 380 CE) and Roman losses range (~10,000–20,000) +- Added a new Background section covering: Hunnic pressure, the 376 CE Danube crossing, Roman exploitation by Lupicinus/Maximus, the Gothic revolt, and earlier battles at Marcianople and Ad Salices +- Enriched the battle narrative: Greuthungi cavalry stalling tactic, exhaustion of Roman troops, Valens' body never recovered +- Enriched significance: named Theodosius I as treaty negotiator, noted Goths lacked siege weapons, added Alaric's 410 CE sack of Rome as downstream consequence with @t[=0410] +- Added two new footnotes: Wasson/World History Encyclopedia (2014) and Heather (2006) — the latter was referenced in the text but never formally cited + +status: UPDATED | Battle of Adrianople | changes: removed duplicate title heading; clarified Gothic coalition belligerents (Thervingi, Greuthungi, Alans); added Background section (Hunnic pressure, 376 CE Danube crossing, Lupicinus/Maximus exploitation, Marcianople and Ad Salices battles); enriched battle narrative (Greuthungi stalling tactic, Roman exhaustion, Valens' body never found); enriched significance (Theodosius I named, Goths lacked siege weapons, Alaric 410 CE sack added with temporal tag); added footnotes for Wasson/World History Encyclopedia (2014) and Heather (2006) + + ▸ Time: 2m 3s + +[?25h +status: UPDATED | Battle of Adrianople | changes: removed duplicate title heading; clarified Gothic coalition belligerents (Thervingi, Greuthungi, Alans); added Background section (Hunnic pressure, 376 CE Danube crossing, Lupicinus/Maximus exploitation, Marcianople and Ad Salices battles); enriched battle narrative (Greuthungi stalling tactic, Roman exhaustion, Valens' body never found); enriched significance (Theodosius I named, Goths lacked siege weapons, Alaric 410 CE sack added with temporal tag); added footnotes for Wasson/World History Encyclopedia (2014) and Heather (2006) diff --git a/.automate/improve-history.log b/.automate/improve-history.log index e955087..c46d9c8 100644 --- a/.automate/improve-history.log +++ b/.automate/improve-history.log @@ -214,3 +214,6 @@ [2026-02-23T02:59:18+00:00] f6391a | Battle of Kadesh status: UPDATED | Battle of Kadesh | changes: Fixed duplicate title heading; added army sizes and four named divisions (Amun/Ra/Ptah/Seth); added commander reign dates; added Primary Sources section distinguishing Bulletin vs Poem of Pentaur; expanded propaganda reliefs to include Luxor and Abydos; added missing Beckman [^3] footnote duration: 161s +[2026-02-23T03:00:57+00:00] f760d3 | Phoenicia + status: UPDATED | Phoenicia | changes: removed duplicate title heading, fixed approximate temporal tag prefix, added Origins section (Bronze Age Canaanite succession), added Religion section (Baal/Astarte/Melqart/El), added Trade Network section, expanded Achievements with cedar exports/glass production/bireme/murex detail, added government structure to Key Facts, added 3 new scholarly footnotes, removed answered review questions block + duration: 91s diff --git a/.factbase/factbase.db b/.factbase/factbase.db index 6ba01745384245cfff4e291702d2e1e646c41de0..895628badf6455b292c7bf628eb9feacfda2f24c 100644 GIT binary patch delta 11858 zcmeHNYiu0HeZQI6y~p0|-h&T`k|i$nByEZ&dDM}VY)gEJQY1^VCCiRwN?zVA@76rt z(R+8K=-NK*om%JRR4QX%P^5_q1T9b?NYWr?i>8Sav>yWaLyDmJPy?|Ov<+GmNKzCj z`ilCSnLSEvzxR^_{HT4*{OA9g|6}%U-u#(z6S%!wUk(H!UkC)0V}U^6%$@#mvi$WI zzkI?tX}pIA%3s9o_|J^@zL7ZDt$d?@_Vb#Gha>D8e|i28>7=-}()e>Jjz44k)ok(vj)fqhtY|F>@99|;81;-By< zkW){HEBw6!NX@z{MrG7+y#1^#kt-tw*%x>-b3F(dOPY{D@e;XJh`mkFz6!H); zhF!Z_b4#`oR7ec3w{rhT{yYyUmoiRfbyMyG!QZic(LB|F!YvR`PcEhp{b7r!^XGcCkPz zaBJ5aKaNv?0Scf3K_CQ#fe4@hQ6L8BfC0pT1ds$$KnKtXbOGJK4qzwH1MoF=0}lav zfW1I3U;=%>K43p^05}L70uBTHzyRU1A5S|5IOx|e=`@4H`{CW#2%683(8y}zZsH~l@f z_5Kg1Cu5OdJrJxbe@FieCM<5f@`GtLxK+P0??vAIXj(N@@^*l{{Y`D=GerMFo+Wy^ z&U*UMo_7y!9-V#kG6q$&EK25bb1hPS5__8S}fY8Q!*=A3m4V0SuNOR&R(*u zYQ?mw=8RP;S+?0fI+8J`XXXY>tCYh-*Ddg;N7JqHH_tuvc6KJ%x_f8(^xi@9>GFzI zGFRR5np4W!W_iiHTyU+dV`)dsR^R*6hv)w{cV_?Pg6(2>-Z8H@6(hWM+rV^u(|UJ~7~FyHYDwkD0S}7F5^l zwp!MlY_;rem{+fjEbw81;bOT`u`9>Ssa3Fk!&$Mac5$Qi=x6Ti?CF1fWO#6Rc=)F` zH%G;Vx$G2+c5a|${p4ath?BW`ZM608UwblL=i2k-d)9Kz{`7bT)6x^8oTniZHh>8- zLqo%Ov|yeonYhENLGyI2RD#Lu8>OgT!)Tf;DWtjx^~uvK5}ha+3t!{5sSk96}wuME+On@3#Pf_ zWETAKa2%L8XS)^iTy53KI;9$11#a=ARfpzq11XASr-~K0K3sdLmbYz~G-vaPFtk}I zT5GnPwQgIh#9alhktz6{G)Hpll zDYp)H&)aTk$egp>BIGvhQr^njD|Sh`^OKefS1grRAtE;pHw(9lFCdpcnWgm8l^*oDx=Pj7w>1}mEdD`zg+cFD|I*sM;z#C2iiEvE#ZxCje4 zmKf`&m|UHke+JsDS}?m5Q|d;rRD%ZyzjC0BEOhk>UyKXA0=*O zu~$}Y7iNK(xGvW1N|o84+_0-Af(-Z4p;o*#eLU(fb+}@#Zw}9Q)dxXnwd}(B#SLr^ zj4YXp8|F*4RV>#k8=RX0I4{|&1$!N{Rvg4a3){X@%fhzU>>>aN3mk##`0~R4OI35# zwh+7Q(pq_=VnQ@7@k-eh>IdOPt6JxqgqsPAAeum4?v8oO_J!vz}rypPLi+Hg2npFg|+zHnC#>Ko1zAdagr+4*Qod+E_Pdk3KC-}@3 z?WL-@giyIGOyHJle48K!NLlX1*0z>~7a+{mvdh>_*uZvHsCIh+7!5w7xyUcEq-b$AfuSv0l$GaeVg1&_q7kv;RBn~BpW>p~)KxEv2D z2v*SaY8i`GvS2}MBse}cG+%}%KLqi%PA_Ac3^7G3yA0A5$3|GPU#>Z;JeCOBAXChl z+*_;GvW>XGy+A}3Y%hDLxO80D`Mz|J<-xdA1HBq9ipW(wFJR&H!sf-(=Ak)%k74<8 zu3T{tO3(NKS%y-<)24U25AL6L#U9U_uyXGIM9+Kf&QmL#Sq3?tb)=kQ+;@;nT_+2Z zZYN$L8T@Ponw6PxJKPVN6{!q7zaol;u@RnY#Wt|aTzMUF2d=S#a8as2SGHdOa3d_0 zZG>n<3tt|gMZpt@aGr!Ow?0bG%q9BA{J`vUy7{Zq$27D5_4K4j?VH1ACL%*fo;m2- zY9)K0>Dn_nHl%SH$ING~3WCv~Ia@ASFweOmbKmAKXFFTo7iSNUvDTgUpX_b@r!k}5 zXRk*wbqrHa!$pxL2N7A}maWG>JKK8%6@hu)UN;d1MbQ8!g80~v&^ecD+Hx16Lu~(t zhs@U0x1Zk4hBHH(Z+^JH^})|C?x!^MZek{MQ$3C1a;+7+JyW7;y!GnsnY~)12hVN~bU`*WO5i(ad5mu=sBeb7>%_|#gls7L zy*|p29-Cb;LcF-yr;zbxR~XmNDr7>8!_EEyMkhwa9Uqox9HI=?6a$-Q2^kTux(O+# zyu{AF!?6-2b-9X0$PI6niXoIp8lc$BQj%_yZ{{c&!wn_l;xAv9l1cn!bdtaDGJHyv z`14cXAjE;;+e(RKuKweBaE_rA#eiWk# zNjJM7$duQ2s&B6A=p&MI$-p9|ZB0cZldP?&%gomlbYmR%_E0(jPU={|VLr#uwHIsX z8l{txVJ?qNgw$RJ^O~9dBjC$d>6BcE5BfNvN5K+^oghLUB9uhLl0+y;Fc&*ch$Y0` zMMyFnOw=1uFRU9gG?+#FDpm1LQES+kHm;b$OB8A71xj-A>O2eQkRADc;$yA}!Uw@X)3PaqHiXUexf<|sbPJ4#YN*R=C zXk`Vvs#X!JaFMT3Qj%kyV?nF9QE~V?Msi}rUPAWvtwnb9U*FLajtwucNXaQUMaU)J zgF<78##Zb1mG^=bmoj%{qrJ+W7r+g#It15^*c>BVMU+TBV3Phu^fy=-)x@c2tBo!5Pl6XK>(W2GGJJ8XOH+rbTs{tugMj^fmP7-YqWb#PbCEo;u zsiI;OL%r*;fgf}PHR!jwJj4`UtBMEkR3-H4g(=fJuTz?}#k9wQl-ORK?;cw!(#taq z^$C(AFOS7cIMijPY?Mn}2Fj3WC3h=~mY4Y>1xFe8Y*K)Fg2GZin>?u?YWec<<$)q^4n!` z-!sGDf(Y}rEAE?*YrYe}m0o;G3Hi;l;5^N=(vst%Ys5CeN=guAWJNe{FenqDBr;c5 zgAPdE^O5Fx6{5DQb;-(#5~-rzMp@!=U8t%k8YG1-rnzo;5$~i>jG+pVuXL)_iYrb@ za3Lwd1bB(Rc^VXDP+e~C#_I}0e<%m_F)Fsdm%+eURqQCL+Ng3xPzcKQ*;gPbDhg^^ zsdbEp-|@qO_S?=7!3uaj!Ggs_UQXf-Gzmqbu7dq~KZ{a~{$ve+D=jC5RY zr^?VUw%LD%syPRTb?y7}oP~n#;~%F%S)hrx2|~;nZ{f=OyQk|xM}p$aJ$SD51LV`p^;cDIu&$iSQ`Gz zk0)?N6?8p9KOw(!mI?c~x5h$#Z7zvkVenUeuu%86ewPxIExP0&O(PpNs`C=!8VHl% zlIXkT%O@1Ix@c9ll|og2C&0`zOyQlc9QYigMV=$P3=c_{j!`u`K9Sze#f+*>J&z_7 zLm2Wu7l5}YlEpJLq)|=e@m(DtaPGWJ+PE zT*YRgNK0~eK$-?g?UHip6sXMng3-HYVS*LF~(l~w7Qw*p9F{Fq8C>~*4&5ezqo zcL2#*P(teI>bt%>HJ!WM$wJv;jc^s>t1vQiM@I_co6(2A(j5()*(JE=HGp1Ds}R9$|mmV;VP*;3~`9fhm)b60V(< z5+VNz0nQ?06_>qK&oG&XvPDa)xFN}uU$86$(H%uZcR#7x*Toe|;VG2KI zxUX2cu9AXO!POwxmh-A=$f?T~RXzac;=oScjWS_)@LZH}v++Da4L>u%BBC)E@mvo{ z7-xmTrf`0wvhCRUB+5th(Slf0Q51e!B5oRwAb{{b9(Q%5?UzWfWTPDv%q#qSMh@#` z42`_JF1N+Ml|+W-Qu@Z{d0+E_gqFEadzoQE)X?FB2RqLVo5}czXy3!Sx<}U|5pK5a zU3REBAU(7$VpC(FmlA&^3)Lh~+akXZ$?+}5RMCH92^!&PDbEiag?X;gP_3HtvoGD| z*xRKlYmU7xn1Zt*R@{Jzr0Q?&BxIG-QtJF|5~GBiCA>okJ89>hN*71M%xRKsOGsq0!?OBnH}xYxU*ny%?Ri9{@BggUh7 z&aTdQJQ&xbDXl}-I*hIz(O|SI5(_0XBhnGmqg@?6THMeQ2|XT<##0@J5s!65;xRp_ zCFAi(G|`ocg!QBmOGJ%?-mRrNQ+hJ4MN)}G+=$l`F+H9DH!(v`7_si8k&Gt0^+d8m z?}){XXsjb_=titFWu%g^m=;SKDb0w6jc76wPQ_zb!|2kY2_qQm)DpUGM0JQ3-uCaz~OttE!ZLX9r20GyA`3gbPD$*@d^%k3#|$+h##L3>GloGn|-=>y{C^`4F}(HwJ}C`C7`gpjQn)j*Ipda zMRYryVM+^JOfPeaknrKyRNYY3WVGApGW%!%!FAEtDjXEwn^ zg`l)THWl~0ESx#QG=2d$PA5yClnP zElkkO_)!4Yy?qth5#Rd!hV>FUWWSzLRO)P(70tu*DnoP;BzPuET|n4#+b!y=!I1ns zBu`OpQ6`M+r^98~UsgW1uzUDsBI*YERIZ%ubCqbFgkC`@g3qdWtRy4GoPW@9`1|WW|JIxTkoxmCV((o6o&}x*J`Ow&Tm@bL7JzHO zb>Kz70v3TRkOORB3CIHlzyV$YmVqL$0+fIJr80S%xD+yZ_R_$}ZK;1j?nflmRS20jD4349j#ZQwR=2l$<>*n6A*5`Xud zj}>UFOAX)$8%v^*-Te0K=z||z_`lV7@PiBdH08k$E*|{g;=vCt9{k|KeDH&d2S2#* le_!p7@bl!O{{~jrq=End delta 6343 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 a+Ra{yKn9(?7K_x}g3YvBL@ diff --git a/battles/battle-of-adrianople.md b/battles/battle-of-adrianople.md index e9d266d..e42effa 100644 --- a/battles/battle-of-adrianople.md +++ b/battles/battle-of-adrianople.md @@ -1,83 +1,38 @@ # Battle of Adrianople -# Battle of Adrianople - ## Overview -The Battle of Adrianople (378 CE) was a catastrophic Roman defeat in which the Visigoths destroyed a Roman army and killed Emperor Valens. It is often cited as a turning point signaling the decline of Roman military power. @t[=0378] +The Battle of Adrianople (9 August 378 CE) was a catastrophic Roman defeat in which a Gothic coalition destroyed a Roman army and killed Emperor Valens. @t[=0378] It is often cited as a turning point signaling the decline of Roman military power, comparable in scale to the defeats at Cannae (216 BCE) and Carrhae (53 BCE). [^3] ## Key Facts - Date: 9 August 378 CE @t[=0378] -- Location: Adrianople (modern Edirne, Turkey) -- Belligerents: Eastern Roman Empire vs. Visigoths -- Commanders: Emperor Valens (Rome, killed), Fritigern (Visigoths) -- Result: Decisive Visigothic victory [^1] +- Location: Adrianople (modern Edirne, Turkey), Roman province of Thracia +- Belligerents: Eastern Roman Empire vs. Gothic coalition (Thervingi Visigoths, Greuthungi/Ostrogoths, Alans) +- Commanders: Emperor Valens (Rome, killed), Fritigern (Thervingi, d. c. 380 CE) +- Result: Decisive Gothic victory [^1] +- Roman losses: Approximately two-thirds of the army (~10,000–20,000 killed), including Valens [^1][^2] + +## Background +The battle was the culmination of the Gothic War (376–382 CE). @t[0376..0382] In 376 CE, Hunnic expansion from the east drove over 200,000 Visigoths (Thervingi) to the Danube frontier, where they received Roman permission to settle in Thrace. @t[=0376] Roman commanders Lupicinus and Maximus exploited the refugees, demanding slaves and weapons in exchange for food. Facing starvation, the Goths revolted under Fritigern. Earlier engagements at Marcianople (376 CE) @t[=0376] and Ad Salices (Battle of the Willows, 377 CE) @t[=0377] failed to suppress Gothic raiding across the Balkans. [^3] + +By 378 CE, Valens — who had been campaigning against Persia — returned to Constantinople under pressure from its citizens and marched against Fritigern. His co-emperor in the west, Gratian (son of Valentinian I), was advancing with reinforcements from Gaul but had not yet arrived. [^1] ## The Battle -- Valens attacked without waiting for Western reinforcements under Gratian -- Roman cavalry was routed by a surprise Gothic cavalry charge -- Roman infantry was surrounded and annihilated -- ~20,000 Roman soldiers killed, including Valens himself +- Valens attacked without waiting for Gratian's western reinforcements, reportedly driven by jealousy of his nephew's military successes [^1][^3] +- Fritigern sent peace envoys on the morning of battle — historians regard this as a stalling tactic to await the return of ~10,000 Greuthungi cavalry who were away foraging [^1][^3] +- Roman cavalry on the left flank was routed when the Greuthungi arrived and struck unexpectedly +- Roman infantry, already exhausted from an eight-mile march in August heat without food or water, was surrounded and annihilated [^1] +- Valens was mortally wounded; his body was never recovered [^1] ## Significance -- Demonstrated the vulnerability of Roman legions to heavy cavalry -- Led to the Treaty of 382 CE: Visigoths settled within the empire as *foederati* @t[=0382] -- Often considered a harbinger of the fall of the Western Roman Empire [^2] +- Demonstrated the vulnerability of Roman legions to heavy cavalry and the dangers of poor scouting and low morale [^2][^3] +- The Goths lacked siege equipment and could not take Adrianople itself; the Gothic War continued until 382 CE [^3] +- Led to the Treaty of 382 CE: Emperor Theodosius I settled the Goths within the empire as *foederati*, granting land in exchange for military service @t[=0382] [^2][^4] +- Alaric, a Visigoth and former Roman commander, sacked Rome in 410 CE — a downstream consequence of the foederati settlement @t[=0410] [^3] +- Often considered a harbinger of the fall of the Western Roman Empire (476 CE) [^2][^4] --- -[^1]: Ammianus Marcellinus, *Res Gestae* 31.12–13 -[^2]: Burns, T.S. *Barbarians Within the Gates of Rome* (1994)--- - -## Review Queue - - -- [x] `@q[missing]` Line 10: "Date: 9 August 378 CE @t[=0378]" - what is the source? -> Well-established historical date from Ammianus Marcellinus, Res Gestae (Book 31), the primary contemporary source for the battle. Also corroborated by later sources including Orosius and Zosimus. -- [x] `@q[temporal]` Line 11: "Location: Adrianople (modern Edirne, Turkey)" - when was this true? -> CE event (378 CE), tagged @t[=0378] on the date line. Attested by Ammianus Marcellinus, *Res Gestae* 31.12 (~390 CE) [^1]; modern confirmation in Burns (1994) [^2]. -- [x] `@q[temporal]` Line 12: "Belligerents: Eastern Roman Empire vs. Visigoths" - when was this true? -> CE event (378 CE), no additional temporal tag needed beyond the date line. Attested by Ammianus Marcellinus, *Res Gestae* 31.12 (~390 CE) [^1]. -- [x] `@q[temporal]` Line 13: "Commanders: Emperor Valens (Rome, killed), Fritigern (Visigoths)" - when was this true? -> CE event (378 CE). Attested by Ammianus Marcellinus, *Res Gestae* 31.12-13 (~390 CE) [^1]. -- [x] `@q[temporal]` Line 14: "Result: Decisive Visigothic victory [^1]" - when was this true? -> CE event (9 August 378 CE). Attested by Ammianus Marcellinus, *Res Gestae* 31.13 (~390 CE) [^1]; modern analysis in Burns (1994) [^2]. -- [x] `@q[temporal]` Line 17: "Valens attacked without waiting for Western reinforcements under Gratian" - when was this true? -> CE event (9 August 378 CE). Attested by Ammianus Marcellinus, *Res Gestae* 31.12.4-6 (~390 CE) [^1]. -- [x] `@q[temporal]` Line 18: "Roman cavalry was routed by a surprise Gothic cavalry charge" - when was this true? -> CE event (9 August 378 CE). Attested by Ammianus Marcellinus, *Res Gestae* 31.13.2 (~390 CE) [^1]. -- [x] `@q[temporal]` Line 19: "Roman infantry was surrounded and annihilated" - when was this true? -> CE event (9 August 378 CE). Attested by Ammianus Marcellinus, *Res Gestae* 31.13.6-8 (~390 CE) [^1]. -- [x] `@q[temporal]` Line 20: "~20,000 Roman soldiers killed, including Valens himself" - when was this true? -> CE event (9 August 378 CE). Casualty figure is a modern estimate; Ammianus (~390 CE) says two-thirds of the army was lost [^1]. Burns (1994) [^2] provides the ~20,000 figure. -- [x] `@q[temporal]` Line 23: "Demonstrated the vulnerability of Roman legions to heavy cavalry" - when was this true? -> Scholarly interpretation, not a dated event. Assessment in Burns (1994) [^2]; also Delbrück, *History of the Art of War*. Some modern historians debate the cavalry emphasis. -- [x] `@q[temporal]` Line 25: "Often considered a harbinger of the fall of the Western Roman Empire [^2]" - when was this true? -> Scholarly interpretation. Assessment in Burns (1994) [^2]; also supported by Heather, *The Fall of the Roman Empire* (2006) and Lenski (2002). -- [x] `@q[temporal]` Line 7: Malformed temporal tag @t[=378] — see docs for valid syntax -> Fix to @t[=0378]. The temporal tag system requires 4-digit years. -- [x] `@q[temporal]` Line 10: Malformed temporal tag @t[=378] — see docs for valid syntax -> Fix to @t[=0378]. The temporal tag system requires 4-digit years. -- [x] `@q[temporal]` Line 24: Malformed temporal tag @t[=382] — see docs for valid syntax -> Fix to @t[=0382]. The temporal tag system requires 4-digit years. -- [x] `@q[missing]` Line 10: "Date: 9 August 378 CE @t[=378]" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.12-13 [^1]. The primary eyewitness account. -- [x] `@q[missing]` Line 11: "Location: Adrianople (modern Edirne, Turkey)" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.12 [^1]. Well-established location. -- [x] `@q[missing]` Line 12: "Belligerents: Eastern Roman Empire vs. Visigoths" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.12 [^1]. -- [x] `@q[missing]` Line 13: "Commanders: Emperor Valens (Rome, killed), Fritigern (Visigoths)" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.12-13 [^1]. -- [x] `@q[missing]` Line 17: "Valens attacked without waiting for Western reinforcements under Gratian" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.12.4-6 [^1]. -- [x] `@q[missing]` Line 18: "Roman cavalry was routed by a surprise Gothic cavalry charge" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.13.2 [^1]. -- [x] `@q[missing]` Line 19: "Roman infantry was surrounded and annihilated" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.13.6-8 [^1]. -- [x] `@q[missing]` Line 20: "~20,000 Roman soldiers killed, including Valens himself" - what is the source? -> Source: Ammianus Marcellinus, Res Gestae 31.13.18 [^1]. Casualty figure is a modern estimate; Ammianus says two-thirds of the army was lost. -- [x] `@q[missing]` Line 23: "Demonstrated the vulnerability of Roman legions to heavy cavalry" - what is the source? -> Source: Burns (1994) [^2]; also Delbrück, History of the Art of War. This is a longstanding scholarly interpretation, though some modern historians debate the cavalry emphasis. -- [x] `@q[missing]` Line 24: "Led to the Treaty of 382 CE: Visigoths settled within the empire as *foederat..." - what is the source? -> Source: Burns (1994) [^2]; Heather, P. The Fall of the Roman Empire (2006). The treaty of 382 CE is well-attested in Themistius, Orations. -- [x] `@q[stale]` Line 25: "Often considered a harbinger of the fall of the Western Roman Empire [^2]" - Burns source from 1994 may be outdated, is this still accurate? -> Burns (1994) remains a standard reference. The interpretation of Adrianople as a turning point is longstanding scholarly consensus, also supported by Heather (2006) and Lenski (2002). Still accurate. \ No newline at end of file +[^1]: Ammianus Marcellinus, *Res Gestae* 31.12–13 (~390 CE) +[^2]: Burns, T.S. *Barbarians Within the Gates of Rome*. Indiana University Press, 1994. +[^3]: Wasson, Donald L. "Battle of Adrianople." *World History Encyclopedia*, 2014. https://www.worldhistory.org/Battle_of_Adrianople/ +[^4]: Heather, Peter. *The Fall of the Roman Empire: A New History of Rome and the Barbarians*. Oxford University Press, 2006. \ No newline at end of file diff --git a/logs/mcp-puppeteer-2026-02-23.log b/logs/mcp-puppeteer-2026-02-23.log index ca9a3dd..ac36fd3 100644 --- a/logs/mcp-puppeteer-2026-02-23.log +++ b/logs/mcp-puppeteer-2026-02-23.log @@ -172,3 +172,6 @@ {"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2026-02-23 02:59:25.858"} {"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2026-02-23 02:59:25.860"} {"level":"info","message":"Puppeteer MCP Server closing","service":"mcp-puppeteer","timestamp":"2026-02-23 03:00:54.698"} +{"level":"info","message":"Starting MCP server","service":"mcp-puppeteer","timestamp":"2026-02-23 03:01:05.164"} +{"level":"info","message":"MCP server started successfully","service":"mcp-puppeteer","timestamp":"2026-02-23 03:01:05.166"} +{"level":"info","message":"Puppeteer MCP Server closing","service":"mcp-puppeteer","timestamp":"2026-02-23 03:03:10.294"}