Commit Graph

880 Commits

Author SHA1 Message Date
rcourtman 479ac6db2c Stream Assistant cold sessions directly 2026-06-05 11:54:01 +01:00
rcourtman 6bbbf185bb Make workload discovery repair known service results 2026-06-05 09:21:53 +01:00
rcourtman 3c24304826 Update subsystem lookup line expectation 2026-06-04 21:58:35 +01:00
rcourtman d305d602a6 Add resource-context Assistant eval 2026-06-04 18:44:47 +01:00
rcourtman 3f8525a7c2 Implement resource-aware Assistant context 2026-06-04 16:36:04 +01:00
rcourtman bd6f77e093 Prepare v6.0.0 release candidate
Tighten v5-to-v6 upgrade safety, release installability, provider MSP mode handling, AI cost accounting, metrics flushing, and frontend guardrails for the v6.0.0 GA candidate.
2026-06-04 14:07:14 +01:00
rcourtman 99532e21fa Cap QNAP autorun encrypted-volume wait at 30 minutes (#1422)
Back-port v5 fix 9fe622b88 to v6's append_qnap_autorun_block. The autorun
waiter now polls for the wrapper every 2s up to a 1800s cap, logging the
wait duration on success and a timeout message if the encrypted data
volume never unlocks — instead of v6's unbounded 'while [ ! -x ]; do sleep
5; done' loop that hangs forever. Runtime counters are escaped so they
evaluate at QNAP boot, not install time; marker-based removal keeps it
uninstall-safe.
2026-06-04 10:24:33 +01:00
rcourtman 672e819850 Verify service restart in unattended auto-update; roll back if down (#1323)
Back-port the pulse-auto-update.sh half of v5 fix 0f2982ce3 to v6. After a
verified update, if Pulse was running beforehand, wait_for_service_active
polls up to 20s, tries one explicit start, and if it still does not come
back up restores the backup binary/VERSION, restarts, and returns failure
instead of leaving Pulse stopped (common on unprivileged LXC where the
installer's restart silently fails). Adds a BASH_SOURCE guard so the
script can be sourced, plus scripts/tests/test-pulse-auto-update.sh.

Note: the install.sh start_pulse STOPPED_PULSE_SERVICE guard (interactive
installer path) still needs the stop-tracking infrastructure wired into
v6's update flow; tracked as a follow-up.
2026-06-04 09:07:24 +01:00
rcourtman 0d0eb4bf11 Stabilize v6 release dry-run backend gate 2026-06-03 18:12:42 +01:00
rcourtman d5f144f8f1 Prepare v6.0.0 stable release 2026-06-03 17:31:11 +01:00
rcourtman 4ef6caaa9d Finalize v6 GA release packet 2026-06-03 17:15:00 +01:00
rcourtman 1f84fd3dd0 Harden v6 upgrade release proofs 2026-06-03 17:07:25 +01:00
rcourtman 17e854e7b6 Use agent update target for stale notices 2026-06-03 14:42:43 +01:00
rcourtman b50b99c7c6 Route stale agents to scoped update commands 2026-06-03 14:11:33 +01:00
rcourtman eab73d2453 Fix PBS backup identity matching 2026-06-03 11:43:20 +01:00
rcourtman 65cdcdd457 Add v5 agent self-update runtime proof
Extend the unified-agent RC rehearsal with an optional local v5-to-v6 process-swap check.

Record the v5.1.34 to v6.0.0-rc.6 proof result for the upgrade-continuity gate.
2026-06-03 09:39:25 +01:00
rcourtman c7e50d5602 Harden provider-hosted MSP isolation
Broker provider control-plane Docker access through a socket proxy, remove broad host mounts, align audit and rate-limit proxy trust, harden tenant runtime containers, restrict workspace report logo paths, and update provider deploy guardrails.
2026-06-02 21:10:13 +01:00
rcourtman d6964832a0 Add entitlement-gated report branding 2026-06-02 18:11:25 +01:00
rcourtman d729461cad Harden provider MSP tenant isolation
- isolate provider MSP tenant runtimes onto per-client Docker networks
- add adversarial proofs for workspace cap races, handoff retargeting, and org-bound agent report retargeting
- pin provider deploy proof to start Traefik before tenant network creation
2026-06-02 17:34:10 +01:00
rcourtman 473a0ddee6 Add provider MSP tenant rollout upgrade proof 2026-06-02 16:45:03 +01:00
rcourtman a0f2fcf1fe Add provider MSP upgrade runner 2026-06-02 16:19:51 +01:00
rcourtman e86143f07f Surface provider MSP backup readiness 2026-06-02 16:02:04 +01:00
rcourtman 42fb8eed3f Publish provider MSP control-plane image 2026-06-02 15:51:21 +01:00
rcourtman 25febfbf82 Fix provider MSP compose mount identity 2026-06-02 15:25:05 +01:00
rcourtman f68d0ae079 Add provider MSP first-time setup artifact 2026-06-02 15:18:11 +01:00
rcourtman 5505f930c6 Add provider MSP compose install proof runner 2026-06-02 15:06:49 +01:00
rcourtman 4c31fa88f3 Add provider MSP install proof 2026-06-02 14:50:36 +01:00
rcourtman e5a7300aff Add provider MSP workspace recovery 2026-06-02 14:28:16 +01:00
rcourtman a2e860dc8c Add provider MSP backup restore 2026-06-02 14:14:07 +01:00
rcourtman c9f84c5192 Add provider MSP backup command 2026-06-02 14:03:19 +01:00
rcourtman f128c0b8cd Add provider MSP status command 2026-06-02 13:33:27 +01:00
rcourtman c9c415d7a6 Require license-backed provider MSP proof 2026-06-02 13:22:15 +01:00
rcourtman e99ca62c81 Add provider MSP preflight readiness checks 2026-06-02 13:02:13 +01:00
rcourtman 3f20c85e86 Add provider MSP proof command
Adds a provider-hosted MSP proof command that exercises provider bootstrap, workspace creation, hosted tenant install-token generation, handoff exchange, setup-facts visibility, and cross-tenant token isolation.
2026-06-02 12:45:48 +01:00
rcourtman 5134e36c28 Add provider-hosted MSP install path 2026-06-02 12:11:35 +01:00
rcourtman 57486cee88 Harden MSP onboarding proof gaps 2026-06-02 10:15:35 +01:00
rcourtman fe06747418 Improve MSP onboarding guidance 2026-06-02 08:55:40 +01:00
rcourtman d425f02661 Improve MSP workspace setup onboarding 2026-06-02 00:27:19 +01:00
rcourtman dfb9bdcd18 Make MSP workspace setup flow first-class 2026-06-01 23:49:30 +01:00
rcourtman 00f6ee9daa Make MSP workspace onboarding actionable 2026-06-01 22:41:10 +01:00
rcourtman 184f8244da Record pre-GA public checkout posture 2026-06-01 18:47:15 +01:00
rcourtman 5afe1845cf Report target RC telemetry signal coverage 2026-06-01 17:59:28 +01:00
rcourtman c61bd1c554 Show telemetry deep-signal sources by version 2026-06-01 17:50:22 +01:00
rcourtman 22115e4061 Record hosted runtime hibernation policy 2026-06-01 17:16:13 +01:00
rcourtman 9a61fe761e Record MSP provider-hosted launch stance 2026-06-01 17:08:07 +01:00
rcourtman 914465e67f Tighten MSP workspace tier limits 2026-06-01 16:55:23 +01:00
rcourtman e450c6a4da Lock MSP Starter self-serve checkout 2026-06-01 16:19:24 +01:00
rcourtman a13218a39a Recover managed mock-mode restart handoffs
Adopt replacement managed hot-dev supervisors during listener waits and let mock-mode toggles continue only when the browser entrypoint proves the requested runtime state after a non-clean restart.
2026-06-01 08:33:18 +01:00
rcourtman af358ef365 hot-dev: isolate mock data dir so mock/real switching is clean
Mock and real mode shared tmp/dev-config, so toggling between them left
residue each way: real connections (and a live local agent) showed in
Settings during mock, and mock-cluster alerts lingered in real mode.
The toggle script had an isolation flag but it only reached the
standalone runtime, never managed-hot-dev.

hot-dev.sh now routes mock mode to tmp/mock-data and real mode to
tmp/dev-config, choosing the dir from the canonical PULSE_MOCK_MODE flag
that toggle-mock writes to tmp/dev-config/.env. The flag is read from
that file authoritatively rather than from the environment, because a
stale PULSE_MOCK_MODE exported into the hot-dev supervisor from a prior
mock run would otherwise keep real mode pinned to the mock dir.

toggle-mock status now reports the isolated mock dir for hot-dev
runtimes so it matches what the backend actually uses.

Verified a full round trip: real -> dev-config (real connections only),
mock -> mock-data (mock data only, no real bleed), real -> dev-config
(no mock-cluster residue). Trade-off: real metrics history no longer
accrues during mock UI sessions, which is the right call for clean
dev switching.
2026-05-30 19:28:25 +01:00
rcourtman bcbec3acdb Fix release smoke for installer endpoints (#1470) 2026-05-29 15:10:09 +01:00