Commit Graph
6 Commits
Author SHA1 Message Date
Sharang ParnerkarandClaude Opus 4.8 aab22d6492 feat(plc): analyse graphical logic (FBD/LD) from PLCopen XML
CI / Deploy Agent (pull_request) Has been skipped
CI / Check (pull_request) Successful in 6m40s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CODESYS control logic is frequently written in graphical languages, but the
scanner only understood Structured-Text bodies — FBD/LD/SFC were skipped, so
their comm calls, hardcoded arguments and safety writes went unseen.

Translate FBD/LD networks to synthetic ST and run them through the existing ST
parser + rules: blocks become calls (`TypeName(pin := arg, …)`), out-variables
and coils become assignments, and input pins are resolved by tracing
`connectionPointIn`/`refLocalId` back through the network (contacts AND-chain to
the power rail; nested blocks are referenced by a synthetic result so calls are
emitted exactly once). SFC step/transition graphs are skipped, but the ST/FBD/LD
bodies embedded in their actions/transitions are still translated.

Also fixes a latent doubling bug in `collect_text`: `descendants()` yields both
an element and its child text node, so every value was collected twice. Harmless
for ST (duplicate statements landed on one synthetic line and deduped) but it
corrupted graphical single-token expressions (`502` -> `502502`,
`FALSE` -> `FALSEFALSE`). Now only text nodes are gathered.

Adds an FBD demo fixture (pump_fbd.xml) + FBD/LD/regression tests.

Part of #165 (graphical languages). Native `.project`/`.projectarchive` parsing
and SFC graph semantics remain follow-ons. Tracker #167.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 13:36:34 +02:00
Sharang Parnerkar 5cafd13f44 ci: log orca webhook response so deploy steps arent silent
CI / Deploy Agent (push) Has been skipped
CI / Deploy Dashboard (push) Has been skipped
CI / Deploy Docs (push) Has been skipped
CI / Deploy MCP (push) Has been skipped
CI / Check (push) Has been skipped
CI / Detect Changes (push) Successful in 5s
Nightly E2E Tests / E2E Tests (push) Failing after 2m59s
2026-04-08 15:09:27 +02:00
Sharang ParnerkarandClaude Opus 4.6 69209649a5 ci: trigger first orca build for all services
CI / Check (push) Has been skipped
CI / Deploy Agent (push) Successful in 7m5s
CI / Deploy Dashboard (push) Failing after 21m28s
CI / Detect Changes (push) Successful in 4s
CI / Deploy Docs (push) Successful in 30s
CI / Deploy MCP (push) Successful in 1m31s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 10:10:07 +02:00
Sharang ParnerkarandClaude Opus 4.6 d5439adc0d ci: trigger build of dashboard, docs, mcp images for orca
CI / Check (push) Has been cancelled
CI / Detect Changes (push) Has been cancelled
CI / Deploy Agent (push) Has been cancelled
CI / Deploy Dashboard (push) Has been cancelled
CI / Deploy Docs (push) Has been cancelled
CI / Deploy MCP (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 10:09:49 +02:00
Sharang ParnerkarandClaude Opus 4.6 bc7cdd35e4 ci: replace coolify webhook with orca deploy
CI / Check (push) Has been cancelled
CI / Detect Changes (push) Has been cancelled
CI / Deploy Agent (push) Has been cancelled
CI / Deploy Dashboard (push) Has been cancelled
CI / Deploy Docs (push) Has been cancelled
CI / Deploy MCP (push) Has been cancelled
Each deploy job now builds the per-service image, pushes to the
private registry as :latest and :sha, then triggers an HMAC-signed
orca redeploy webhook. Coolify webhooks are no longer used.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 10:06:11 +02:00
Sharang ParnerkarandClaude Opus 4.6 c062d834a1 fix: downgrade dotenv missing file from FAILED to info message
CI / Check (push) Has been skipped
CI / Detect Changes (push) Successful in 3s
CI / Deploy Agent (push) Successful in 2s
CI / Deploy Dashboard (push) Has been skipped
CI / Deploy Docs (push) Has been skipped
CI / Deploy MCP (push) Has been skipped
Nightly E2E Tests / E2E Tests (push) Failing after 2m16s
Non-fatal in Docker where env vars come from container config.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 15:33:24 +02:00