### Context `Base.$log` / `Base.$warn` currently resolve to `noop` unless the instance's `log` option is enabled, so their output is dropped entirely when `data-option-log` is not set (in dev *and* prod). This is the right default for console noise, but it means there is no way for external tooling to observe diagnostics a component emitted in production. ### Problem Components use `$warn` to report recoverable problems (malformed JSON in an option/attribute, a missing third-party API, etc.). In production these warnings vanish, so: - there is no signal a component silently degraded (e.g. an analytics event never fired because a payload was malformed); - monitoring/QA tools cannot surface or aggregate these diagnostics. ### Proposal Keep the console behaviour exactly as-is (gated by the `log` option), but *additionally* push every `$log`/`$warn`/`$error` record onto an in-memory ring/array (bounded, opt-in or capped) that other tools can read, e.g.: ```js Base.logs; // [{ level: 'warn', id, args, timestamp }, ...] ``` This would let a consumer (a debug overlay, an error reporter, a test harness) inspect what components reported without turning on per-element console logging. Behaviour on the console stays unchanged and backward-compatible. ### Motivation Surfaced while building the `Track` analytics components in `@studiometa/ui`: malformed tracking payloads are caught and `$warn`ed, but in production that feedback is invisible, so a broken tag fails silently with no diagnostic trail.