Documentation gap: Change Feed _lsn field undocumented, no deserialization warning for typed consumers (all profiles)
| Field |
Value |
| GitHub |
#29 |
| Type |
Documentation Gap |
| Target |
MS Learn Change Feed pages — missing system metadata field documentation |
| Action |
Document _lsn and add deserialization warning for typed POJO consumers |
| Severity |
LOW (Agent Kit) / MEDIUM (MS Learn) |
| Hit Rate |
Structural gap — affects 32/34 runs (94%) indirectly via #28 |
| Profiles |
All (systemic documentation gap) |
| Labels |
documentation, SCOPE, rule:change-feed, rule:model |
Summary
Microsoft Learn Change Feed documentation does not document that Change Feed event payloads include Cosmos DB system metadata fields (_lsn, _rid, _ts, _etag, _self). The Java SDK Change Feed examples are incomplete — they do not show how to handle or ignore these fields during deserialization. This documentation gap is the upstream cause of the @JsonIgnoreProperties failure tracked in #28.
Evidence
System metadata fields present in Change Feed payloads:
| Field |
Documented |
Source |
_rid |
Yes (resource model) |
All Cosmos items |
_ts |
Yes (resource model) |
All Cosmos items |
_etag |
Yes (resource model) |
All Cosmos items |
_self |
Yes (resource model) |
All Cosmos items |
_lsn |
No |
Change Feed-specific |
MS Learn documentation gaps:
_lsn undocumented — not listed in Cosmos DB resource model, not mentioned in Change Feed processor or design patterns pages
- No deserialization warning — no guidance that raw CF payloads include system fields that break default Jackson deserialization
- Java SDK CF examples incomplete — Java tab on CF processor page lacks typed deserialization examples
Runtime Error
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
Unrecognized field "_lsn" (class com.gameapi.leaderboard.model.ScoreEntry),
not marked as ignorable
Impact
Recommended Action
This is a documentation gap for the MS Learn / Azure SDK docs team, not an Agent Kit rule change:
- Add
_lsn to Change Feed documentation as a CF-specific system field
- Add a deserialization warning to the CF processor page for typed POJO consumers
- Complete the Java SDK tab with typed deserialization examples including
@JsonIgnoreProperties
Cross-References
- #28 —
model-json-serialization rule enhancement (adds @JsonIgnoreProperties requirement)
- #25 —
pattern-change-feed-materialized-views rule enhancement (adds idempotency guidance)
References
Documentation gap: Change Feed _lsn field undocumented, no deserialization warning for typed consumers (all profiles)
_lsnand add deserialization warning for typed POJO consumersdocumentation,SCOPE,rule:change-feed,rule:modelSummary
Microsoft Learn Change Feed documentation does not document that Change Feed event payloads include Cosmos DB system metadata fields (
_lsn,_rid,_ts,_etag,_self). The Java SDK Change Feed examples are incomplete — they do not show how to handle or ignore these fields during deserialization. This documentation gap is the upstream cause of the@JsonIgnorePropertiesfailure tracked in #28.Evidence
System metadata fields present in Change Feed payloads:
_rid_ts_etag_self_lsnMS Learn documentation gaps:
_lsnundocumented — not listed in Cosmos DB resource model, not mentioned in Change Feed processor or design patterns pagesRuntime Error
Impact
JsonNode→ POJO deserialization with Change Feed hits this silentlyRecommended Action
This is a documentation gap for the MS Learn / Azure SDK docs team, not an Agent Kit rule change:
Cross-References
model-json-serializationrule enhancement (adds@JsonIgnorePropertiesrequirement)pattern-change-feed-materialized-viewsrule enhancement (adds idempotency guidance)References
_rid,_ts,_etag,_selfbut not_lsn