Conversation
PR SummaryMedium Risk Overview Simulation behavior changes: transition structural enablement and firing now treat inhibitor arcs as guards ( Editor + examples updates: the arc properties panel can toggle input-arc type, inhibitor arcs render as dashed edges with a circle marker, and a new “Deployment Pipeline” example net demonstrates inhibitor usage; existing tests/examples were updated to include Reviewed by Cursor Bugbot for commit 0647a99. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
🤖 Augment PR SummarySummary: This PR adds inhibitor-arc support to Petrinaut SDCPN nets, including persistence, simulation semantics, and UI rendering. Changes:
Technical Notes: Inhibitor arcs currently affect marker rendering interactions with existing arrow markers (noted in PR description), and the new arc type is passed through ReactFlow edge data for rendering. 🤖 Was this summary useful? React with 👍 or 👎 |
kube
left a comment
There was a problem hiding this comment.
Looks good! Good job!
Only minor thing on making type required on ArcData to force the mapper.
Will check a bit more on Monday after you fixed the AI reviews, but should be good.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
Autofix Details
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Output arcs receive unintended
typeproperty fromaddArc- Updated
addArcto addtypeonly for input arcs and removed the invalidtypefield from the output-arc test fixture.
- Updated
Or push these changes by commenting:
@cursor push ba1e8904d4
Preview (ba1e8904d4)
diff --git a/libs/@hashintel/petrinaut/src/lsp/lib/create-sdcpn-language-service.test.ts b/libs/@hashintel/petrinaut/src/lsp/lib/create-sdcpn-language-service.test.ts
--- a/libs/@hashintel/petrinaut/src/lsp/lib/create-sdcpn-language-service.test.ts
+++ b/libs/@hashintel/petrinaut/src/lsp/lib/create-sdcpn-language-service.test.ts
@@ -113,9 +113,7 @@
inputArcs: [
{ placeId: "place1", weight: 1, type: "standard" as const },
],
- outputArcs: [
- { placeId: "place2", weight: 1, type: "standard" as const },
- ],
+ outputArcs: [{ placeId: "place2", weight: 1 }],
lambdaCode: "",
transitionKernelCode: "",
},
diff --git a/libs/@hashintel/petrinaut/src/state/mutation-provider.tsx b/libs/@hashintel/petrinaut/src/state/mutation-provider.tsx
--- a/libs/@hashintel/petrinaut/src/state/mutation-provider.tsx
+++ b/libs/@hashintel/petrinaut/src/state/mutation-provider.tsx
@@ -126,13 +126,18 @@
guardedMutate((sdcpn) => {
for (const transition of sdcpn.transitions) {
if (transition.id === transitionId) {
- transition[
- arcDirection === "input" ? "inputArcs" : "outputArcs"
- ].push({
- type: "standard",
- placeId,
- weight,
- });
+ if (arcDirection === "input") {
+ transition.inputArcs.push({
+ type: "standard",
+ placeId,
+ weight,
+ });
+ } else {
+ transition.outputArcs.push({
+ placeId,
+ weight,
+ });
+ }
break;
}
}This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7692cc7. Configure here.


🌟 What is the purpose of this PR?
Adds inhibitor arcs to petrinaut. Specifically this:
Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
The new circle markers for inhibitor arcs don't play super nice with the existing arrows for other arcs. Currently if there is an inhibitor arc, any standard arc arrows are hidden by the new circle marker. We will likely need to rethink how we show markers/connections down the line.
The new dashed stroke style is also possibly confusing. Based on some quick research, it looks like "conditional arcs" also use a dashed line style. I've adjusted the stroke to be a dot-dash pattern to make it less confusing, but it may still not be a great style.