Requirements

System-level requirements. The spec is organised under three peer top-level features:

Each req directive :satisfies: one feat parent; each capability-cluster feat :satisfies: its top-level umbrella feature.

Requirements at a glance

Used filter: types(req)

ID

Title

Status

Satisfies

REQ_0001

Configurable scan period

implemented

FEAT_0011

REQ_0002

One execution per scan period

implemented

FEAT_0011

REQ_0003

Scan-cycle execution observability

implemented

FEAT_0011

REQ_0010

Subscriber-triggered ingestion

implemented

FEAT_0012

REQ_0011

Publisher-driven emission

implemented

FEAT_0012

REQ_0012

Zero-copy IPC transport

implemented

FEAT_0012

REQ_0013

Notification-drop visibility

implemented

FEAT_0012

REQ_0020

Sequential chain execution

implemented

FEAT_0013

REQ_0021

Parallel DAG execution

implemented

FEAT_0013

REQ_0022

Abort propagation

implemented

FEAT_0013

REQ_0023

Conditional inclusion

implemented

FEAT_0013

REQ_0030

Subscriber deadline detection

implemented

FEAT_0014

REQ_0031

Per-execute timing visibility

implemented

FEAT_0014

REQ_0040

Core-affinity assignment

implemented

FEAT_0015

REQ_0041

SCHED_FIFO priority on Linux

implemented

FEAT_0015

REQ_0050

Signal-driven shutdown

open

FEAT_0016

REQ_0051

Programmatic shutdown wakeup

implemented

FEAT_0016

REQ_0060

No heap allocation in dispatch

implemented

FEAT_0017

REQ_0061

Statically-sized task pool

open

FEAT_0017

REQ_0062

Pre-allocated error slot

implemented

FEAT_0017

REQ_0063

Wait-free completion signalling

open

FEAT_0017

REQ_0070

Per-task overrun fault transition

implemented

FEAT_0018

REQ_0071

Executor-wide overrun fault transition

implemented

FEAT_0018

REQ_0072

Fault-handler item dispatch

implemented

FEAT_0018

REQ_0073

Fault state observability

implemented

FEAT_0018

REQ_0080

Mode lifecycle

open

FEAT_0019

REQ_0081

Mode transition triggers

open

FEAT_0019

REQ_0082

Per-mode task gating

open

FEAT_0019

REQ_0083

Mode change observability

open

FEAT_0019

REQ_0090

Process-restart persistence

open

FEAT_0020

REQ_0091

Memory-mapped backing

open

FEAT_0020

REQ_0092

Crash-atomic checkpoints

open

FEAT_0020

REQ_0093

Recovery status reporting

open

FEAT_0020

REQ_0100

Per-task latency percentiles

implemented

FEAT_0021

REQ_0101

Per-task maximum jitter

implemented

FEAT_0021

REQ_0102

Per-task overrun counter

implemented

FEAT_0021

REQ_0103

Statistics query API

implemented

FEAT_0021

REQ_0104

Allocation-free telemetry update

implemented

FEAT_0021

REQ_0105

Per-task exact min/max execute duration

implemented

FEAT_0021

REQ_0106

Per-task deadline lateness

implemented

FEAT_0021

REQ_0107

Per-task scan index and faulted-scan emission

implemented

FEAT_0021

REQ_0110

Documented worst-case jitter

draft

FEAT_0022

REQ_0111

Cyclictest-style benchmark harness

draft

FEAT_0022

REQ_0112

Documented reproducer procedure

draft

FEAT_0022

REQ_0113

Harness consumes runtime telemetry

draft

FEAT_0022

REQ_0120

Adapter-driven I/O

open

FEAT_0023

REQ_0121

Out-of-tree driver crates

open

FEAT_0023

REQ_0122

Protocol-neutral runtime

open

FEAT_0010

REQ_0123

Framework-invariant violation triggers fail-fast

draft

FEAT_0024

REQ_0124

User-item panic is contained, not a fail-fast

implemented

FEAT_0024

REQ_0125

User-registered fatal handler

draft

FEAT_0024

REQ_0200

ConnectorEnvelope is a POD type

open

FEAT_0031

REQ_0201

Per-channel max payload size

approved

FEAT_0031

REQ_0202

Sequence number monotonically increasing

implemented

FEAT_0031

REQ_0203

Timestamp recorded at send

implemented

FEAT_0031

REQ_0204

Correlation id is a passive carrier

implemented

FEAT_0031

REQ_0205

Zero-copy publish via iceoryx2 loan

implemented

FEAT_0031

REQ_0206

One iceoryx2 service per channel direction

implemented

FEAT_0031

REQ_0210

PayloadCodec trait

implemented

FEAT_0032

REQ_0211

Codec is a generic parameter on connectors

open

FEAT_0032

REQ_0212

JsonCodec is the default codec

implemented

FEAT_0032

REQ_0213

Codec encode error variant

open

FEAT_0032

REQ_0214

Codec decode error variant

open

FEAT_0032

REQ_0215

Fixed-width binary codec

implemented

FEAT_0032

REQ_0220

Connector trait

open

FEAT_0033

REQ_0221

ChannelDescriptor carries typed routing

implemented

FEAT_0033

REQ_0222

Routing is a marker trait with bounds

open

FEAT_0033

REQ_0223

create_writer / create_reader return concrete handles

open

FEAT_0033

REQ_0224

Connector ships its own routing struct

approved

FEAT_0033

REQ_0230

ConnectorHealth state machine

approved

FEAT_0034

REQ_0231

subscribe_health returns a Channel of HealthEvent

approved

FEAT_0034

REQ_0232

ReconnectPolicy trait

open

FEAT_0034

REQ_0233

ExponentialBackoff default policy

open

FEAT_0034

REQ_0234

HealthEvent emitted on every transition

approved

FEAT_0034

REQ_0235

Stack-internal-reconnect connectors emit health uniformly

approved

FEAT_0034

REQ_0240

Same envelope contract for both deployments

approved

FEAT_0035

REQ_0241

In-process gateway is a tokio task

open

FEAT_0035

REQ_0242

Separate-process gateway is a self-contained binary

open

FEAT_0035

REQ_0243

Clean exit on SIGINT / SIGTERM on both sides

open

FEAT_0035

REQ_0244

No app↔gateway control-plane envelopes

approved

FEAT_0035

REQ_0250

MqttConnector implements Connector

implemented

FEAT_0036

REQ_0251

MqttRouting carries topic, qos, retained

implemented

FEAT_0036

REQ_0252

QoS 0 and 1 supported

implemented

FEAT_0036

REQ_0253

Retained-message publish supported

implemented

FEAT_0036

REQ_0254

Wildcard subscriptions supported

implemented

FEAT_0036

REQ_0255

Username/password authentication

implemented

FEAT_0036

REQ_0256

TLS is optional via cargo feature

implemented

FEAT_0036

REQ_0257

MQTT 3.1.1 baseline

implemented

FEAT_0036

REQ_0258

Tokio sidecar inside the gateway crate

implemented

FEAT_0036

REQ_0259

Bridge channels are bounded

implemented

FEAT_0036

REQ_0260

Outbound bridge saturation surfaces as BackPressure

implemented

FEAT_0036

REQ_0261

Inbound bridge saturation drops frames and signals Degraded

implemented

FEAT_0036

REQ_0262

Wire-round duration statistics

draft

FEAT_0038

REQ_0263

Working-counter quality counter

draft

FEAT_0038

REQ_0264

Freshness and staleness statistics

draft

FEAT_0038

REQ_0265

Connector statistics query API

draft

FEAT_0038

REQ_0266

Cycle-phase wait (slack) statistics

draft

FEAT_0038

REQ_0267

Connector push fault semantics

draft

FEAT_0038

REQ_0268

Absolute-grid cyclic dispatch (bounded long-run lateness)

implemented

FEAT_0011

REQ_0269

Run-loop immunity to spurious wait interruptions

implemented

FEAT_0011

REQ_0270

ConnectorHost builder API

approved

FEAT_0037

REQ_0271

ConnectorGateway builder API

approved

FEAT_0037

REQ_0272

Host registers connector items with the executor

approved

FEAT_0037

REQ_0273

Optional Observer adapter for tracing

open

FEAT_0037

REQ_0274

Tight dispatch-thread timer slack

implemented

FEAT_0011

REQ_0290

NO request/response matching by the framework

rejected

FEAT_0030

REQ_0291

NO app↔gateway control plane

rejected

FEAT_0030

REQ_0292

NO persistent outbox or durable buffering

rejected

FEAT_0030

REQ_0293

NO schema/contract enforcement across the boundary

rejected

FEAT_0030

REQ_0294

NO protocol-portable Channel<T>

rejected

FEAT_0030

REQ_0295

NO multi-broker / multi-tenant gateway

rejected

FEAT_0030

REQ_0296

NO supervision / panic recovery

rejected

FEAT_0030

REQ_0300

Pre-allocated fixed-block arena

implemented

FEAT_0040

REQ_0301

Fail-closed on cap overrun

implemented

FEAT_0040

REQ_0302

Lock-after-init panic mode

implemented

FEAT_0040

REQ_0303

Allocation accounting API

implemented

FEAT_0040

REQ_0304

Thread-safe allocation

implemented

FEAT_0040

REQ_0310

EthercatConnector implements Connector

approved

FEAT_0041

REQ_0311

EthercatRouting carries SubDevice and PDO addressing

implemented

FEAT_0041

REQ_0312

Single MainDevice per gateway instance

approved

FEAT_0041

REQ_0313

Bus reaches OP before serving traffic

approved

FEAT_0041

REQ_0314

Static PDO mapping per SubDevice

approved

FEAT_0041

REQ_0315

PDO mapping applied during PRE-OP to SAFE-OP transition

implemented

FEAT_0041

REQ_0316

Cycle time configurable with millisecond resolution

implemented

FEAT_0041

REQ_0317

Missed cycle ticks are skipped not queued

implemented

FEAT_0041

REQ_0318

Distributed Clocks bring-up is opt-in

approved

FEAT_0041

REQ_0319

Working-counter-based health policy

implemented

FEAT_0041

REQ_0320

Working-counter mismatch degrades health

approved

FEAT_0041

