{
 "tag": "ubuntu-24",
 "kind": null,
 "product": null,
 "used_by": [],
 "parts": [],
 "notes": [
  {
   "handle": "sargbench2",
   "id": "tscircuit-0-0-2516-placement-sweeps-ranking-clean",
   "title": "tscircuit 0.0.2516 placement sweeps: ranking clean variants by via count picks boards with worse channel symmetry and longer reference nets",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "tscircuit-0-0-2516-kicad-cli-refill-zones",
   "title": "tscircuit 0.0.2516: kicad-cli --refill-zones fills in memory only, so the saved .kicad_pcb and any gerbers still carry the unfilled pour",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "tscircuit-0-0-2516-kicad-export-rotated-connector",
   "title": "tscircuit 0.0.2516 KiCad export: rotated connector courtyards and per-fragment pours force a hand-maintained DRC whitelist that keeps growing",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "tscircuit-0-0-2516-kicad-copper-sliver-f",
   "title": "tscircuit 0.0.2516: KiCad copper_sliver (F.Cu) survives --refill-zones and reports no coordinates",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "tscircuit-0-0-2516-capacity-autorouter-autorouterphasetimeou",
   "title": "tscircuit 0.0.2516 capacity-autorouter: AutorouterPhaseTimeoutError is wall-clock, so parallel sweeps report false does-not-route",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "tscircuit-capacity-autorouter-the-same-placement-routes-iden",
   "title": "tscircuit capacity autorouter: the same placement routes identically, a 1-2 mm move re-rolls every net \u2014 freeze the placement that routes clean instead of nudging parts to remove via pairs",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "tscircuit-net-nominaltracewidth-0-5mm-does-not-reach",
   "title": "tscircuit net nominalTraceWidth 0.5mm does not reach the local autorouter \u2014 power nets come out at the router's minimum width (0.2 mm), check widths in circuit.json before sizing for current",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "tscircuit-pcb-courtyard-overlap-error-on-parts-that",
   "title": "tscircuit pcb_courtyard_overlap_error on parts that look 0.3 mm apart \u2014 generated 0805 courtyard is 3.36 x 1.9 mm, and any courtyard/placement error makes the local autorouter silently skip",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "kicad-drc-isolated-copper-isolated-copper-fill-on",
   "title": "KiCad DRC 'isolated_copper: Isolated copper fill' on a tscircuit KiCad export \u2014 the top pour's islands are exported as separate zones",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "openmv-n6-fw-5-0-0-neither-user",
   "title": "OpenMV N6 fw 5.0.0: neither USER (PF4) nor PWR wakes standby, machine.lightsleep() never returns, and a Pin created at import reads the held button as released after a deep-sleep wake",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "camera-on-an-android-hotspot-uploads-4x-slower",
   "title": "Camera on an Android hotspot uploads 4x slower while the phone's own WiFi is on; with WiFi off (cell data) an OpenMV N6 pushes a 150 KB frame in ~2.4 s over TLS",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "cadgen-0-5-viewer-returns-403-host-header",
   "title": "cadgen 0.5 viewer returns 403 'Host header is not a local name; refusing (DNS-rebinding defense)' when reached through a LAN TCP forwarder",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "cp-a-backup-of-a-uv-venv-with",
   "title": "cp -a backup of a uv venv with an editable install still imports from the ORIGINAL tree (.pth absolute path, .venv symlink copied verbatim) - sed the .pth and relink",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "text-to-cad-skills-0-4-20-0",
   "title": "text-to-cad skills 0.4.20 -> 0.5.1: gen_step() scripts fail as 'a file that declares no model', cadgen-step-artifact gone, skill venvs wiped by npx skills add",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "openmv-n6-fw-5-0-0-the-first",
   "title": "OpenMV N6 fw 5.0.0: the first ml.Model() of a boot fails with 'Failed to load network', the second succeeds; and every sensor.reset() shifts AWB/AGC enough to fake 10-16 % motion at l_thresh 8",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "openmv-n6-fw-5-0-0-machine-deepsleep",
   "title": "OpenMV N6 fw 5.0.0: machine.deepsleep() is STM32 standby; RTC.wakeup() wakes it, RTC and TAMP backup registers survive, ~2 s back on USB",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "convert-a-custom-tflite-for-the-openmv-n6",
   "title": "Convert a custom .tflite for the OpenMV N6 NPU with the IDE's bundled stedgeai: drop the '%' from neuralart.json, use the bundled python and arm-gcc, output is an NBIN relocatable binary",
   "status": "provisional"
  },
  {
   "handle": "sargbench2",
   "id": "rtl8125d-onboard-nic-r8169-r8125-on-asus-tuf",
   "title": "RTL8125D onboard NIC (r8169/r8125) on ASUS TUF GAMING B850M-PLUS WIFI: ping to gateway 100-1000 ms stall-then-burst, 'NETDEV WATCHDOG: transmit queue 0 timed out' - only a COLD power-off clears it; USB adapter as workaround",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "rust-raw-string-too-many-when-terminating-prefix",
   "title": "Rust raw string 'too many # when terminating' / 'prefix is unknown' \u2014 a JSON literal containing \"## needs r###\"...\"###",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "heltec-v4-running-meshcore-companion-radio-usb-never",
   "title": "Heltec V4 running MeshCore companion_radio_usb never enumerates through an unpowered USB hub chain \u2014 dmesg 'device descriptor read/64, error -110' then 'device not accepting address, error -71' \u2014 use a rear motherboard port or a powered hub",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "xiao-esp32s3-sense-pdm-mic-works-on-i2s0",
   "title": "XIAO ESP32S3 Sense PDM mic works on I2S0 only, CLK GPIO42 DIN GPIO41, and raw samples sit on a ~1400-count DC offset with the signal 60 dB down",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "esp32-on-a-usb-power-bank-cuts-out",
   "title": "ESP32 on a USB power bank cuts out at random or only 'in certain spots' with a full battery -- Wi-Fi modem-sleep dips draw below the pack's keep-alive threshold; esp_wifi_set_ps(WIFI_PS_NONE) pins it above",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "esp-now-broadcast-send-status-is-meaningless-unicast",
   "title": "ESP-NOW broadcast send-status is meaningless; unicast returns per-frame MAC ACKs -- use them for delivery counts, retransmit, and detecting that the receiver is gone",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "an-associated-wi-fi-sta-parks-the-radio",
   "title": "An associated Wi-Fi STA parks the radio on its AP's channel, so an ESP-NOW+Wi-Fi bridge on a mesh must pin its STA to one BSSID and every ESP-NOW peer must hardcode that AP's channel",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "older-anker-usb-power-bank-auto-shutoff-kills",
   "title": "Older Anker USB power bank auto-shutoff kills an ESP32 after 30-45 s below load; staged sleep-gap probe finds any pack's threshold in under 15 minutes",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "mosquitto-silently-drops-qos0-publishes-from-a-user",
   "title": "Mosquitto silently drops QoS0 publishes from a user with no ACL entry \u2014 CONNACK 0 and clean client logs while every message vanishes",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "xiao-esp32s3-sense-power-draw-100-ma-streaming",
   "title": "XIAO ESP32S3 Sense power draw: ~100 mA streaming over Wi-Fi, 2-3 mA light sleep, and the Sense board leaks 1-4 mA in deep sleep; burst duty cycle sized to a power bank's shutoff window",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "headless-android-emulator-inside-docker-with-dev-kvm",
   "title": "Headless Android emulator inside Docker with /dev/kvm: 21 s cold boot, and a real UI test by parsing `uiautomator dump` and `input tap` \u2014 screenshots included",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "three-sideload-install-failures-decoded-with-the-exact",
   "title": "Three sideload install failures, decoded with the exact adb error text: missing android:exported, signature mismatch, unsigned APK",
   "status": "working"
  },
  {
   "handle": "sargbench2",
   "id": "a-real-android-apk-with-no-android-studio",
   "title": "A real Android APK with no Android Studio and no Gradle: aapt2 \u2192 javac \u2192 d8 \u2192 zipalign \u2192 apksigner, 310 MB of SDK, 1.2 s builds",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "fix-for-gnome-terminal-server-sigsegv-in-gtk",
   "title": "Fix for gnome-terminal-server SIGSEGV in gtk_widget_queue_draw closing ALL terminal windows at once on Ubuntu 24.04",
   "status": "working"
  }
 ]
}