Optional_MongoDB ObjectId (undefined until saved).
Created timestamp (set on construction).
Game-time SECONDS of the recompute that produced this row (world clock).
Real-time epoch MILLISECONDS of that recompute (wall clock).
Scope key — '*' (cooperative-wide), a Group ref, or a locality.
Durable subject id the standing is about.
Last updated timestamp (set on every save).
The signed standing (esteem positive ↔ notoriety negative).
StaticcollectionCollection name (must be overridden in subclass).
StaticpersistentDelete this object from MongoDB.
Unlike the former Persistable.delete, there is no
StuffApi.destruct cascade — a Document is not registered, so there
is no runtime instance to unregister.
ProtectedfromLoad data from a MongoDB document into this object.
Symmetric to toDocument: marshallers transform their assigned
fields' raw values via fromStored before bracket-assign hits the
runtime setter.
ProtectedgetGet all persistent fields for this class (mixin + own declarations).
ProtectedgetProtectedpreloadPre-warm the marshaller cache for this instance's class via the async
resolver. Static counterpart Document.preloadFieldMarshallersFor is used
by the findById / find paths.
Save this object to MongoDB. Updates updatedAt automatically.
Pre-resolves any registered field marshallers via the async resolver
before the sync toDocument walk; the sync resolver lookup inside
toDocument then always hits a populated cache.
ProtectedtoConvert this object to a plain document for MongoDB.
Marshallers (declared via static fieldMarshallers on a mixin or
class) intercept their assigned fields: the runtime value-object
value is passed through marshaller.toStored before being written
into the doc. Fields without a marshaller pass through bracket-read
unchanged.
Static_Test seam — drop the cache so each test warms a fresh instance.
StaticcachedThe warmed read cache (empty until first warm → neutral 0 reads).
StaticfindFind documents matching a query. Same construction story as findById.
StaticfindFind a document by MongoDB _id. Returns null if not found.
Construction is a plain new this() — the returned instance is NOT
registered with StuffApi and is NOT proxy-wrapped. Two calls for the
same id return two distinct instances (value semantics).
StatickeyThe composite cache key (pipe-joined; neither part contains a pipe).
StaticpreloadStatic-context preload helper. Used by findById / find where
there's no instance to call preloadFieldMarshallers on yet, and
by Template._materialize for the same reason. Symmetric with the
protected instance method.
StaticsetWire the marshaller-resolution seam once at boot (and in tests).
Keeps Document free of a StuffApi import while still reaching
the Idea-rooted marshaller instances. sync mirrors
StuffApi.findByTemplatePath (returns the registered instance or
undefined); async mirrors StuffApi.singleton (resolves /
lazy-clones the instance, warming the cache sync then hits).
StaticwarmLoad all standings into the read cache. Called at boot + post-recompute.
Base for MongoDB-backed records. NOT in the Stuff hierarchy.