REQ_0321

Tokio sidecar contained inside the connector crate

approved

FEAT_0041

REQ_0322

Bridge channels are bounded

approved

FEAT_0041

REQ_0323

Outbound bridge saturation surfaces as BackPressure

approved

FEAT_0041

REQ_0324

Inbound bridge saturation drops PDUs and signals Degraded

implemented

FEAT_0041

REQ_0325

Linux raw socket required on gateway host

approved

FEAT_0041

REQ_0326

Outbound payload written to PDI bit slice per routing

implemented

FEAT_0041

REQ_0327

Inbound payload read from PDI bit slice per routing

implemented

FEAT_0041

REQ_0328

Per-channel routing registry on the gateway

approved

FEAT_0041

REQ_0329

Asymmetric working counter declared per SubDevice

implemented

FEAT_0041

REQ_0330

Distributed Clocks cycle path uses tx_rx_dc

open

FEAT_0041

REQ_0331

Bus-level recovery on cycle error

implemented

FEAT_0041

REQ_0332

Reconnect policy factory in connector options

implemented

FEAT_0041

REQ_0333

Health transitions during recovery

implemented

FEAT_0041

REQ_0400

ZenohConnector implements Connector

approved

FEAT_0043

REQ_0401

ZenohRouting carries key_expr and pub/sub QoS fields

open

FEAT_0043

REQ_0402

JsonCodec is the default codec for Zenoh

approved

FEAT_0043

REQ_0403

Tokio sidecar contained inside the Zenoh connector crate

implemented

FEAT_0043

REQ_0404

Zenoh bridge channels are bounded

approved

FEAT_0043

REQ_0405

Outbound bridge saturation surfaces as BackPressure

approved

FEAT_0043

REQ_0406

Inbound bridge saturation drops samples and signals Degraded

open

FEAT_0043

REQ_0407

Zenoh zero-copy publish via iceoryx2 loan

approved

FEAT_0043

REQ_0408

Zenoh gateway is byte-only on the inbound publish path

approved

FEAT_0043

REQ_0420

ZenohConnector exposes create_querier and create_queryable

implemented

FEAT_0044

REQ_0421

ZenohQuerier maps QueryId to envelope correlation_id

approved

FEAT_0044

REQ_0422

ZenohQueryable correlates replies via correlation_id

implemented

FEAT_0044

REQ_0423

Multi-reply per query supported

implemented

FEAT_0044

REQ_0424

Reply stream end-of-stream framed in payload

approved

FEAT_0044

REQ_0425

Query timeout sourced from options, overridable per-querier

approved

FEAT_0044

REQ_0426

terminate(id) finalizes the upstream zenoh::Query

implemented

FEAT_0044

REQ_0427

Codec applied to Q on send and to R on reply

approved

FEAT_0044

REQ_0428

Reply-side inbound saturation drops chunks and signals Degraded

open

FEAT_0044

REQ_0440

Zenoh session mode is a config knob

implemented

FEAT_0045

REQ_0441

NO ReconnectPolicy on Zenoh session loss

rejected

FEAT_0045

REQ_0442

HealthEvent emitted on every Zenoh session transition

implemented

FEAT_0045

REQ_0443

Connect and listen locators surfaced to zenoh::Config

open

FEAT_0045

REQ_0444

zenoh-integration cargo feature gates the real zenoh dep

implemented

FEAT_0045

REQ_0445

MockZenohSession ships unfeature-gated

implemented

FEAT_0045

REQ_0446

Linux, macOS, and Windows are supported host operating systems

implemented

FEAT_0045

REQ_0500

Pure parse function with no I/O

implemented

FEAT_0051

REQ_0501

no_std + alloc compatible

rejected

FEAT_0051

REQ_0502

quick-xml + serde backend

implemented

FEAT_0051

REQ_0503

Parser does not depend on ethercrab or codegen

implemented

FEAT_0051

REQ_0504

IR carries identity, PDO maps, mailbox, DC, and OD

implemented

FEAT_0051

REQ_0505

Vendor-specific extensions captured as opaque blobs

implemented

FEAT_0051

REQ_0506

Parse errors carry line and column

implemented

FEAT_0051

REQ_0510

CodegenBackend trait shape

open

FEAT_0052

REQ_0511

Naming policy is owned by codegen, not the backend

open

FEAT_0052

REQ_0512

Revision collision handled deterministically

open

FEAT_0052

REQ_0513

Common PDO entry types deduplicated

open

FEAT_0052

REQ_0514

Emission target is proc_macro2 TokenStream

open

FEAT_0052

REQ_0520

Backend crate is the sole ethercrab dependency

open

FEAT_0053

REQ_0521

One device struct per ESI device entry

open

FEAT_0053

REQ_0522

Identity const emitted per device

open

FEAT_0053

REQ_0523

Selectable PDO assignments emitted as a joint per-device OpMode enum

implemented

FEAT_0053

REQ_0524

Each OpMode variant carries a per-mode inputs/outputs data struct

implemented

FEAT_0053

REQ_0525

Generated module root exposes a registry

open

FEAT_0053

REQ_0526

Generated code compiles under no_std + alloc

open

FEAT_0053

