Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

P3: flow quality contract for stateful blocks (timers/counters) — internal state does not carry quality

Aperta
#66 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
15/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
backend

Direzione di ricerca

Start in the flow runtime's run.ts, at evaluate and outputQuality, to see how output quality is derived from the readings consumed each scan. Then read the flow-runtime README's "Quality and the write gate" section and the FlowBlockDefinition docs, and compare with how flow.delay handles quality. This issue needs a maintainer decision on the rule and on whether blocks may lower their own quality before any code is written. Done means the rule is written into both docs, the API decision is recorded, and a stateful-block conformance test in the F3 library covers a quality drop and recovery.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

From the re-review of #62 (comment https://github.com/hyperdrive-technology/holodeck/pull/62#issuecomment-6183219702).

The flow runtime's output quality is the worst quality of the readings a block consumes this scan (run.ts evaluate/outputQuality). Block-internal state (initialState/state, e.g. test.counter, the F3 TON/TOF/CTU blocks) has no quality of its own. A timer that builds up elapsed time while its input is uncertain or a substitute (null → false) publishes good as soon as its inputs turn good, even though its state came partly from bad data.

That may well be the right rule, and it is what PLCs do, but it has to be stated and kept consistent with how flow.delay handles quality. The P1 on #62 proposes that delays stop carrying quality for the same reason. Before F3 (#45) ships:

  • write the rule into the flow-runtime README "Quality and the write gate" section and into the FlowBlockDefinition docs;
  • decide whether a block may lower its own output quality (for example, a timer that saw a substitute this run), and if so, through which API;
  • add a conformance test in the F3 library for a stateful block across a quality drop and recovery.

🤖 Generated with Claude Code

Lingua principale
TypeScript
Stelle
0
Fork
0
Merge medio
11h 21m
PR unite (30g)
41

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di hyperdrive-technology/holodeck

Tutte le issue di hyperdrive-technology/holodeck

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.