Commit graph

4 commits

Author SHA1 Message Date
aea4fd2f0c feat(260717-v6c): add markCampaignAccidentalReport + generateAndPostAccidentalReportNote
- generateAndPostAccidentalReportNote mirrors generateAndPostAcknowledgment:
  fixed customer-visible template (noteType 18/publish 1), per-ticket
  try/catch isolation, zero evidence interpolation (T-23-01)
- markCampaignAccidentalReport mirrors markCampaignFalsePositive's D-04
  guard/transaction shape, then posts the note post-commit outside the
  FOR UPDATE lock; note-post failure never propagates
2026-07-17 22:32:45 -04:00
cff57a414e fix: update USER_AWARENESS acknowledgment note copy 2026-07-17 10:51:12 -04:00
50e241592c feat(23-01): add generateAndPostAcknowledgment customer-visible note writer
- New generateAndPostAcknowledgment(campaignId) posts a short, appreciative
  thank-you note to every ticket linked to a campaign, using noteType 18
  (Client Portal Note, verified live against tenant's TicketNotes field
  metadata) so the note is customer-visible; publish stays 1 unchanged
- Body is a fixed template with zero evidence/URL/classification
  interpolation (T-23-01) -- not the evidence-dump formatTriageNote() template
- Mirrors generateAndPostTriageNote's per-ticket try/catch-in-loop error
  isolation and { noteText, tickets } return shape
- Tests: noteType 18 + publish 1 payload assertion, per-ticket failure
  isolation, and zero-linked-reports case
2026-07-16 19:37:56 -04:00
2d410f8d15 feat(21-02): implement triage-note-service (evidence gather + note post loop)
GREEN: generateAndPostTriageNote(campaignId) gathers linked reports,
most-recent classification (NUMERIC confidence coerced to a JS number),
current remediation_actions, and real url indicators via the
reports->messages->indicators join; renders the sanitized note via Plan
01's formatTriageNote, then posts one internal TicketNotes write per
linked ticket with independent per-ticket error capture so a single
write failure never aborts the call (D-05) and note text is always
returned (D-06).
2026-07-16 12:13:50 -04:00