REQ_0527

Default PDO assignment derived from Sm/Mandatory, not Fixed

implemented

FEAT_0053

REQ_0528

Per-active-mode Rx/Tx PDO-index lists exposed for 0x1C12/0x1C13

implemented

FEAT_0053

REQ_0529

AlternativeSmMapping captured faithfully, never resolved

implemented

FEAT_0051

REQ_0530

EsiDevice trait shape

open

FEAT_0054

REQ_0531

EsiConfigurable trait shape for preop bring-up

open

FEAT_0054

REQ_0532

Traits live in ethercat-esi-rt, not taktora-connector

open

FEAT_0054

REQ_0533

Object dictionary emission is a default-off cargo feature

open

FEAT_0054

REQ_0534

Process image access via bitvec BitSlice

open

FEAT_0054

REQ_0535

SdoWrite abstraction keeps ethercrab out of the trait crate

open

FEAT_0054

REQ_0540

Builder API shape

open

FEAT_0055

REQ_0541

Output written to OUT_DIR

open

FEAT_0055

REQ_0542

Cargo rerun-if directives emitted per ESI input

open

FEAT_0055

REQ_0543

Generated output passes through prettyplease

open

FEAT_0055

REQ_0550

cargo esi expand emits one device's generated code

open

FEAT_0056

REQ_0551

cargo esi list enumerates devices in a glob

open

FEAT_0056

REQ_0552

CLI shares the parser and codegen crates

open

FEAT_0056

REQ_0560

Verifier ingests ESI XML plus SII binary

open

FEAT_0057

REQ_0561

Diagnostic output names the differing field

open

FEAT_0057

REQ_0562

Verifier reuses the parser

open

FEAT_0057

REQ_0563

Verifier exits non-zero on mismatch

open

FEAT_0057

REQ_0590

NO CAN / CANopen / EDS support in this round

rejected

FEAT_0050

REQ_0591

NO proc-macro front-end

rejected

FEAT_0050

REQ_0592

NO unification of EtherCAT and CANopen runtime traits

rejected

FEAT_0050

REQ_0593

NO runtime XML parsing

rejected

FEAT_0050

REQ_0594

NO modification of taktora-connector-ethercat runtime

rejected

FEAT_0050

REQ_0595

NO automatic vendor library scraping

rejected

FEAT_0050

REQ_0600

CanConnector implements Connector

approved

FEAT_0046

REQ_0601

CanRouting carries iface, can_id, mask, kind, fd_flags

approved

FEAT_0046

REQ_0602

Linux is the supported host OS for real I/O

open

FEAT_0046

REQ_0603

socketcan-integration cargo feature gates the real socketcan dep

approved

FEAT_0046

REQ_0604

MockCanInterface ships unfeature-gated

approved

FEAT_0046

REQ_0605

Tokio sidecar contained inside the CAN connector crate

approved

FEAT_0046

REQ_0606

CAN bridge channels are bounded

approved

FEAT_0046

REQ_0607

Outbound bridge saturation surfaces as BackPressure

approved

FEAT_0046

REQ_0608

Inbound bridge saturation drops frames and signals Degraded

open

FEAT_0046

REQ_0610

Classical CAN frames supported

approved

FEAT_0047

REQ_0611

CAN-FD frames supported

approved

FEAT_0047

REQ_0612

Channel payload sizing keyed on frame kind

open

FEAT_0047

REQ_0613

Outbound payload serialised to socketcan frame

approved

FEAT_0047

REQ_0614

Inbound gateway is byte-only on the publish path

approved

FEAT_0047

REQ_0615

CAN ID extended flag preserved end-to-end

approved

FEAT_0047

REQ_0620

Multiple interfaces per gateway

approved

FEAT_0048

REQ_0621

Routing identifies the interface

open

FEAT_0048

REQ_0622

Per-interface filter is the union of channel masks

approved

FEAT_0048

REQ_0623

Filter recomputed on channel add/remove

approved

FEAT_0048

REQ_0624

Inbound demux to all matching readers

approved

FEAT_0048

REQ_0625

Per-iface routing registry has stable iteration order

approved

FEAT_0048

REQ_0630

ConnectorHealth aggregates per-iface state via worst-of

approved

FEAT_0049

REQ_0631

Error frames consumed internally

approved

FEAT_0049

REQ_0632

error-passive transitions to Degraded

approved

FEAT_0049

REQ_0633

bus-off transitions to Down and triggers reconnect

approved

FEAT_0049

REQ_0634

ReconnectPolicy reused; ExponentialBackoff default

approved

FEAT_0049

REQ_0635

HealthEvent emitted on every transition

approved

FEAT_0049

REQ_0636

Error frames not exposed to plugin

approved

FEAT_0049

REQ_0640

NO DBC parsing or typed signal extraction in taktora-connector-can

rejected

FEAT_0046

REQ_0641

NO ISO-TP or J1939 support in taktora-connector-can

rejected

FEAT_0046

REQ_0642

NO CAN-XL support

rejected

FEAT_0046

REQ_0643

NO plugin-visible error-frame channel

rejected

FEAT_0049

REQ_0644

NO can-restart-ms management from the gateway

rejected

FEAT_0049

REQ_0700

No transport-specific types in fieldbus-od-core

open

FEAT_0061

REQ_0701

no_std + alloc, no mandatory serde

open

FEAT_0061

REQ_0702

OD type surface

open

FEAT_0061

REQ_0703

ethercat-esi re-exports lifted types

open

FEAT_0061

REQ_0704

canopen-eds uses fieldbus-od-core types

open

FEAT_0061

REQ_0720

Pure parse function with no I/O

open

FEAT_0062

REQ_0721

no_std + alloc, no upstream coupling

open

FEAT_0062

REQ_0722

serde-derive INI backend

open

FEAT_0062

REQ_0723

Parse errors carry line and column

open

FEAT_0062

REQ_0724

Unknown sections captured as RawSection

open

FEAT_0062

REQ_0725

Liberal parsing — warn and continue on quirks

open

FEAT_0062

REQ_0726

IR carries identity, OD, PDO comm + maps

open

FEAT_0062

REQ_0730

CodegenBackend trait shape

open

FEAT_0063

REQ_0731

Naming policy is owned by codegen, not the backend

open

FEAT_0063

REQ_0732

Revision collision handled deterministically

open

FEAT_0063

REQ_0733

Common PDO entry types deduplicated

open

FEAT_0063

REQ_0734

Emission target is proc_macro2 TokenStream

open

FEAT_0063

REQ_0735

One EDS file equals one device

open

FEAT_0063

REQ_0740

Backend crate is the sole canopen-eds-rt dependency

open

FEAT_0064

REQ_0741

One device struct per EDS file

open

FEAT_0064

REQ_0742

Identity const emitted per device

open

FEAT_0064

REQ_0743

PDO declarations emitted as sum types

open

FEAT_0064

REQ_0744

Dummy entries skipped in PDO payload structs

open

FEAT_0064

REQ_0745

Generated module root exposes a registry

open

FEAT_0064

REQ_0746

Bring-up SDO writes emitted from EDS

open

FEAT_0064

REQ_0747

Object dictionary emission is a default-off cargo feature

open

FEAT_0064

REQ_0748

Generated code compiles under no_std + alloc

open

FEAT_0064

REQ_0750

CanOpenDevice trait shape

open

FEAT_0065

REQ_0751

CanOpenConfigurable trait shape for bring-up

open

FEAT_0065

REQ_0752

Traits live in canopen-eds-rt, not taktora-connector-can

open

FEAT_0065

REQ_0753

Frame payloads use heapless::Vec<u8, 8>

open

FEAT_0065

REQ_0754

Frame-per-PDO dispatch shape

open

FEAT_0065

REQ_0755

CanOpenError variant surface

open

FEAT_0065

REQ_0756

RPDO rejected outside Operational state

open

FEAT_0065

REQ_0760

Builder API shape

open

FEAT_0066

REQ_0761

Output written to OUT_DIR

open

FEAT_0066

REQ_0762

Cargo rerun-if directives emitted per EDS input

open

FEAT_0066

REQ_0763

Generated output passes through prettyplease

open

FEAT_0066

REQ_0764

Parser warnings surface as cargo warnings

open

FEAT_0066

REQ_0770

cargo eds expand emits one device's generated code

open

FEAT_0067

REQ_0771

cargo eds list enumerates devices in a glob

open

FEAT_0067

REQ_0772

CLI shares the parser and codegen crates

open

FEAT_0067

REQ_0780

Verifier ingests EDS plus JSON SDO-dump

open

FEAT_0068

REQ_0781

Diagnostic output names the differing field

open

FEAT_0068

REQ_0782

Verifier reuses the parser

open

FEAT_0068

REQ_0783

Verifier exits non-zero on mismatch

open

FEAT_0068

REQ_0784

SDO-dump JSON schema versioned

open

FEAT_0068

REQ_0790

NO DCF support this round

rejected

FEAT_0060

REQ_0791

NO CAN-FD payload support in PdoOut

rejected

FEAT_0060

REQ_0792

NO proc-macro front-end

rejected

FEAT_0060

REQ_0793

NO unification of EtherCAT and CANopen runtime traits

rejected

FEAT_0060

REQ_0794

NO runtime EDS parsing

rejected

FEAT_0060

REQ_0795

NO modification of taktora-connector-can runtime

rejected

FEAT_0060

REQ_0796

NO automatic vendor library scraping

rejected

FEAT_0060

REQ_0797

NO live-bus verifier this round

rejected

FEAT_0060

REQ_0800

Single facade for all taktora crates

implemented

FEAT_0071

REQ_0801

taktora-log re-exports log macros

implemented

FEAT_0071

REQ_0802

LogSink trait defines backend extension surface

implemented

FEAT_0071

REQ_0803

One-shot init builder selects the backend

implemented

FEAT_0071

REQ_0804

Integrator may install any log::Log implementation

implemented

FEAT_0073

REQ_0805

tracing-log bridge installed at init

implemented

FEAT_0078

REQ_0806

AUTOSAR Classic DLT R20-11 encoding via dlt-core

implemented

FEAT_0072

REQ_0807

UDS (default) and TCP transports to a local dlt-daemon

implemented

