Skip to content

Add Brainmax Canvas Extension#2361

Open
juliamuiruri4 wants to merge 11 commits into
github:mainfrom
juliamuiruri4:main
Open

Add Brainmax Canvas Extension#2361
juliamuiruri4 wants to merge 11 commits into
github:mainfrom
juliamuiruri4:main

Conversation

@juliamuiruri4

@juliamuiruri4 juliamuiruri4 commented Jul 20, 2026

Copy link
Copy Markdown

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the main branch for this pull request.

Description

BrainMax Canvas is the interactive dashboard for codebase-grounded concept-mastery quizzes. It presents detected knowledge domains, accepts freeform answers, shows rubric scores, and compiles completed domains into a competency report.

The Canvas is an optional visual layer. Question generation and scoring stay with the BrainMaxxing Agent Skills, and the skills continue to work in clients without Canvas support.


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • New canvas extension.
  • Update to existing instruction, prompt, agent, plugin, skill, workflow, or canvas extension.
  • Other (please specify):

Additional Notes


By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

Copilot AI review requested due to automatic review settings July 20, 2026 14:54
@github-actions github-actions Bot added canvas-extension PR touches canvas extensions new-submission PR adds at least one new contribution labels Jul 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds BrainMax Canvas, an interactive quiz and competency-report extension for the GitHub Copilot marketplace.

Changes:

  • Adds the Canvas server, state machine, and SDK actions.
  • Adds an accessible, responsive browser interface.
  • Registers the extension in the marketplace.
Show a summary per file
File Description
extensions/brainmax-canvas/README.md Documents installation and usage.
extensions/brainmax-canvas/public/styles.css Defines themes and responsive styling.
extensions/brainmax-canvas/public/index.html Provides the Canvas UI structure.
extensions/brainmax-canvas/public/app.js Renders state and handles interactions.
extensions/brainmax-canvas/package.json Defines package metadata and scripts.
extensions/brainmax-canvas/lib/state.mjs Manages quiz instance state.
extensions/brainmax-canvas/lib/http-server.test.mjs Tests request-body handling.
extensions/brainmax-canvas/lib/http-server.mjs Serves UI, SSE, and event endpoints.
extensions/brainmax-canvas/extension.mjs Implements Canvas actions and lifecycle.
extensions/brainmax-canvas/.github/plugin/plugin.json Defines extension marketplace metadata.
.github/plugin/marketplace.json Registers BrainMax Canvas.

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 4
  • Review effort level: Medium

Comment thread extensions/brainmax-canvas/lib/http-server.mjs
Comment thread extensions/brainmax-canvas/lib/http-server.mjs Outdated
Comment thread extensions/brainmax-canvas/public/styles.css Outdated
Comment thread extensions/brainmax-canvas/public/styles.css Outdated
Copilot AI review requested due to automatic review settings July 20, 2026 15:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 5
  • Review effort level: Medium

Comment thread extensions/brainmax-canvas/lib/http-server.mjs Outdated
Comment thread extensions/brainmax-canvas/extension.mjs Outdated
Comment thread extensions/brainmax-canvas/public/app.js
Comment thread extensions/brainmax-canvas/README.md Outdated
Comment thread extensions/brainmax-canvas/README.md Outdated
Copilot AI review requested due to automatic review settings July 20, 2026 15:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 4
  • Review effort level: Medium

Comment thread extensions/brainmax-canvas/extension.mjs Outdated
Comment thread extensions/brainmax-canvas/public/app.js Outdated
Comment thread extensions/brainmax-canvas/public/app.js Outdated
Comment thread extensions/brainmax-canvas/public/app.js Outdated
Copilot AI review requested due to automatic review settings July 20, 2026 15:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 3
  • Review effort level: Medium

Comment thread extensions/brainmax-canvas/public/app.js
Comment thread extensions/brainmax-canvas/public/app.js Outdated
Comment thread extensions/brainmax-canvas/extension.mjs Outdated
Copilot AI review requested due to automatic review settings July 20, 2026 16:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 3
  • Review effort level: Medium

Comment thread extensions/brainmax-canvas/public/app.js
Comment thread extensions/brainmax-canvas/public/app.js Outdated
Comment thread extensions/brainmax-canvas/extension.mjs
Copilot AI review requested due to automatic review settings July 20, 2026 16:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 0 new
  • Review effort level: Medium

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4b95f746-9a23-4513-80eb-9d641986aab2
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4b95f746-9a23-4513-80eb-9d641986aab2
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4b95f746-9a23-4513-80eb-9d641986aab2
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22323915-a9c0-42b7-bf74-36ce4069a32e
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22323915-a9c0-42b7-bf74-36ce4069a32e
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22323915-a9c0-42b7-bf74-36ce4069a32e
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22323915-a9c0-42b7-bf74-36ce4069a32e
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22323915-a9c0-42b7-bf74-36ce4069a32e
Copilot AI review requested due to automatic review settings July 20, 2026 16:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

Comments suppressed due to low confidence (3)

extensions/brainmax-canvas/extension.mjs:112

  • A successful session.send does not guarantee that the agent will invoke record_score. If that follow-up action is omitted, answerStatus never leaves submitting, so the textarea remains disabled and the answer cannot be retried. Detect completion/timeout of the agent turn and restore an actionable error state when no score arrives.
            state.answerStatus = "submitting";

extensions/brainmax-canvas/extension.mjs:160

  • This request has the same permanent-pending path: if the agent responds without show_report, the button remains disabled forever because only show_report or a rejected session.send resets the status. Add a session-idle/timeout check that sets reportRequestStatus to error when no report action arrives.
            state.reportRequestStatus = "submitting";

extensions/brainmax-canvas/public/app.js:456

  • Web storage access can throw a SecurityError when storage is disabled or restricted. Because this read runs before the EventSource is created, that exception prevents the entire Canvas from connecting; guard both the read and write so theme persistence remains optional.
const storedTheme = localStorage.getItem(THEME_STORAGE_KEY);
  • Files reviewed: 11/12 changed files
  • Comments generated: 2
  • Review effort level: Medium

Comment thread extensions/brainmax-canvas/extension.mjs
Comment thread extensions/brainmax-canvas/public/app.js Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22323915-a9c0-42b7-bf74-36ce4069a32e
Copilot AI review requested due to automatic review settings July 20, 2026 17:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 4
  • Review effort level: Medium

handler: async (ctx) => {
const state = getState(ctx.instanceId);
const { index, score, feedback } = ctx.input || {};
if (!state.quiz || !state.question || index !== state.question.index || state.answerStatus === "scored") {
Comment thread extensions/brainmax-canvas/extension.mjs Outdated
Comment thread extensions/brainmax-canvas/public/app.js
Comment thread extensions/brainmax-canvas/public/styles.css Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22323915-a9c0-42b7-bf74-36ce4069a32e
Copilot AI review requested due to automatic review settings July 20, 2026 17:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 11/12 changed files
  • Comments generated: 0 new
  • Review effort level: Medium

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

canvas-extension PR touches canvas extensions new-submission PR adds at least one new contribution

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants