Commit Graph

30 Commits

Author SHA1 Message Date
test0r 1bd11eaf27 daedalus-v4l2{,-dkms}: f04d700 -> f55b2cd (UAF lifetime fix)
Bumps all 4 daedalus packages (arch + debian × userspace + dkms)
to pick up daedalus-v4l2 f55b2cd: "kernel: media_request_get/put
around inf->req (UAF safety)".

Closes the SHIP-WITH-EYES-OPEN concern Sonnet flagged in the
pre-deployment review — without explicit media_request_get on
capture + media_request_put on completion, a concurrent
MEDIA_IOC_REQUEST_REINIT or process-kill triggering
buf_request_complete from the cancel path could drop vb2's
reference before our completion handler ran, leaving inf->req
dangling through v4l2_ctrl_request_complete + buf_done.

Matches the cedrus / rkvdec refcount pattern.  No protocol
change, no API change, no consumer-side adjustment required.
Same byte-exact output verified on hertz post-fix (libva path:
match; standalone test_m2m_stream: 30/30 frames).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 18:39:40 +00:00
test0r 4776dc01d2 daedalus-v4l2-dkms: loud warning when DKMS build doesn't land
Sonnet pre-deployment review caught a BLOCKER: on a fresh higgs
(Debian 13 / Pi CM5) install without the RPi kernel headers
pre-installed, the postinst's `dkms autoinstall || true` silently
swallowed the build failure. Package appeared installed but the
.ko was absent; `modprobe daedalus_v4l2` then failed and the
entire stack was dead with no clear pointer to the cause.

Fix in both ecosystems:

debian/daedalus-v4l2-dkms/build-deb.sh:
- After `dkms autoinstall`, verify the post-condition with
  `dkms status -m daedalus_v4l2 -v VER -k $(uname -r)`.
- If the module isn't 'installed' / 'loaded' for the running
  kernel, emit a yellow-bolded ANSI warning naming the most
  likely cause (kernel headers package missing) and the exact
  recovery steps (linux-headers-rpi-2712 for RPi or
  linux-headers-$KERNELVER for Debian generic, then
  `dkms autoinstall` + `modprobe`).
- Colour only on TTY; the warning is unconditional regardless.

arch/daedalus-v4l2-dkms/:
- New daedalus-v4l2-dkms.install with post_install +
  post_upgrade hooks that run the same `dkms status` check.
- post_upgrade catches the case where a kernel-headers package
  was uninstalled / pruned between upgrades, silently
  regressing the build.
- Wired into the PKGBUILD via install="${pkgname}.install".

Both versions point at the actual repair commands rather than
just saying "build failed", so the user is one apt/pacman away
from a working stack instead of debugging dkms internals.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 18:38:52 +00:00
test0r f3dd1c1886 debian/daedalus-v4l2-dkms: new package — kernel module via DKMS
Mirror of arch/daedalus-v4l2-dkms into the Debian tree.
Architecture: all (source package — DKMS rebuilds per-kernel
at install time).  Same pin (f04d700, Phase 8.13 close).

Installs kernel/ source to /usr/src/daedalus_v4l2-<ver>/ with
generated dkms.conf.  postinst runs `dkms add` + `dkms
autoinstall` so the module builds against the running kernel's
headers automatically.  prerm runs `dkms remove --all`.

Same Makefile-include-path flattening as the Arch sibling:
copies daedalus_v4l2_proto.h into kernel/include/ and patches
the Makefile's -I path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 18:25:46 +00:00
test0r add049f0bd debian/daedalus-v4l2: new package — userspace daemon + tools
Mirror of arch/daedalus-v4l2 into the Debian tree.  Same pin
(f04d700, Phase 8.13 close), same install layout.  Output as
arm64 .deb.

Build path: CMake for daemon (build via ninja); in-tree Makefile
for tools.  No debhelper; standalone dpkg-deb so it builds on
the non-Debian runner.

Depends on ffmpeg (libavformat/libavcodec/libavutil 7.1+) at
runtime, libdrm2.  Recommends daedalus-v4l2-dkms (the kernel
module).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 18:25:39 +00:00
test0r 249e8461bb debian/libva-v4l2-request-fourier: new package
Mirror of arch/libva-v4l2-request-fourier into the Debian tree.
Same pin (de27e95), same build (meson + ninja), output as
arm64 .deb installing the VA-API ICD as
/usr/lib/aarch64-linux-gnu/dri/v4l2_request_drv_video.so.

Auto-detected by VAAPI consumers (ffmpeg -hwaccel vaapi, mpv
--hwdec=vaapi, Firefox VAAPI accel) when
LIBVA_DRIVER_NAME=v4l2_request is set.

build-deb.sh follows the lmcp pattern: reproducible build with
SOURCE_DATE_EPOCH pin; standalone dpkg-deb so it runs on a
non-Debian builder without dh/debhelper.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 18:25:33 +00:00
test0r a168342fa8 lmcp: 1.1.1 -> 1.2.1 (tools.d plugin scan + LMCP_HOST/LMCP_CONF env)
Tracks upstream lmcp v1.2.1 (commits e05438f + c5375b8). Combined
release that lets hosts like hertz/ampere stop maintaining forked
/opt/lmcp/server.lua overrides — packaged server.lua becomes the
canonical entrypoint, host-local tools live in /opt/lmcp/tools.d/
as plugin files, single-interface binding + conf-file auth come via
LMCP_HOST + LMCP_CONF systemd env. Closes lmcp#22 structurally.

New tarball sha256:
  bf9cce1a84c66b1b74c5aec923c5960d60ae33c221afc8d47ce0d74b8f7ee609

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 23:34:07 +00:00
test0r 248bef5503 lmcp: 1.1.0 -> 1.1.1 (bug fix: empty inputSchema.properties)
Tracks upstream lmcp v1.1.1 (commit 9707f7a). Single-bug-fix
release: lmcp:tool() now normalises empty inputSchema.properties
by dropping the key, so Zod-strict MCP clients don't reject
tools/list with "expected: record, received: array".

Discovered live on a hertz-tools deployment where two custom
no-arg tools tripped the check and caused Claude Code to mark
the endpoint as disconnected.

New tarball sha256:
  80c2e815aa61a2d3baab051c51cd247bdefa9dd03d72c4867b99c49b6eae9cb9

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 22:47:21 +00:00
test0r 4764f5f37f lmcp: 1.0.0~rc1 -> 1.1.0
Tracks upstream lmcp v1.1.0 (commit 7e62f71). Closes 3 upstream
issues: #11 (progress + cancellation), #18 (windows MSI sync), #20
(concurrent handler dispatch).

Arch:
  pkgver=1.1.0 (no pre-release suffix this time).
  _tag back-translation kept so future rc bumps just need pkgver=X.Y.Z_rcN.

Debian:
  PKGVER=1.1.0 (no ~ suffix).
  Changelog entry summarises the three closed issues + the zero-
  handler-source-changes invariant.

New tarball sha256:
  d758a9504389528cb8940ea81bc8cf47afad8c01166aef3484ac4f5752445532

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 19:44:26 +00:00
test0r 238c5cee7e lmcp: 0.5.4 -> 1.0.0-rc1 (full MCP 2025-06-18 surface)
Bumps both arch and debian packaging to track upstream v1.0.0-rc1
(commit deb73d1).

Arch (arch/lmcp/PKGBUILD):
  pkgver=1.0.0_rc1 (Arch convention: '_' substitutes for '-' in pre-
  release tags). _tag back-translates for the source URL.

Debian (debian/lmcp/build-deb.sh + changelog):
  PKGVER=1.0.0~rc1 (Debian convention: '~' sorts before the release).
  UPSTREAM_TAG=v1.0.0-rc1 drives the archive URL.

New tarball sha256: 81f9222264371735c196664382460261ef60a259348766bbd6fd2f49ea9d1e7e

