Skip to content
BEMBE
Status: mixed

Peoples

Lore

Dawnfolk finished a garden.

[run: seed="reed"; tick=206; log=".zig-cache/wiki/chronicle-reed.jsonl"; locator="line 238; chronicle/20600.text"]

The chronicle names a people and something built together. This record does not establish a second people, a treaty or a voyage. Recording method and revision.

A people is more than a colour

Proposal: picture a shore where a bemba carries supper home, while another wonders what lies beyond the water. A people is the difficult word between those lives: something shared, something disputed. This invitation comes from expanded seed P5/P8; it is not their speech.

Seed peoples-shore held six living bembe and no words at its first tick. At tick 1200 it held 37 living bembe and 19 word records. These counts give this particular shore a history, without telling us what anyone believed. [run: seed="peoples-shore"; tick=1; log=".zig-cache/wiki/peoples-peoples-shore.jsonl"; locator="line 1"] [run: seed="peoples-shore"; tick=1200; log=".zig-cache/wiki/peoples-peoples-shore.jsonl"; locator="line 1200"]

Proposal: a tribe can be a home for disagreement rather than a single mind. Civilization-space §7–7.1 supplies that ambition: shared beliefs, individual leanings, councils, and the possibility of leaving. Population counts alone establish no split or founding.

The dream of becoming ONE

Proposal: ONE is the horizon of a world learning to belong together. Expanded seed P20 asks for a state that can be reached and lost; Civilization-space §9–9.1 gives it a sustained unity threshold. A crowded settlement alone does not fulfill that design.

The council seed recorded unity 0.717 and era 3 at tick 1000, then unity 0.928 and era 5 at tick 2000. These are world summaries, not proof that councils reconciled or that a voyage returned. [run: seed="peoples-council"; tick=1000; log=".zig-cache/wiki/peoples-peoples-council.jsonl"; locator="line 1000"] [run: seed="peoples-council"; tick=2000; log=".zig-cache/wiki/peoples-peoples-council.jsonl"; locator="line 2000"]

Mechanism

Tribes and belief axes

Proposal: this is an unobserved mechanism guide to Civilization-space §7–7.1, checked against demos/bembe/web/minds/factions.mjs. Individual positions combine shared beliefs with four leanings, clamped from −100 to 100. Faction membership excludes eggs and bones (members, position).

Proposal: axes are concepts, not permanent parties named by the narrator. Council refresh orders known concepts by salience, breaking ties by spelling, and selects up to four. Missing beliefs contribute zero to intertribal comparison. Source: §7–7.1; code axes, council, tribeDistance.

Proposed term (§7–7.1)Meaning in the code guide
Shared beliefA tribe's position on a concept.
LeanA bemba's offset from that position.
AxisOne of up to four salient concepts.
DispersionMean distance from the member centre.
Cluster gapDistance between two group means.
ElderA named member with extra vote weight.

Councils: close enough to speak

Proposal: §7.1 places a daily council at a shrine or hub. attendees selects members within three tiles on each coordinate of the first completed tribal shrine, falling back to the hub. ready gives each tribe a hashed phase in the 200-tick day. Absent members are not counted as attendees.

Proposal: vote weight is 100, plus age divided by 20 and rounded down, plus 100 for the elder. Faith adds weight when the axis contains sky_act. vote requires nonzero total weight and a sufficient signed tally. Unity lowers the quorum parameter, never below 500. Source: §7–7.1; weight, vote.

Proposal: successful reconciliation selects the attendees' weighted median on the most variable axis and halves members' leanings there. Axis refresh is separate. Building choices use projectVote, traits, random preference and axis positions. This does not establish a treaty assembly. Source: §7.1; council.

Splits: the difficulty of leaving

Proposal: a split needs more than population growth. These gates summarize §7.1 and splitStep; council attempts departure after reconciliation fails.

