Pulse Copilot

Pulse Copilot capability parity

← Back to Pulse Copilot

Pulse Copilot got a large capability expansion in the June-July batch. The goal: parity with everything the operator can do in the UI, so the operator can drive routine work via chat.

Approval gate on all mutations

Every WRITE — task template edit, teammate update, message template change, FAQ create, price change, cleaner assign — hits a confirm-before-mutate approval gate.

Copilot proposes the change → the surface shows a "Confirm" button with the diff → operator taps to commit.

Applies to both:

  • Intent tools (structured actions Copilot maps to).
  • Raw execute_trpc (the fallback tool Copilot uses when no intent matches).

Earlier execute_trpc bypassed the gate; fixed in

Anti-clobber read-merge

Copilot's .update calls now do a read-merge — fetch the current row, apply the partial payload as an overlay, submit the full row. Prevents Zod-default clobber where a partial payload replaced unspecified fields with schema defaults.

Applied generally to all clobber-prone .update paths.

Self-approval bypass fix

Copilot used to auto-confirm its OWN approval gate when running multi-turn plans (agentic self-confirm).

Fuzzy / substring fallback

When operator asks about "the coffee capsule supply" and the actual row is "CAFISSIMO 70g FINE AROMA capsules", Copilot's lookup falls back through:

  1. Exact match
  2. Substring match
  3. Fuzzy (edit distance)

Earlier only exact match — Copilot silently reported "not found" when the operator's phrasing didn't match. Fixed.

Anchor-hints — when Copilot has an ambiguous match, it asks "Did you mean CAFISSIMO 70g FINE AROMA or CAFISSIMO STR INTENSO?" instead of guessing.

Missing admin-domain writes

Filled in Copilot's ability to reach missing admin surfaces:

  • Email templates — read + write via approval gate.
  • Pricing — read + write per property.
  • set_cleaner — assign a cleaner to a reservation.
  • FAQ — read + write + create.
  • Message templates — write tool added; earlier Copilot claimed to edit them but silently redirected to FAQ edits.
  • AI Cockpit config — read tools + ergonomic approval-gated writes.
  • User-owned-config audit — Copilot's edits to message_templates + teammates now show up in the audit log with actor=copilot:<agent-name>.

Operator-friendly language

The operator no longer sees:

  • Raw tRPC path names
  • Internal field jargon
  • Chain-of-thought reasoning
  • System-prompt leakage

Copilot speaks operator English: "I'll update the check-in template" instead of "I'll call operations.messageTemplates.update on slug=checkin_instructions".

Copilot cache + cost work

Under the hood:

  • **.
  • **. Now stable.
  • **

Operator sees:

  • Lower per-turn cost visible in Cost dashboard.
  • Faster Copilot responses.
Source: the FlatsBratislava operator manual.