What's in 1.0.0-rc1 (full release notes in upstream commit):
  - 14 issues closed
  - new MCP primitives: Resources, Prompts, Completion, Logging,
    Sampling, Roots, fetch, web_search
  - protocol: cursor pagination, structuredContent, _meta, tool
    annotations, protocolVersion bump to 2025-06-18
  - transports: stdio (LMCP_TRANSPORT=stdio), full Streamable HTTP
    rewrite with sessions, persistent SSE, server-initiated requests
  - json.lua: UTF-16 surrogate pairs + empty_object sentinel
  - backwards-compatible with every existing sessionless-POST client

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 17:18:18 +00:00
marfrit beebeb6c65 claude-his-agent v0.2.0: split — public framework only, private runbook fetched at install
build and publish packages / distcc-avahi-aarch64 (push) Successful in 45s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 14m43s
build and publish packages / claude-his-debian (push) Successful in 7s
The previous package bundled the agent prompt + skill cheatsheet, which leaked
home-infra topology (specific hosts/IPs, plug AINs, /opt/herding cred file
paths, kid/2FA context) to anyone with the public APT/pacman repo URL.

v0.2.0 ships only the plumbing:
- /usr/bin/claude-his-fetch     (rsync runbook from $HIS_CONTEXT_HOST over SSH)
- /usr/bin/claude-his-install   (symlinks cache -> ~/.claude/)
- /usr/share/doc/claude-his-agent/README.md

Runbook content lives at $HIS_CONTEXT_HOST:/opt/his-context/ (default hertz)
and gets fetched into ~/.cache/claude-his-agent/ on install. SSH key auth is
the trust boundary.