Proposed split gateCode condition
Another place in the worldFewer than four tribes.
Time to settleTwo days since founding/reset.
Internal differenceDispersion ≥ half the split threshold.
Separated centresCluster gap ≥ the threshold.
Two viable groupsAt least ten members in each.
Failed reconciliationCouncil vote fails first.
Capacity and pacingBudget, busy-state and pacing guards pass.

Proposal: the smaller cluster departs; a size tie selects the minus group. Proportional shares of seven resources and lore move by transfer. Technology follows; parameters mutate. The new id includes its founding tick, although the physical slot can be reused. Words follow with adapted forms. Source: §7.1; code splitStep, followWords.

Merges: the difficulty of joining

Proposal: mergeStep requires close enough beliefs, reciprocal trade links, a tie counter at least three, two days of peace and passing votes in both councils. The larger faction membership survives; a size tie favours the first argument. Shared beliefs become population-weighted values. Source: §7–7.1.

Proposal: continueMerge moves at most 60 records per call across bembe, structures and petitions. Eligible counters and stores transfer, words follow, trade edges redirect, and the losing tribe is eventually deleted. This is a mechanism, not an observed vanishing people. Source: §7–7.1; continueMerge.

Stocks and flows: things in places

Proposal: imagine wealth as things in places. Civilization-space §6–6.1 counts goods still in nodes, carried by bembe, and stored by tribes in one total. economy.mjs:stocks also includes offerings and cargo; accounting for cargo does not establish an actual ship.

Proposed resource (§6.1)Source or role
FoodBush yield and an edible store.
WoodTree yield; stored wood can rot.
StoneRock yield; construction material.
CrystalCrystal nodes and alternating veins.
OreUnderground deposits and veins.
FishSea nodes and an edible store.
SaltCoastal nodes; preservation consumes it.

Proposal: gathering and depositing move goods. Eating removes one unit from the larger food or fish store, with food winning ties. Daily salting consumes salt according to edible stocks; protection reduces food and fish spoilage, not wood rot. Source: §6.1; gather, deposit, eatStep, saltStep, decayStep.

Proposal: conservation in §6.1 is a ledger of causes. conserve subtracts named flows from total stock change. A zero remainder is the desired accounting result; these runs do not log the balances needed to measure it.

Proposed flowSign in the stock identity
RegrowAdds replenished goods.
GammaAdds gifts.
TerraAdds/removes deposits through world changes.
EatSubtracts eaten food or fish.
BuildSubtracts construction costs.
DecaySubtracts spoiled or rotten stores.
SaltSubtracts preservation salt.
LostSubtracts disaster/death losses.

Trade: what the other shore needs

Proposal: §6–6.1 values goods relative to need and stock. tradeStep checks hub distance against both tribes' ranges and establishes reciprocal contact. Exchange then needs distinct surplus resources, positive covered quantities, and both sides valuing the received kind more than the given kind. A contact link alone proves no exchange.

Proposal: paired transfers increment the tie counter. Each daily pass first reduces an existing tie by its rounded-up half. alignTrade can draw beliefs together after qualifying transfers along trade links. Standing near a hub is insufficient. Source: §6.1/§7; code tradeStep, alignTrade.

Proposal: scarcity can also lead toward raids. raidStep checks distance in belief space, range, food below half the attacker's faction member count, and a daily hazard reduced by unity. Transfer takes one fifth of the target's food and resets pair peace. This differs from §7's half-of-food-need wording. Neither summary log establishes a raid.

Technology: ideas with a past

Proposal: §5–5.1 makes practice and born concepts materials for invention. tech.mjs:generatedTree pairs eleven practiced jobs with vocabulary concepts. Existing inventions supply dependencies; skill must reach candidate depth. Early eras retain a TECHS weighting, so the graph is not wholly free of priors.

Proposal: invent allows at most one attempt per tribe per day, gated by lore, vocabulary, unity, randomness and capacity, with at most 32 inventions. Names are coined for records; none is quoted here because these logs do not expose them. Source: §5.1; code inventionRate, generatedTree, invent.

