account-configfix(review): address 6 findings from thermo-review of this session's commits - .cursor/skills/account-config/SKILL.md: fix dangling references to the deleted resources/ directory (a third skill mirror the consolidation commit missed) -- repoint to the surviving .claude/skills files. - load-skill: extract buildLoadSkillDescription() so the regression test measures the actual wire payload (fixed prefix + terse catalog), not just the inner catalog -- the real headroom before the 2KB limit was tighter than the previous test tracked. - conversationTool.ts: wrap selectedAopNames/visibleColumns/extraFields in coerceJsonString too, for consistency with the other 5 fields already wrapped by the same fix. - content-shortcuts.ts: extractLineRange now rejects a reversed range (end < start) with a clear message instead of silently returning an empty slice; added a test. - chat-message-persistence.ts: recordExternalChatMessage now verifies an existing thread's userId matches the caller before attaching a message -- a reused/colliding host sessionId could otherwise mix one user's turns into another user's thread once this dormant code is wired up. - readDocumentTool.ts: the #lines shortcut's wordCount no longer counts each line-number prefix as an extra word. Co-Authored-By: Claude Sonnet 5 <<email>>Jul 10, 2026, 10:42 PMbug-triage-from-callsfeat: use checklist format in Linear ticket descriptions Co-authored-by: isabelle-cedar <<email>>Mar 27, 2026, 11:12 AMcedar-reportingfeat: skill for user reporting and intelligence field fixesMar 30, 2026, 11:04 PMchangelogreplace cloudflare runtime with aws local servicesApr 6, 2026, 12:33 AMcommit-prfeat: small demo improvementsJun 24, 2026, 4:24 PMcopy-klavis-credential-to-userfeat: skill to copy klavis credentials from an admin toa userApr 8, 2026, 3:53 PMdata-integrityfeat: account setup + sync improvements (9 items) - Item 1: Add STAGE FILTER block to Post-Event Task Executor prompt template in account-setup skill; add inactive-stage suppression to Task Aggregator - Item 2: Add CRM-linked deal gate in updateNextStepsAndTasksTool — injects <crm_task_gate> prompt section when user has CRM but conversation has no linked deal, preventing task creation for untracked prospects - Item 3: Add Step 4b (onlyDraftForLinkedDeals) to account-setup Phase 4 - Item 4a: Add deal `name` as first default CRM→Cedar mapping in HubSpot (dealname), Salesforce (Name), and Attio (name) drivers - Item 4b: Add Step 4c (name field humanOnly) to account-setup Phase 4 - Item 5: Add Step 5.5 (external CRM deal audit) to data-integrity skill covering stage count reconciliation, field mapping diffs, and domain mismatches - Item 6: Restructure Step 6 in data-integrity skill — primary method is now auditFieldMappingDiffs tRPC call; old SQL substeps become Step 6b fallback - Item 7: Default conversationCanvas to crmSynced=synced when CRM is connected (NewCanvasScreen.tsx, phase6-canvases.ts, account-setup skill Phase 6 note) - Item 8: Add opportunity creation defaults section to account-setup Phase 2B; add opportunity_creation row to skill content guide table - Item 9: Add co-run deals detection (scope: org) to account-setup Phase 1 and document AOP scope toggle in account-config what-goes-where.md Co-authored-by: Cursor <<email>>May 23, 2026, 9:39 PMproduct-updatesdocs: require changelog PR in product update automation Co-authored-by: isabelle-cedar <<email>>May 11, 2026, 1:09 PMquery-dbUpdate CRM audit skills to use conversation updates Co-authored-by: isabelle-cedar <<email>>Apr 26, 2026, 6:25 PMread-agent-tracesfix: use OTel propagation API for trace context + guard circular refs - saveInitialSyncTraceContext now delegates to propagation.inject() so traceFlags and tracestate are serialised correctly by the registered propagators, removing the hardcoded 01 sampled flag and dropped tracestate - sanitizeForSpan wraps JSON.stringify in try/catch to prevent circular reference errors from propagating as real step failures - Update read-agent-traces skill with correct Axiom field paths and initial sync Step Functions query examples Made-with: CursorApr 12, 2026, 8:09 PMread-cloudwatch-logsfeat: cursor skill for reading axiom traces and aws cloudwatch logsApr 12, 2026, 8:52 AMupdate-org-aopfix(server): typecheck apps/server clean (design: typecheck-build-boundary phase 1) Split tests out of the main project (tsconfig.test.json) so it contains exactly the sources that ship — Phase 2 emits declarations from it — then drove the remainder to zero: 539 -> 253 -> 0. Tests still typecheck, via `types:test`. `types` gates src only, deliberately. The test project carries 239 pre-existing errors of its own; folding them in would keep the gate red forever and block caching for everyone. Named backlog, not a silent exclusion. With the gate green, turbo can finally cache it: 6.19s cold -> 188ms FULL TURBO. Most of these were stale contracts, not sloppy typing — a WorkflowHandle cast to an invented shape, Cloudflare globals that no longer exist post-AWS-migration, drizzle result shapes read as node-pg, tool args deleted from the callee but not the caller. The types were hiding real bugs. `validFields` was read out of scope and threw a ReferenceError on every stage-batch apply. `corpus.ts` declared occurredAt as string while holding a Date, so any conversation with 2+ meetings threw in the sort and got swallowed by a catch. A conversation update dropped its hydrated events relation. A dedup script keyed on columns that never existed on the table. CustomFieldDefinition also regained strength/completeness. 2df812b33 collapsed the CRM plane onto one `signal` rubric, but the taxonomy registry added two weeks later needs two independent axes and the runtime has always read both — the type was lying, not the code. Added them to the zod schema too, which strips unknown keys and would otherwise silently delete every hand-authored rubric the first time it validated a write. vitest: 4479 pass, 5 pre-existing failures in modifyCalendarEventTool (zero files changed under that directory). deps:check clean. Co-Authored-By: Claude Opus 5 (1M context) <<email>>Aug 1, 2026, 8:36 PM