Skip to content

docs(omarchy): the plugin has now run on a real guest (GDK-225) - #35

Merged
midagedev merged 1 commit into
mainfrom
feat/gdk-225-omarchy-e2e
Aug 19, 2026
Merged

docs(omarchy): the plugin has now run on a real guest (GDK-225)#35
midagedev merged 1 commit into
mainfrom
feat/gdk-225-omarchy-e2e

Conversation

@midagedev

Copy link
Copy Markdown
Owner

The non-AUR install path finally got used end to end. On the Arch + Hyprland guest, contrib/omarchy/install.sh copied, validated and enabled the plugin, omarchy-webapp-install wrote the desktop file, and the bar widget was driven through four stranger-facing states and photographed in each: no-gadak, not-synced, ok, and clicked-open.

The ok badge read 368·201. Cross-checked three ways: the widget, gadak sql --json in the guest ({"open":368,"stuck":201}), and the same query.sql against examples/demo.db on the developer machine (368|201).

Two tracked-doc claims were false and are now true

  • the runbook's "this guest was not given a gadak binary" — it has one at ~/.local/bin/gadak, built from this tree. AUR stays off this guest and the line now says that instead of implying the guest is empty.
  • contrib/omarchy/README.md's "no Omarchy machine has run this plugin yet". It has. The paragraph still says the gate is offline, because that part did not change — a guest run stays manual, not CI.

What else the runbook gains, all of it things that cost this round time:

  • the payload route that works while guest sshd is down — sftp to the Windows host, WSL, a one-shot python3 -m http.server, then curl http://10.0.2.2:8765 from the guest over QEMU user-net. Nothing was installed on Windows or in WSL.
  • the sudo result that kept sshd down (sudo: a password is required; no password was typed or guessed).
  • VNC typing traps: a dropped Shift_L turned curl -sI into curl -stp://… twice, combo:Control+c is rejected because the keysym is Control_L, and export PATH does not reach a widget Quickshell runs with the graphical-session PATH.

Gaps, stated rather than hidden: the sql-err state, the first-poll placeholder, and tooltip text are not staged — tools/vnc-snap.py has no hover and no right-click.

Docs only. No PNGs committed (the runbook forbids it); captures live outside the repo.

Gates, re-run by the lead on the rebased tree: tools/doc-checks.sh exit 0, scripts/scan-internal.sh exit 0 (no token-shaped secrets, no non-allowlisted tenant hosts).

🤖 Generated with Claude Code

… it hasn't (GDK-225)

The non-AUR install path exists precisely so a guest can get a binary
without waiting on AUR packaging, and until now nothing had used it end to
end. A round did, on the Arch + Hyprland VM: `contrib/omarchy/install.sh`
copied and validated and enabled the plugin, `omarchy-webapp-install` wrote
the desktop file, and the bar widget was photographed in `no-gadak`,
`not-synced`, `ok`, and clicked-open. The `ok` badge read `368·201`, which
is what `gadak sql --json` returns on the guest and what the same query
returns against `examples/demo.db` here.

Two claims in tracked docs were false and are now true:

- the runbook's "this guest was not given a gadak binary" — it has one, at
  `~/.local/bin/gadak`, built from this tree. AUR stays off this guest;
  that is a separate track and the line now says so rather than implying
  the guest is empty.
- `contrib/omarchy/README.md`'s "no Omarchy machine has run this plugin
  yet". It has. The paragraph still says the *gate* is offline, because
  that has not changed and a guest run stays manual.

The runbook also gains the parts that cost this round time and would cost
the next one the same: the payload route that works while guest sshd is
down (sftp to the Windows host, WSL, one-shot http.server, `curl
http://10.0.2.2:8765` from the guest over QEMU user-net), the sudo result
that kept sshd down, and the VNC typing traps — a dropped `Shift_L`
turning `curl -sI` into `curl -stp://…` twice, `combo:Control+c` being
rejected because the keysym is `Control_L`, and `export PATH` not reaching
a widget that Quickshell runs with the graphical-session PATH.

Not staged, and said so: the `sql-err` state, the first-poll placeholder,
and tooltip text, which `tools/vnc-snap.py` cannot photograph because it
has no hover or right-click action.

No PNGs are committed (the runbook forbids it); the captures live outside
the repo.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@midagedev
midagedev merged commit c2be5db into main Aug 19, 2026
7 checks passed
@midagedev
midagedev deleted the feat/gdk-225-omarchy-e2e branch August 20, 2026 07:12
midagedev added a commit that referenced this pull request Aug 26, 2026
…h about SQLite

PROMISES #9 promised a YAML persist the code had replaced with SQLite
(origin/issuetap.db, internal/origin/origin.go PersistRel) — the doc's own
preamble calls that a broken promise, and v0.18.1 shipped that way with
every gate green. Three layers:

- The doc: #9 rewritten to the SQLite reality, and its block now proves
  write-through (create, then read the row back with sqlite3, no gadak).
  A new #10 states what deleting gadak.db does NOT lose — saved views,
  visits, searches live in local.db — verified by running the block.
  SECURITY's offboarding paragraph now splits by workspace kind: rm -rf
  ~/.gadak is the whole story on connected/paired, and destroys the origin
  on standalone — back up origin/issuetap.db first.
- The gate: tools/check-promises.sh executes every promise's bash fence
  and asserts exit 0 — skips only by an in-fence marker, zero executed is
  a failure, a numbered promise with no fence is a failure. Wired as
  doc-checks #35, so CI runs it for free. FAIL-first: on the pre-fix tree
  the gate failed on #9 exactly (No such file: origin/issuetap.yaml).
- Known limit stated in the script: exit-code-only, so a grep|wc block
  passes at any count — the gate catches "the block no longer runs",
  not output drift.

Closes GDK-993. Implemented by a GLM-5.3 round; reviewed, gates re-run,
and committed by the lead.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant