Commit Graph
2872 Commits
Author SHA1 Message Date
ryan4yin | 二花 3266aad4a2 fix(power): drop TuneD for native CPU scaling (#461) 2026-10-16 16:45:08 +08:00
ryan4yin | 二花 643984e1ab fix(power): mask the package's tuned-ppd unit when ppdSupport is off (#460)
The tuned package ships tuned-ppd.service with WantedBy=graphical.target, so
activation starts it without /etc/tuned/ppd.conf and switch-to-configuration exits 4.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-16 00:50:41 +08:00
ryan4yin | 二花 b4b293ebfa fix(power): pin the tuned profile per host, cap the VM hosts (#458)
Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-16 00:42:48 +08:00
ryan4yin | 二花 65f1c8e306 fix(aquamarine): load the power-cap unit's PATH at the service level (#459)
systemd ignores `path` inside [Service], so the unit ran with the default PATH
instead of the coreutils one it asks for.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-16 00:41:59 +08:00
ryan4yin | 二花 e6deb4b564 feat(shoukei): cap battery charging at 90% (#457)
Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-16 00:37:06 +08:00
ryan4yin | 二花 bebe5bcf42 feat(ai,aquamarine): expose board fans and temperatures via SuperIO (#456)
* feat(ai): load nct6683 for the board's NCT6687D SuperIO
* feat(aquamarine): load nct6775 for the board's NCT6798D SuperIO

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-15 23:58:23 +08:00
ryan4yin | 二花 32b4605ab6 feat(aquamarine): cap each R9700 power limit at 250 W #453 2026-10-15 23:27:08 +08:00
Ryan Yin 47dabbf55e docs(ai): drop the tracker links from the monitor and ARGB comments
Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-15 22:29:16 +08:00
Ryan Yin 7eb5ac5017 feat(ai): add OpenRGB control for the board ARGB
Enabling the module runs `openrgb --server` at boot and installs its udev rules,
so the GUI and the CLI reach the MSI controller without root.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-15 22:25:24 +08:00
Ryan Yin b3700b1d9f feat(ai): control external monitors over DDC/CI
The module loads i2c-dev and grants /dev/i2c-* to the i2c group and locally
logged-in users, so ddcutil no longer needs root.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-15 22:25:24 +08:00
ryan4yin | 二花 75a88226c9 refactor(ssh): drop the pinned keys from the LAN block (#446)
Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-15 15:34:48 +08:00
ryan4yin | 二花 e8819de40c feat(vinput): own the config here and read keys from the environment (#445)
* feat(vinput): read provider keys from an EnvironmentFile
* feat(vinput): manage the config from this repository
2026-10-15 13:54:20 +08:00
ryan4yin | 二花 0034b5f131 feat(aquamarine): enable user lingering (#444)
Assisted-by: DeepSeek Harness (gpt-6-sol)
2026-10-15 13:14:17 +08:00
Ryan Yin b4dae701d4 chore: upgrade vinput 2026-10-15 10:16:31 +08:00
ryan4yin | 二花 ef953d9521 fix(mihomo): disable gateway IPv6 DNS answers (#443)
The gateway LAN IPv6 transparent path stalls on TCP flows while IPv4 forwarding remains healthy. Withholding AAAA answers keeps LAN clients on the working fake-IPv4 TProxy path until the IPv6 path is fixed

Assisted-by: DeepSeek Harness (gpt-6.1-sol)
2026-10-15 00:58:43 +08:00
ryan4yin | 二花 bb89987640 fix(mihomo): use fake-IP for gateway IPv6 (#442) 2026-10-14 23:50:40 +08:00
Ryan Yin c888dd65e9 fix(justfile): build colmena deploys on the target host
A deploy from an aarch64 machine built the x86_64 system locally and died on the first platform-specific derivation; colmena 0.5.0 can build on the target instead.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-14 20:15:01 +08:00
Ryan Yin 492dcb13fe fix(ai): match the wired NIC by prefix, not by name
Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-14 20:15:01 +08:00
Ryan Yin 55b7741108 refactor(ai): return ai to the MSI MAG B760M MORTAR and the RTX 4090
The second NVMe and its LUKS volume leave with the Z890 board, so the data-disk disko module is deleted; `ai` must activate this change before the disk is pulled, or its initrd blocks on the missing volume.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-14 20:15:01 +08:00
Ryan Yin 72a7a2ae88 feat(aquamarine): revive aquamarine as a two-GPU inference host
The Z890 board and its root SSD move here from `ai`, and the retired VM's name and 192.168.5.101 are reused.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-14 20:15:01 +08:00
Ryan Yin 9c84636f10 fix(shoukei): pick up Asahi U-Boot DTC fix
Assisted-by: DeepSeek Harness (gpt-6-sol)
2026-10-14 18:34:48 +08:00
Ryan Yin b24f30c38c fix(shoukei): route DNS through the mihomo TUN
Assisted-by: DeepSeek Harness (gpt-6-astra)
2026-10-14 18:34:48 +08:00
ryan4yin | 二花 bac43e0e9f refactor(mihomo): drop the redacted gateway template (#438)
--redact produced a "shareable" template but replaced only the secret and the proxy-subscription urls: rule-provider tokens, private domains, the LAN controller address and the routing rules all stayed. Nothing in the repo consumed it.

Assisted-by: DeepSeek Harness (Qwen3.8-Flash-Next-IQ3_S-ista-text)
2026-10-12 12:59:37 +08:00
ryan4yin | 二花 9c38819517 docs: review and correct comments and documentation (#436) 2026-10-12 10:02:38 +08:00
ryan4yin | 二花 f32d67a5cc feat(agents): add review-comments-and-docs and two evaluation suites (#434)
Adds the review-comments-and-docs skill (1282-word body) and two evaluation suites: a 21-case
measured suite for the skill, and a harness that runs the two concurrency scenarios previously left
unrun in agents/evals/global-rules.md.
2026-10-12 00:35:06 +08:00
ryan4yin | 二花 6a19f6b249 fix(desktop): keep named podman images when pruning (#435)
Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-12 00:29:12 +08:00
ryan4yin | 二花 5c5c11d646 docs(idols-ai): record the mixed-memory freeze and current state (#433)
Assisted-by: DeepSeek Harness (gpt-6.1-sol, deepseek-flash)
2026-10-11 20:13:06 +08:00
ryan4yin | 二花 c347bfe6a9 fix(k3s): drop Home Manager from the test workers (#432)
The worker MicroVMs ran `home-manager-ryan.service`, which failed on two of them
(`/nix/var/nix/temproots` permission denied, and no `/home/ryan`), so
`HostSystemdServiceCrashed` fired for days. Mirror the masters and extend their
regression test to all six nodes.

Assisted-by: DeepSeek Harness 0.2.0-rc.2 (deepseek-flash)
2026-10-11 19:48:14 +08:00
ryan4yin | 二花 2f6f2b6926 fix(monitoring): restore youko metrics, alerts and VM-host deploys (#431)
* flake.lock: Update

nixpkgs only. The new revision builds VictoriaMetrics with cgo
(CGO_ENABLED=1); its pure-Go zstd decoder rejected a stored values block, so
every small-part merge panicked on youko.

* fix(colmena): address the VM hosts by name, not by their IP

`~/.ssh/config` pins the passphrase-protected builder key with IdentitiesOnly
for 192.168.*, so IP-addressed ssh cannot authenticate without a terminal. The
name resolves through the aliases in /etc/ssh/ssh_config.

* fix(monitoring): repair two alert rules VictoriaMetrics rejects

`on(uid)` matches on a label kube-state-metrics no longer emits, and
`!= ON(__name__, instance)` treats every pg_settings series as a duplicate.
They now join on (namespace, pod) and compare with `changes(...[5m])`.

* fix(monitoring): keep disk latency alerts off mechanical disks

Both rules averaged per-op latency with no device or sample guard, so the 4 TB
USB HDD volumes paged constantly (>100 ms/write in 26% of the last 30 days).
They now require a non-rotational physical device and >=5 ops/s.

Assisted-by: DeepSeek Harness 0.2.0-rc.2 (deepseek-flash)
2026-10-11 18:16:04 +08:00
ryan4yin | 二花 497fabbf92 test(agents): tighten language rule eval (#430)
Assisted-by: DeepSeek Harness (gpt-6-luna)
2026-10-11 08:32:50 +08:00
ryan4yin | 二花 3e66bbf24f feat(hosts): add WiVRn CLI streaming for Quest 3 #392 2026-10-10 22:49:48 +08:00
Ryan Yin 7c09a1d082 fix(mihomo): force TUN v6 up so a cold boot keeps IPv6
Without it mihomo skips the TUN's v6 half when no NIC has an IPv6 address at startup, yet still installs its strict-route v6 blackhole, which locks the host out of IPv6.

Assisted-by: DeepSeek Harness (qwen3.8-flash-iq3s-text)
2026-10-10 21:27:45 +08:00
Ryan Yin 0041afc2e7 fix(hosts): drop the legacy ctx7 preservation entry
The ctx7 login still lives in the old directory; activation without moving it loses the login.

Assisted-by: DeepSeek Harness (qwen3.8-flash-iq3s-text)
2026-10-10 19:58:33 +08:00
ryan4yin | 二花 d5fac81fdc Merge pull request #429 from ryan4yin/agents/delivery-text-caps
feat(agents): rework agent rules, find-docs, and delivery text
2026-10-10 19:52:29 +08:00
Ryan Yin 648e375b88 test(agents): add git-delivery fixtures and an A/B run
Assisted-by: DeepSeek Harness (claude-opus-5-5, deepseek-flash, gpt-6.1-sol, gpt-6-luna)
2026-10-10 19:49:45 +08:00
Ryan Yin 7bba1abbc9 feat(agents): cap delivery text and shorten git-delivery
Assisted-by: DeepSeek Harness (claude-opus-5-5, deepseek-flash, qwen3.8-flash-next iq3, gpt-6.1-sol, gpt-6-luna)
2026-10-10 19:49:44 +08:00
Ryan Yin a100790ff2 feat(agents): require self-explaining artifacts and readable brevity
Assisted-by: DeepSeek Harness (qwen3.8-flash-next iq3, gpt-6.1-sol, gpt-6-luna)
2026-10-10 19:49:44 +08:00
Ryan Yin 0e70582642 docs(agents): convert prose tables to grouped lists
Assisted-by: DeepSeek Harness (claude-opus-5-5, qwen3.8-flash-next iq3)
2026-10-10 19:49:44 +08:00
Ryan Yin d808dd914d docs(agents): correct rule boundaries and eval scenarios
Assisted-by: DeepSeek Harness (claude-opus-5-5, deepseek-flash, qwen3.8-flash-next iq3)
2026-10-10 19:49:44 +08:00
Ryan Yin 7b21ea5adb feat(agents): rewrite find-docs onto the nixpkgs ctx7 CLI
Assisted-by: DeepSeek Harness (claude-opus-5-5, deepseek-flash, qwen3.8-flash-next iq3)
2026-10-10 19:49:44 +08:00
ryan4yin | 二花 e2548cd2aa docs(agents): close rule gaps found by evals and record the method (#428)
* docs(agents): state the boundaries the rules only implied
* docs(agents): grow the scenario tables and record the method
* docs(agents): record the evaluation rounds and their size cost
* docs(agents): require disclosure of AI-assisted contributions
* docs(agents): correct safety boundaries and eval records

Assisted-by: DeepSeek Harness (qwen3.8-flash-next iq3, gpt-6-luna & gpt-6.1-sol)
2026-10-10 15:59:57 +08:00
ryan4yin | 二花 9d69832ff7 refactor(agents): pin global skills and trim always-loaded context (#427)
* feat(agents): pin global skills as flake inputs
* refactor(agents): trim always-loaded agent context
2026-10-10 12:16:56 +08:00
ryan4yin | 二花 0d7c4d7cc1 feat(agents): extract global Git delivery skill #426 2026-10-10 11:18:39 +08:00
Ryan Yin 3b63028a05 fix: repair skill frontmatter and cap commit message length 2026-10-10 09:02:08 +08:00
ryan4yin | 二花 b52e242bb1 Merge pull request #425 from ryan4yin/docs/agents-rule-gaps
fix: close rule gaps behind repeated corrections and sync stale docs and recipes
2026-10-10 08:50:13 +08:00
Ryan Yin d64f9c71f1 fix(typos): keep wluma's als key and fix a flagged typo
The pre-commit hook runs typos with write = true, so the next edit to wluma.nix would silently rename wluma's ambient-light-sensor keys to also.
2026-10-10 08:42:38 +08:00
Ryan Yin 5a4a1d0c20 fix(darwin): run the rollback as root
darwin-rebuild rejects switch, activate, rollback and check unless it runs as
root, so the recipe could only ever print an error.
2026-10-10 08:42:38 +08:00
Ryan Yin 8843df1508 docs: correct stale claims found while reviewing the skills
No host defines a *-nixos-tests output; the pod firewall drops 5900-5903
from pod sources; the mihomo core keeps geodata and cache in its
StateDirectory; WA-020 was used twice and the cited WA-028 had no row.
2026-10-10 08:42:38 +08:00
Ryan Yin 60b80e64c8 fix(microvm): restart the guest unit on the physical host to deploy
microvm.nix's sshSwitch step runs nix-store --load-db against the guest's
read-only virtiofs /nix/store and dies there, so the recipe installs the
runner on the physical host and restarts microvm@<guest> instead.
2026-10-10 08:42:38 +08:00
Ryan Yin a2cfa5549c fix(skills): correct stale guidance and widen task triggers 2026-10-10 08:42:38 +08:00