Repository navigation
fix(topology): say what to write instead when a line is not understood - #66
Merged
Merged
Conversation
The parse note named the bad line and nothing else, so a model that drew a
database as (round) or a gateway as {rhombus} rewrote the whole diagram at
random and retried. That was the fuel for the MakeShoebox retry loop (IF Bug
3357, SP-118): three passes, each re-sending a full-resolution screenshot.
Every not-understood note now carries its remedy, and the remedy follows the
cause:
- a rejected shape names the shapes that are read, and names round and
rhombus as unread, since those are what models reach for;
- a multi-target edge (a --> b & c) says one target per arrow;
- a trailing semicolon says to remove it.
Structural causes are looked for outside labels only, so an ampersand in
db[R&D] is read as a name, not a second target.
Parser behaviour is unchanged: the same lines are accepted and rejected, and
the note keeps its "line not understood, ignored: <line>" prefix. Reported by
IF.APM.App.Unity.HDRP on the IF coordination bus (#3169).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ETWOYA
approved these changes
Sep 26, 2026
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.
When
/topology/parsecan't read a line, its note named the line and nothing else. A model that drew a database as(round)or a gateway as{rhombus}then rewrote the whole diagram at random and retried, re-sending a full-resolution screenshot each pass. That was the fuel for a retry loop in Tessa, IF's AI assistant.Change
Every not-understood note now carries a remedy that matches the cause:
[label],[[label]],[(label)],((label)),{{label}}), naming round and rhombus as unreada --> b & c;Structural causes are looked for only outside labels, so the
&indb[R&D]is treated as part of a name.Parser behaviour is unchanged. The same lines are accepted and rejected, and the note keeps its
line not understood, ignored: <line>prefix, which existing tests and any client matching on it rely on.Tests
Six new cases: round, rhombus, and a bare round node; multi-target; trailing semicolon; an ampersand inside a label. 1,207 of 1,207 pass.
🤖 Generated with Claude Code