Skip to content

Conversation

@shajason
Copy link
Collaborator

@shajason shajason commented Jan 8, 2026

Summary by CodeRabbit

  • New Features

    • Course-level controls to enable/disable Virtual Coach and organization extensions
    • Course-level settings can lock extension behavior so assignment-level changes are restricted
  • Documentation

    • New guide for configuring Custom Organization Extensions
    • New guide for managing coach and course-level extension settings
    • Changelog updated (January 2026) noting course-level extension enablement
    • Terminology, copy, and images refreshed to reflect "Virtual Coach" and updated workflows

✏️ Tip: You can customize this high-level summary in your review settings.

@shajason shajason requested a review from LolaValente January 8, 2026 20:48
@coderabbitai
Copy link

coderabbitai bot commented Jan 8, 2026

Walkthrough

Adds and reorganizes instructor-facing documentation: new pages for organization and course-level extensions, broad Virtual Coach doc updates and images, navigation entries, and a changelog entry. All edits are documentation-only; no code or public API changes.

Changes

Cohort / File(s) Summary
New Documentation Files
source/instructors/admin/organization/org-extensions.rst, source/instructors/setupcourses/course-coach-settings.rst
New RST pages describing Custom Organization Extensions and course-level coach/extension settings, including step-by-step enablement instructions and image references.
Navigation & Toctree Updates
source/instructors/admin/organization/organisation.rst, source/instructors/setupcourses/courses.rst
Added toctree entries and cross-reference links to surface the new documents in Organization and Courses navigation.
Virtual Coach Documentation Edits
source/instructors/setupcourses/assignment-settings/virtual-coach.rst, source/common/tools/student-virtual-coach.rst
Terminology refactor (Hint-Bot → Virtual Coach), copy edits, image path/alt-text updates, UX wording and metadata changes, expanded Custom Assistants and deployment/testing guidance; no API changes.
Changelog Update
source/instructors/getstarted/support/changelog.rst
Added a January 2026 changelog entry noting the ability to enable/disable extensions at the course level.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • LolaValente
  • jairovelasquez
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: adding course-level extension settings documentation and organization extension documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In @source/instructors/admin/organization/org-extensions.rst:
- Around line 21-22: Replace the generic alt text on the image directive in
org-extensions.rst (the .. image:: /img/manage_organization/customextension.png
line) with a specific description of the Extensions tab, e.g., use alt text like
"Extensions tab — Manage Organization extensions" or "Manage Organization:
Extensions tab (custom extensions list)" so the alt accurately reflects the
shown Extensions tab UI.

