From 1e633f9bd968727bc5be793e3d8835dbe5b4af9c Mon Sep 17 00:00:00 2001 From: gramps Date: Fri, 28 Aug 2026 12:30:00 -0700 Subject: [PATCH] =?UTF-8?q?Spin=20guard:=20derivative-work=20rule=20(AGENT?= =?UTF-8?q?S.md)=20+=20rationale=20(ai.md)=20=E2=80=94=20proactive=20exter?= =?UTF-8?q?nal=20scan=20cites=20in=20commit=20msg;=202nd=20failed=20fix=20?= =?UTF-8?q?=3D=20STOP=20and=20research=20externally,=20never=20a=203rd=20g?= =?UTF-8?q?uess?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Project lesson cited (the 2026-08 web-box saga, 9 commits): browser sources are fixed canvases per OBS convention — the 'gap' was a widget CSS glow, not a bug. --- AGENTS.md | 11 +++++++++++ HANDOFF.md | 5 +++++ ai.md | 14 ++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 48a0201..b99617f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -58,6 +58,17 @@ at a problem. (merged once in `App.xaml`; never duplicate per-window). - **Do not add comments unless the code needs them; do not expand the task queue on your own** — work only what the user queues. +- **Derivative work / spin guard.** Every problem here is derivative — OBS, other + overlay tools, and the WPF/WebView2 ecosystems already solved it. Both sides are + mandatory, not advisory: + - **Proactive (new features):** before writing code, do a quick external scan + (websearch: how do OBS/CEV/overlay tools do this?) and cite the reference in the + commit message. + - **Spin guard (objectively triggered):** a SECOND failed remedy for the same + symptom = STOP. No third guess over the same code. Research the established + answer externally, cite its URL in the commit message AND in `MyMistakes.md`, + then code it. You do not know everything — repeated failure is a research + trigger, not a persistence trigger. - **Response style: no default planning template.** Do the work, then report what changed and what's next. No "Plans & Pitfalls", pros/cons tables, or step-by-step plans unless the user asks for a plan first (see `ai.md`). diff --git a/HANDOFF.md b/HANDOFF.md index afd865c..9ba7ce4 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -43,6 +43,11 @@ auto-fit sized to the crop (`ab29ec8`, reverted). ## Key facts / landmines +- **Why the web-box saga spun (2026-08):** nine commits of in-head theorizing for a problem + OBS already solved (browser source = fixed canvas, box = user-sized, content clips at the + edge). The apparent gap was the widget's CSS glow, not a bug. → AGENTS.md now mandates + external research on the second failed fix and proactive scans for new features. + - **App running locks `ytLive.exe`** → build fails MSB3027 until creator exits the app. - **Startup diagnostics:** unhandled exceptions + checkpoints go to `%APPDATA%\ytLlive\startup.log` (`Helpers/AppLog.cs`). On a silent startup crash, read that. diff --git a/ai.md b/ai.md index 5d07f9b..6fa3b21 100644 --- a/ai.md +++ b/ai.md @@ -14,6 +14,20 @@ Skip feature pitch, step-by-step implementation plans, pros/cons tables, and "potential pitfalls" sections unless the user explicitly asks for a plan first. A short diff-style summary beats a proposal document every time. +## Derivative work (spin guard mandated in AGENTS.md) + +Nothing we build is novel — streaming/overlay/WebView2 problems were solved by +OBS, CEV, and WPF ecosystems long before us. Two consequences: +1. **Proactive:** new features start with a quick external scan, not head-first + design (citation goes in the commit message). +2. **Objectively triggered spin guard:** a second failed fix for the same symptom + means STOP theorizing and research the established answer externally; there is + no unique bug in this repo that the wider ecosystem hasn't hit. +This project's hard lesson: the web-source bounding saga (2026-08) burned 9 +commits rediscovering that a browser source is a *fixed canvas* — OBS keeps it at +a stable page size, crops/hugs content via the box, and clips at the edge. The +apparent "gap" that ended the saga was a widget's own CSS glow effect, not a bug. + ## LAN infrastructure (192.168.50.x) All LAN credentials live in `CREDENTIALS.md` (gitignored). Server IPs and roles: