Meta Vens
e3e228e036
F7: route AetherDb's identity-preserving repairs through the same validation
...
CultRecordRefs.Upsert is the one function every catalog write is supposed to
go through, but tools/AetherDb/Program.cs's Dangling, ShieldMigrate and
BrownoutMigrate commands each repair an existing record in place and must
preserve its key -- Upsert's own cache.UpsertAsync(document) cannot take a
caller-supplied key, so all three wrote raw and unvalidated through
`db.Cache.Commit(batch => batch.Upsert(document.GetType(), document, key))`.
`brownout-migrate apply` is how the shipped catalog's PowerSupply terms were
actually authored, unvalidated, the whole time.
Extracted Upsert's validation body into CultRecordRefs.Validate(object), and
call it directly from all three tool commands immediately before their own
identity-preserving commit -- the same rules, invoked where Upsert itself
cannot reach. The comment above StatValidation naming the write-bypass holes
(landed with F6) now names all four instead of two: CultCache Studio's
generic editor (still open -- not this repository's to patch) plus the three
tool commands above (closed).
Pinned in tests/Aetheria.Shared.Tests/AetheriaStoresTests.cs:
ValidateRefusesAnEquippableItemWithAZeroSpanHeatRangeTheSameWayUpsertWould and
ValidateRefusesAPowerRequestCarryingAPowerSupplyTermTheSameWayUpsertWould pin
that the extracted method actually refuses what Upsert would (fail under a
reverted Validate that is a no-op); ValidateIsANoOpForADocumentTypeItDoesNotGovern
pins that a document type it has no opinion about doesn't crash it.
Verified tools/AetherDb/AetherDb.csproj still builds clean against the pinned
CultLib worktree.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 05:47:31 +02:00
..
Agents
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Behaviors
F4/F5: shield restore survives inactivity, and CanTakeHit stops mutating
2026-09-19 05:32:29 +02:00
Narrative
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
NIH
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Serialization
Delete the in-tree cache, JsonKnownTypes and vendored MessagePack
2026-09-14 18:42:09 +02:00
Aetheria.Shared.Unity.asmdef
Replace the Database Tools with the Studio and cut Unity over
2026-09-14 19:15:20 +02:00
Aetheria.Shared.Unity.asmdef.meta
Slime Stuff & DB Prep
2021-03-30 01:17:58 +01:00
AetheriaStores.cs
F7: route AetherDb's identity-preserving repairs through the same validation
2026-09-19 05:47:31 +02:00
AetheriaStores.cs.meta
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Agents.meta
Local AI Testing & Interactive Tech Tab
2020-04-23 03:31:17 +01:00
AssemblyInfo.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
AssemblyInfo.cs.meta
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Attributes.cs
Delete the in-tree cache, JsonKnownTypes and vendored MessagePack
2026-09-14 18:42:09 +02:00
Attributes.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
Behaviors.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
BezierCurve.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
BezierCurve.cs.meta
Database Improvements
2021-04-07 01:27:35 +01:00
CapabilityEvents.cs
Add an engine-free capability event contract
2026-09-17 14:36:14 +02:00
CapabilityEvents.cs.meta
Add an engine-free capability event contract
2026-09-17 14:36:14 +02:00
ColorMath.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
ColorMath.cs.meta
Improved Level Generator
2020-12-01 20:38:28 +00:00
Corporations.cs
Switch engine asset references from Resources paths to Addressables GUIDs
2026-09-18 05:04:50 +02:00
Corporations.cs.meta
Infrastructure and Production
2020-06-02 07:01:03 +01:00
Entity.cs
F1: power supply multiplies the resolved stat, it does not interpolate
2026-09-19 05:03:31 +02:00
Entity.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
EntitySerializer.cs
Cut 0: give Entity its own EntitySettings copy, delete the duplicate copies
2026-09-17 18:22:22 +02:00
EntitySerializer.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
EntitySettings.cs
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
EntitySettings.cs.meta
Save/Load and Main Menu Submenus
2021-03-14 03:56:49 +00:00
EnumDictionary.cs
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
EnumDictionary.cs.meta
Database Improvements
2021-04-07 01:27:35 +01:00
Enums.cs
Unified Volumetric Flow
2021-06-18 12:32:03 +01:00
Enums.cs.meta
Database Support
2020-03-22 19:05:26 +00:00
Environment.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Environment.cs.meta
Unified Volumetric Flow
2021-06-18 12:32:03 +01:00
ExponentialCurve.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
ExponentialCurve.cs.meta
Initial ARPG Port
2020-11-27 22:47:33 +00:00
Extensions.cs
Seed zones from a stable name hash instead of string.GetHashCode (Cut 10)
2026-09-14 22:09:37 +02:00
Extensions.cs.meta
Database Support
2020-03-22 19:05:26 +00:00
FactionProduct.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
FactionProduct.cs.meta
Author manufacturer variation as faction products
2026-09-12 01:12:12 +02:00
Galaxy.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Galaxy.cs.meta
Hostility Fix + Story Work
2021-05-14 03:03:28 +01:00
GlobalData.cs
Delete the in-tree cache, JsonKnownTypes and vendored MessagePack
2026-09-14 18:42:09 +02:00
GlobalData.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
InputLayout.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
InputLayout.cs.meta
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
ItemData.cs
F6: name every field a power request actually reads, not just its top-level one
2026-09-19 05:47:14 +02:00
ItemData.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
ItemInstance.cs
Cut 5: priority tiers replace PowerBus's single shared GrantRatio
2026-09-19 02:58:38 +02:00
ItemInstance.cs.meta
Database Support
2020-03-22 19:05:26 +00:00
ItemManager.cs
Cut 1: terms replace the four fixed exponents; R-heat
2026-09-18 17:18:06 +02:00
ItemManager.cs.meta
New Inventory System + Overhaul
2020-12-10 23:20:38 +00:00
Loadout.cs
Add the lot ledger and mint every crafted instance through it
2026-09-17 04:16:23 +02:00
Loadout.cs.meta
Make loadouts player-store design documents built all-or-nothing (Cut 10)
2026-09-14 22:06:06 +02:00
LoadoutGenerator.cs
Add the lot ledger and mint every crafted instance through it
2026-09-17 04:16:23 +02:00
LoadoutGenerator.cs.meta
Enemy Loadout Generation
2021-03-18 00:36:34 +00:00
MarkovNameGenerator.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
MarkovNameGenerator.cs.meta
Sector Generation
2021-03-10 09:18:07 +00:00
Narrative.meta
UI Improvements
2021-04-27 16:44:44 +01:00
NIH.meta
Database Support
2020-03-22 19:05:26 +00:00
Noise1D.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Noise1D.cs.meta
Hellfire
2021-01-10 03:59:47 +00:00
OrbitalEntity.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
OrbitalEntity.cs.meta
Stat Effects and Tech Tree Improvements
2020-04-16 03:08:18 +01:00
PlayerSettings.cs
Move mouse-look sensitivity into the PlayerSettings CultCache global
2026-09-17 17:22:09 +02:00
PlayerSettings.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
PowerBus.cs
F3: an empty tier is not a satisfied tier, and sub-epsilon demand pays its way
2026-09-19 05:15:30 +02:00
PowerBus.cs.meta
Add the meta Unity generated for PowerBus
2026-09-18 21:43:08 +02:00
PowerTiers.cs
Cut 5: priority tiers replace PowerBus's single shared GrantRatio
2026-09-19 02:58:38 +02:00
PowerTiers.cs.meta
Cut 5: priority tiers replace PowerBus's single shared GrantRatio
2026-09-19 02:58:38 +02:00
Provenance.cs
Add the lot ledger and mint every crafted instance through it
2026-09-17 04:16:23 +02:00
Provenance.cs.meta
Add the lot ledger and mint every crafted instance through it
2026-09-17 04:16:23 +02:00
Rect.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Rect.cs.meta
TECH TREES WHOO
2020-04-11 19:18:02 +01:00
SampleElimination.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
SampleElimination.cs.meta
Sector Generation
2021-03-10 09:18:07 +00:00
SavedGame.cs
Fix F6: update the stale RunSave.Clear comment to include the ledger
2026-09-17 05:12:31 +02:00
SavedGame.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
Serialization.meta
Delete the in-tree cache, JsonKnownTypes and vendored MessagePack
2026-09-14 18:42:09 +02:00
Settings.cs
Spawn neutral wanderers so combat has something non-hostile to target
2026-09-17 14:00:22 +02:00
Settings.cs.meta
Asteroids & Refactoring
2020-12-01 00:16:11 +00:00
Ship.cs
Delete AetheriaMath in favour of CultMath
2026-09-14 18:02:41 +02:00
Ship.cs.meta
Database Support
2020-03-22 19:05:26 +00:00
StatResolver.cs
Gate 1: give the resolver a Forget(owner); correct the recompute-cost comment
2026-09-18 20:41:42 +02:00
StatResolver.cs.meta
Cut 2: give every entity its own StatResolver, delete the catalog leak
2026-09-18 19:53:59 +02:00
Wormhole.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Wormhole.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
WwiseMetadata.cs
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
WwiseMetadata.cs.meta
Wwise Audio Integration
2021-04-30 06:39:57 +01:00
WwiseSoundBinding.cs
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
WwiseSoundBinding.cs.meta
Wwise Audio Integration
2021-04-30 06:39:57 +01:00
Zone.cs
Seed zones from a stable name hash instead of string.GetHashCode (Cut 10)
2026-09-14 22:09:37 +02:00
Zone.cs.meta
Initial ARPG Port
2020-11-27 22:47:33 +00:00
ZoneData.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
ZoneData.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
ZoneGenerator.cs
Spawn neutral wanderers so combat has something non-hostile to target
2026-09-17 14:00:22 +02:00
ZoneGenerator.cs.meta
Database Support
2020-03-22 19:05:26 +00:00