FEAT_0072

REQ_0808

4-character DLT App ID and Context ID per emitting crate

implemented

FEAT_0072

REQ_0809

log::kv pairs encoded as DLT verbose arguments

implemented

FEAT_0074

REQ_0810

Set-Log-Level and Set-Default-Log-Level control messages

implemented

FEAT_0075

REQ_0811

Production default level is INFO

implemented

FEAT_0075

REQ_0812

Emission shall not block the calling thread

implemented

FEAT_0076

REQ_0813

ERROR and FATAL emission shall not heap-allocate

approved

FEAT_0076

REQ_0814

Bounded in-memory ring buffers records while daemon is down

implemented

FEAT_0076

REQ_0815

Drop-oldest overflow policy with summary record on reconnect

approved

FEAT_0076

REQ_0816

Console fallback installed when no daemon and no other logger

approved

FEAT_0077

REQ_0820

YAML parse to typed network IR

open

FEAT_0081

REQ_0821

IR carries bus config, device instances, and channel bindings

open

FEAT_0081

REQ_0822

One file describes exactly one bus

open

FEAT_0081

REQ_0823

Devices referenced by stable label, not address

open

FEAT_0081

REQ_0824

Parser depends on ethercat-esi, never on the connector runtime

open

FEAT_0081

REQ_0825

Emit static SubDeviceMap PDO tables

open

FEAT_0082

REQ_0826

Emit named routing and channel-name constants

open

FEAT_0082

REQ_0827

Configured addresses assigned by bus position

open

FEAT_0082

REQ_0828

Working-counter expectation derived, never overridden

open

FEAT_0082

REQ_0829

Generated output is byte-deterministic

open

FEAT_0082

REQ_0830

Generate into OUT_DIR for include

open

FEAT_0083

REQ_0831

Rebuild on config or ESI change

open

FEAT_0083

REQ_0832

Expand subcommand prints generated module

open

FEAT_0084

REQ_0833

Fetch subcommand vendors and pins remote ESI

open

FEAT_0084

REQ_0834

Build resolves ESI from local files only

open

FEAT_0084

REQ_0835

ESI references pinned by content hash and revision

open

FEAT_0084

REQ_0836

Hard build errors for derivable faults

open

FEAT_0085

REQ_0837

Warn on unmapped process-image gaps

open

FEAT_0085

REQ_0838

Emit bring-up assertions for physical-bus facts

open

FEAT_0085

REQ_0839

No runtime parsing, no connector-runtime modification

open

FEAT_0085

REQ_0840

Per-task skipped-slot count

implemented

FEAT_0021

REQ_0841

SAFE-OP to OP transition exchanges cyclic process data

implemented

FEAT_0041

REQ_0842

Bring-up failure is observable via health

implemented

FEAT_0041

REQ_0843

ESI model exposes per-SM watchdog-trigger enable

implemented

FEAT_0051

REQ_0844

Resolve and emit each output device's SM-watchdog registers

implemented

FEAT_0085

REQ_0845

Validate the SM-watchdog bound and enable at config time

implemented

FEAT_0085

REQ_0846

Master programs the SubDevice SM-watchdog registers

implemented

FEAT_0041

REQ_0847

Health subscriptions are independent broadcast streams

implemented

FEAT_0034

REQ_0848

FMMU declarations captured in the IR

implemented

FEAT_0051

REQ_0849

EEPROM (SII source) data captured without interpretation

implemented

FEAT_0051

REQ_0850

MDP module catalog and slot constraints captured, never resolved

implemented

FEAT_0051

REQ_0851

Exact-extreme SLO conformance gate

implemented

FEAT_0021

REQ_0852

Sub-octave percentile precision

implemented

FEAT_0021

REQ_0853

Operator-declared startup SDOs applied before PDO assignment

implemented

FEAT_0041

REQ_0854

At-most-one borrowed-job submit per barrier phase

implemented

FEAT_0017

REQ_0855

UiConnector implements Connector

implemented

FEAT_0093

REQ_0856

ViewModel published as one struct-per-service with latest-value

implemented

FEAT_0093

REQ_0857

UiRouting carries ViewModel/command name and kind

implemented

FEAT_0093

REQ_0858

ViewModel fields restricted to a closed POD type set

draft

FEAT_0093

REQ_0859

Derive macro computes the envelope payload size

implemented

FEAT_0093

REQ_0860

Producer writes a seqlock latest-value cell, RT-safe

implemented

FEAT_0093

REQ_0861

Non-RT publisher pump encodes and publishes at a configurable cadence

implemented

FEAT_0093

REQ_0862

Publisher pump skips zero-subscriber ViewModels

implemented

FEAT_0093

REQ_0863

Hot-scalar opt-out promotes a field to its own service

implemented

FEAT_0093

REQ_0864

Client reconstructs per-field PropertyChanged by diffing

implemented

FEAT_0093

REQ_0865

Commands use acceptance-ack request-response

implemented

FEAT_0094

REQ_0866

CanExecute is a published boolean property

implemented

FEAT_0094

REQ_0867

Command delivery is at-most-once via correlation-id dedupe

implemented

FEAT_0094

REQ_0868

