Skip to content

Conversation

@pkulkark
Copy link
Member

@pkulkark pkulkark commented Jan 8, 2026

Description

This PR updates the AI conversation history export script as follows:

  1. Course title is added as the first column of the report
  2. Multiagent XBlock data is replaced with Coach AI XBlock data

Supporting information

OpenCraft Internal Jira task: BB-10439

Testing instructions

  1. Install this branch of the XBlock.
  2. Interact with a few of the AI XBlocks (short answer, coding and coaching).
  3. Login as staff and add ai_eval_export in the advanced module list and add it anywhere in the course and publish.
  4. Open the published LMS page as staff and generate and download the report.
  5. Verify that the report contains the course name as the first column and it includes the coaching xblock conversation history.

@pkulkark pkulkark force-pushed the pooja/update-export-xblock branch from bc7fecf to dd5f8f1 Compare January 8, 2026 19:08
@pkulkark pkulkark force-pushed the pooja/update-export-xblock branch from dd5f8f1 to 7d85362 Compare January 8, 2026 19:10
Copy link
Member

@samuelallan72 samuelallan72 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this on the sandbox at it appears to work fine. 👍 I left some code quality nits to address as you see fit. On the documentation side, it would be nice to use type annotations more. :)

The main thing I flagged that I think needs to be addressed as the hardcoding of conversation id for the coach rows.

  • I tested this: tested on the sandbox (thanks for deploying to the sandbox for testing!)
  • I read through the code
  • I checked for accessibility issues
  • Includes documentation

Comment on lines +49 to +51
for getter in (
_get_course_display_name_from_course_overview,
_get_course_display_name_from_modulestore,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we really need this fallback logic? Under what circumstances would one or the other fail?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CourseOverview is a cached representation and may be missing/outdated. I noticed the "CourseOverview first, then modulestore” idea in a couple of other places (like here) and went with the same.

@pkulkark pkulkark merged commit 5ff2a02 into artur/all-changes Jan 9, 2026
5 checks passed
@pkulkark pkulkark deleted the pooja/update-export-xblock branch January 13, 2026 15:26
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.

2 participants