Cookbook: Journal + Reporter v0.6
Эталон device-board journal + reporter v0.6 (DBJ4): явный dataflow Journal → Reporter → Report → append в journal. Legacy terminalNewTrack /
NewFftTrendsAnalysis (v0.5) пишут в journal напрямую — deprecated до DBJ5.
Device journal (drone track report)
Server journal (trends FFT report)
Checklist
1
Journal scope per deviceId
Handle
journal:device:{deviceId} или journal:server:{deviceId} — не per-membrane.2
ReporterRef scoped к journal
GetReporter принимает тот же JournalRef, что будет в PublishReport.3
Make-report — два node kind
make-report-from-track и make-report-from-analysis — отдельные узлы палитры.4
ReportRef in-memory до publish
MakeReport* создаёт payload в ReportRuntimeStore; PublishReport читает по handle.5
Connection-suggest
JournalRef → GetReporter / PublishReport; ReporterRef → make-report*; ReportRef → PublishReport.Runtime
- MakeReport* — host
makeReportFromTrack/makeReportFromAnalysisстроитScenarioReportPayload(без append). - ReportRuntimeStore — сохраняет payload;
ReportRefдоступен на data-out узла. - PublishReport — host
publishReport(journalRef, payload)→LiveJournalService.appendReport. - Backend routing — client:
resolveJournalBackend; server scope при paired → cabinet sync.
packages/device-board/src/runtime/block-executor.tsapps/client/src/modules/device-board/scenarioMicJournalBridge.ts