Proposed structure gate (§5; structureUnlocked)Requirement
HutBuild level 2.
GardenFarm level 1 or gather level 2.
GranaryGather level 2 and plenty concept.
WellGather level 1 and rain concept.
ShrinePray level 1 and sky-act concept.
Library/workshopThink level 3 and unmet concept.
Bridge/dockBuild level 4 and horizon concept.
TowerBuild level 5; dark/sky-act in a known concept.
MirrorThink level 6; horizon/sky-act in a known concept.

Proposal: eligibility does not establish completion. The garden rule is a code clarification beyond §5's list. Technology diffusion needs libraries at both ends of directional trade contact and a concept already known to the recipient. Source: §5–5.1; code structureUnlocked, techStep.

Eras: an index rather than a calendar

Proposal: era is bounded from 0 to 6, without named stone or bronze ages. ctx.mjs:eraOf combines skill levels and half the invention count, divides by six, rounds down, and retains the larger stored era. index.mjs reports the maximum tribal era for the world. Source: §5; a world summary therefore does not establish every tribe's attainment.

Ships: the proposed horizon

Proposal: expanded seed P2/P5 imagines crews carrying language and goods across water. Civilization-space §5.1/§10 refines access toward sea technology and a dock. Its proposed manifest holds at most 24 bembe, 16 words and four cargo cells of at most 200 each. There is no observed passenger list in this entry.

Proposal: §10 asks for source departure and debit matched to target arrival, preserving goods across islands. V1-NODES.md's opening scope table leaves SHIP and HANDOFF outside V1. A remote projection is an island view, not a migration receipt. Voyage, arrival and cross-island merger remain proposed.

Unity: five kinds of closeness

Proposal: §9.1 replaces §9's four-term formula. unity.mjs:unityRaw averages five milli-integer terms. Daily unityStep adds the rounded-down quarter of the gap between raw and stored unity. A single event does not immediately replace the stored value.

Proposed component (§9.1)Contribution
ConcentrationSquared population shares.
TradePairs with a positive tie counter.
LexiconShared concept leaf sets, not spellings.
Belief closenessLow dispersion or intertribal distance.
PeaceTime since raid/smite, capped at five days.

Proposal: one tribe receives full trade and lexicon terms by convention; dispersion and hurt still matter. unityRewards describes higher joy targets, lore and birth multipliers, easier quorum and lower raid hazard. Source: §9.1; unityRaw, unityRewards, unityLife. An observed U alone cannot identify its changing terms.

Proposal: ONE asks for unity at least 950 milli-units for ten days, with connected-island unification in §9's larger design. Expanded seed P20 requests reversibility and named obstacles. The inspected unity.mjs computes unity and rewards, but does not implement the specified one_days counter. High U is not an observed ONE declaration. Source: §9–9.1.

Evidence

Two shores, exact records

Reproduction commands, with no acts file or peers:

node demos/bembe/headless/run.mjs --seed peoples-shore --ticks 1200 --tick-ms 0 --log .zig-cache/wiki/peoples-peoples-shore.jsonl

node demos/bembe/headless/run.mjs --seed peoples-council --ticks 3000 --tick-ms 0 --log .zig-cache/wiki/peoples-peoples-council.jsonl

The simple single-world runner starts with branch 1 and adopts the opened branch; no node identity was configured. It calls minds.think(view, pending, 24). The initial covenant grants powers; no acts were supplied.

Revision: 54f1d6d1a704228a1e55552e70c48a358e281582, with pre-existing working-tree changes including the runner. The existing WASM engine was used without rebuild.

ArtifactSHA-256
demos/bembe/web/bembe.wasme3107b99bfa950e24f0c23ac936462612c2ba92a428e66c1c347ec8d0a6995d4
demos/bembe/headless/run.mjs499f484e849fd8607e8616a6c29e9c2a198e0902ad7b41c8ec342c313fee05c8

These are exact log lines, not creature speech or chronicle prose. Locators count physical lines from one.

{"U":0,"tick":1,"head":12,"alive":6,"words":0,"petitions":0,"era":0}

