Skip to content

docs: record that libe3 keeps the timestamp in the root of the E3-PDU - #141

Merged
Thecave3 merged 1 commit into
mainfrom
docs/interop-timestamp-placement
Nov 5, 2026
Merged

Thecave3 merged 1 commit into
mainfrom
docs/interop-timestamp-placement

Conversation

@Thecave3

@Thecave3 Thecave3 commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

One documentation change to docs/interop.md. No code, wire or version change, so no ledger row.

Refs #114.

#114 found that the timestamp sits in different places in the E3-PDU: libe3 has { id, timestamp OPTIONAL, msg, ... }, OCUDU's native module has { id, msg, ..., timestamp OPTIONAL }. Every stamped PDU encodes to different bytes on the two. This records the position:

  • libe3 keeps its order. It is the layout OAI runs, and changing it is a wire change that libe3, OAI's E3 agent and the dApp library would have to rebuild for together.
  • The move belongs on OCUDU's side. Its libe3-compatible codec already uses libe3's order.

What changes on the page:

  • a timestamp row in the field contracts table (libe3, Aerial, OCUDU), and a short paragraph under it stating the position;
  • the OCUDU "what to change" row says libe3 keeps its order.

libe3's E3-PDU puts the optional timestamp before the message. OCUDU's
native module puts it after the extension marker and keeps libe3's order
only in its libe3-compatible codec, so a stamped PDU encodes to different
bytes on the two. Record the position on the interop page: libe3 keeps its
order, which is the one OAI runs and which changing would be a wire change
for libe3, OAI's E3 agent and the dApp library together, and the move is
OCUDU's. Add the placement to the field contracts and the decision to the
OCUDU row. No libe3 change, so no ledger row.

Refs #114

Assisted-by: Claude:claude-sonnet-5-5
Signed-off-by: Thecave3 <thecave003@gmail.com>
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

CI report — 42ee5a5 — ✅ all checks passed

Workflow Result Time Run
Commit policy ✅ success (steps skipped — no code changes) 0m27s #222
Docs ✅ success 3m17s #26
Build libe3py wheels ⏭️ not started (no changed file matches its paths filter) — —
E2E dApp Integration ⏭️ not started (no changed file matches its paths filter) — —
E2E Topologies (multi-dApp / multi-RAN) ⏭️ not started (no changed file matches its paths filter) — —
Full-loop Latency Benchmark ⏭️ not started (no changed file matches its paths filter) — —
latrec portability ⏭️ not started (no changed file matches its paths filter) — —
MPMC Queue Benchmark ⏭️ not started (no changed file matches its paths filter) — —
Unit Tests ⏭️ not started (no changed file matches its paths filter) — —
Docs

Doxygen warnings

0 warning(s) in the files this pull request changes, which fail the check; 403 more elsewhere, which do not. The full list is in the job log and the doxygen-warnings artifact of the Docs workflow.

Gaps in files this pull request does not change, by file:

Warnings File
53 include/libe3/types.hpp
37 include/libe3/sm_interface.hpp
35 include/libe3/e3_connector.hpp
34 include/libe3/e3_agent.hpp
32 include/libe3/e3_interface.hpp
29 include/libe3/c_api.h
19 src/c_api.cpp
17 include/libe3/logger.hpp
17 swig/libe3_swig.hpp
17 swig/e3_dapp_session.hpp

Ready to merge (fast-forward only)

A maintainer can land the reviewed commits with:

git fetch origin
git checkout main && git merge --ff-only 42ee5a5b1a1b913f538fddfd1a4943059d62969b && git push origin main

Head: 42ee5a5b1a1b913f538fddfd1a4943059d62969b (branch docs/interop-timestamp-placement). If --ff-only fails as non-fast-forward, the branch must be rebased on the latest main.

One comment per PR, rewritten in place once every workflow for 42ee5a5 finished.

@Thecave3
Thecave3 merged commit 42ee5a5 into main Nov 5, 2026
7 checks passed
@Thecave3
Thecave3 deleted the docs/interop-timestamp-placement branch November 5, 2026 21:09
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