## Changes - `parse_dllm_trajectory(outputs, steps: list[int] | None = None) -> list[dict[int, list[float]]]` in `artefactual/preprocessing/dllm_parser.py` - Aggregates mask entropy across denoising steps; `steps=None` uses all steps - `steps=[-1]` behaviour must match `parse_dllm_logprobs` ## Acceptance criteria - Function importable from `artefactual.preprocessing` - Multi-step synthetic output tested - `steps=[-1]` produces identical output to `parse_dllm_logprobs(outputs, step=-1)`
Changes
parse_dllm_trajectory(outputs, steps: list[int] | None = None) -> list[dict[int, list[float]]]inartefactual/preprocessing/dllm_parser.pysteps=Noneuses all stepssteps=[-1]behaviour must matchparse_dllm_logprobsAcceptance criteria
artefactual.preprocessingsteps=[-1]produces identical output toparse_dllm_logprobs(outputs, step=-1)