In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst:
- Around line 73-76: Split the run-on sentence on line 76 into two sentences and
change the preposition "on a course level" to "at the course level";
specifically, modify the sentence that begins "You can enable or disable your
extensions on a :ref:`course level <course-coach-settings>`." to two sentences
such as "You can enable or disable your extensions at the course level. The
course level settings override the assignment level settings, and you will not
be able to turn an extension off for an individual assignment if you have
activated it at the course level." Ensure the :ref:`course level
<course-coach-settings>` cross-reference remains intact.

In @source/instructors/setupcourses/course-coach-settings.rst:
- Around line 14-15: Update the image alt text in the image directive that
currently reads "Organization Settings" to reflect the course-level context;
change the :alt: value in the image directive (the .. image::
/img/course_settings/course-level-extensions.png block) to a clearer phrase such
as "Course-level Extensions Settings" or "Course Settings - Extensions Tab".
- Line 12: Split the long paragraph in course-coach-settings.rst into 2–3
shorter, focused sections: first a brief sentence stating you can enable Codio
Virtual Coach and organization extensions at the course level via the Extensions
tab in the Admin section; second a short sentence calling out the limitation
that extensions enabled at the course level cannot be disabled at the assignment
level; third a sentence or bullet noting alternatives (enable per-assignment or
use the bulk assignment update feature). Keep wording from the original text but
break into separate lines or a bulleted list for readability.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8e41dea and 4095746.

⛔ Files ignored due to path filters (2)
  • source/img/course_settings/course-level-extensions.png is excluded by !**/*.png, !**/*.png
  • source/img/manage_organization/customextension.png is excluded by !**/*.png, !**/*.png
📒 Files selected for processing (6)
  • source/instructors/admin/organization/org-extensions.rst
  • source/instructors/admin/organization/organisation.rst
  • source/instructors/getstarted/support/changelog.rst
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
  • source/instructors/setupcourses/course-coach-settings.rst
  • source/instructors/setupcourses/courses.rst
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rst

⚙️ CodeRabbit configuration file

**/*.rst: Review files for:

  • Consistent formatting (e.g., headings, lists, links).
  • Anywhere there are tables, they should use list-table.
  • Clear and concise language.
  • Correct grammar and spelling.
  • Proper use of rst syntax (e.g., avoid broken links or invalid code blocks).
  • Adherence to style guides (e.g., consistent tone, terminology).
    Suggest improvements to enhance readability and accessibility.
  • Make sure to find all improvements on the first pass.
    Go through the material multiple times before submitting comments.

Files:

  • source/instructors/setupcourses/courses.rst
  • source/instructors/getstarted/support/changelog.rst
  • source/instructors/setupcourses/course-coach-settings.rst
  • source/instructors/admin/organization/organisation.rst
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
  • source/instructors/admin/organization/org-extensions.rst
🧠 Learnings (1)
📚 Learning: 2025-12-11T12:13:36.657Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:84-104
Timestamp: 2025-12-11T12:13:36.657Z
Learning: Documented template usage: In Codio coachBot API, use the template syntax {% prompt 'PROMPT_ID' %} within custom extensions to reference organization-level prompts. This pattern should be described in all relevant reStructuredText docs (all .rst files) where prompts are referenced. The template resolves server-side to fetch the prompt text matching PROMPT_ID from the organization's stored prompts; explain this behavior and ensure examples show PROMPT_ID usage for clarity.

Applied to files:

  • source/instructors/setupcourses/courses.rst
  • source/instructors/getstarted/support/changelog.rst
  • source/instructors/setupcourses/course-coach-settings.rst
  • source/instructors/admin/organization/organisation.rst
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
  • source/instructors/admin/organization/org-extensions.rst
🔇 Additional comments (6)
source/instructors/setupcourses/courses.rst (1)

48-48: LGTM – Proper toctree entry addition.

The new course-coach-settings entry is correctly formatted with consistent indentation and placement. The entry follows naming conventions and integrates seamlessly into the course setup documentation hierarchy.

source/instructors/getstarted/support/changelog.rst (1)

16-18: LGTM – Consistent changelog entry format.

The January 2026 entry follows the established changelog format precisely. The :ref: cross-reference is correctly formatted, and the entry description is clear and aligned with the style of surrounding entries.

source/instructors/admin/organization/organisation.rst (2)

25-25: LGTM – Toctree entry properly integrated.

The org-extensions entry maintains consistent indentation and positioning within the toctree, following the established organizational pattern.


56-56: LGTM – Bullet point consistent with existing style.

The new task description for "Configure Organization Extensions" follows the established format of the Organization Owners task list, with proper :ref: cross-reference formatting and terminology consistency.

source/instructors/setupcourses/assignment-settings/virtual-coach.rst (1)

73-76: Cross-reference is properly configured.

The :ref:course-coach-settings`` anchor is correctly defined on line 5 of source/instructors/setupcourses/course-coach-settings.rst and is registered in the parent toctree at `source/instructors/setupcourses/courses.rst` (line 48). The documentation link is complete and discoverable.

source/instructors/admin/organization/org-extensions.rst (1)

12-22: Instructions lack the steps for actually adding a custom extension.

The file ends after step 3 (navigating to the Extensions tab) without showing how to add or configure a custom extension. Since the introduction states "You can add custom extensions," the guide should continue with the necessary steps to complete this task.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
source/instructors/setupcourses/assignment-settings/virtual-coach.rst (1)

1-2: Update meta description to match document title.

The meta description references "Hint-Bot" but the document is titled and focused on "Virtual Coach." Update the meta description to maintain consistency.

   :description: Hint-Bot is a quick AI solution for helping students with simple queries.
+  :description: Virtual Coach is a quick AI solution for helping students with programming tasks.
🤖 Fix all issues with AI agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst:
- Around line 17-24: Change the phrase "assignments settings" to "assignment
settings" in the introductory sentence and insert a comma before "only error
message augmentation will be available" so the final sentence reads "...in the
assignment, only error message augmentation will be available."; update the two
occurrences in the intro paragraph around the image block (the sentence that
starts "In the assignments settings area..." and the sentence that begins "When
a student clicks...") so grammar and punctuation are corrected.
- Around line 83-90: The two bare URLs (the GitHub account signup URL and the
Codio Extensions GitHub Page URL) should be converted to proper reStructuredText
links; replace each bare URL with an rst inline link using a clear display label
(e.g., "create a GitHub account" and "Codio Extensions GitHub page") so the
links follow the project's documentation style and read naturally in the
sentence, and update the occurrences that reference the GitHub signup URL and
the Codio Extensions repository link.
- Line 176: Remove the obsolete commented-out instructions that start with
"Click on the green `Fork <https://docs.github.com/...>`_ button..." since they
duplicate and are superseded by the "Use This Template" instructions; delete
that entire commented block so only the current "Use This Template" text remains
and ensure surrounding rst markup and whitespace remain valid (no orphaned
punctuation or broken list formatting).
- Around line 215-234: Update the step text that currently reads "Github" to the
correct brand capitalization "GitHub" in the first numbered instruction, and
modify the image directive's alt text from "Development for testing extensions"
to "Development Mode for testing extensions" (the image line using .. image::
and its :alt: attribute).
- Around line 144-162: Replace all occurrences of the UI phrase variants ("upper
right-hand corner" and "upper right hand corner") with the consistent wording
"upper right corner"; change the plain word Extensions at the start of the
"Applying updates..." subsection to use the existing rst cross-ref syntax
:ref:`Extensions <org-extensions>` (matching the earlier usage); and convert the
bare GitHub repository URL that appears in the deploy instructions (the line
where you tell the user to "Paste the URL of your Github repository’s webpage")
into a proper reStructuredText link so it renders as a clickable hyperlink.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 271e58d and 644b416.

⛔ Files ignored due to path filters (14)
  • source/img/Assignment-settings-Vc.png is excluded by !**/*.png, !**/*.png
  • source/img/Explain-error.png is excluded by !**/*.png, !**/*.png
  • source/img/Hint-Bot.png is excluded by !**/*.png, !**/*.png
  • source/img/Summarise-bot.png is excluded by !**/*.png, !**/*.png
  • source/img/chatbot-hint-option.png is excluded by !**/*.png, !**/*.png
  • source/img/chatbot-icon.png is excluded by !**/*.png, !**/*.png
  • source/img/extensions-virtual-coach.png is excluded by !**/*.png, !**/*.png
  • source/img/vc-and-extensions/coach-assignment-settings.png is excluded by !**/*.png, !**/*.png
  • source/img/vc-and-extensions/coach-icon.png is excluded by !**/*.png, !**/*.png
  • source/img/vc-and-extensions/preference-extensions.png is excluded by !**/*.png, !**/*.png
  • source/img/vc-and-extensions/student-vc-error.png is excluded by !**/*.png, !**/*.png
  • source/img/vc-and-extensions/student-vc-hint.png is excluded by !**/*.png, !**/*.png
  • source/img/vc-and-extensions/student-vc-summary.png is excluded by !**/*.png, !**/*.png
  • source/img/vc-and-extensions/student-view-coach.png is excluded by !**/*.png, !**/*.png
📒 Files selected for processing (2)
  • source/common/tools/student-virtual-coach.rst
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rst

⚙️ CodeRabbit configuration file

**/*.rst: Review files for:

  • Consistent formatting (e.g., headings, lists, links).
  • Anywhere there are tables, they should use list-table.
  • Clear and concise language.
  • Correct grammar and spelling.
  • Proper use of rst syntax (e.g., avoid broken links or invalid code blocks).
  • Adherence to style guides (e.g., consistent tone, terminology).
    Suggest improvements to enhance readability and accessibility.
  • Make sure to find all improvements on the first pass.
    Go through the material multiple times before submitting comments.

Files:

  • source/common/tools/student-virtual-coach.rst
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧠 Learnings (2)
📚 Learning: 2025-12-11T12:13:36.657Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:84-104
Timestamp: 2025-12-11T12:13:36.657Z
Learning: Documented template usage: In Codio coachBot API, use the template syntax {% prompt 'PROMPT_ID' %} within custom extensions to reference organization-level prompts. This pattern should be described in all relevant reStructuredText docs (all .rst files) where prompts are referenced. The template resolves server-side to fetch the prompt text matching PROMPT_ID from the organization's stored prompts; explain this behavior and ensure examples show PROMPT_ID usage for clarity.

Applied to files:

  • source/common/tools/student-virtual-coach.rst
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
📚 Learning: 2025-12-11T12:14:03.649Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:0-0
Timestamp: 2025-12-11T12:14:03.649Z
Learning: In Prompt Management feature (source/instructors/admin/organization/prompt-management.rst), the three template buttons have specific functions: Add Variable (dynamic variables like open guide page, open file, error message), Add Instructor View (files from .guides folder or student workspace with solution file templating), and Add Starter Code (files from student workspace with no student edits).

Applied to files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🔇 Additional comments (2)
source/common/tools/student-virtual-coach.rst (2)

1-54: Overall documentation structure and formatting—approved.

The student-facing documentation is well-organized, clearly written, and appropriately uses updated image paths (vc-and-extensions/) consistent with the instructor documentation. The language is properly tailored for students (e.g., "Summarize what I need to do" vs the instructor-facing "Summarize Prompt"), and all rst formatting is correct. Apart from the punctuation issue flagged separately, the file requires no structural changes.


23-23: Add missing comma in compound clause.

Line 23 is missing a comma: "If there is no guide in the assignment**,** only error message augmentation will be available."

Note: The parallel file (source/instructors/setupcourses/assignment-settings/virtual-coach.rst, line 24) contains the same phrasing issue and should be corrected for consistency.

-If there is no guide in the assignment only error message augmentation will be available.
+If there is no guide in the assignment, only error message augmentation will be available.

Likely an incorrect or invalid review comment.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
source/instructors/setupcourses/assignment-settings/virtual-coach.rst (1)

95-95: Correct subject-verb agreement.

Line 95 has a subject-verb mismatch: "repositories" is plural but "starts" is singular. Update to agree with the plural subject.

Proposed fix
-2. Choose one of repositories that starts with **custom-assistant-example-<example_name>**
+2. Choose one of the repositories that start with **custom-assistant-example-<example_name>**
🤖 Fix all issues with AI agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst:
- Line 160: Replace the inconsistent phrase "upper right hand corner" with
"upper right corner" in the sentence "Login to your Codio account, and click on
your username in the upper right hand corner of your screen and select
**Organizations**." so it matches the terminology used elsewhere ("upper right
corner"); ensure punctuation and spacing remain correct after the edit.
- Line 233: Update the incorrect step reference in the Development Mode
instruction line that reads "10. Paste the **index.js** webpage URL that you
copied in Step 1 in the Source Code URL field" by changing "Step 1" to "Step 7"
so it correctly points to where the index.js webpage URL is copied; modify the
text of that specific list item ("10. Paste the **index.js** webpage URL...") to
reference Step 7.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 644b416 and 9c049fd.

📒 Files selected for processing (1)
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rst

⚙️ CodeRabbit configuration file

**/*.rst: Review files for:

  • Consistent formatting (e.g., headings, lists, links).
  • Anywhere there are tables, they should use list-table.
  • Clear and concise language.
  • Correct grammar and spelling.
  • Proper use of rst syntax (e.g., avoid broken links or invalid code blocks).
  • Adherence to style guides (e.g., consistent tone, terminology).
    Suggest improvements to enhance readability and accessibility.
  • Make sure to find all improvements on the first pass.
    Go through the material multiple times before submitting comments.

Files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧠 Learnings (2)
📚 Learning: 2025-12-11T12:14:03.649Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:0-0
Timestamp: 2025-12-11T12:14:03.649Z
Learning: In Prompt Management feature (source/instructors/admin/organization/prompt-management.rst), the three template buttons have specific functions: Add Variable (dynamic variables like open guide page, open file, error message), Add Instructor View (files from .guides folder or student workspace with solution file templating), and Add Starter Code (files from student workspace with no student edits).

Applied to files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
📚 Learning: 2025-12-11T12:13:36.657Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:84-104
Timestamp: 2025-12-11T12:13:36.657Z
Learning: Documented template usage: In Codio coachBot API, use the template syntax {% prompt 'PROMPT_ID' %} within custom extensions to reference organization-level prompts. This pattern should be described in all relevant reStructuredText docs (all .rst files) where prompts are referenced. The template resolves server-side to fetch the prompt text matching PROMPT_ID from the organization's stored prompts; explain this behavior and ensure examples show PROMPT_ID usage for clarity.

Applied to files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
source/instructors/setupcourses/assignment-settings/virtual-coach.rst (2)

34-38: Inconsistent capitalization of feature names.

Line 17 capitalizes these feature names as "Summarize Prompt," "Error Augmentation," and "Next Steps Hint" (with capitals on key words). The bullet list (lines 34–38) uses "Summarize prompt" with lowercase "prompt" and "Next steps hint" with lowercase words. Ensure consistent capitalization throughout the document.

Suggested fix
-- **Summarize prompt**: This option summarizes the text in the guide on the page and provides students with an enumerated set of steps.
+- **Summarize Prompt**: This option summarizes the text in the guide on the page and provides students with an enumerated set of steps.

-- **Next steps hint**: Provides students with ideas for the next steps they can take to complete their assignment.
+- **Next Steps Hint**: Provides students with ideas for the next steps they can take to complete their assignment.

100-112: Consider documenting prompt template syntax for custom assistants.

Based on learnings from related PRs, the template syntax {% prompt 'PROMPT_ID' %} should be documented where organization-level prompts are referenced in custom assistants. This section explains the Coach API and metadata structure but does not explicitly show how to reference organization-level prompts in custom assistant code. Consider adding guidance on using the prompt template syntax if custom assistants should support organization-level prompts.

Would you like me to suggest text explaining how to use the prompt template syntax in custom assistants? This would align with the organization extensions feature introduced in this PR.

🤖 Fix all issues with AI agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst:
- Line 2: The meta description in the Virtual Coach RST (the ":description:"
line) contradicts the page body by saying "assisting students with revealing
solutions"; update that :description: to match the content (e.g., "Virtual Coach
is an AI tool for assisting students with explanations and hints, not providing
solutions") so the metadata reflects the actual purpose.
- Line 12: The sentence uses "Our Coach feature" while the document title and
elsewhere use "Virtual Coach"; update that phrase to read "our Virtual Coach
feature" (or "Virtual Coach" consistently) so terminology matches throughout,
e.g., change the phrase in the paragraph containing "Our Coach feature, which
generates AI-powered explanations..." to use "Virtual Coach".
- Line 140: The sentence "Now that you have authored and tested your custom AI
assistant, these are the steps to deploy it in your organization:" is slightly
informal; update it to a clearer, more formal instruction such as "Now that you
have authored and tested your custom AI assistant, follow these steps to deploy
it in your organization:" by editing the line in virtual-coach.rst that contains
the original sentence (the step introduction).
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9c049fd and bf77590.

📒 Files selected for processing (1)
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rst

⚙️ CodeRabbit configuration file

**/*.rst: Review files for:

  • Consistent formatting (e.g., headings, lists, links).
  • Anywhere there are tables, they should use list-table.
  • Clear and concise language.
  • Correct grammar and spelling.
  • Proper use of rst syntax (e.g., avoid broken links or invalid code blocks).
  • Adherence to style guides (e.g., consistent tone, terminology).
    Suggest improvements to enhance readability and accessibility.
  • Make sure to find all improvements on the first pass.
    Go through the material multiple times before submitting comments.

Files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧠 Learnings (2)
📚 Learning: 2025-12-11T12:14:03.649Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:0-0
Timestamp: 2025-12-11T12:14:03.649Z
Learning: In Prompt Management feature (source/instructors/admin/organization/prompt-management.rst), the three template buttons have specific functions: Add Variable (dynamic variables like open guide page, open file, error message), Add Instructor View (files from .guides folder or student workspace with solution file templating), and Add Starter Code (files from student workspace with no student edits).

Applied to files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
📚 Learning: 2025-12-11T12:13:36.657Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:84-104
Timestamp: 2025-12-11T12:13:36.657Z
Learning: Documented template usage: In Codio coachBot API, use the template syntax {% prompt 'PROMPT_ID' %} within custom extensions to reference organization-level prompts. This pattern should be described in all relevant reStructuredText docs (all .rst files) where prompts are referenced. The template resolves server-side to fetch the prompt text matching PROMPT_ID from the organization's stored prompts; explain this behavior and ensure examples show PROMPT_ID usage for clarity.

Applied to files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🔇 Additional comments (4)
source/instructors/setupcourses/assignment-settings/virtual-coach.rst (4)

63-63: Verify cross-reference anchor exists.

Line 63 references :ref:Course Coach Log Data `` to documentation that should exist in another file. Confirm that the export-course-coach-logs anchor is defined in the target documentation file.


70-70: Verify course-level cross-reference anchors.

Lines 70 and 78 reference :ref:Bulk Assignment Update and `:ref:`course level <course-coach-settings> respectively. Confirm these anchors exist in their target documentation files.

Also applies to: 78-78


148-148: Verify new org-extensions cross-reference anchor.

Line 148 references :ref:Extensions `` which is a new anchor introduced in this PR. Confirm that the org-extensions anchor is properly defined in the organization extensions documentation being added.


191-191: Verify internal cross-reference anchors.

Lines 191 and 194 reference :ref:Creating a Release and `:ref:`Deploying a custom assistant<deploy-your-assistant> respectively. Confirm these internal anchors (defined at lines 114 and 135) are correctly formatted and resolve properly.

Also applies to: 194-194

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst:
- Line 2: Fix the typo in the meta description string by removing the duplicate
"V" so the description reads "Virtual Coach is an AI tool for assisting students
with explanations, error messages, and hints." — update the :description: value
where it currently says "VVirtual Coach" to "Virtual Coach".
- Around line 71-72: Reword the two CSV-description lines so they clearly state
that the CSV includes one column for each built-in Virtual Coach assistant plus
additional columns for any custom extensions, and that each column should
contain TRUE to enable or FALSE to disable that assistant for assignments;
update the sentences referencing "Virtual Coach assistants and custom
extensions" and the TRUE/FALSE behavior accordingly in the virtual-coach.rst
content.
- Line 238: Split the long conditional sentence into two clearer sentences:
first say that adding an extension to your account or testing it in Development
mode makes the extension visible only to you, and then add a second sentence
clarifying that this visibility remains limited to you even if you set
"user_type" to "learner" or "all" in metadata.json; preserve the terms
"Development mode", "your account", "user_type", and "metadata.json" exactly as
written.
- Line 56: The sentence on line 56 is redundant; replace "resizing icon" with a
concise term like "resize handle" (or "drag handle") and remove the extra
verbage so it reads e.g. "The Virtual Coach window may be resized using the
resize handle in the upper left corner." Update the text in virtual-coach.rst by
editing the sentence that currently mentions "resizing icon" and "dragging" to
use a single concise term ("resize handle" or "drag handle").
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bf77590 and 498aebb.

📒 Files selected for processing (1)
  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rst

⚙️ CodeRabbit configuration file

**/*.rst: Review files for:

  • Consistent formatting (e.g., headings, lists, links).
  • Anywhere there are tables, they should use list-table.
  • Clear and concise language.
  • Correct grammar and spelling.
  • Proper use of rst syntax (e.g., avoid broken links or invalid code blocks).
  • Adherence to style guides (e.g., consistent tone, terminology).
    Suggest improvements to enhance readability and accessibility.
  • Make sure to find all improvements on the first pass.
    Go through the material multiple times before submitting comments.

Files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
🧠 Learnings (2)
📚 Learning: 2025-12-11T12:14:03.649Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:0-0
Timestamp: 2025-12-11T12:14:03.649Z
Learning: In Prompt Management feature (source/instructors/admin/organization/prompt-management.rst), the three template buttons have specific functions: Add Variable (dynamic variables like open guide page, open file, error message), Add Instructor View (files from .guides folder or student workspace with solution file templating), and Add Starter Code (files from student workspace with no student edits).

Applied to files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst
📚 Learning: 2025-12-11T12:13:36.657Z
Learnt from: mohitchandarana
Repo: codio/knowledge PR: 445
File: source/instructors/admin/organization/prompt-management.rst:84-104
Timestamp: 2025-12-11T12:13:36.657Z
Learning: Documented template usage: In Codio coachBot API, use the template syntax {% prompt 'PROMPT_ID' %} within custom extensions to reference organization-level prompts. This pattern should be described in all relevant reStructuredText docs (all .rst files) where prompts are referenced. The template resolves server-side to fetch the prompt text matching PROMPT_ID from the organization's stored prompts; explain this behavior and ensure examples show PROMPT_ID usage for clarity.

Applied to files:

  • source/instructors/setupcourses/assignment-settings/virtual-coach.rst

@@ -1,87 +1,92 @@
.. meta::
:description: Hint-Bot is a quick AI solution for helping students with simple queries.
:description: VVirtual Coach is an AI tool for assisting students with explanations, error messages, and hints.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Fix typo in meta description.

Line 2 has a double-V: "VVirtual Coach" should be "Virtual Coach".

🔧 Proposed fix
-   :description: VVirtual Coach is an AI tool for assisting students with explanations, error messages, and hints.
+   :description: Virtual Coach is an AI tool for assisting students with explanations, error messages, and hints.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:description: VVirtual Coach is an AI tool for assisting students with explanations, error messages, and hints.
:description: Virtual Coach is an AI tool for assisting students with explanations, error messages, and hints.
🤖 Prompt for AI Agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst at
line 2, Fix the typo in the meta description string by removing the duplicate
"V" so the description reads "Virtual Coach is an AI tool for assisting students
with explanations, error messages, and hints." — update the :description: value
where it currently says "VVirtual Coach" to "Virtual Coach".

Students can provide feedback on the Virtual Coach’s responses by using the thumbs up icon to vote up or the thumbs down icon to vote down the responses.
The Virtual Coach window may be resized by dragging the circle in the upper left corner.
Students can provide feedback on the Virtual Coach’s responses by using the thumbs up or thumbs down icon.
The Virtual Coach window may be resized by dragging the resizing icon in the upper left corner.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Remove slight redundancy in window-resizing description.

Line 56 repeats the concept of resizing: "resizing icon" and "dragging" both imply the same action. Use "resize handle" or "drag handle" for conciseness.

✏️ Proposed revision
-The Virtual Coach window may be resized by dragging the resizing icon in the upper left corner.
+The Virtual Coach window may be resized by dragging the resize handle in the upper left corner.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The Virtual Coach window may be resized by dragging the resizing icon in the upper left corner.
The Virtual Coach window may be resized by dragging the resize handle in the upper left corner.
🤖 Prompt for AI Agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst at
line 56, The sentence on line 56 is redundant; replace "resizing icon" with a
concise term like "resize handle" (or "drag handle") and remove the extra
verbage so it reads e.g. "The Virtual Coach window may be resized using the
resize handle in the upper left corner." Update the text in virtual-coach.rst by
editing the sentence that currently mentions "resizing icon" and "dragging" to
use a single concise term ("resize handle" or "drag handle").

Comment on lines +71 to +72
- The CSV template for bulk assignment settings upload has columns, one for each of the Virtual Coach assistants and custom extensions if you have them.
- The column values in the CSV file can be set to TRUE to enable assistants for any assignments in the course, and FALSE to disable them.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Clarify the CSV column description.

Line 71 uses awkward phrasing: "columns, one for each of the Virtual Coach assistants and custom extensions if you have them." This is vague about whether columns exist only conditionally. Reword for clarity.

✏️ Proposed revision
-- The CSV template for bulk assignment settings upload has columns, one for each of the Virtual Coach assistants and custom extensions if you have them.
+- The CSV template for bulk assignment settings upload includes columns for each Virtual Coach assistant and any custom extensions you have.
🤖 Prompt for AI Agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst around
lines 71 - 72, Reword the two CSV-description lines so they clearly state that
the CSV includes one column for each built-in Virtual Coach assistant plus
additional columns for any custom extensions, and that each column should
contain TRUE to enable or FALSE to disable that assistant for assignments;
update the sentences referencing "Virtual Coach assistants and custom
extensions" and the TRUE/FALSE behavior accordingly in the virtual-coach.rst
content.



.. Note:: By adding an extension to **your** account or testing it in Development mode, it will **only** be visible to **you**, and **not** your students, even If you’ve chosen “learner” or “all” as the **user_type** in the **metadata.json** file. This will let you test your assistant, giving you the ability to make changes to it before deploying it for your organization.
.. Note:: By adding an extension to **your** account or testing it in Development mode, it will **only** be visible to **you**, and **not** your students, even if you’ve chosen “learner” or “all” as the **user_type** in the **metadata.json** file. This allows you to test your assistant and make changes before deploying it for your organization.
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Simplify a complex conditional sentence for readability.

Line 238 has nested clauses that make it harder to parse: "By adding an extension to your account or testing it in Development mode, it will only be visible to you, and not your students, even if you've chosen 'learner' or 'all' as the user_type in the metadata.json file."

Breaking this into two sentences would improve clarity without losing information.

✏️ Proposed revision
-.. Note::  By adding an extension to **your** account or testing it in Development mode, it will **only** be visible to **you**, and **not** your students, even if you've chosen "learner" or "all" as the **user_type** in the **metadata.json** file. This allows you to test your assistant and make changes before deploying it for your organization.
+.. Note::  By adding an extension to **your** account or testing it in Development mode, it will **only** be visible to **you** and **not** your students—regardless of the **user_type** in **metadata.json**. This allows you to test and refine your assistant before deploying it to your organization.
🤖 Prompt for AI Agents
In @source/instructors/setupcourses/assignment-settings/virtual-coach.rst at
line 238, Split the long conditional sentence into two clearer sentences: first
say that adding an extension to your account or testing it in Development mode
makes the extension visible only to you, and then add a second sentence
clarifying that this visibility remains limited to you even if you set
"user_type" to "learner" or "all" in metadata.json; preserve the terms
"Development mode", "your account", "user_type", and "metadata.json" exactly as
written.

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