Skip to content

feat: event-app-space-report skill (per-event completion report) - #3038

Merged
jung-thomas merged 7 commits into
DEVfrom
worktree-event-app-space-report-skill
Nov 6, 2026
Merged

jung-thomas merged 7 commits into
DEVfrom
worktree-event-app-space-report-skill

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

What

Adds a reusable skill + script that produces a per-event tutorial-completion report for the tutorials-ims platform from an app-space URL or eventId.

  • .claude/skills/event-app-space-report/SKILL.md — invoke with an app-space URL (…/app-space/?eventId=NNN) or bare eventId.
  • scripts/event-report.mjs — standalone, read-only, prod-guarded ESM script. Reuses srv/lib/event-path-buckets.js so Track numbers match the live app-space page. Runnable outside the skill: cds bind --exec -- node scripts/event-report.mjs <eventId> [--json].

Report sections

  1. Completions by Track — total + per-Track count/share (Track = CompletionPaths.name; FK-first tutorial resolution; windowed COMPLETED/SUPERSEDED).
  2. Abandoned tutorials — top-abandonees list, computed stop-pattern summary, per-tutorial median stop-step with "% through", per-step drop histogram.
  3. Completer email domains — per-domain users/completions/avg, multi-domain org rollup (ORG_DOMAIN_MAP: NTT Data, EY), most-engaged table + prose callout.
  4. SAP vs external — @sap.com vs rest.

Key correctness decisions

  • Scoped by date window (completionDate ∈ [Events.startDate, endDate]), never TaskRecords.event_ID (NULL on normal completions).
  • FK-first resolution (CompletionPathItems.tutorial_ID → Tutorials.legacyId); manually-authored prod event missions leave taskLegacyId NULL (Not possible to navigate back up from tutorial to mission #1866).
  • Sections 3–4 reconcile with §1's hero total (same all-windowed set); (unknown)/anonymized emails excluded from the SAP-vs-external split.
  • Abandonment uses modifiedAt-in-window; stop-step is an attemptNumber-scoped approximation (documented in SKILL.md).

Testing

  • 22/22 unit tests (test/scripts/event-report*.test.js, in-memory SQLite).
  • Verified live against PROD for ASUG Tech Connect (eventId 10000003): resolves event + window + mission, all four sections render, Track totals consistent with computePathBuckets.

Safety

Read-only (SELECT/CQL only); refuses to run unless cf target space is prod. No writes, no deploy. The script lives in the repo so it's reusable independently of the skill.

@jung-thomas
jung-thomas merged commit ad0bbe5 into DEV Nov 6, 2026
3 of 4 checks passed
@jung-thomas
jung-thomas deleted the worktree-event-app-space-report-skill branch November 6, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant