Skip to content

Split 1 of 7: canonical timeline foundations for the data platform - #1792

Draft
martien-wdy wants to merge 1 commit into
mainfrom
split/1-timeline
Draft

Split 1 of 7: canonical timeline foundations for the data platform#1792
martien-wdy wants to merge 1 commit into
mainfrom
split/1-timeline

Conversation

@martien-wdy

Copy link
Copy Markdown
Contributor

Problem

Pull request #1751 (the Wendy Data Platform) is +24032/-47 across 91 files. It is too large to review, and the repository's Claude Security Review job cannot run on it at all: gh refuses any diff over 20000 lines with HTTP 406. Merging it as one piece would put a new entitlement and a new socket on main with no automated security review.

Cause

The change was developed as a single branch covering the whole feature: canonical time, an episode data model, protocol definitions, an entitlement, capture, upload and tooling. Nothing forced it apart as it grew.

Solution

Split it into seven stacked pull requests, each independently buildable and each small enough to be security reviewed. This is chunk 1 of 7. It is history surgery only. No behaviour was changed while splitting.

This chunk adds the canonical timeline foundations everything else stamps data against:

  • Roughtime consensus over several servers, with the per server evidence kept so an observation can be reverified independently, and an explicit confidence and offset bound rather than a single assumed correct time.
  • CLOCK_BOOTTIME sampling, with a portable fallback for non Linux development builds.
  • The timesync manager and the shared Roughtime client learn to expose that consensus.

Deliberately left to later chunks

The episode data model that consumes this timeline (chunk 2), and every consumer of it. Nothing imports the new consensus entry point yet, which is why this chunk is small.

Depends on

Nothing. This chunk is based on main.

Verification

  • CC=/usr/bin/clang go build ./... succeeds.
  • CC=/usr/bin/clang go test ./go/internal/agent/timesync/... ./go/internal/shared/roughtime/... passes.
  • gofmt -l go/ is empty and go vet is clean for both packages.
  • Diff size: 328 lines, well inside the 20000 line security review ceiling.

The full stack, in merge order: 1-timeline, 2-episode-model, 3-protos, 4-sensors-entitlement, 5-capture, 6-upload, 7-tools-and-example. The union of all seven is byte for byte equal to feature/wendy-data-platform.

Adds Roughtime consensus and CLOCK_BOOTTIME sampling so later chunks can
stamp captured data on a single canonical timeline with an explicit
uncertainty bound rather than on the wall clock.

Part 1 of 7 in the split of the Wendy Data Platform change.
@github-actions

Copy link
Copy Markdown
Contributor

AI Security Review

Note

Automated security review from Claude. Apply, adapt, silence with // SECURITY: <reason>, or dismiss as needed.

Input coverage: 7/7 changed files; 10,652/10,652 bytes reviewed; diff SHA-256 1854f66b16135a1a98e1f275a6ce04461dfae1a92a8eff2ec1012f9191aece02; truncation: none.

No security findings.

@Joannis
Joannis marked this pull request as draft August 27, 2026 18:57
@Joannis Joannis added the risk: low Low estimated risk; focused testing is sufficient label Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: low Low estimated risk; focused testing is sufficient

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants