Skip to content

refactor telemetry/tunables - #313

Merged
virtuald merged 3 commits into
mainfrom
tt-refactor
Sep 8, 2026
Merged

refactor telemetry/tunables#313
virtuald merged 3 commits into
mainfrom
tt-refactor

Conversation

@virtuald

Copy link
Copy Markdown
Member

🤖

... still a few items to fix

@virtuald

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-08T06:13:06.632626Z 9e78a51 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

Reviewed commit: c54638e646

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@virtuald
virtuald force-pushed the tt-refactor branch 2 times, most recently from 114c80c to 7112b25 Compare September 7, 2026 04:37
@virtuald
virtuald force-pushed the tt-refactor branch 2 times, most recently from bd21ca6 to 9e78a51 Compare September 8, 2026 06:05
@virtuald

virtuald commented Sep 8, 2026

Copy link
Copy Markdown
Member Author

@codex review

@virtuald
virtuald marked this pull request as ready for review September 8, 2026 06:05
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: 9e78a51a6b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@virtuald
virtuald force-pushed the tt-refactor branch 2 times, most recently from 641bfd4 to ae3f1c6 Compare September 8, 2026 06:20
Replace manual module initialization with generated backend, registry,
and table bindings plus Python-aware logging adapters. Expose schema
operations and preserve Python overrides when logging native objects.

Return typed mock action dataclasses instead of dictionaries, and update
scheduler assertions to match. Document keyword-only sequence selectors
and use Optional Python type annotations.

Introduce a shared contiguous-buffer helper in wpiutil. Borrow contiguous
raw storage through the backend call and flatten strided or indirect
memoryviews in C order, without reclassifying numeric buffer exporters.

Cover schema fan-out, override dispatch, selector validation, mock action
copies, and raw-buffer layouts and lifetimes.
Replace hand-written bindings and the Python table wrapper with generated
bindings and Python-aware helpers on the native TunableTable. Add typed
scalar and getter/setter publication APIs that preserve native numeric
widths and callback values. Use Optional Python type selectors directly.

Retain published values and callbacks until removal, track table ownership,
and reject stale callback tables. Handle backend migration and reentrant
publication without losing the accepted replacement. Provide a thread-aware
registry update-mutex context manager that releases the GIL while waiting.

Restrict mutate() to individual WPIStruct objects and remove the mutation
list proxy; other values use get()/set(). Reuse the contiguous-buffer helper
to avoid intermediate raw-value copies while preserving sequence dispatch.

Expose mock backend typed/struct accessors and document native-only backend
dispatch. Cover publication lifetimes, reentrancy, mutex ownership, numeric
ranges, type selectors, struct mutation, and raw-buffer conversion.
Enable DataLog telemetry backend trampolines and expose NetworkTables
MarkDirty while documenting native-only tunable backend dispatch.

Remove import-time monkey-patching of telemetry and tunable registries.
Register NetworkTables backends explicitly through the registry API in
tests instead.

Verify that PIDController and Field2d Python overrides receive native
tables, subclasses without overrides use native fallback implementations,
and NetworkTables publication uses the native backend implementation.
@virtuald
virtuald merged commit 5cb70c1 into main Sep 8, 2026
36 checks passed
@virtuald
virtuald deleted the tt-refactor branch September 8, 2026 15:28
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