Conversation
ssweber
commented
Apr 7, 2026
Owner
-
- Encode: suppress AF summary data when a rung contains multi-row AFs, avoiding grid misalignment and Click paste crashes
- SCR decode: restore omitted wiring for generic tall AF continuation rows
- CSV writer: fail loudly when emitted CSV rows lose decoded rung semantics by reparsing writer output and checking for row, condition, or AF mismatches before writing to disk
…ro pinned rows The AF summary block (appended to the last AF cell when 2+ AFs exist) was being emitted even when a multi-row AF (e.g. retained timer) was present. Native Click captures omit the summary in that case — the extra 32 bytes misaligned the grid and crashed Click on paste. Also updates csv/converter.py and csv/writer.py to support pinned AF instructions (timer/counter/shift/drum) at any row position, not just row 0. This enables rungs like coil-at-row-0 + timer-at-row-1. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3-row rung with coil at AF row 0 and retained timer at AF row 1 with .reset() pin on row 2. Verified via Click paste round-trip. Regenerates instr-6row-multi-output.bin (affected by AF summary suppression) — needs re-verification. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Covers the inspect_cells workflow for comparing native vs encoded binaries, cell header field reference, and known pitfalls (AF summary suppression, tall instruction visual_rows). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…grid Use RowAst type for _parse_rung_row() parameter instead of object, and use walrus operator in _grid.py generator to let ty narrow the type across the for/if split. Also adds verified instr-6row-multi-output golden fixture. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
_consume_active_row unconditionally absorbed all blank rows following a block, even after the block was full. This caused timer/counter/shift/drum blocks to reject rungs with extra condition rows below the block. Add _max_continuations() gate so blocks stop consuming once full (timer=1, counter=2, shift=2, drum=3) and remaining rows flow through as normal rung rows. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.