Idempotent commands are flagged for opt-in auto-retry

implemented

FEAT_0094

REQ_0869

Rejected carries a closed reason-code set

implemented

FEAT_0094

REQ_0870

Command handler runs off the RT thread

implemented

FEAT_0094

REQ_0871

Command channel is bounded and surfaces BackPressure

implemented

FEAT_0094

REQ_0872

Single instance-namespaced manifest service

implemented

FEAT_0095

REQ_0873

Manifest enumerates all services, schemas and signatures

implemented

FEAT_0095

REQ_0874

Manifest carries a contract hash

implemented

FEAT_0095

REQ_0875

Closed self-describing schema type system

implemented

FEAT_0095

REQ_0876

Contract-hash mismatch fails closed with read-only fallback

implemented

FEAT_0095

REQ_0877

Multi-application discovery via the iceoryx2 registry

implemented

FEAT_0095

REQ_0878

Derive macro emits the manifest contribution

implemented

FEAT_0095

REQ_0879

Mandatory SystemViewModel heartbeat with epoch

implemented

FEAT_0096

REQ_0880

Per-ViewModel staleness from the envelope

implemented

FEAT_0096

REQ_0881

UI restart is stateless

implemented

FEAT_0096

REQ_0882

Application restart bumps epoch and triggers rebind

implemented

FEAT_0096

REQ_0883

Connector health reflects local publish health

implemented

FEAT_0096

REQ_0884

OS-mediated trust for v1

implemented

FEAT_0096

REQ_0885

Slice-typed variable-length channel

implemented

FEAT_0097

REQ_0886

Loans sized at send time

implemented

FEAT_0097

REQ_0887

Segment grows by PowerOfTwo

implemented

FEAT_0097

REQ_0888

Growth bounded by a configurable ceiling

implemented

FEAT_0097

REQ_0889

Single-publisher topology and metadata parity

implemented

FEAT_0097

REQ_0890

29-bit ID decode and PGN routing

implemented

FEAT_0098

REQ_0891

J1939Routing declares transport class; N validated

implemented

FEAT_0098

REQ_0892

BAM reassembly and segmentation

implemented

FEAT_0098

REQ_0893

RTS/CTS connection-mode reassembly and segmentation

implemented

FEAT_0098

REQ_0894

ETP over the slice channel, bounded

implemented

FEAT_0098

REQ_0895

TP timers enforced and surfaced as health

implemented

FEAT_0098

REQ_0896

Concurrent TP sessions bounded per interface

implemented

FEAT_0098

REQ_0897

Full J1939-81 address claiming

implemented

FEAT_0098

REQ_0898

Claim state maps onto health; TX gated until claimed

implemented

FEAT_0098

REQ_0899

Reuse the CAN driver layer; provide MockJ1939Interface

implemented

FEAT_0098

REQ_0900

NO replacing ConnectorEnvelope with the slice channel

rejected

FEAT_0097

REQ_0901

NO kernel CAN_J1939 socket family in taktora-connector-j1939

rejected

FEAT_0098

REQ_0902

NO J1939/DBC parsing or typed PGN payloads in taktora-connector-j1939

rejected

FEAT_0098

REQ_0903

NO unbounded ETP reassembly

implemented

FEAT_0098

REQ_0910

Off-path / freedom from interference

open

FEAT_0100

REQ_0911

Drop-in client compatibility

implemented

FEAT_0100

REQ_0912

Worst-wins health rollup

open

FEAT_0100

REQ_0913

Callback-hooks-only attach in v1

open

FEAT_0100

REQ_0914

SOVD entity-tree model

implemented

FEAT_0100

REQ_0915

DTC / fault model with freeze-frames

implemented

FEAT_0100

REQ_0916

Extractable diagnostic core

open

FEAT_0100

REQ_0917

Read-diagnostic core HTTP surface

implemented

FEAT_0100

REQ_0918

Deferred families decline with a contract-shaped 501

implemented

FEAT_0100

REQ_0919

Baseline transport hardening, off the control path

implemented

FEAT_0100

REQ_0920

Mandatory Area/Component grouping manifest

implemented

FEAT_0100

REQ_0921

Merge pipeline applies the manifest

implemented

FEAT_0100

REQ_0922

Empty or absent manifest falls back to flat grouping

implemented

FEAT_0100

REQ_0923

Executor liveness and timing from the hook seam

implemented

FEAT_0100

REQ_0924

Executor binding exposed through the provider seam

implemented

FEAT_0100

REQ_0925

Non-blocking, bounded hook write path

implemented

FEAT_0100

REQ_0926

Connector health maps to a SOVD Component and DTCs

implemented

FEAT_0100

REQ_0927

DTC lifecycle and occurrence bookkeeping

implemented

FEAT_0100

REQ_0928

Last-sample freeze-frame at confirmation

implemented

FEAT_0100

REQ_0929

Freeze-frame surfaced through the SOVD fault-detail endpoint

implemented

FEAT_0100

REQ_0930

Off-path refresh-and-diff loop

implemented

FEAT_0100

REQ_0931

Diff-derived fault change events

implemented

FEAT_0100

REQ_0932

Health-transition change events

implemented

FEAT_0100

REQ_0933

