Skip to content

Arc Skills / Interfaces

Review a data interface specification

Matching field names and numeric types do not guarantee matching meaning. Arc Skills takes both message definitions and returns a semantic reconciliation that exposes conversion and state gaps.

Use this skill

Use Arc Skills to review my sender–receiver data Interface.

Inputs:
- Message definitions, protocol versions, example payloads and document revisions
- Field types, units, scaling, encoding, reference frames and allowed ranges
- Update rates, timestamps, invalid/duplicate and stale-message rules

Return a semantic field and protocol table with sample boundary checks, discrepancies and owner actions. Keep any proposed translation separate from the currently agreed wire contract.

Set up the toolkit · Read the skill instructions

What you provide and what you get

Inputs and outputs
What you haveHow it is usedWhat you get
Sender schema and payloadShows transmitted representation and meaningField-side evidence
Receiver contractShows expected interpretation and state behaviorSemantic comparison
Timing and version rulesTests stale/invalid handling beyond wire syntaxOpen protocol and recovery findings

Heading number has incompatible meaning

Illustrative engineering example.

The fictional sender reports 0° as north and increases clockwise. The receiver treats 0 rad as east and increases counterclockwise. Both transmit a floating-point number, but a raw 90 from the sender must not be interpreted as 90 radians. Assume both endpoint definitions specify the same horizontal reference plane.

Sender heading: degrees clockwise from north; example 90° = east
Receiver heading: radians counterclockwise from east; east = 0 rad
Proposed conversion domain: sender 0–360° maps modulo 2π
Sender update: 10 Hz nominal; receiver stale threshold: not specified
Sender–receiver data reconciliation
Field or protocol ruleSenderReceiverFinding
Heading unitDegreesRadiansConversion required; same numeric type is insufficient
Heading origin and directionNorth, clockwiseEast, counterclockwiseFor sample 90° east, converted receiver value is 0 rad
Update and age10 Hz nominalNo stale threshold statedCannot define timeout response
Protocol versionVersion 2 in exampleVersion 2 expectedSyntax version aligns; semantics still conflict

For this sample, a possible explicit mapping under that shared horizontal plane is receiver angle = (π/2 − sender angle in radians) modulo 2π. With sender 90°, π/2 − π/2 = 0 rad, as expected for east. That formula is a proposed transformation, not evidence that an adapter exists or that all boundary values, including wraparound at north/east, have been tested.

A 10 Hz nominal update does not by itself define how long the receiver may use the last value. The owners need a freshness threshold and behavior for a missed, duplicate or malformed message. Those rules determine whether the system keeps steering, flags invalid data or changes mode.

Review meaning before bytes

  1. Pin exact message and protocol revisions for both endpoints.
  2. Compare type, units, scale, reference frame, range, encoding and invalid values field by field.
  3. Run a boundary or orientation sample through both interpretations.
  4. Review update age, sequence and stale-message response as explicit contract behavior.

Questions about this task

Can the receiver simply convert units?

Only after both owners agree the full reference-frame mapping, range and boundary behavior, then verify the implementation.

Does a matching protocol version prove compatibility?

No. It may show framing agreement while field semantics or timing still disagree.

Sources and further reading