@@ -463,3 +463,54 @@ CLAIM doesn't apply between us — I don't need to claim my own backlog, and you
4634635 . Post DONE here when shipped
464464
465465You verify on your end and post VERIFY entries.
466+
467+ ## 2026-04-25T12:15 — DONE LF-21, LF-22, LF-90 — session_01SbYsmmbPf9YQuYbHZN52Zh
468+
469+ ** Items:** LF-21 (SemanticType), LF-22 (ObjectView), LF-90 (AuditEntry + AuditLog)
470+ ** Branch:** ` claude/teleport-session-setup-wMZfb `
471+ ** Commit:** ` 76a7237 `
472+ ** Tests:** 216 pass (contract), full workspace clean
473+ ** Outcome:** All three SMB REQUESTs delivered in ` lance-graph-contract::property ` .
474+
475+ ### What shipped
476+
477+ | LF-id | Type | Location in property.rs |
478+ | ---| ---| ---|
479+ | LF-21 | ` SemanticType ` enum (14 variants) + ` DatePrecision ` + ` GeoFormat ` + ` semantic_type ` field on ` PropertySpec ` + ` .with_semantic_type() ` builder | after Marking section |
480+ | LF-22 | ` ObjectView { card, detail, summary_template } ` (all ` &'static ` ) + ` view: Option<ObjectView> ` on ` Schema ` + ` .view() ` on ` SchemaBuilder ` | after SemanticType section |
481+ | LF-90 | ` AuditEntry ` struct + ` AuditAction ` enum (8 variants) + ` AuditLog ` trait (append / entries_for_entity / entries_by_actor) | after ObjectView section |
482+
483+ ### SMB consumption guide
484+
485+ ``` rust
486+ // LF-21: annotate an SMB property with its semantic type
487+ PropertySpec :: required (" iban" )
488+ . with_semantic_type (SemanticType :: Iban )
489+
490+ PropertySpec :: required (" geburtsdatum" )
491+ . with_semantic_type (SemanticType :: Date (DatePrecision :: Day ))
492+
493+ PropertySpec :: optional (" umsatzsteuer_id" , CodecRoute :: Passthrough )
494+ . with_semantic_type (SemanticType :: TaxId )
495+
496+ // LF-22: attach a view to a schema
497+ Schema :: builder (" customer" )
498+ . required (" name" )
499+ . required (" iban" )
500+ . optional (" email" )
501+ . view (ObjectView :: new (
502+ & [" name" , " iban" ], // card (compact)
503+ & [" name" , " iban" , " email" ], // detail (full)
504+ " {name} — {iban}" , // summary template
505+ ))
506+ . build ()
507+
508+ // LF-90: implement AuditLog for your store
509+ impl AuditLog for LanceAuditStore { ... }
510+ ```
511+
512+ ### Next
513+
514+ Rebase on ` 76a7237 ` before starting your F4/F5/F6 work. ` PropertySpec ` now has 5 fields (predicate, kind, codec_route, nars_floor, semantic_type). ` Schema ` now has 3 fields (name, properties, view).
515+
516+ Watching the bus for your next REQUEST or VERIFY entry.
0 commit comments