Trigger subscription surface

implemented

FEAT_0100

REQ_0934

SSE event stream framed per the captured contract

implemented

FEAT_0100

REQ_0935

Auth-light token endpoints preserve the client login flow

implemented

FEAT_0100

REQ_0936

Permissive dev-mode authenticator is the default

implemented

FEAT_0100

REQ_0937

Authentication flows through a substitutable Authenticator seam

implemented

FEAT_0100

REQ_0938

Resource routes run enforcement = none in v1

implemented

FEAT_0100

REQ_0939

Full client login-to-read flow over the live gateway

implemented

FEAT_0100

REQ_0940

Diagnostic lock lifecycle — acquire, extend, release

implemented

FEAT_0100

REQ_0941

Lock TTL expiry auto-releases

implemented

FEAT_0100

REQ_0942

break_lock supervisor override

implemented

FEAT_0100

REQ_0943

X-Client-Id lock ownership

implemented

FEAT_0100

REQ_0944

Locks are diagnostic-coordination-only QM metadata

implemented

FEAT_0100

REQ_0945

NO runtime description parsing

rejected

FEAT_0110

REQ_0946

Boundedness is unrepresentable to violate

implemented

FEAT_0111

REQ_0947

Structural validation before sizing

implemented

FEAT_0111

REQ_0948

Plane-generic, policy-free IR

implemented

FEAT_0111

REQ_0949

WireType trait surface

implemented

FEAT_0112

REQ_0950

no_std, allocation-free, serde-free path

implemented

FEAT_0112

REQ_0951

CAN signal bit-packing primitives

implemented

FEAT_0112

REQ_0952

DBC parse to a typed model

implemented

FEAT_0113

REQ_0953

DBC lower to IR plus layout sidecar

implemented

FEAT_0113

REQ_0954

Deterministic naming policy with collision detection

implemented

FEAT_0114

REQ_0955

MessageBackend trait and resolve/generate entry point

implemented

FEAT_0114

REQ_0956

CAN backend emits WireType impls via the wire runtime

implemented

FEAT_0115

REQ_0957

Build-time generation proof-of-life

implemented

FEAT_0115

REQ_0958

NO additional frontends this round

rejected

FEAT_0110

REQ_0959

NO bool or float CAN fields this round

rejected

FEAT_0110

REQ_0960

NO J1939 application-layer consumer this round

rejected

FEAT_0110

REQ_0961

Global fault SSE stream

implemented

FEAT_0100

REQ_0962

Entity-scoped triggers

implemented

FEAT_0100

REQ_0963

Lock read endpoints

implemented

FEAT_0100

REQ_0964

Global fault clear-all

implemented

FEAT_0100

REQ_0965

Honest capability advertisement

implemented

FEAT_0100

REQ_0966

SSE keep-alive and reconnect replay

implemented

FEAT_0100

REQ_0967

Health telemetry shape

implemented

FEAT_0100

REQ_0968

Auth disable parity

implemented

FEAT_0100

REQ_0969

Write/action seam

implemented

FEAT_0100

REQ_0970

Operations family with async executions

implemented

FEAT_0100

REQ_0971

Configurations family

implemented

FEAT_0100

REQ_0972

Bulk-data family

implemented

FEAT_0100

REQ_0973

Scripts family

implemented

FEAT_0100

REQ_0974

Software-update family

implemented

FEAT_0100

REQ_0975

Lifecycle-status family

implemented

FEAT_0100

REQ_0976

Logs family

implemented

FEAT_0100

REQ_0977

Cyclic-subscriptions family

implemented

FEAT_0100

REQ_0978

Provider-sourced health telemetry

implemented

FEAT_0100

REQ_0979

Single-entity capability catalogue

implemented

FEAT_0100

REQ_0980

Connection state maps to ConnectorHealth

implemented

FEAT_0036

REQ_0981

Reconnect backoff is configurable

implemented

FEAT_0036

REQ_0982

Auth-rejected CONNACK transitions to Down

implemented

FEAT_0036

REQ_0983

Reconnect-attempt ceiling transitions to Down

implemented

FEAT_0036

REQ_0984

Clean session on CONNECT

implemented

FEAT_0036

REQ_0985

SUBSCRIBE replay on reconnect

implemented

FEAT_0036

REQ_0986

Broker subscriptions are deduplicated and reference-counted

implemented

FEAT_0036

REQ_0987

Inbound PUBLISH is matched locally and fanned out

implemented

FEAT_0036

REQ_0988

JsonCodec is the default codec

implemented

FEAT_0036

REQ_0989

MessagePack codec

implemented

FEAT_0032

REQ_0990

Build identity in the version catalogue

implemented

FEAT_0100

REQ_0991

Coverage entrypoint script

draft

FEAT_0120

REQ_0992

All-features instrumentation

draft

FEAT_0120

REQ_0993

Serial test execution

draft

FEAT_0120

REQ_0994

Denominator excludes generated code and dev tooling

draft

FEAT_0120

REQ_0995

Report outputs

draft

FEAT_0120

REQ_0996

Missing-tool diagnostic

draft

FEAT_0120

REQ_0997

Contributor documentation

draft

FEAT_0120