Audit Tips
This commit is contained in:
parent
954016f4b6
commit
7e02356b01
7 changed files with 129 additions and 70 deletions
|
|
@ -7619,7 +7619,7 @@ public static class AgentHarness
|
|||
}
|
||||
}
|
||||
|
||||
// Genes are all B (gain/remove tips never own the camera).
|
||||
// Genes / clan / language are all B (never own the camera).
|
||||
int geneCamera = 0;
|
||||
foreach (string id in EventCatalog.Gene.AuthoredIds)
|
||||
{
|
||||
|
|
@ -7629,6 +7629,24 @@ public static class AgentHarness
|
|||
}
|
||||
}
|
||||
|
||||
int clanCamera = 0;
|
||||
foreach (string id in EventCatalog.ClanTrait.AuthoredIds)
|
||||
{
|
||||
if (EventCatalog.ClanTrait.GetOrFallback(id).CreatesInterest)
|
||||
{
|
||||
clanCamera++;
|
||||
}
|
||||
}
|
||||
|
||||
int languageCamera = 0;
|
||||
foreach (string id in EventCatalog.LanguageTrait.AuthoredIds)
|
||||
{
|
||||
if (EventCatalog.LanguageTrait.GetOrFallback(id).CreatesInterest)
|
||||
{
|
||||
languageCamera++;
|
||||
}
|
||||
}
|
||||
|
||||
// Spot-check other Signal classes still have camera rows after demote.
|
||||
int lawSignal = 0;
|
||||
foreach (string id in EventCatalog.WorldLaw.AuthoredIds)
|
||||
|
|
@ -7662,6 +7680,8 @@ public static class AgentHarness
|
|||
pass = dialBad == 0
|
||||
&& phenotypeCamera == 0
|
||||
&& geneCamera == 0
|
||||
&& clanCamera == 0
|
||||
&& languageCamera == 0
|
||||
&& spellFxCamera == 0
|
||||
&& spellSpectacleMissing == 0
|
||||
&& lawSignal > 0
|
||||
|
|
@ -7669,6 +7689,7 @@ public static class AgentHarness
|
|||
&& signalCamera == spectacleSpells.Length;
|
||||
detail =
|
||||
$"dialBad={dialBad} phenotypeCamera={phenotypeCamera} geneCamera={geneCamera} "
|
||||
+ $"clanCamera={clanCamera} languageCamera={languageCamera} "
|
||||
+ $"spellFxCamera={spellFxCamera} spellSpectacleMissing={spellSpectacleMissing} "
|
||||
+ $"lawSignal={lawSignal} itemSignal={itemSignal} spectacleOk={signalCamera}";
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -113,6 +113,12 @@ public static partial class EventCatalog
|
|||
return false;
|
||||
}
|
||||
|
||||
// Soft intent chatter - outcomes already covered by other feeds, or not story-worthy.
|
||||
if (IsSoftDecisionNoise(s))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return HasToken(s, "war")
|
||||
|| HasToken(s, "king")
|
||||
|| HasToken(s, "leader")
|
||||
|
|
@ -129,7 +135,6 @@ public static partial class EventCatalog
|
|||
|| s.Contains("plot")
|
||||
|| s.Contains("marry")
|
||||
|| s.Contains("banish")
|
||||
|| s.Contains("steal")
|
||||
|| s.Contains("kill_unruly")
|
||||
|| s.Contains("clan")
|
||||
|| s.Contains("religion")
|
||||
|
|
@ -137,18 +142,46 @@ public static partial class EventCatalog
|
|||
|| s.Contains("baby_make")
|
||||
|| s.Contains("have_child")
|
||||
|| s.Contains("birth")
|
||||
|| s.Contains("reproduction")
|
||||
|| s.Contains("sexual_reproduction")
|
||||
|| s.Contains("golden_brain")
|
||||
|| s.Contains("make_skeleton")
|
||||
|| s.Contains("soul_harvest")
|
||||
|| s.Contains("possessed")
|
||||
|| s.Contains("create_hive")
|
||||
|| s.Contains("fireworks")
|
||||
|| s.Contains("affect_dreams")
|
||||
|| s.Contains("family_group")
|
||||
|| s.Contains("take_city_item")
|
||||
|| s.Contains("put_out_fire")
|
||||
|| s.Contains("burn_tumors");
|
||||
|| s.Contains("create_hive");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Soft AI chatter that distracts the story camera. Outcomes (hatch, pack sticky, fires)
|
||||
/// already have better feeds when they matter.
|
||||
/// </summary>
|
||||
private static bool IsSoftDecisionNoise(string s)
|
||||
{
|
||||
if (string.IsNullOrEmpty(s))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (s.Contains("family_group")
|
||||
|| s.Contains("affect_dreams")
|
||||
|| s.Contains("fireworks")
|
||||
|| s.Contains("put_out_fire")
|
||||
|| s.Contains("burn_tumors")
|
||||
|| s.Contains("asexual_reproduction")
|
||||
|| s.Contains("take_city_item")
|
||||
|| s.Contains("try_to_steal")
|
||||
|| s.Contains("steal_money"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// Army follow/join intent - keep only lead-to-attack.
|
||||
if (s == "warrior_army_follow_leader"
|
||||
|| s == "warrior_try_join_army_group")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -245,25 +245,8 @@ public static partial class EventCatalog
|
|||
}
|
||||
|
||||
string s = id.ToLowerInvariant();
|
||||
// High / mid-spectacle materials from live items library plus named relics.
|
||||
// Leather/wood/copper/iron stay ambient B.
|
||||
return s.Contains("legendary")
|
||||
|| s.Contains("mythic")
|
||||
|| s.Contains("mythril")
|
||||
|| s.Contains("adamantine")
|
||||
|| s.Contains("artifact")
|
||||
|| s.Contains("relic")
|
||||
|| s.Contains("divine")
|
||||
|| s.Contains("demon")
|
||||
|| s.Contains("dragon")
|
||||
|| s.Contains("nuke")
|
||||
|| s.Contains("excalibur")
|
||||
|| s.Contains("wonder")
|
||||
|| s.Contains("silver")
|
||||
|| s.Contains("steel")
|
||||
|| s.Contains("_bone")
|
||||
|| s.StartsWith("bone_", StringComparison.Ordinal)
|
||||
|| s.EndsWith("_bone", StringComparison.Ordinal);
|
||||
// Only top-tier materials own the camera. Steel/silver/bone gear is soak noise.
|
||||
return s.Contains("mythril") || s.Contains("adamantine");
|
||||
}
|
||||
|
||||
private static void Ensure()
|
||||
|
|
@ -533,23 +516,11 @@ public static partial class EventCatalog
|
|||
}
|
||||
|
||||
string s = id.ToLowerInvariant();
|
||||
return s.Contains("war")
|
||||
|| s.Contains("death")
|
||||
|| s.Contains("plague")
|
||||
|| s.Contains("hunger")
|
||||
|| s.Contains("rebell")
|
||||
|| s.Contains("disaster")
|
||||
|| s.Contains("angry")
|
||||
|| s.Contains("cursed")
|
||||
// God-law toggles are mostly UI spam. Keep era-defining / crisis switches only.
|
||||
return s.Contains("cursed")
|
||||
|| s.Contains("forever_")
|
||||
|| s.Contains("tumor")
|
||||
|| s.Contains("mutant")
|
||||
|| s.Contains("evolution")
|
||||
|| s.Contains("old_age")
|
||||
|| s.Contains("kingdom_expansion")
|
||||
|| s.Contains("border_steal")
|
||||
|| s.Contains("civ_army")
|
||||
|| s.Contains("exploding");
|
||||
|| s.Contains("disaster")
|
||||
|| s.Contains("rebell");
|
||||
}
|
||||
|
||||
public static IEnumerable<string> AuthoredIds
|
||||
|
|
@ -658,6 +629,38 @@ public static partial class EventCatalog
|
|||
|| s.Contains("blaster");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Culture camera: hard politics only. Lovers / layouts / craft skins are soak noise.
|
||||
/// </summary>
|
||||
private static bool IsDramaticCultureTrait(string id)
|
||||
{
|
||||
if (string.IsNullOrEmpty(id))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
string s = id.ToLowerInvariant();
|
||||
if (s.Contains("lover")
|
||||
|| s.Contains("city_layout")
|
||||
|| s.StartsWith("craft_", StringComparison.Ordinal)
|
||||
|| s.Contains("ethno")
|
||||
|| s.Contains("reading")
|
||||
|| s.Contains("statue")
|
||||
|| s.Contains("tower")
|
||||
|| s.Contains("gossip"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return s.Contains("conscript")
|
||||
|| s.Contains("xenophob")
|
||||
|| s.Contains("expans")
|
||||
|| s.Contains("join_or_die")
|
||||
|| s.Contains("happiness_from_war")
|
||||
|| s.Contains("warriors_ascension")
|
||||
|| s.Contains("shattered_crown");
|
||||
}
|
||||
|
||||
public static class CultureTrait
|
||||
{
|
||||
private static readonly Dictionary<string, DiscreteEventEntry> Entries =
|
||||
|
|
@ -689,7 +692,7 @@ public static partial class EventCatalog
|
|||
d.AmbientStrength,
|
||||
signalIds: null,
|
||||
d.SignalStrength,
|
||||
signalPredicate: IsDramaticMetaTrait,
|
||||
signalPredicate: IsDramaticCultureTrait,
|
||||
ambientCreatesInterest: d.AmbientCreatesInterest);
|
||||
}
|
||||
|
||||
|
|
@ -784,6 +787,7 @@ public static partial class EventCatalog
|
|||
|
||||
Entries.Clear();
|
||||
_appliedGeneration = EventCatalogConfig.Generation;
|
||||
// Clan blood / vein traits are gene-like soak noise - all B.
|
||||
LibraryCatalogDefaults d = LibOr("clanTrait", 32f, 72f, "Clan", "{a} clan gains {id}", false);
|
||||
LiveLibraryInterest.EnsureSeeded(
|
||||
Entries,
|
||||
|
|
@ -793,7 +797,6 @@ public static partial class EventCatalog
|
|||
d.AmbientStrength,
|
||||
signalIds: null,
|
||||
d.SignalStrength,
|
||||
signalPredicate: IsDramaticMetaTrait,
|
||||
ambientCreatesInterest: d.AmbientCreatesInterest);
|
||||
}
|
||||
|
||||
|
|
@ -836,6 +839,7 @@ public static partial class EventCatalog
|
|||
|
||||
Entries.Clear();
|
||||
_appliedGeneration = EventCatalogConfig.Generation;
|
||||
// Language flavor traits never own the camera.
|
||||
LibraryCatalogDefaults d = LibOr("languageTrait", 30f, 68f, "Language", "{a} tongue gains {id}", false);
|
||||
LiveLibraryInterest.EnsureSeeded(
|
||||
Entries,
|
||||
|
|
@ -845,7 +849,6 @@ public static partial class EventCatalog
|
|||
d.AmbientStrength,
|
||||
signalIds: null,
|
||||
d.SignalStrength,
|
||||
signalPredicate: IsDramaticMetaTrait,
|
||||
ambientCreatesInterest: d.AmbientCreatesInterest);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "IdleSpectator",
|
||||
"author": "dazed",
|
||||
"version": "0.28.40",
|
||||
"version": "0.28.41",
|
||||
"description": "AFK Idle Spectator (I) + Lore (L). Killer button retargets dossier to the killer.",
|
||||
"GUID": "com.dazed.idlespectator"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,28 +62,30 @@ Seeded via `LiveLibraryInterest.EnsureSeeded` + JSON `libraries.*` dials.
|
|||
|
||||
| Domain | Live | Camera A | Dial label template | Notes | Priority |
|
||||
|--------|-----:|---------:|---------------------|-------|----------|
|
||||
| decisions | 127 | **33** | `{a} decides to {action}` | Signal tokens + authored phrases; fluff + intent-only genesis (`try_new_plot`, founding/claim) B; dump `.harness/camera-a-inventory.tsv` | P3 variety 0.28.32 |
|
||||
| decisions | 127 | **16** politics/spectacle | `{a} decides to {action}` | Soft pack/fireworks/asexual/steal demoted B; fluff + intent-genesis B | noise pass 0.28.41 |
|
||||
| spells | 12 | 6 | `{a} casts {id}` | Signal spectacle only; FX spells B | P3 |
|
||||
| powers | 339 | **41** | `God power: {id}` | ambient CI=false; widened spectacle + creature powers; UI `_edit` B | P3 expanded 0.28.27 |
|
||||
| items | 111 | **42** | `{a} gains {id}` | Signal mythril/adamantine + silver/steel/bone; leather/iron B | P3 expanded 0.28.27 |
|
||||
| items | 111 | **20** mythril/adamantine | `{a} gains {id}` | steel/silver/bone demoted B | noise pass 0.28.41 |
|
||||
| genes | 47 | **0** | `{a} gains gene {id}` | all B (gain/remove tips not camera-worthy) | demoted |
|
||||
| phenotypes | 52 | 0 | `{a} shows {id}` | all B | P3 |
|
||||
| world_laws | 49 | **17** | `Law changed: {id}` | dramatic + forever_/cursed/army/expansion… | P3 expanded 0.28.27 |
|
||||
| world_laws | 49 | **7** crisis | `Law changed: {id}` | hunger/army/expansion/UI toggles B | noise pass 0.28.41 |
|
||||
| subspecies_traits | 204 | **21** | `{a} evolves {id}` | dramatic + mutation/death/blood/horror | P3 expanded 0.28.27 |
|
||||
| biomes | 29 | 0 | `Biome shifts: {id}` | ambient CI=false | P3 stay B |
|
||||
| culture_traits | 78 | **27** | `{a} culture gains {id}` | dramatic + conscript/necro/craft weapons… | P3 expanded 0.28.27 |
|
||||
| culture_traits | 78 | **8** politics | `{a} culture gains {id}` | lovers/layout/craft B; conscript/xenophobe/expansion A | noise pass 0.28.41 |
|
||||
| religion_traits | 40 | 6 | `{a} faith gains {id}` | dramatic heuristic | P3 |
|
||||
| clan_traits | 29 | 13 | `{a} clan gains {id}` | dramatic heuristic | P3 |
|
||||
| language_traits | 26 | 2 | `{a} tongue gains {id}` | dramatic heuristic | P3 |
|
||||
| clan_traits | 29 | **0** | `{a} clan gains {id}` | all B (blood/vein soak) | noise pass 0.28.41 |
|
||||
| language_traits | 26 | **0** | `{a} tongue gains {id}` | all B | noise pass 0.28.41 |
|
||||
|
||||
**Library+decision Layer A inventory (0.28.32):** live dump total **215 A / 928 B** across 13 domains (`camera_a_inventory_ok`). Decisions **33 A**.
|
||||
**Library+decision Layer A inventory (0.28.41):** live dump total **125 A / 1018 B** across 13 domains (`camera_a_inventory_ok`). Decisions **16 A**.
|
||||
|
||||
### Decision camera classes (0.28.32)
|
||||
### Decision camera classes (0.28.41)
|
||||
|
||||
Allow-token Signal after fluff + intent-genesis filter (not 127 ambient).
|
||||
Allow-token Signal after fluff + intent-genesis + soft-noise filter (not 127 ambient).
|
||||
Authored action phrases required for every A id (`domain_event_audit` decision_prose).
|
||||
|
||||
Classes: reproduction/pack (`reproduction`, `family_group`), army/war/politics (existing), spectacle/dark (`golden_brain`, `make_skeleton`, `soul_harvest`, `possessed`), civic soft (`put_out_fire`, `burn_tumors`, `fireworks`, `affect_dreams`), hive (`create_hive`).
|
||||
Classes: sexual reproduction / lover / child, army/war/politics, spectacle/dark (`golden_brain`, `make_skeleton`, `soul_harvest`, `possessed`), hive (`create_hive`).
|
||||
|
||||
Stay B (soft noise 0.28.41): `family_group`, `fireworks`, `affect_dreams`, `put_out_fire`, `burn_tumors`, `asexual_reproduction`, steal/take city item, `warrior_army_follow_leader`, `warrior_try_join_army_group`.
|
||||
|
||||
Stay B (intent-only; camera on outcome feeds): `try_new_plot*`, `try_to_start_new_civilization*`, `build_civ_city*`, `*city_foundation*`, `claim_land*` → real tips from `PlotInterestFeed` / `MetaEventPatches` (`new_city` 86, `new_kingdom` 92).
|
||||
|
||||
|
|
|
|||
|
|
@ -9,21 +9,21 @@ traits 116 authored 0 116 wired authored_labels P3
|
|||
disasters 17 authored 0 via_worldlog wired authored_labels P3 disaster_war_audit PASS
|
||||
war_types_library 5 authored 0 dials wired authored_labels P3
|
||||
relationship 11 authored_discrete 0 11 wired authored_labels P3 no AssetManager lib
|
||||
decisions_library 127 live+dial 0 33 wired action_phrases P3 intent genesis demoted 0.28.32; camera-a-inventory.tsv
|
||||
decisions_library 127 live+dial 0 16 wired action_phrases P3 soft noise demoted 0.28.41; camera-a-inventory.tsv
|
||||
spells 12 live+dial 0 6 wired display_names P3 Signal spectacle; 6 FX B
|
||||
powers 339 live+dial 0 41 wired display_names P3 Signal widened 0.28.27; ambient CI=false
|
||||
items 111 live+dial 0 42 wired gains_verb P3 Signal mythril/adamantine/silver/steel/bone
|
||||
items 111 live+dial 0 20 wired gains_verb P3 Signal mythril/adamantine gear only
|
||||
genes 47 live+dial 0 0 wired display_names P3 all B; gain/remove not camera
|
||||
phenotypes 52 live+dial 0 0 wired display_names P3 all B
|
||||
world_laws_library 49 live+dial 0 17 wired display_names P3 dramatic + forever_/cursed/army…
|
||||
world_laws_library 49 live+dial 0 7 wired display_names P3 cursed/forever_/disaster/rebell only
|
||||
subspecies_traits 204 live+dial 0 21 wired display_names P3 dramatic + mutation/death/blood
|
||||
biome_library 29 live+dial 0 0 wired display_names P3 ambient CI=false
|
||||
culture_traits 78 live+dial 0 27 wired display_names P3 dramatic widened 0.28.27
|
||||
culture_traits 78 live+dial 0 8 wired display_names P3 politics-only 0.28.41
|
||||
religion_traits 40 live+dial 0 6 wired display_names P3
|
||||
clan_traits 29 live+dial 0 13 wired display_names P3
|
||||
language_traits 26 live+dial 0 2 wired display_names P3
|
||||
clan_traits 29 live+dial 0 0 wired display_names P3 all B 0.28.41
|
||||
language_traits 26 live+dial 0 0 wired display_names P3 all B 0.28.41
|
||||
buildings 618 patch_only n/a consume_and_civ_complete partial EventReason.BuildingEat_BuildingComplete P3 civ complete/wonder A; destroy demoted B
|
||||
boats n/a patch_only n/a trade_unload wired EventReason.Boat P3 load skipped
|
||||
combat n/a csharp_policy n/a pair_keys wired EventReason.Fight P3 soft Duel sticky 0.28.28; hard sticky Skirmish+/notable-pair
|
||||
camera_a_inventory 1143 harness 0 215 wired camera-a-inventory.tsv P3 A=215 B=928 domains=13; gate camera_a_inventory_ok
|
||||
camera_a_inventory 1143 harness 0 125 wired camera-a-inventory.tsv P3 A=125 B=1018 domains=13; gate camera_a_inventory_ok
|
||||
mutation_gaps 0 harness 0 n/a gaps_empty n/a P3 managers=57 libraryAssets=2893
|
||||
|
|
|
|||
|
|
|
@ -52,11 +52,11 @@ Only true brief FX, cooldowns, civic Aggregates, and god-tool / biome spam stay
|
|||
| Relationship | 11 | all interesting discrete |
|
||||
| Plot / Era / War / Book | 28 / 11 / 5 / 12 | all A |
|
||||
| Trait | 116 | all CI |
|
||||
| Decision | 127 live / 37 prose overlays | **37** camera-interesting (0.28.27) |
|
||||
| Spell / Item / Gene / Phenotype / WorldLaw / SubspeciesTrait | live | Signal-only A: spell 6 / item 42 / gene 0 / phenotype 0 / law 17 / subsp 21 |
|
||||
| Culture / Religion / Clan / LanguageTrait | live dials | Signal dramatic: 27 / 6 / 13 / 2 |
|
||||
| Decision | 127 live / prose overlays | **16** camera-interesting (0.28.41 soft demote) |
|
||||
| Spell / Item / Gene / Phenotype / WorldLaw / SubspeciesTrait | live | Signal-only A: spell 6 / item mythril+adamantine 20 / gene 0 / phenotype 0 / law crisis 7 / subsp 21 |
|
||||
| Culture / Religion / Clan / LanguageTrait | live dials | Culture politics 8; religion 6; clan 0; language 0 |
|
||||
| Power / Biome | live | Power Signal **41**; biome 0 (ambient CI=false) |
|
||||
| Library+decision inventory dump | 1143 rows | **219 A / 924 B** (`.harness/camera-a-inventory.tsv`) |
|
||||
| Library+decision inventory dump | 1143 rows | **125 A / 1018 B** (`.harness/camera-a-inventory.tsv`) |
|
||||
| Building / Boat | none | destroy/consume/trade/unload; damage/load skipped |
|
||||
|
||||
## Wired hooks (major)
|
||||
|
|
|
|||
Loading…
Reference in a new issue