Commit Graph
151 Commits
Author SHA1 Message Date
Frank 38236f35f7 live: heartbeat sync 2026-10-28T10:34:49-07:00 (Refs #11) 2026-10-28 10:34:49 -07:00
Frank d73deb61e2 live: heartbeat sync 2026-10-28T09:33:49-07:00 (Refs #11) 2026-10-28 09:33:49 -07:00
Frank 68d6889100 live: heartbeat sync 2026-10-28T08:31:49-07:00 (Refs #11) 2026-10-28 08:31:49 -07:00
Frank 5a3f1a77ac live: heartbeat sync 2026-10-28T07:29:49-07:00 (Refs #11) 2026-10-28 07:29:49 -07:00
Frank 0b27a68c33 live: heartbeat sync 2026-10-28T06:26:49-07:00 (Refs #11) 2026-10-28 06:26:49 -07:00
Frank 0b72e9a427 live: heartbeat sync 2026-10-28T05:23:49-07:00 (Refs #11) 2026-10-28 05:23:49 -07:00
Frank b04a634ec2 live: heartbeat sync 2026-10-28T04:21:49-07:00 (Refs #11) 2026-10-28 04:21:49 -07:00
Frank 240324a18c live: heartbeat sync 2026-10-28T03:18:49-07:00 (Refs #11) 2026-10-28 03:18:49 -07:00
Frank 9d172eff9c live: heartbeat sync 2026-10-28T02:15:49-07:00 (Refs #11) 2026-10-28 02:15:49 -07:00
Frank ddebfb63bb live: heartbeat sync 2026-10-28T01:13:49-07:00 (Refs #11) 2026-10-28 01:13:49 -07:00
Frank b7fd64b241 live: heartbeat sync 2026-10-28T00:11:49-07:00 (Refs #11) 2026-10-28 00:11:49 -07:00
Frank 414b4cd578 live: heartbeat sync 2026-10-27T23:08:49-07:00 (Refs #11) 2026-10-27 23:08:49 -07:00
Frank b289aa59d4 live: heartbeat sync 2026-10-27T22:05:49-07:00 (Refs #11) 2026-10-27 22:05:49 -07:00
Frank 175bbdf451 live: heartbeat sync 2026-10-27T21:02:39-07:00 (Refs #11) 2026-10-27 21:02:39 -07:00
Frank 531ead5775 live: heartbeat sync 2026-10-27T20:01:49-07:00 (Refs #11) 2026-10-27 20:01:49 -07:00
Frank 9df5c50fda live: heartbeat sync 2026-10-27T18:58:49-07:00 (Refs #11) 2026-10-27 18:58:49 -07:00
Frank cd3fe7fd03 live: heartbeat sync 2026-10-27T17:57:53-07:00 (Refs #11) 2026-10-27 17:57:53 -07:00
Frank 218357cb66 live: heartbeat sync 2026-10-27T16:55:49-07:00 (Refs #11) 2026-10-27 16:55:49 -07:00
Frank 31d6924a27 live: heartbeat sync 2026-10-27T15:54:49-07:00 (Refs #11) 2026-10-27 15:54:49 -07:00
Frank feda9fe668 live: heartbeat sync 2026-10-27T14:52:38-07:00 (Refs #11) 2026-10-27 14:52:38 -07:00
Frank 0e2cf13e3b live: heartbeat sync 2026-10-22T11:24:45-07:00 (Refs #11) 2026-10-22 11:24:45 -07:00
Frank 1d1059f7b3 live: heartbeat sync 2026-10-22T11:02:06-07:00 (Refs #11) 2026-10-22 11:02:06 -07:00
Frank b7089ef570 live: heartbeat sync 2026-10-22T10:01:40-07:00 (Refs #11) 2026-10-22 10:01:40 -07:00
Frank dc4de763f3 live: heartbeat sync 2026-10-22T09:01:07-07:00 (Refs #11) 2026-10-22 09:01:07 -07:00
Frank 9d284106ac live: heartbeat sync 2026-10-22T07:59:45-07:00 (Refs #11) 2026-10-22 07:59:45 -07:00
Frank ac2c5c519a live: heartbeat sync 2026-10-22T06:58:47-07:00 (Refs #11) 2026-10-22 06:58:47 -07:00
Frank f1402ca89c live: heartbeat sync 2026-10-22T05:56:18-07:00 (Refs #11) 2026-10-22 05:56:18 -07:00
Frank 4d515f7e81 live: heartbeat sync 2026-10-22T04:54:18-07:00 (Refs #11) 2026-10-22 04:54:18 -07:00
Frank f7281eee42 live: heartbeat sync 2026-10-22T03:51:42-07:00 (Refs #11) 2026-10-22 03:51:42 -07:00
Frank ecb81dd8b8 live: heartbeat sync 2026-10-22T02:50:34-07:00 (Refs #11) 2026-10-22 02:50:34 -07:00
Frank 1b1a296ec5 live: heartbeat sync 2026-10-22T01:47:38-07:00 (Refs #11) 2026-10-22 01:47:38 -07:00
Frank 9a3d364832 live: heartbeat sync 2026-10-22T00:46:57-07:00 (Refs #11) 2026-10-22 00:46:57 -07:00
Frank e529dc5386 live: heartbeat sync 2026-10-21T23:44:55-07:00 (Refs #11) 2026-10-21 23:44:55 -07:00
Frank 9faf7e0652 live: heartbeat sync 2026-10-21T22:44:37-07:00 (Refs #11) 2026-10-21 22:44:37 -07:00
Frank 017404aa51 live: heartbeat sync 2026-10-21T17:49:41-07:00 (Refs #11) 2026-10-21 17:49:41 -07:00
Frank f3360a28f1 feat(models): reach the fleet from off-network through the OpenWebUI door
Every provider in agent/models.yml is a LAN address, so a workstation that
leaves the house has no model at all. Add `openwebui (franksdank.cloud)`:
the already-public OpenWebUI vhost as an OpenAI-compatible provider that
proxies the same engines, with frank-dragoon and frank-zealot rows and the
WAN row as its own compaction target. LAN rows, modelRoles and the speech
runner stay untouched — the door is purely additive.

The key is command-backed (`apiKey: "!cat ~/.config/secrets/openwebui_api_key"`,
mode 600) instead of inline: a literal sk-... in a tracked file is a key in
every agent context on every box that pulls this repo, and the pre-commit
shape gate would block it anyway. Rotate = rewrite the file + restart omp,
because a `!cmd` value is cached for the process lifetime.

Compat blocks copy their LAN twins because the proxy was probed, not assumed
(2026-10-21): streaming SSE carries reasoning_content and tool_calls deltas
plus final usage, image_url content parts reach both vision towers, and
chat_template_kwargs is forwarded — proven on frank-zealot, where
enable_thinking false yields zero reasoning and true a real block.
frank-archon gets no WAN row: OpenWebUI answers 400 "Model not found"
because its picker never published it, so that path is a fleet change.

Verified end-to-end from a scratch HOME whose LAN baseUrls point at a dead
port, so any answer can only have come through the door (text and a real
tool round-trip); `omp models` still lists all four chat providers and the
tts runner, so the file validates. bats 137/137, kb-lint clean.
Docs: omp-docs/core/wan-model-access.md.
2026-10-21 16:48:29 -07:00
Frank ec9bf77b10 live: heartbeat sync 2026-10-21T11:49:23-07:00 (Refs #11) 2026-10-21 11:49:23 -07:00
Frank 6a12ffaef4 live: heartbeat sync 2026-10-21T10:47:56-07:00 (Refs #11) 2026-10-21 10:47:56 -07:00
Frank d33ee26e67 live: heartbeat sync 2026-10-21T09:46:51-07:00 (Refs #11) 2026-10-21 09:46:51 -07:00
Frank b8f66e22b2 live: heartbeat sync 2026-10-21T08:45:51-07:00 (Refs #11) 2026-10-21 08:45:51 -07:00
Frank 07768ce8b5 live: heartbeat sync 2026-10-21T07:43:51-07:00 (Refs #11) 2026-10-21 07:43:51 -07:00
Frank d845160e62 live: heartbeat sync 2026-10-21T06:41:51-07:00 (Refs #11) 2026-10-21 06:41:51 -07:00
Frank 3ab48bf1f2 live: heartbeat sync 2026-10-21T05:39:51-07:00 (Refs #11) 2026-10-21 05:39:51 -07:00
Frank 51f9846ac6 live: heartbeat sync 2026-10-21T04:37:51-07:00 (Refs #11) 2026-10-21 04:37:51 -07:00
Frank 4085ee403f live: heartbeat sync 2026-10-21T03:35:51-07:00 (Refs #11) 2026-10-21 03:35:51 -07:00
Frank 336201e814 live: heartbeat sync 2026-10-21T02:32:51-07:00 (Refs #11) 2026-10-21 02:32:51 -07:00
Frank 22d2f3bcd8 chore(merge): land origin/main (PR #61, PR #63) in the deployment checkout
Two conflicts, both resolved to trunk, both proven content-free for the running
machine before the merge was committed:

- `agent/APPEND_SYSTEM.md` — the checkout's dirty copy and trunk differ in one line
  only: #61's trim of the duplicated one-log reasoning, replaced by the owner pointer.
  The doctrine text itself is byte-identical on both sides.
- `desk-1-home.kdl` — non-comment lines are byte-identical (`diff` on the stripped
  file: no output), so the deployed modes are unchanged: `3440x1440@180.000` ×3 and
  `1920x1080@60.001`. What changes is the comment: trunk's carries the measured mode
  list (`3440x1440@239.998` exists), the reason 180 is deliberate, and the verbatim
  mode-string law — the live copy still asserted "no 240 Hz mode exists", which the
  panel contradicts. `niri validate` on the assembled config: valid.

Deployment state after this: the checkout is main, and `agent/memories/**` +
`agent/managed-skills/**` were committed by the heartbeat commit underneath. Refs #60 #62
2026-10-21 01:45:33 -07:00
Frank 205b54adcb live: heartbeat sync 2026-10-21T01:45:04-07:00 (Refs #11) 2026-10-21 01:45:04 -07:00
Frank 8af40c402b chore(agent): commit the machine tier and the doctrine text the checkout was already running
Landing blocker for #61 and #63: the deployment checkout is 12 commits behind and
`merge --ff-only` refuses while tracked paths are dirty. Discard is not available here
(workspace policy: no `checkout`/`stash` on shared state), so the dirt is committed.

- `agent/APPEND_SYSTEM.md`: the point-of-use / one-work-log / PR-link doctrine, already
  byte-identical to `origin/main` (`cmp` against the trunk blob: no difference). No new
  prose — the commit exists so the trunk merge can proceed.
- `agent/config.yml` and `agent/managed-skills/**`: the machine-live tier the heartbeat
  owns (AGENTS.md § Live-sync tiers).

`ALLOW_SECRETS=1` was used, deliberately and after auditing the staged diff by hand: the
only credential-shaped strings in it are two copies of `AKIA0000000000000EXAMPLE` — the
inert all-zero AWS example id — and they appear inside the two skill pages that teach
that exact placeholder shape. This checkout is still running the pre-#61 hook; the merged
gate (value-scoped placeholder filter, `71601f7`) exempts this value, so the refusal
dies with this landing. No `--no-verify` was used: the gate ran and its verdict is
recorded here.

Refs #61
2026-10-21 01:44:51 -07:00
dank 6e89c63e5d Merge pull request 'fix(#62): frank-dragoon's reasoning_effort contract, measured instead of assumed' (#63) from fix/62-dragoon-effort-contract into main 2026-10-21 01:44:23 -07:00