Anti-goals and cross-cutting traceability

The following requirements are explicitly rejected — captured for the record so future readers see what the toolchain deliberately does not do this round, and why. Each rejected requirement :satisfies: Message-plane interface-des... (FEAT_0110) to keep the umbrella’s traceability complete.

Requirement: NO additional frontends this round REQ_0958
status: rejected
satisfies: FEAT_0110
links incoming: RISK_0024

The toolchain shall not ship OMG IDL or ROS 2 .msg/.srv frontends this round. DBC (DBC frontend (FEAT_0113)) is bounded by construction, which makes it the cleanest first proof of the description → IR → codegen pipeline. The harder frontends — which must actively reject unbounded sequences — are net-additive follow-ons; they lower onto the same IR (Bounded message-type IR (FEAT_0111)) and reuse the same codegen layer (Plane-generic codegen (FEAT_0114)) without an IR break.

Requirement: NO bool or float CAN fields this round REQ_0959
status: rejected
satisfies: FEAT_0110
links incoming: RISK_0025

taktora-idl-codegen-can shall not emit bool or floating-point signal fields this round; such fields are rejected with a backend error. DBC signals lower to integer and enum fields in the delivered slice (CAN backend emits WireType ... (REQ_0956)). Admitting bool/float is a follow-on that touches only the backend, not the IR or wire runtime.

Requirement: NO J1939 application-layer consumer this round REQ_0960
status: rejected
satisfies: FEAT_0110

This spec shall not deliver a J1939 PGN/SPN consumer of the generated message types. The J1939 connector (J1939 connector (PGN routin... (FEAT_0098)) remains a raw-(re)assembled-bytes transport this round; typed per-PGN signal mapping onto the message plane is a foreseen follow-on that adds a frontend/consumer, not a change to this toolchain’s contracts.

Requirement: NO runtime description parsing REQ_0945
status: rejected
satisfies: FEAT_0110

The toolchain shall not parse .dbc (or any interface description) at application runtime. All parsing and code emission happen at build time; a runtime consumer links only against taktora-idl-wire (serde-free no_std wire runtime (FEAT_0112)) and the generated module, and ships no description file alongside its binary.


Cross-cutting traceability

Every requirement in this chapter (excluding rejected anti-goals) carries a :satisfies: link to its capability-cluster feat; every cluster feat :satisfies: Message-plane interface-des... (FEAT_0110). Architectural specifications refining these requirements are emitted in Message-plane interface-description codegen — architecture (arc42). Verification artefacts are emitted in Message-plane interface-description codegen — verification.

Used filter: types(feat)

ID

Title

Status

Satisfies

FEAT_0110

Message-plane interface-description codegen

implemented

FEAT_0111

Bounded message-type IR

implemented

FEAT_0110

FEAT_0112

serde-free no_std wire runtime

implemented

FEAT_0110

FEAT_0113

DBC frontend

implemented

FEAT_0110

FEAT_0114

Plane-generic codegen

implemented

FEAT_0110

FEAT_0115

CAN/DBC backend

implemented

FEAT_0110

No needs passed the filters