Commit Graph

406 Commits

Author SHA1 Message Date
rcourtman 6340cd36f2 Dedupe internal/api handler families behind shared flows and generics
Clears the sixteen dupl pair groups in internal/api plus the pkg/pulsecli
pair:

- router.go: privileged settings endpoints share the
  serveSetupTokenOrSettingsWrite gate; patrol findings convert via one
  unifiedFindingFromAI; the five infrastructure-summary chart loops share
  collectGuestChartData / fillChartSeriesFromBatch; the VM/LXC workloads
  summary loops share appendGuestWorkloadSummaries.
- deploy_handlers.go: preflight and job status/SSE handlers share
  handleDeployJobStatus / handleDeployJobEvents.
- recovery_handlers.go: points series/facets share
  parseRecoveryListPointsOptions.
- truenas_handlers.go / vmware_handlers.go / router_routes_registration.go:
  the connection update flow (locate, decode-with-fallback, normalize,
  preserve masked secrets, validate, save, redact) moves to the new
  platform_connection_shared.go (updatePlatformConnection +
  decodeOptionalInstanceRequest + the admin-gated item-route builder);
  per-platform wrappers carry nolint'd declarative wiring only.
- docker_metadata.go / guest_metadata.go: GET/PUT payload semantics move
  to metadata_handlers_shared.go; the zero-record-instead-of-404 contract
  is pinned by TestContract_MetadataGetPayloadsUseZeroRecordsInsteadOf404.
- kubernetes_agents.go / docker_agents.go: lifecycle PUTs share
  per-handler action helpers.
- config_node_handlers.go: PBS/PMG probes share
  testProxmoxPlatformConnection.
- cloud_handoff_handlers.go / purchase_return_redemptions.go: secrets
  sqlite stores open through openHardenedSecretsDB so permission
  hardening stays single-sourced.
- ai_handlers.go / chat_service_adapter.go: the GetMessages adapters are
  deliberate contract mirrors — suppressed with nolint and enforced by
  TestOrchestratorAndChatAdaptersMapTheSameMessageFields.
- pkg/pulsecli/actions.go: action subcommands seed env defaults via
  actionAPIDefaults (tested); the audit/events cobra registration pair is
  nolint'd parallel wiring.
- .golangci.yml: exclude gitignored tmp/ from ./... typechecking.
- subsystem_lookup_test.py: refresh the pinned api-contracts.md line
  numbers shifted by the contract additions.

golangci-lint run ./... is now fully green. Full internal/api and
pkg/pulsecli test suites pass.
2026-06-10 10:52:05 +01:00
rcourtman d89257f9d8 Add Assistant tool chain fixture
Add a paced local Assistant fixture that exercises consecutive tool start, progress, completion, and replacement states without opening a provider request.
2026-06-08 07:13:37 +01:00
rcourtman 7cf9b81210 Show Assistant prompt send status
Seed Assistant turns with a local prompt-send status, promote it when the chat stream opens, and keep backend workflow activity as the durable stream evidence.
2026-06-08 06:53:51 +01:00
rcourtman 13b2c33dfd Align Assistant route wait status
Use neutral assistant wait status while keeping selected model route metadata visible. Make transient retry copy explicit that Pulse retries the selected route rather than switching providers.
2026-06-08 06:37:47 +01:00
rcourtman 17ef976140 Expose Assistant fixture commands 2026-06-08 00:24:25 +01:00
rcourtman 648e24182d Add Assistant live wait heartbeat 2026-06-07 17:21:47 +01:00
rcourtman 84ec1a7214 Align Assistant provider retry with OpenCode 2026-06-07 17:04:42 +01:00
rcourtman 50d9fcd021 Add Assistant session compaction 2026-06-07 10:55:13 +01:00
rcourtman 1fc36a790b Show Assistant context tools as activity rows 2026-06-07 10:02:29 +01:00
rcourtman fc24ac0aee Add Assistant queue-drain fixture 2026-06-07 09:12:46 +01:00
rcourtman 59391aebf7 Keep live Assistant workflow activity visible
Preserve workflow activity rows across active stream content and tool boundaries, and type the generated chat SSE route metadata that drives model activity rows.
2026-06-07 02:41:57 +01:00
rcourtman 2291924cb6 Show Assistant provider retry progress 2026-06-06 15:55:59 +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 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 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 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 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 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 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 05abf07219 Add Kubernetes, TrueNAS, and vSphere alert targets 2026-05-28 18:23:14 +01:00
rcourtman 75d1a0477b Enforce upgrade readiness before v6 updates
Refs #1476
2026-05-28 17:22:01 +01:00
rcourtman e1d1ec1d7c Add update readiness checks for v6 upgrades
Surface server upgrade readiness on update plans so v5 agent continuity and agent token scope issues are checked before install.
2026-05-28 16:47:49 +01:00
rcourtman 8769f07eea Land SMART/SSH temperature feature, rc.6 finalization, and post-IA-revert governance reconciliation 2026-05-27 15:27:25 +01:00
rcourtman 84c43ad3e1 Fix Windows agent installer readiness path 2026-05-26 10:19:56 +01:00
rcourtman c1a4f4579e Align Windows agent onboarding with seamless install flow 2026-05-26 09:29:03 +01:00
rcourtman 7470b62a01 Fix Proxmox PBS backup artifact surface 2026-05-25 21:47:12 +01:00