Merge the power fixes: multiplier, active gating, honest tiers, shield repair
F1 power supply multiplies the resolved value (operator ruling), so zero supply means zero and a flat stat still responds. F2 the bus agrees with Active in both directions. F3 an empty tier reports no demand instead of full supply, and sub-epsilon demand is rationed and subtracted. F4/F5 the shield restores while inactive and CanTakeHit no longer mutates. F6/F7 the validator names every stat a request reads and the tools validate before writing. F8 re-anchors two dead mutation harnesses. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
commit
cd47eefe9e
21 changed files with 667 additions and 108 deletions
|
|
@ -575,6 +575,11 @@ public static class Program
|
|||
return 0;
|
||||
}
|
||||
|
||||
// F7 (docs/stats-and-power-cut.md, Soul pass 2026-09-19): this repair must preserve the record's existing
|
||||
// key, which the validating CultRecordRefs.Upsert extension does not support (see AetheriaStores.cs's own
|
||||
// Validate comment) -- so it calls the same validation directly, right before the identity-preserving
|
||||
// write, instead of writing raw and unvalidated the way this line used to.
|
||||
foreach (var (document, _) in changed) CultRecordRefs.Validate(document);
|
||||
db.Cache.Commit(batch =>
|
||||
{
|
||||
foreach (var (document, key) in changed) batch.Upsert(document.GetType(), document, key);
|
||||
|
|
@ -857,6 +862,11 @@ public static class Program
|
|||
return 0;
|
||||
}
|
||||
|
||||
// F7 (docs/stats-and-power-cut.md, Soul pass 2026-09-19): this repair must preserve the record's existing
|
||||
// key, which the validating CultRecordRefs.Upsert extension does not support (see AetheriaStores.cs's own
|
||||
// Validate comment) -- so it calls the same validation directly, right before the identity-preserving
|
||||
// write, instead of writing raw and unvalidated the way this line used to.
|
||||
foreach (var (document, _) in changed) CultRecordRefs.Validate(document);
|
||||
db.Cache.Commit(batch =>
|
||||
{
|
||||
foreach (var (document, key) in changed) batch.Upsert(document.GetType(), document, key);
|
||||
|
|
@ -948,6 +958,11 @@ public static class Program
|
|||
return 0;
|
||||
}
|
||||
|
||||
// F7 (docs/stats-and-power-cut.md, Soul pass 2026-09-19): this repair must preserve the record's existing
|
||||
// key, which the validating CultRecordRefs.Upsert extension does not support (see AetheriaStores.cs's own
|
||||
// Validate comment) -- so it calls the same validation directly, right before the identity-preserving
|
||||
// write, instead of writing raw and unvalidated the way this line used to.
|
||||
foreach (var (document, _) in changed) CultRecordRefs.Validate(document);
|
||||
db.Cache.Commit(batch =>
|
||||
{
|
||||
foreach (var (document, key) in changed) batch.Upsert(document.GetType(), document, key);
|
||||
|
|
|
|||
Loading…
Reference in a new issue