P3: flow-runtime quality — held (omitted) outputs as state, fuzz generator gaps, README wording
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- documentation, testing
Línea de trabajo
Start with the evaluate "it holds" branch in packages/flow-runtime/src/run.ts, then the fuzz generator fuzz.mix in quality.property.test.ts, and the "Quality and the write gate" section of the README. Done when fuzz.mix sometimes omits its output, the generator covers variadic, multi-output, bool/string conversion and null-emitting blocks, and the README says held outputs count as block state and uses "derived from" wording for loop-delay taps. The issue is non-blocking and touches safety-relevant semantics, so confirm the intended wording with maintainers before editing.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found in the #62 re-review at df8b26f. P3, non-blocking.
1. Omitted outputs act as implicit block state, but the docs and the fuzz test don't cover them.
When evaluate leaves an output out of its result, that output holds its old value (packages/flow-runtime/src/run.ts, the evaluate "it holds" branch). On the next scan where the inputs are good, the held value takes on that scan's quality.
Repro: a sample-and-hold block, y = en ? x : (omit).
- Scan 1:
x=999(bad),en=true(good). Nothing is written. - Scan 2:
x=1(good),en=false. The block writes 999, ands.yreads{999, good}.
This matches the documented block-state exception, so it is not a new safety hole. The gaps are:
- The README "Quality and the write gate" names only
initialState/state. It should also say that held outputs count as block state. fuzz.mixinquality.property.test.tsalways returns its output. It should sometimes omit it. The oracle would then latch throughS:<id>.
Related: #66 covers the stateful-block quality API.
2. Fuzz generator coverage gaps.
The generator never produces:
- variadic inputs;
- multi-output blocks;
bool/stringtyped conversions (it only usesnumber);- blocks that emit
nullfrom good inputs.
The unit tests cover each of these, but the taint oracle does not.
3. README wording.
The README says a reader outside the loop "never sees good while anything feeding the loop is not good". That overclaims for loop-delay taps. For one scan after an input turns bad, a tap still shows the health of the scan that stored the value. This is safe, because the value predates the bad reading. Reword it in terms of "derived from".
🤖 Generated with Claude Code
- Lenguaje dominante
- TypeScript
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 12 h 24 min
- PR fusionados (30 d)
- 46
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de hyperdrive-technology/holodeck
-
area:ci review-finding
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
hyperdrive-technology/holodeck#261 ·
Los mantenedores suelen responder en 1 día
-
review-finding
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
hyperdrive-technology/holodeck#259 ·
Los mantenedores suelen responder en 1 día
-
area:holodeck review-finding
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
hyperdrive-technology/holodeck#256 ·
Los mantenedores suelen responder en 1 día
-
area:holodeck review-finding
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
hyperdrive-technology/holodeck#254 ·
Los mantenedores suelen responder en 1 día
-
area:holodeck bug review-finding
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
hyperdrive-technology/holodeck#252 ·
Los mantenedores suelen responder en 1 día
Todos los issues de hyperdrive-technology/holodeck
Issues similares
-
unwrapDatabaseError masks real DB errors with TypeError: Cannot convert object to primitive valueAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
NEARBuilders/everything-dev#798 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vercel-labs/durable-harness#53 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Redesign tab bars ignore clicks on Linux: hidden chat layers keep window drag regionsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
experiência: a doc manda subir para o Micro do Supabase, mas não diz que exige plano pago nem quanto custaPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoarea/docs area/ui enhancement
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
melgarafael/DeskcommCRM#4098 ·
Los mantenedores suelen responder en 1 día
-
dependencies platform: ios
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
software-mansion/react-native-executorch#1617 ·
Los mantenedores suelen responder en 1 día