Skip to content

feat(mapper): add entity-proto mappers and streaming splitters#211

Open
yushan8 wants to merge 1 commit into
yushan/entity-target-graphfrom
yushan/streaming-and-mappers
Open

feat(mapper): add entity-proto mappers and streaming splitters#211
yushan8 wants to merge 1 commit into
yushan/entity-target-graphfrom
yushan/streaming-and-mappers

Conversation

@yushan8

@yushan8 yushan8 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add internal/streaming/ with SplitBySize (generic wire-size splitter) and SplitMetadata (splits metadata maps across chunks). Proto-free package.
  • Add ResultToTargetGraph: converts targethasher.Result to ([]entity.OptimizedTarget, *entity.Metadata)
  • Add ChunkTargetGraph: splits targets + metadata into []entity.GetTargetGraphResponse within a byte budget
  • Add GetTargetGraphResponseToProto: entity → proto converter for the gRPC boundary
  • Add ChangedTargetsResponseToProto: entity → proto converter for the changed-targets gRPC boundary

Test plan

  • make build && make test — 19/19 pass
  • internal/streaming/streaming_test.go — SplitBySize, SplitMetadata, wire size equivalence
  • internal/mapper/target_graph_test.go — ResultToTargetGraph, ChunkTargetGraph, GetTargetGraphResponseToProto round-trip
  • make gazelle

Stack

  1. feat(entity): add entity types for target graph and changed targets #210 (entity types)
  2. feat(mapper): add entity-proto mappers and streaming splitters #211 — this PR (mappers + streaming)
  3. refactor: replace proto serialization with JSON and migrate callsites #222 (storage JSON rewrite)
  4. refactor: migrate callsites to entity types and consolidate config #212 (callsite migration + cleanup)

@yushan8
yushan8 requested review from a team as code owners July 17, 2026 03:36
@yushan8
yushan8 marked this pull request as draft July 17, 2026 04:11
@yushan8
yushan8 force-pushed the yushan/streaming-and-mappers branch from 9bd4bdf to d05117c Compare July 17, 2026 05:13
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch from 4cb3028 to fba8c52 Compare July 17, 2026 05:13
@yushan8
yushan8 force-pushed the yushan/streaming-and-mappers branch 3 times, most recently from ecb2996 to 36f3f33 Compare July 17, 2026 22:57
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch from fba8c52 to 34e6a59 Compare July 17, 2026 22:57
@yushan8
yushan8 force-pushed the yushan/streaming-and-mappers branch 4 times, most recently from b621c93 to 03833f5 Compare July 20, 2026 02:03
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch 2 times, most recently from ac6aea4 to facc62d Compare July 20, 2026 03:20
@yushan8
yushan8 force-pushed the yushan/streaming-and-mappers branch 2 times, most recently from 8ba38ac to 6fc3266 Compare July 20, 2026 03:28
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch from facc62d to ef4db65 Compare July 20, 2026 03:28
@yushan8 yushan8 changed the title feat(mapper): add streaming split, graph chunk mappers, and graphstore adapter feat(mapper): add entity-proto mappers and streaming splitters Jul 20, 2026
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch from ef4db65 to 1b416d5 Compare July 20, 2026 03:42
@yushan8
yushan8 force-pushed the yushan/streaming-and-mappers branch 2 times, most recently from 0f5a89c to 5fb83ae Compare July 20, 2026 03:46
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch from 1b416d5 to ac18fbe Compare July 20, 2026 03:46
@yushan8
yushan8 marked this pull request as ready for review July 20, 2026 04:43
@yushan8
yushan8 force-pushed the yushan/streaming-and-mappers branch from 5fb83ae to 7f55e85 Compare July 20, 2026 04:52
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch from ac18fbe to 9789ce1 Compare July 20, 2026 04:52
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@yushan8
yushan8 force-pushed the yushan/streaming-and-mappers branch from 7f55e85 to e762db8 Compare July 20, 2026 05:27
@yushan8
yushan8 force-pushed the yushan/entity-target-graph branch from 9789ce1 to 061115e Compare July 20, 2026 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant