Holon Technology — Canvas Test Plan (Hub + Daisy Chain model)
Updated May 16, 2026. Reflects real architecture from /opt/holon-shared/daisy-chain.js and Hub source.
How the install + token model actually works
Hub is the single point of license + token management. Individual tools never prompt for either.
Install flow
- Buyer installs Holon Hub in Canvas (one LTI install)
- In Hub, buyer enters 1–10 Canvas API tokens in the Token Pool manager (most users: 1 token; high-student-count classes: more)
- Hub shows full catalog. Licensed tools install with one click; locked tools show "Try Free — 5 days"
- Clicking a licensed tool →
POST /api/auto-install→ Hub creates the Canvas LTI install withcourse_navigationhidden - Hub also embeds
custom_license_keyin the generated config so the tool inherits its license
Token daisy chain (on every launch)
- Hub passes the entire token pool as LTI custom params:
custom_canvas_token,custom_canvas_token_2…custom_canvas_token_10, pluscustom_canvas_pool_size - Tool calls
registerPoolTokens(userId, domain, params)from/opt/holon-shared/daisy-chain.jsto load the pool into memory - All Canvas API calls go through
getChain(userId, domain).get(...)which round-robins healthy tokens, respects rate limits (x-rate-limit-remaining), pauses tokens at 429, invalidates at 401 - Tokens are stored AES-256 encrypted at rest in Hub's
canvas_token_pooltable
What this means for testing every tool
- NO license overlay should ever appear inside a tool (license inherited from Hub via
custom_license_key) - NO token overlay should ever appear inside a tool (tokens injected via LTI params, daisy chain handles them)
- If either overlay appears in a tool → that's a bug to fix, not a step to complete
- Tool should launch directly into its main UI
Testing order
- 00-hub.md — Hub install, token pool, daisy chain, auto-install. Prerequisite for everything.
- 01–66 — each tool, alphabetical. The entry point is always Hub.
How to use
- Open each file. Tick
- [ ]→- [x]. Add❌ <reason>after any failure. - Update the Verdict column in this INDEX when done.
- Web UI: https://qa.holontechnology.com
Tool index
| # | Tool | Title | Category | Verdict |
|---|---|---|---|---|
| 00 | holon-hub | Holon Hub (start here) | Gateway | ___ |
| 01 | holon-accessibility | Holon Accessibility | Accessibility | ___ |
| 02 | holon-advising | Holon Advising | Student Services | ___ |
| 03 | holon-announce | Holon Announce | Communication | ___ |
| 04 | holon-assignments | Holon Assignments | Assessment | ___ |
| 05 | holon-assistant | Holon Assistant | AI | ___ |
| 06 | holon-atrisk | Holon At-Risk | Analytics | ___ |
| 07 | holon-channel | Holon Channel | Communication | ___ |
| 08 | holon-clean | Holon Clean | Content | ___ |
| 09 | holon-conform | Holon Conform | Accessibility | ___ |
| 10 | holon-convert | Holon Convert | Content | ___ |
| 11 | holon-copy | Holon Copy | Course Management | ___ |
| 12 | holon-course | Holon Flow | Course Management | ___ |
| 13 | holon-creator | Holon Creator | Content | ___ |
| 14 | holon-credential | Holon Credential | Student Services | ___ |
| 15 | holon-dashboard | Holon Dashboard | Analytics | ___ |
| 16 | holon-data | Holon Data | Engagement | ___ |
| 17 | holon-dates | Holon Dates | Productivity | ___ |
| 18 | holon-design | Holon Design | Content | ___ |
| 19 | holon-desk | Holon Desk | Student Services | ___ |
| 20 | holon-engage | Holon Engage | Analytics | ___ |
| 21 | holon-flashcards | Holon Flashcards | Learning | ___ |
| 22 | holon-forms | Holon Forms | Assessment | ___ |
| 23 | holon-forum | Holon Forum | Communication | ___ |
| 24 | holon-fusion | Holon Fusion | Course Management | ___ |
| 25 | holon-gallery | Holon Gallery | Engagement | ___ |
| 26 | holon-grade | Holon Grade | Assessment | ___ |
| 27 | holon-grade-audit | Holon Grade Audit | Assessment | ___ |
| 28 | holon-grade-export | Holon Grade Export | Assessment | ___ |
| 29 | holon-grader | Holon Grader | Assessment | ___ |
| 30 | holon-im | Holon IM | Communication | ___ |
| 31 | holon-insight | Holon Insight | Analytics | ___ |
| 32 | holon-interaction | Holon Interaction | Analytics | ___ |
| 33 | holon-kb | Holon KB | Knowledge | ___ |
| 34 | holon-lda | Holon LDA | Analytics | ___ |
| 35 | holon-learn | Holon Learn | Student Experience | ___ |
| 36 | holon-links | Holon Links | Content | ___ |
| 38 | holon-mobile | Holon Mobile | Platform | ___ |
| 39 | holon-modules | Holon Modules | Content | ___ |
| 40 | holon-nav | Holon Nav | Productivity | ___ |
| 41 | holon-office | Holon Office | Productivity | ___ |
| 42 | holon-outcomes | Holon Outcomes | Analytics | ___ |
| 43 | holon-patch | Holon Patch | Accessibility | ___ |
| 44 | holon-path | Holon Path | Student Experience | ___ |
| 45 | holon-planner | Holon Planner | Student Experience | ___ |
| 46 | holon-pods | Holon Pods | Student Experience | ___ |
| 47 | holon-poll | Holon Poll | Engagement | ___ |
| 48 | holon-publish | Holon Publish | Content | ___ |
| 49 | holon-pulse | Holon Pulse | Analytics | ___ |
| 50 | holon-quest | Holon Quest | Engagement | ___ |
| 51 | holon-quiz | Holon Quiz | Assessment | ___ |
| 52 | holon-reader | Holon Reader | Content | ___ |
| 53 | holon-replay | Holon Replay | Assessment | ___ |
| 54 | holon-reports | Holon Reports | Engagement | ___ |
| 55 | holon-revisions | Holon Revisions | Content | ___ |
| 56 | holon-roles | Holon Roles | Administration | ___ |
| 57 | holon-roster | Holon Roster | Course Management | ___ |
| 58 | holon-rubric | Holon Rubric | Assessment | ___ |
| 59 | holon-scorm | Holon SCORM | Content | ___ |
| 60 | holon-search | Holon Search | Content | ___ |
| 61 | holon-shadow | Holon Shadow | Productivity | ___ |
| 62 | holon-sheets | Holon Sheets | Productivity | ___ |
| 63 | holon-sis | Holon SIS | Administration | ___ |
| 64 | holon-social | Holon Social | Engagement | ___ |
| 65 | holon-translate | Holon Translate | Accessibility | ___ |
| 66 | holon-tutor | Holon Tutor | Student Services | ___ |