[run: seed="peoples-shore"; tick=1; log=".zig-cache/wiki/peoples-peoples-shore.jsonl"; locator="line 1"]

{"U":0.782,"tick":1200,"head":1215,"alive":37,"words":19,"petitions":0,"era":2}

[run: seed="peoples-shore"; tick=1200; log=".zig-cache/wiki/peoples-peoples-shore.jsonl"; locator="line 1200"]

{"U":0.717,"tick":1000,"head":1013,"alive":23,"words":18,"petitions":1,"era":3}

[run: seed="peoples-council"; tick=1000; log=".zig-cache/wiki/peoples-peoples-council.jsonl"; locator="line 1000"]

{"U":0.928,"tick":2000,"head":2017,"alive":83,"words":20,"petitions":1,"era":5}

[run: seed="peoples-council"; tick=2000; log=".zig-cache/wiki/peoples-peoples-council.jsonl"; locator="line 2000"]

{"U":0.979,"tick":3000,"head":3021,"alive":162,"words":20,"petitions":3,"era":6}

[run: seed="peoples-council"; tick=3000; log=".zig-cache/wiki/peoples-peoples-council.jsonl"; locator="line 3000"]

At tick 3000 the council seed's U was above 0.950; the line contains no ONE declaration or duration counter. [run: seed="peoples-council"; tick=3000; log=".zig-cache/wiki/peoples-peoples-council.jsonl"; locator="line 3000"]

The records expose counts and indices, not tribe counts, axes, votes, exchange quantities, balances, invention names or manifests. peoples-council is a seed label, not evidence of a council. Cache logs are retained for local review and are not public download links.

Proposals and gaps

Chronicle and public evidence

The reed garden excerpt supplies a verified chronicle quotation. The two summary runs do not serialize chronicles or resource flows.

Proposal: retrieve resource-flow evidence under §6.1 and preserve the complete evidence for public review. Source: expanded seed P7/P34, Civilization-space §6.1.

Preview prompt for Chronicle and public evidence
Write verified chronicle evidence and a public evidence handoff for the BEMBE peoples wiki, without treating summary counts as councils, exchanges or ONE. Read docs/bembe/WIKI/README.md, docs/bembe/WIKI/CONTRIBUTING.md and docs/bembe/WIKI/peoples.md; consult docs/bembe/SPEC/00-SEED-EXPANDED.md P7/P34, docs/bembe/CIVILIZATION-SPACE.md §6.1/§7/§9.1, docs/bembe/V1-NODES.md and demos/bembe/SPEC.md. Return exactly one UTF-8 Markdown document, no enclosing code fence or commentary. Begin with --- delimited front matter in this exact order: title (nonempty quoted string), section ("peoples"), order (50), status (real|proposed|mixed), sources (nonempty JSON array of existing repository-relative spec paths), runs (JSON array of {"seed":string,"ticks":nonnegative integer,"log":repository-relative path}; [] without verified observations), summary (quoted 20–40 word string). Then # <title>, followed by ## Lore, ## Mechanism, ## Evidence, ## Proposals and gaps, in that order. Write 400–700 body words excluding front matter, headings, citations and comments. Every behavioural lore claim must cite [run: seed="<seed>"; tick=<event tick>; log="<path>"; locator="<line or record key>"] matching runs or begin Proposal:. Never invent a run, quote or receipt; separate specification intent, code and observation. Include a verbatim observed chronicle quote when verified, otherwise state Proposal: chronicle evidence pending. Record commands, revision, interventions and branch/node identity; obtain authorized retrievable chronicle and flow evidence and propose public packaging without serving cache paths implicitly. Use a bemba for one, bembe for many, BEMBE for the game. Include one continuation prompt and a prompt per remaining gap, each repeating this exact output contract with a concrete task and contribution path. Submit docs/bembe/WIKI/contrib/peoples-chronicle-evidence.md or a pull request adding that file. Emit each continuation or gap prompt as a standalone HTML comment: concatenate "<" with "!-- prompt: " to open, then the full prompt text, then concatenate "--" with ">" to close. Do not fence these comments. Use exactly the seven front matter fields; JSON strings use double quotes and status is one bare enum value. Never copy placeholder values into the final document.

