<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference on ObserveRTC</title><link>/docs/reference/</link><description>Recent content in Reference on ObserveRTC</description><generator>Hugo</generator><language>en</language><copyright>Copyright (c) 2020-2024 Thulite</copyright><lastBuildDate>Mon, 28 Sep 2026 12:00:00 +0300</lastBuildDate><atom:link href="/docs/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>Monitor catalog</title><link>/docs/reference/monitor-catalog/</link><pubDate>Mon, 28 Sep 2026 12:00:00 +0300</pubDate><guid>/docs/reference/monitor-catalog/</guid><description>&lt;p>Search a field or select a monitor. Each declaration links to its implementation. This catalog includes identity, context, relationships, scores and measurements; it does not label every schema field as a raw browser stat.&lt;/p></description></item><item><title>Versions and compatibility</title><link>/docs/reference/versions/</link><pubDate>Mon, 28 Sep 2026 12:00:00 +0300</pubDate><guid>/docs/reference/versions/</guid><description>&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Component&lt;/th>
 &lt;th>Examined revision&lt;/th>
 &lt;th>Package/source version&lt;/th>
 &lt;th>Meaning&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Client Monitor installation/configuration&lt;/td>
 &lt;td>&lt;code>4ae541eac3305d1cc779ff6dd703211e837a7f7b&lt;/code>&lt;/td>
 &lt;td>4.10.1&lt;/td>
 &lt;td>npm latest checked October 9, 2026; configuration verified against release source&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Client Monitor field/formula catalog&lt;/td>
 &lt;td>&lt;code>0f08bd5d110a4e9d53cf0486962e638c5b393c49&lt;/code>&lt;/td>
 &lt;td>4.9.1&lt;/td>
 &lt;td>Pinned implementation reference; not npm latest&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Observer&lt;/td>
 &lt;td>&lt;code>b4a1ccb85468c94084a89ed2c007708c14ead551&lt;/code>&lt;/td>
 &lt;td>1.0.0&lt;/td>
 &lt;td>Pinned implementation reference; not a claim about npm latest&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Schemas&lt;/td>
 &lt;td>&lt;code>eb7fe28062b81d6db9dfb7ca565b1fb9c88b5d17&lt;/code>&lt;/td>
 &lt;td>schema 3.7.0; generator package 3.0.0&lt;/td>
 &lt;td>&lt;code>sources/version.txt&lt;/code> is the schema version&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;details>
 &lt;summary>Source references&lt;/summary>
 &lt;ul>
&lt;li>&lt;a href="https://github.com/ObserveRTC/client-monitor-js/blob/0f08bd5d110a4e9d53cf0486962e638c5b393c49/package.json">client-monitor-js/package.json&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/ObserveRTC/observer-js/blob/b4a1ccb85468c94084a89ed2c007708c14ead551/package.json">observer-js/package.json&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/ObserveRTC/schemas/blob/eb7fe28062b81d6db9dfb7ca565b1fb9c88b5d17/sources/version.txt">schemas/sources/version.txt&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/ObserveRTC/schemas/blob/eb7fe28062b81d6db9dfb7ca565b1fb9c88b5d17/package.json">schemas/package.json&lt;/a>&lt;/li>
&lt;/ul>
&lt;/details>
&lt;p>Client Monitor &lt;strong>4.10.1&lt;/strong> and Observer &lt;strong>1.1.0&lt;/strong> are the current npm releases checked on October 9, 2026. Install with &lt;code>npm install @observertc/client-monitor-js&lt;/code> to follow the published &lt;code>latest&lt;/code> tag.&lt;/p></description></item><item><title>Known implementation differences</title><link>/docs/reference/known-differences/</link><pubDate>Mon, 28 Sep 2026 12:00:00 +0300</pubDate><guid>/docs/reference/known-differences/</guid><description>&lt;h2 id="delta-reset-semantics">Delta reset semantics&lt;/h2>
&lt;p>&lt;code>DERIVED_METRICS&lt;/code> says zero; &lt;code>positiveDelta&lt;/code> returns undefined. Source wins. Other consumers can explicitly coalesce; do not overgeneralize either direction.&lt;/p></description></item><item><title>Where to implement a change</title><link>/docs/reference/contributing/</link><pubDate>Mon, 28 Sep 2026 12:00:00 +0300</pubDate><guid>/docs/reference/contributing/</guid><description>&lt;h2 id="choose-the-owning-layer">Choose the owning layer&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Change&lt;/th>
 &lt;th>Implementation and verification path&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>New browser field&lt;/td>
 &lt;td>W3C/schema definitions if appropriate → schema generation → synchronized generated types → owner monitor assignment + &lt;code>createSample&lt;/code> → observer entity update → browser-availability tests&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New local derived metric&lt;/td>
 &lt;td>owner monitor accept/update/getter; reset/missing/stale semantics; raw→derived unit/formula metadata; tests for counter reset, no progress and missing input; serialize only if backend needs the value itself&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New client detector&lt;/td>
 &lt;td>Detector class with category/layer, config type, constructor defaults, correct owner registration, event payload/type, issue union, source tests/taxonomy test; independently define trigger/recovery and unavailable behavior&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New score behavior&lt;/td>
 &lt;td>&lt;code>DefaultScoreCalculator&lt;/code> and relevant monitor readings; component reasons and root aggregation kept distinct; verify absence/zero/continuous reason visibility&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New schema field&lt;/td>
 &lt;td>authoritative Avro/chunk, source version/changelog, generator outputs/packages, both consumer copies, codec roundtrips and compatibility tests&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New server entity behavior&lt;/td>
 &lt;td>appropriate Observed*.update/accept, &lt;code>ObserverEvents&lt;/code> typed scope, lifecycle cleanup, metric reset semantics, focused source tests&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New server detector&lt;/td>
 &lt;td>class + &lt;code>AvailableCallScope&lt;/code>/&lt;code>ObserverScopeDetectorsConfigs&lt;/code> + appropriate &lt;code>addDetector&lt;/code> factory switch + index exports; explicit application registration&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New structural validation&lt;/td>
 &lt;td>Validator + &lt;code>AvailableValidatorConfigs&lt;/code> + &lt;code>Observer.addValidator&lt;/code> switch; evidence-backed positive/negative/inconclusive behavior&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>New SFU integration&lt;/td>
 &lt;td>application signaling/attachments → &lt;code>RemoteTrackResolverFactory&lt;/code>; optional server object observer; no guessed publisher linkage&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="verification">Verification&lt;/h2>
&lt;p>Client Monitor: &lt;code>tests/monitors/DerivedFields.spec.ts&lt;/code>, &lt;code>UnreportedRoundRecovery.spec.ts&lt;/code>, &lt;code>EndedTrackStandDown.spec.ts&lt;/code>, &lt;code>RemoteRtcpReportStaleness.spec.ts&lt;/code>, detector-specific specs and &lt;code>DetectorTaxonomy.spec.ts&lt;/code>, scoring specs&lt;/p></description></item><item><title>Specifications and source references</title><link>/docs/reference/specifications/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/reference/specifications/</guid><description>&lt;p>Use a WebRTC standard to establish the meaning of a browser measurement. Use the versioned ObserveRTC implementation to establish how the library adapts, calculates, evaluates, or serializes it. A standard&amp;rsquo;s field definition does not guarantee that a browser reports that field.&lt;/p></description></item></channel></rss>