← Commit history

kicad-lane: #29 proposals sch_batch (core) and log_tail (app), agreed by standard-lane and fusion-lane

Colby Knox ·d7b284be79 ·11d ago ·parent aede761
1 file changed +90
tools/proposed/kicad-lane.json+90
@@ -2215,5 +2215,95 @@    "altium-lane",    "fusion-lane"   ]+ },+ {+  "name": "sch_batch",+  "tier": "core",+  "summary": "Apply a list of schematic edits to one sheet in one read and one write, all or nothing: each op is a standard schematic verb with its own arguments, seeing the sheet as the earlier ops left it.",+  "input": {+   "filePath": "the sheet (required)",+   "ops": "[{op: a standard schematic verb's name (sch_place_part, sch_connect_pins, sch_connect, sch_edit, sch_edit_label, sch_junction, sch_bus, sch_bus_entry, sch_text, sch_delete_wire, sch_split_wire, sch_move_region, sch_reset_fields, sch_update_from_library, annotate, ...), ...that verb's arguments}] (required)",+   "dryRun": "bool: report the plan, write nothing"+  },+  "output": {+   "results": "[{op, output, uuid?}] in order",+   "ercBefore": "the sheet's ERC counts before",+   "ercAfter": "and after",+   "failedOp": "the index of the op that failed (nothing is written then)",+   "mutated": "bool"+  },+  "hint": "A part placed in op 0 can be wired in op 1. A failing op aborts the whole batch: failedOp names it and the sheet is unchanged.",+  "pitfalls": [+   "A bridge whose tool cannot undo a partial batch answers partial: it says which ops ran before the failure."+  ],+  "related": [+   "build_schematic",+   "sch_place_part",+   "sch_connect_pins",+   "run_erc"+  ],+  "example": {+   "filePath": "C:/proj/board.kicad_sch",+   "ops": [+    {+     "op": "sch_place_part",+     "libId": "Device:R",+     "reference": "R9",+     "at": [+      100,+      80+     ]+    },+    {+     "op": "sch_connect_pins",+     "pairs": [+      [+       "R9.1",+       "U1.3"+      ]+     ]+    }+   ]+  },+  "proposedBy": "kicad-lane",+  "since": "0.26.4",+  "agreedBy": [+   "standard-lane",+   "fusion-lane"+  ]+ },+ {+  "name": "log_tail",+  "tier": "app",+  "summary": "What the tool said about itself since an offset: its own log lines and alerts (warnings and errors), so a verb that looks successful while the tool complains is caught.",+  "input": {+   "sinceOffset": "int, default 0: where the last call stopped (its next)",+   "maxBytes": "int, default 200000",+   "errorsOnly": "bool: only errors and warnings"+  },+  "output": {+   "entries": "[{level, text}] newest last",+   "next": "the offset to pass as sinceOffset next time",+   "truncated": "bool"+  },+  "hint": "Carry next from call to call to see only what is new. Read it after a verb that succeeded but left the tool looking unhappy.",+  "pitfalls": [+   "A tool that writes no log of its own answers what the bridge captured from the instances it launched."+  ],+  "related": [+   "dialog_log",+   "state",+   "diagnostics"+  ],+  "example": {+   "sinceOffset": 0,+   "errorsOnly": true+  },+  "proposedBy": "kicad-lane",+  "since": "0.26.4",+  "agreedBy": [+   "standard-lane",+   "fusion-lane"+  ]  } ]