Commit Graph

1672 Commits

Author SHA1 Message Date
dc4560cf27 sync: auto-sync from HOWARD-HOME at 2026-06-17 17:49:01
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 17:49:01
2026-06-17 17:49:20 -07:00
7ad6202e6e sync: auto-sync from GURU-5070 at 2026-06-17 17:34:25
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-17 17:34:25
2026-06-17 17:34:41 -07:00
ed2819ac87 sync: auto-sync from GURU-5070 at 2026-06-17 16:18:26
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-17 16:18:26
2026-06-17 16:18:44 -07:00
28442a6696 dataforth: hardened fix spec for test-datasheet defects (multi-AI reviewed)
Consolidates AD2's diagnosis + independent Grok/Gemini review into an
implementation spec for the 5 fixes (RTD label, DSCA Final-Test rebuild, retest
supersede rule, encoded-serial importer decode, 379 backfill) with per-fix
validation gates and a cross-cutting re-publication discipline. Drives the
AD2-side implementation. Ref ticket #32441.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:18:44 -07:00
8f602b3e17 sync: auto-sync from HOWARD-HOME at 2026-06-17 16:01:19
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 16:01:19
2026-06-17 16:01:28 -07:00
cbe7175fbb sync: auto-sync from HOWARD-HOME at 2026-06-17 15:47:50
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 15:47:50
2026-06-17 15:48:18 -07:00
0166f1db64 sync: auto-sync from GURU-5070 at 2026-06-17 14:19:50
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-17 14:19:50
2026-06-17 14:24:35 -07:00
40ff8accd3 sync: auto-sync from HOWARD-HOME at 2026-06-17 13:53:40
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 13:53:40
2026-06-17 13:53:49 -07:00
23e2493082 sync: auto-sync from HOWARD-HOME at 2026-06-17 13:26:13
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 13:26:13
2026-06-17 13:26:21 -07:00
ba1f962974 wiki: compile cascades-tucson (full) — catalog reporting SaaS + proposed KPI dashboard (Ashley Jensen) 2026-06-17 13:01:41 -07:00
cabbc0eb6e sync: auto-sync from HOWARD-HOME at 2026-06-17 12:34:44
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 12:34:44
2026-06-17 12:35:36 -07:00
Winter Williams
05d5ed83ac sync: auto-sync from GURU-BEAST-ROG at 2026-06-17 12:18:02
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-17 12:18:02
2026-06-17 12:18:09 -07:00
2b792ee5d1 agy(gemini): fix false auth-abort in retry loop + add quota fallback to default model
While using the new 3-retry gemini path for live VPN research, two bugs surfaced:
- emit_or_fail checked auth_failed INSIDE the retry loop; a benign mid-run token-refresh line
  matched the over-broad auth regex (bare login|credential|authenticat|oauth|401) and aborted the
  retries with a false "auth error" - even though `gemini -p` auth tested fine. Moved auth-classify
  to AFTER the retries (it only picks the final error message now) and tightened auth_failed to real
  signatures (invalid_grant, not authenticated, login with google, token expired, ...).
- Added quota_exhausted() + a QUOTA FALLBACK: the pinned strong model (gemini-3.1-pro-preview) hit
  "exhausted your capacity on this model" mid-session; emit_or_fail now retries once on the default
  (lighter) model by stripping -m (separate quota). Validated: capped pro run -> fell back -> 2.9KB answer.

CT_THOUGHTS Thought 2 Resolution updated with both. (Search-bot reliability hardening continues.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 12:09:58 -07:00
Winter Williams
18d7a01d28 sync: auto-sync from GURU-BEAST-ROG at 2026-06-17 11:53:00
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-17 11:53:00
2026-06-17 11:53:14 -07:00
2ad2f5b5b7 sync: auto-sync from GURU-5070 at 2026-06-17 11:44:54
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-17 11:44:54
2026-06-17 11:45:09 -07:00
388f66ca11 errorlog: search-bot fallback entries from this session's e2e validation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 10:41:22 -07:00
315f45bf7c search-bots: fix reliability (diagnosed) - gemini 3-retry + grok xsearch auto-fallback to gemini
Mike's must-fix. Diagnosed from RAW output of failing queries (not guessed):
- grok xsearch = TIMEOUT: grok-4.20-multi-agent web_search runs past budget on multi-part queries
  (286s/280s, rc=124, still searching - 183 thoughts, only progress-noise text); buffered json => total loss.
- gemini search = INTERMITTENT empty turn (a clean re-run gave a real 2.6KB answer in 122s); the wrapper
  retried only once, so two empties in a row failed spuriously.

Fixes:
- ask-gemini.sh emit_or_fail: retry up to 3x with 3s/6s backoff (was 1).
- ask-grok.sh xsearch: --output-format streaming-json (salvage partials) + AUTO-FALLBACK to
  ask-gemini.sh search when grok doesn't finish (rc!=0 or empty). Validated e2e: grok timed out
  (rc=124) -> fell back -> gemini returned a real sourced answer (UniFi Teleport invite-link API).

grok's own multi-agent timeout is an xAI-side limitation; the fallback makes xsearch reliable regardless.
Docs: grok SKILL.md xsearch row + CT_THOUGHTS Thought 2 Resolution.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 10:38:44 -07:00
58343bd656 sync: auto-sync from HOWARD-HOME at 2026-06-17 10:16:13
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 10:16:13
2026-06-17 10:16:21 -07:00
c239b3ece6 sync: auto-sync from HOWARD-HOME at 2026-06-17 10:10:48
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 10:10:48
2026-06-17 10:10:59 -07:00
9de4764ca6 wiki: compile lens-auto-brokerage (seed)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 09:57:12 -07:00
265fa0edd8 sync: auto-sync from HOWARD-HOME at 2026-06-17 09:52:59
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 09:52:59
2026-06-17 09:53:09 -07:00
1dd2f208a0 ct-thoughts: web-search bots reliability = MUST FIX (Mike) + research-method correction
Mike's correction: web search (grok xsearch + gemini search) carries at least as much weight as
live API probing - the searches gave the real leads this session (connector proxy, teleport setting
path); blind endpoint-probing is "highly suspect" (mostly 404s). And the search bots MUST be properly
fixed - both returned empty repeatedly on UniFi research despite the same-day partial grok fix.

- docs/CT_THOUGHTS.md: Thought 2 (HIGH PRIORITY) - web-search reliability must-fix, with the observed
  failures + a proper-fix investigation plan (capture failing-query JSON; max-turns/streaming-json/
  retry; cross-fallback grok<->gemini; 5/5 acceptance).
- memory feedback_web_search_over_probing: lead with web search/docs; probe only to CONFIRM a
  hypothesis, never as primary discovery. Reading our own config is fine; guessing paths is not.
- errorlog correction logged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 09:36:36 -07:00
8f72178d8a sync: auto-sync from HOWARD-HOME at 2026-06-17 09:35:47
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 09:35:47
2026-06-17 09:35:58 -07:00
8f0e576c49 unifi-wifi: correct the Teleport finding - config API IS reachable via the connector
Earlier "no usable Teleport API" was wrong (probed /rest/teleport, /stat/teleport, /v1/teleport).
Gemini research + live verification: Teleport config lives at /api/s/<site>/rest/setting/teleport
(GET/PUT, also under /get/setting key 'teleport') - reachable via the connector. Brooklyn confirmed
enabled, subnet 192.168.1.1/24. Invite generate/revoke is reportedly POST /api/s/<site>/cmd/teleport
{"cmd":"generate-invite"|"revoke-invite"} (untested - it creates a live VPN access link; gate as a
write). Invites are WiFiman-app-only. Proxy path is /v1/connector/consoles/{id}/proxy/... (Gemini's
/v1/hosts/{id}/proxy form 404s). Doc updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 09:22:05 -07:00
80723d159d unifi-wifi: neighbor-collect connector-capable (remote disables) + document VPN/Teleport reach
neighbor-collect.sh: add `--console <name> [--site <short>]` so the AP name/BSSID/IP map can come
from the cloud connector (/v1/connector/.../stat/device) instead of a UOS direct-login -- lets the
disable-analysis collector run against ANY console we have AP-VLAN reach to (the AP SSH harvest of
/proc/ui_neighbor is unchanged and still needs L3 reach). UOS path untouched. Validated against
Cascades via connector: source=CONNECTOR, built 77-mac + 450-bssid map for the 75 online APs.

This completes the hybrid (don't-lose-functionality): connector for airtime everywhere + neighbor-
collect (any source) for the SNR matrix -> NEIGHBOR_JSON -> optimize-radios disables on remote sites.

Documented (references/site-manager-api.md): the neighbor-collect --console flow, and the gateway
VPN/Teleport reach -- connector reaches /rest/networkconf (VPN servers: wireguard-server/openvpn-
server, site-to-site) read+writable in principle (gate writes like gw-control); Teleport has no
usable API (v1/ea/teleport 404, per-console /teleport 403).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 09:05:50 -07:00
dccd381820 unifi-wifi: validate connector RF analysis vs UOS (Cascades) - macs[] fix + --site passthrough
Validated the cloud-connector analysis against a KNOWN entity (Cascades, normally UOS-Mongo).
The connector reaches the self-hosted "UOS Server" host; Cascades is its site `va6iba3v`.

Two fixes from the validation:
- rf-analyze.py: pass macs:[<all uap macs>] to /stat/report/*.ap. The UniFi report endpoint
  returns only a small DEFAULT subset otherwise -- Cascades came back as 10 of 77 APs until the
  MAC list was supplied. Now profiles all 75 (uaps with 2.4 radios), matching the UOS path.
- model-rank.sh / optimize-radios.sh: --console now accepts --site <name> (internal short name
  from /api/self/sites) for multi-site controllers like the UOS Server (Cascades = va6iba3v).

Result lines up with the known UOS-Mongo figures: 75 APs, 2.4GHz util 65-90% / interf 53-78% /
~1 client each, all power-down, 0 disables (roam graph absent via connector -> same coverage-safe
degradation; disables still need NEIGHBOR_JSON). Apples-to-apples confirmed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 08:53:36 -07:00
1a90a48c82 unifi-wifi: model-rank + optimize-radios run on cloud-connector data (non-UOS consoles)
Both analyses now accept `--console "<name>"` and run against the UniFi cloud connector
instead of the UOS Mongo server, so RF airtime tuning works on standalone/non-UOS consoles
(e.g. Brooklyn/Skybar). The UOS Mongo path is unchanged.

- New shared analyzer scripts/rf-analyze.py: pulls per-AP/band airtime history via the
  connector POST /stat/report/hourly.ap (SAME schema as ace_stat.stat_hourly) + /stat/device
  for names/zones, derives cu_interf = cu_total - cu_self_rx - cu_self_tx, and runs the SAME
  model-rank ranking and optimize-radios greedy power-down/disable logic (ported faithfully).
- Roam graph (/stat/event) is usually empty on small/stationary sites -> graceful degrade:
  model-rank ranks by airtime pressure; optimize-radios returns power-down candidates + 0
  disables (coverage-safe). NEIGHBOR_JSON (SNR matrix) still enables disables, as on UOS.
- model-rank.sh / optimize-radios.sh: added the `--console` route (resolves the key from
  vault services/unifi-site-manager, execs rf-analyze.py). Validated on Brooklyn/Skybar:
  2.4GHz saturated (Yoga AP cu 63%/interf 55%), 5GHz idle (1-5%) - the expected pain-band split.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 08:43:09 -07:00
7e7358957c unifi-wifi: cloud Site Manager backend (gw-sitemanager.sh) + UOS-parity connector tier
New backend reaching ANY of the ~36 ACG UniFi consoles remotely via api.ui.com with the
account key (vault services/unifi-site-manager) - no UOS server, no LAN/VPN. Mapped the API
surface empirically (key live), corroborated by grok+gemini web search:

- Tier 1 (Site Manager): fleet/devices/sites/isp commands - inventory, site health (counts,
  IPS, ISP/ASN), and WAN/ISP time-series (latency/throughput/downtime).
- Tier 2 (CLOUD CONNECTOR -> console LOCAL Network API = UOS PARITY): the `net` command proxies
  /v1/connector/consoles/<id>/proxy/network/api/s/<site>/stat/{device,sta}, returning the SAME
  ace_stat depth as the UOS Mongo path - per-radio cu_total airtime/channel/bw/tx_power/num_sta/
  satisfaction and per-client rssi/signal/noise/satisfaction/rates. Verified live on Brooklyn/
  Skybar (standalone UDM, WAN-firewalled): `net brooklyn radios` + `net brooklyn clients` work.

This achieves parity with (and broader coverage than) the UOS server for non-UOS consoles.
Added references/site-manager-api.md (full catalog + 3 tiers), a Plane 3 note in SKILL.md, and
updated the reference memory. Read-only; POST actions (device restart, client block) exist, not wired.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 08:32:00 -07:00
ee707c674b acg-website: Phase 3B - radio show promotion, funnel, enhanced CTAs, layout density
Radio Show Promotion:
- Add LIVE badge to header phone with subtle pulse animation
- Add radio promo bar under hero (show name, time, call-in number)
- Radio ticker at bottom remains from Phase 3A

3-Step Visual Funnel:
- New funnel-steps section after Trust
- Progression: 1. Build estimate → 2. Talk it through → 3. Month-to-month start
- Interactive number badges with hover lift + color fill
- Mobile responsive (stacks vertically on small screens)

Strengthen Calculator CTAs:
- Pricing teaser: Make 'Build your exact price' primary button (was more-link)
- All 6 service cards: Add inline 'See what this costs →' calculator links
- Guides prospect directly to calculator from any service mention

Increase Vertical Rhythm:
- Section padding: clamp(2.75rem, 5.5vw, 4.25rem) for breathing room
- Service list: +1.5x base margin-bottom after dense grid
- Dispatch grid: +1.5x base margin-bottom after blog cards

All changes deployed to ww9.azcomputerguru.com and verified live.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-17 07:15:41 -07:00
73cd978500 acg-website: Phase 3A enhancements - premium polish + dark mode fix
- Add timing system: --t-fast/med/slow + cubic-bezier easing vars
- Enhanced button/card hover: subtle lift + box-shadow + filter
- Nav link underline wipe effect with accent color
- Form input focus: accent border + 25% opacity outline
- Micro-interactions: stepper scale, switch snap, FAQ rotation
- Reveal animations: opacity + translateY with 55ms stagger
- Radio promo bar CSS + pauseable ticker on hover
- Dispatch board: 1px grid + left accent rule + tighter cards
- CRITICAL FIX: orphaned CSS selector causing dark mode white boxes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-17 07:04:11 -07:00
ebcf1b98d5 acg-website-showcase: curate brand kit to forward-relevant assets
Per Mike: don't keep the full archive tracked. Trimmed the brand kit from 34M -> 14M,
keeping only forward-relevant assets: the StyleGuide PDF, current logos
(transwhite/flatwhite) + vector master (guru-vector.eps, moved out of Old/), Guru
Icons, the Lato family (+ OFL + README), Colors reference, social avatar, and the
2025 letterhead (png + docx). Removed legacy Old/ marks, business cards, raster
flat-icon sheets, the superseded 2021 letterhead, and generic stock images.
(Original archive remains recoverable from git history.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 06:19:01 -07:00
7d84857cc5 sync: auto-sync from Mikes-MacBook-Air.local at 2026-06-17 06:18:23
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-06-17 06:18:23
2026-06-17 06:18:26 -07:00
83efd4d909 acg-website-showcase: add ACG master brand kit
Imported the canonical "Branding Stuff" archive (2026-06-15) into the website
project at projects/acg-website-showcase/brand-kit/: logos (transwhite/flatwhite/
vector EPS), full Lato font family (+ SIL OFL license), Guru Icons (16-512px),
brand Colors reference, social avatar, letterhead (2021/2025), business cards,
flat icon sheets, and stock images. 64 files. Added a README documenting contents
+ licensing (Lato = OFL; verify stock-image licenses before public reuse).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 06:15:01 -07:00
2fea35714b sync: auto-sync from HOWARD-HOME at 2026-06-17 00:09:45
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-17 00:09:45
2026-06-17 00:09:53 -07:00
f26e0a1da1 sync: auto-sync from HOWARD-HOME at 2026-06-16 23:54:06
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-16 23:54:06
2026-06-16 23:54:14 -07:00
950c0f722e sync: auto-sync from HOWARD-HOME at 2026-06-16 23:33:45
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-16 23:33:45
2026-06-16 23:33:54 -07:00
7ac55e56fe sync: auto-sync from HOWARD-HOME at 2026-06-16 21:34:19
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-16 21:34:19
2026-06-16 21:34:40 -07:00
294ee5f8f6 unifi-wifi: fix apply-wlan wlan_bands 6e->6g; add 5GHz + 6GHz phases to Cascades runbook
- apply-wlan.sh: wlan_bands token was "6e" but this controller stores "6g" (verified live on Cascades
  Guest SSID) -> setting 6 GHz membership would have failed. Fixed band values + option names (5g6g/6g/all).
- Cascades 2.4 runbook: folded in Phase 5 (5 GHz: width 80->40 on 76 radios; channel plan with the
  DFS decision flagged -- DFS empirically clean here, so including clean-DFS gives ~20 channels vs ~5
  non-DFS-only for 77 APs) and Phase 6 (6 GHz: root cause = production SSID CSCNet not on 6 GHz [bands
  2g,5g only]; add 6g + enable bss-transition; band-steering already on). Per Howard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 21:34:40 -07:00
33beed8489 cascades 2.4 runbook: Floor 1 per-AP (skip 128/108) instead of zone — no pointless 128 re-enable 2026-06-16 21:34:39 -07:00
f4c8b2832b cascades 2.4 runbook: exclude Floors 5 & 6 per Howard; Floor 4 power-down done 2026-06-16 21:34:39 -07:00
feb222178c acg-website: update skin switcher labels (remove Paper references)
Updated aria-label and title attributes on skin toggle button to reflect
current 3-skin configuration: Bold / Midnight / Verdigris

Deployed to ww9.azcomputerguru.com

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-16 20:34:41 -07:00
6d3735bc0e acg-website: remove ledger background ruling pattern
Removed repeating-linear-gradient background-image that creates horizontal
ledger lines. Bold design has no ledger rulings - clean backgrounds only.

Deployed to ww9.azcomputerguru.com

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-16 20:33:43 -07:00
c9406d8cd9 acg-website: remove Paper/Ledger skin, set Bold as default
- CSS: Bold tokens now at :root (bone/near-black palette, signal orange)
- JS: skin switcher cycles Bold/Midnight/Verdigris (default: bold)
- HTML: all 7 pages default to bold skin
- Docs: README + DESIGN.md rewritten for Bold design language
- Deployment: live at ww9.azcomputerguru.com (IX hosting, grey-cloud DNS)

Paper/Sonoran Ledger skin dropped per user direction. Single-page ledger
version in root retained as archived reference pattern.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-16 20:30:10 -07:00
ef4577cf75 skills(brainstorming): make request-only, not auto-trigger
Upstream description ("You MUST use this before any creative work...") would
auto-fire the brainstorming skill on routine feature/code work. Rewrote the
frontmatter description to invoke ONLY when the user explicitly asks to
brainstorm/design. Methodology body (incl. HARD-GATE) unchanged. Noted in SOURCE.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 20:22:59 -07:00
7f243e15b8 skills: harvest 4 MIT dev skills from obra/superpowers (awesome-claude-skills)
From the ComposioHQ/awesome-claude-skills list. Checked licenses BEFORE copying:
- threat-hunting-with-sigma-rules: repo is gone (GitHub 404) -- not harvested.
- forensics (mhattingpete): repo restructured, those skills no longer exist -- not harvested.
- pdf / mcp-builder (Anthropic official): LICENSE.txt FORBIDS copying out of the
  Service / derivatives / redistribution -- NOT harvestable into this repo (install via
  the official Claude Code marketplace instead if wanted).
- obra/superpowers: MIT -> the only legally harvestable set; imported with attribution.

Imported (each with its own MIT LICENSE copy + SOURCE.md provenance, commit a21956e48c13,
ASCII-normalized to house style, no emojis):
- using-git-worktrees
- test-driven-development (+ testing-anti-patterns.md)
- root-cause-tracing (+ find-polluter.sh helper, emojis -> ASCII markers)
- brainstorming (methodology only; upstream visual websocket server intentionally omitted)

Faithful imports -- content not reworded beyond ASCII typography/emoji normalization.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 20:22:59 -07:00
38cff65fba ollama: fix broken endpoint auto-detect in OLLAMA.md one-liner (RTFM audit)
Audited the Ollama reference (no wrapper script — it's the OLLAMA.md doc + inline
HTTP-API call pattern) against the live server (Ollama 0.30.8 on GURU-5070):
- /api/chat + think:false + res['message']['content'] confirmed working (clean
  output, no thinking leak) -- the core call pattern is correct.
- All referenced models exist on the server (qwen3:8b, qwen3.6:latest, qwen3:14b,
  codestral:22b, nomic-embed-text).

Real bug found + fixed: the "Preferred one-liner" auto-detected the endpoint with
`urlopen(...)` used as a truthiness test. urlopen RAISES URLError on a down host
(proven), so the ternary's fallback branch was dead code -- it crashed on a down
localhost instead of failing over to Beast, and it did a per-call probe that
contradicts the doc's own "read endpoint from identity.json, no probe" rule 30 lines
above. Replaced with the identity.json endpoint+model pattern (also swaps the
hardcoded qwen3:14b for the per-machine prose_model). Validated verbatim end-to-end.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 20:22:59 -07:00
ca4e00e6a5 wiki: compile cascades-tucson (full) — WiFi RF + network/pfSense + SSH backend, 55.75h 2026-06-16 20:08:02 -07:00
d60648404f sync: auto-sync from HOWARD-HOME at 2026-06-16 19:40:32
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-16 19:40:32
2026-06-16 19:40:40 -07:00
c2854228d4 errorlog: wiki-compile --full subagent friction (32k output crash on large article) 2026-06-16 19:30:49 -07:00
a757308b0a wiki: compile cascades-tucson (full) - voice VLAN plan, CSCNet PPSK correction, CS-SERVER RAID/backup 2026-06-16 19:29:50 -07:00