Adds rsync + openssh-client as runtime deps. Upstream sha256:
c39dd1a956d303ac2417498dde05ac923bf686f1fc978f78f0d63ca42432b8b8
2026-05-02 15:48:04 +00:00
marfrit e0c1816ff4 claude-his-agent: bump to v0.1.9 (closes marfrit/claude-his-agent#1 #2 #3)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 50s
build and publish packages / lmcp-any (push) Successful in 10s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 11s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 18m59s
build and publish packages / claude-his-debian (push) Successful in 7s
2026-04-29 10:02:44 +02:00
test0r 23fa4376ff claude-his-agent: bump to v0.1.8 (document /opt/herding/etc cred paths)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m9s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 7s
2026-04-24 15:18:06 +02:00
test0r 1b0b609ae7 lmcp 0.5.4: ship lmcp.service systemd unit template
build and publish packages / distcc-avahi-aarch64 (push) Successful in 42s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Failing after 4s
build and publish packages / claude-his-debian (push) Has been skipped
2026-04-21 22:23:54 +02:00
test0r 0a58b1e14f lmcp 0.5.3: bump build-deb.sh PKGVER+sha (forgot earlier)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 38s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Failing after 4s
build and publish packages / claude-his-debian (push) Has been skipped
2026-04-21 16:11:54 +02:00
test0r c07d1f846c lmcp 0.5.3-1: hub hardening — hard ssh timeout, parallel probes, sticky DOWN cache
build and publish packages / distcc-avahi-aarch64 (push) Successful in 46s
build and publish packages / lmcp-any (push) Failing after 4s
build and publish packages / lmcp-debian (push) Has been skipped
build and publish packages / claude-his-any (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
2026-04-21 14:00:28 +02:00
test0r 2ebaf04c47 lmcp: bump to v0.5.2 (shell_bg + remote_shell_bg)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 4s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 11:34:48 +02:00
test0r a91516df60 claude-his-agent: bump to v0.1.7 (Gitea bug-filing convention)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 42s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 11:32:49 +02:00
test0r a4182851ed lmcp: bump to v0.5.1 (search_files BSD find symlink fix)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 30s
build and publish packages / lmcp-any (push) Successful in 24s
build and publish packages / lmcp-debian (push) Successful in 6s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 4s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:48:27 +02:00
test0r d02dfdbfa0 lmcp: bump to v0.5.0 (hub broker + examples)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 40s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 6s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / claude-his-debian (push) Successful in 4s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:30:03 +02:00
test0r 6a97649c1d claude-his-agent: bump to v0.1.6 (pump-mode runbook note)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 30s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 22:00:56 +02:00
test0r 1e884d74c0 claude-his-agent: bump to v0.1.5 (+zeroconf in DISTCC_HOSTS)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 38s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 7s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 21:37:28 +02:00
test0r dc1d053da1 lmcp: pkgrel=2 — retrigger CI for previous lmcp-any flake
build and publish packages / distcc-avahi-aarch64 (push) Successful in 39s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 9s
build and publish packages / claude-his-debian (push) Successful in 5s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 13:20:28 +02:00
test0r 22060e09e1 lmcp: bump to v0.4.1 (LMCP_TOKEN env fallback + macOS installer)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m11s
build and publish packages / lmcp-any (push) Failing after 13s
build and publish packages / lmcp-debian (push) Has been skipped
build and publish packages / claude-his-any (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:47:01 +02:00
test0r 66a70508b2 claude-his-agent: bump to v0.1.4 (ship repo-inventory scripts)
build and publish packages / distcc-avahi-aarch64 (push) Failing after 12s
build and publish packages / lmcp-debian (push) Has been skipped
build and publish packages / lmcp-any (push) Has been skipped
build and publish packages / claude-his-any (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Tag v0.1.3 added the scripts + quickref, v0.1.4 fixed doc paths.
Package both /usr/bin/repo-inventory.sh and /usr/bin/repo-inventory-nosudo.sh.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 18:10:16 +02:00
test0r a7976f1b7d lmcp: bump to v0.4.0 (edit_file tool)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / claude-his-debian (push) Successful in 4s
Claude Code Edit semantics — literal string replace with uniqueness
check. replace_all flag for bulk edits. Fixes missing edit tool on
lmcp-backed boltzmann / tesla / broglie.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 17:48:45 +02:00
test0r 27689de255 claude-his-agent: bump to v0.1.2 (runbook safety additions)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / claude-his-debian (push) Successful in 6s
2026-04-17 16:38:53 +02:00
test0r 0b5416fe07 claude-his-agent: bump to v0.1.1 (broglie dev-only runbook)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 30s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
2026-04-17 14:46:49 +02:00
test0r 3314971389 Add claude-his-agent package (arch=any + debian Architecture: all)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 44s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
- arch/claude-his-agent/PKGBUILD: fetches v0.1.0 tarball from
  git.reauktion.de/marfrit/claude-his-agent, installs agent+skill+helper
  to /usr/share/claude-agents/, /usr/share/claude-skills/his/, /usr/bin/
- debian/claude-his-agent/: control+changelog+copyright + build-deb.sh
  mirroring the lmcp-debian pattern (dpkg-deb, reproducible mtimes)
- .gitea/workflows/build.yml: two new serialized jobs (claude-his-any +
  claude-his-debian) after lmcp-debian; same publish flow as lmcp.
2026-04-17 14:05:07 +02:00
marfrit e103550ca5 lmcp deb: reproducible build via SOURCE_DATE_EPOCH
build and publish packages / distcc-avahi-aarch64 (push) Successful in 28s
build and publish packages / lmcp-any (push) Successful in 5s
build and publish packages / lmcp-debian (push) Failing after 4s
reprepro refuses to re-include a .deb if the bytes differ from one
already in pool/. Fixed mtimes via SOURCE_DATE_EPOCH make subsequent
builds byte-identical, so CI re-runs of the same pkgver/pkgrel are
accepted as no-ops instead of failing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:23:53 +00:00
marfrit c7b018174b lmcp: Debian packaging + CI publish via hertz reprepro
build and publish packages / distcc-avahi-aarch64 (push) Successful in 28s
build and publish packages / lmcp-any (push) Successful in 6s
build and publish packages / lmcp-debian (push) Failing after 9s
- debian/lmcp/build-deb.sh fetches the v0.3.0 tarball, lays out the
  filetree, and uses dpkg-deb to assemble lmcp_0.3.0-1_all.deb directly
  on the Arch aarch64 runner (no debhelper needed for a pure-Lua pkg).
- workflow job 'lmcp-debian' rsyncs the .deb to hertz's marfritrepo
  incoming dir, then ssh-triggers 'publish-deb <suite>' for both
  bookworm and trixie. publish-deb wraps 'reprepro includedeb' and
  rsyncs dists/+pool/ to nc.
- New secret MARFRIT_REPO_HERTZ_KEY uploaded to Gitea repo. Forced
  command on hertz routes rsync uploads vs publish-deb triggers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:13:16 +00:00