Continue the atlas

Proposal: continue with retrievable histories and identified actors. Contribution prompts use the ordinary 400–700-word contract. Source: expanded seed P34.

Preview prompt for Continue the atlas
Write the peoples section overview for the BEMBE wiki. Read docs/bembe/WIKI/README.md and docs/bembe/WIKI/CONTRIBUTING.md; consult docs/bembe/SPEC/00-SEED-EXPANDED.md, docs/bembe/CIVILIZATION-SPACE.md, docs/bembe/V1-NODES.md, demos/bembe/SPEC.md and the target outline. Return exactly one UTF-8 Markdown document, no enclosing code fence or commentary. Begin with --- delimited front matter in this exact order: title (nonempty quoted string), section ("peoples"), order (3), status (real|proposed|mixed), sources (nonempty JSON array of existing repository-relative spec paths), runs (JSON array of {"seed":string,"ticks":nonnegative integer,"log":repository-relative path}; [] without verified observations), summary (quoted 20–40 word string). Then # <title>, followed by ## Lore, ## Mechanism, ## Evidence, ## Proposals and gaps, in that order. Write 400–700 body words excluding front matter, headings, citations and comments. Every behavioural lore claim must cite [run: seed="<seed>"; tick=<event tick>; log="<path>"; locator="<line or record key>"] matching runs or begin Proposal:. Never invent a run, quote or receipt; separate specification intent, code and observation. Include a verbatim observed chronicle quote when verified, otherwise state Proposal: chronicle evidence pending. Use a bemba for one, bembe for many, BEMBE for the game. Include one continuation prompt and a prompt per remaining gap, each repeating this exact output contract with a concrete task and contribution path. Submit docs/bembe/WIKI/contrib/peoples-overview.md or a pull request adding that file. Emit each continuation or gap prompt as a standalone HTML comment: concatenate "<" with "!-- prompt: " to open, then the full prompt text, then concatenate "--" with ">" to close. Do not fence these comments. Use exactly the seven front matter fields; JSON strings use double quotes and status is one bare enum value. Never copy placeholder values into the final document.

Tribes and factions

Proposal: Explain founding, splits, belief clusters, names and leaders without inventing a successful split. Source: docs/bembe/CIVILIZATION-SPACE.md §7; docs/bembe/SPEC/00-SEED-EXPANDED.md P5. Planned sub-page: peoples/tribes-and-factions.md.

Preview prompt for Tribes and factions
Explain founding, splits, belief clusters, names and leaders without inventing a successful split. for the BEMBE wiki. Read docs/bembe/WIKI/README.md and docs/bembe/WIKI/CONTRIBUTING.md; consult docs/bembe/SPEC/00-SEED-EXPANDED.md, docs/bembe/CIVILIZATION-SPACE.md, docs/bembe/V1-NODES.md, demos/bembe/SPEC.md and the target outline. Return exactly one UTF-8 Markdown document, no enclosing code fence or commentary. Begin with --- delimited front matter in this exact order: title (nonempty quoted string), section ("peoples"), order (10), status (real|proposed|mixed), sources (nonempty JSON array of existing repository-relative spec paths), runs (JSON array of {"seed":string,"ticks":nonnegative integer,"log":repository-relative path}; [] without verified observations), summary (quoted 20–40 word string). Then # <title>, followed by ## Lore, ## Mechanism, ## Evidence, ## Proposals and gaps, in that order. Write 400–700 body words excluding front matter, headings, citations and comments. Every behavioural lore claim must cite [run: seed="<seed>"; tick=<event tick>; log="<path>"; locator="<line or record key>"] matching runs or begin Proposal:. Never invent a run, quote or receipt; separate specification intent, code and observation. Include a verbatim observed chronicle quote when verified, otherwise state Proposal: chronicle evidence pending. Use a bemba for one, bembe for many, BEMBE for the game. Include one continuation prompt and a prompt per remaining gap, each repeating this exact output contract with a concrete task and contribution path. Submit docs/bembe/WIKI/contrib/peoples-tribes-and-factions.md or a pull request adding that file. Emit each continuation or gap prompt as a standalone HTML comment: concatenate "<" with "!-- prompt: " to open, then the full prompt text, then concatenate "--" with ">" to close. Do not fence these comments. Use exactly the seven front matter fields; JSON strings use double quotes and status is one bare enum value. Never copy placeholder values into the final document.

Economies and technologies

Proposal: Trace conserved resources, trade, practice, inventions and generated technology names. Source: docs/bembe/CIVILIZATION-SPACE.md §5–6; docs/bembe/SPEC/00-SEED-EXPANDED.md P8, P19. Planned sub-page: peoples/economies-and-technologies.md.

Preview prompt for Economies and technologies
Trace conserved resources, trade, practice, inventions and generated technology names. for the BEMBE wiki. Read docs/bembe/WIKI/README.md and docs/bembe/WIKI/CONTRIBUTING.md; consult docs/bembe/SPEC/00-SEED-EXPANDED.md, docs/bembe/CIVILIZATION-SPACE.md, docs/bembe/V1-NODES.md, demos/bembe/SPEC.md and the target outline. Return exactly one UTF-8 Markdown document, no enclosing code fence or commentary. Begin with --- delimited front matter in this exact order: title (nonempty quoted string), section ("peoples"), order (20), status (real|proposed|mixed), sources (nonempty JSON array of existing repository-relative spec paths), runs (JSON array of {"seed":string,"ticks":nonnegative integer,"log":repository-relative path}; [] without verified observations), summary (quoted 20–40 word string). Then # <title>, followed by ## Lore, ## Mechanism, ## Evidence, ## Proposals and gaps, in that order. Write 400–700 body words excluding front matter, headings, citations and comments. Every behavioural lore claim must cite [run: seed="<seed>"; tick=<event tick>; log="<path>"; locator="<line or record key>"] matching runs or begin Proposal:. Never invent a run, quote or receipt; separate specification intent, code and observation. Include a verbatim observed chronicle quote when verified, otherwise state Proposal: chronicle evidence pending. Use a bemba for one, bembe for many, BEMBE for the game. Include one continuation prompt and a prompt per remaining gap, each repeating this exact output contract with a concrete task and contribution path. Submit docs/bembe/WIKI/contrib/peoples-economies-and-technologies.md or a pull request adding that file. Emit each continuation or gap prompt as a standalone HTML comment: concatenate "<" with "!-- prompt: " to open, then the full prompt text, then concatenate "--" with ">" to close. Do not fence these comments. Use exactly the seven front matter fields; JSON strings use double quotes and status is one bare enum value. Never copy placeholder values into the final document.

Ships and migration

Proposal: Explain crews, voyages and migration receipts; distinguish desired SHIP behaviour from V1 projections. Source: docs/bembe/SPEC/00-SEED-EXPANDED.md P2, P5; docs/bembe/V1-NODES.md opening scope table. Planned sub-page: peoples/ships-and-migration.md.

Preview prompt for Ships and migration
Explain crews, voyages and migration receipts; distinguish desired SHIP behaviour from V1 projections. for the BEMBE wiki. Read docs/bembe/WIKI/README.md and docs/bembe/WIKI/CONTRIBUTING.md; consult docs/bembe/SPEC/00-SEED-EXPANDED.md, docs/bembe/CIVILIZATION-SPACE.md, docs/bembe/V1-NODES.md, demos/bembe/SPEC.md and the target outline. Return exactly one UTF-8 Markdown document, no enclosing code fence or commentary. Begin with --- delimited front matter in this exact order: title (nonempty quoted string), section ("peoples"), order (30), status (real|proposed|mixed), sources (nonempty JSON array of existing repository-relative spec paths), runs (JSON array of {"seed":string,"ticks":nonnegative integer,"log":repository-relative path}; [] without verified observations), summary (quoted 20–40 word string). Then # <title>, followed by ## Lore, ## Mechanism, ## Evidence, ## Proposals and gaps, in that order. Write 400–700 body words excluding front matter, headings, citations and comments. Every behavioural lore claim must cite [run: seed="<seed>"; tick=<event tick>; log="<path>"; locator="<line or record key>"] matching runs or begin Proposal:. Never invent a run, quote or receipt; separate specification intent, code and observation. Include a verbatim observed chronicle quote when verified, otherwise state Proposal: chronicle evidence pending. Use a bemba for one, bembe for many, BEMBE for the game. Include one continuation prompt and a prompt per remaining gap, each repeating this exact output contract with a concrete task and contribution path. Submit docs/bembe/WIKI/contrib/peoples-ships-and-migration.md or a pull request adding that file. Emit each continuation or gap prompt as a standalone HTML comment: concatenate "<" with "!-- prompt: " to open, then the full prompt text, then concatenate "--" with ">" to close. Do not fence these comments. Use exactly the seven front matter fields; JSON strings use double quotes and status is one bare enum value. Never copy placeholder values into the final document.

War, treaties and unity

Proposal: Cover scarcity, raids, treaties, inequality, shared language and the reversible ONE state. Source: docs/bembe/CIVILIZATION-SPACE.md §7, §9; docs/bembe/SPEC/00-SEED-EXPANDED.md P20. Planned sub-page: peoples/war-treaties-and-unity.md.

Proposal: a treaty needs an actual shared mandate or other agreement record; a peace counter is not treaty text. The code guide uses §9.1's five components, not P20's wider resource-inequality ambition. Neither run supplies evidence of a treaty or an endgame event. Source: expanded seed P5/P20, Civilization-space §7/§9.1.

Preview prompt for War, treaties and unity
Cover scarcity, raids, treaties, inequality, shared language and the reversible ONE state. for the BEMBE wiki. Read docs/bembe/WIKI/README.md and docs/bembe/WIKI/CONTRIBUTING.md; consult docs/bembe/SPEC/00-SEED-EXPANDED.md, docs/bembe/CIVILIZATION-SPACE.md, docs/bembe/V1-NODES.md, demos/bembe/SPEC.md and the target outline. Return exactly one UTF-8 Markdown document, no enclosing code fence or commentary. Begin with --- delimited front matter in this exact order: title (nonempty quoted string), section ("peoples"), order (40), status (real|proposed|mixed), sources (nonempty JSON array of existing repository-relative spec paths), runs (JSON array of {"seed":string,"ticks":nonnegative integer,"log":repository-relative path}; [] without verified observations), summary (quoted 20–40 word string). Then # <title>, followed by ## Lore, ## Mechanism, ## Evidence, ## Proposals and gaps, in that order. Write 400–700 body words excluding front matter, headings, citations and comments. Every behavioural lore claim must cite [run: seed="<seed>"; tick=<event tick>; log="<path>"; locator="<line or record key>"] matching runs or begin Proposal:. Never invent a run, quote or receipt; separate specification intent, code and observation. Include a verbatim observed chronicle quote when verified, otherwise state Proposal: chronicle evidence pending. Use a bemba for one, bembe for many, BEMBE for the game. Include one continuation prompt and a prompt per remaining gap, each repeating this exact output contract with a concrete task and contribution path. Submit docs/bembe/WIKI/contrib/peoples-war-treaties-and-unity.md or a pull request adding that file. Emit each continuation or gap prompt as a standalone HTML comment: concatenate "<" with "!-- prompt: " to open, then the full prompt text, then concatenate "--" with ">" to close. Do not fence these comments. Use exactly the seven front matter fields; JSON strings use double quotes and status is one bare enum value. Never copy placeholder values into the final document.