Running onboarding with the Training portal
The Training portal (onboarding.nexusblack.ai) is the joiner's self-guided first week. This guide is for the person who runs a training session, the manager who checks progress, and the admin who keeps the content right.
- 1. What a session covers
- 2. How progress is recorded, and who sees it
- 3. How a joiner gets an account
- 4. The Portfolio Plan and "Plan built"
- 5. Changing the words
- 6. Known limits
- 7. Owners
1. What a session covers
A session walks the nine modules in order, and a joiner can do the same alone. The rhythm that works: People (who is who, then the customers), Projects (what is being delivered, and to whom), Process (how work flows), Product and Technology (what we build and with what), then Tools and Logins (what the joiner does next on their own laptop). Welcome and Finish frame it.
| Module | Source of the content | Refresh |
|---|---|---|
| Welcome, Finish | Fixed text in the portal | Code change |
| People | The roster in Ignition (live) plus the customer notes in data/onboarding/people.md | Roster: live. Notes: next Ignition build or a content seed |
| Projects | PMBot's engagement records on the tracking branch of IFS-NXB/product-base | Rebuilt on the first visit after 24 hours, or Refresh now (admins) |
| Process, Product, Useful Links | data/onboarding/*.md | Next Ignition build or a content seed |
| Technology | The technology register (data/onboarding/tech-radar.html) | Next Ignition build or a content seed |
| Tools and Logins | The joiner's own Ignition access run, plus data/onboarding/tools-and-logins.md | Run: live. Text: next build or seed |
The Downloads card on Welcome holds three decks (Nexus Black Onboarding, HR Induction May 2026, IT Introduction for APJME and EU). Replacing one is a file change in the repository.
2. How progress is recorded, and who sees it
A joiner presses Mark complete and continue at the bottom of a module. That writes one record: this person, this module, now. Nothing else is recorded: no time on page, no scores, no answers.
- The joiner sees ticks in their own module list and "n of 9 complete".
- A manager (anyone the roster lists as someone's line manager) sees Team progress in the header: their reports, each with the count and a dot per module.
- An ignitionAdmin sees Team progress for everyone Active or Incoming.
- Nobody else sees anything, and there is no export. The record lives in the same database as the roster.
3. How a joiner gets an account
Sign-in is by invitation only: the Clerk application is set to Restricted (Manan Shah, 11 September 2026). Two routes, both through Ignition:
A new joiner: Joiner Part 3 in Ignition
The onboarding operator runs Joiner Part 3, "Basic training", once the joiner's IFS mailbox exists. Ignition creates the Clerk invitation and captures the sign-up link; Clerk emails it too. The joiner opens the link, creates the account, and lands on the portal. If the mailbox is not live yet, the operator queues the step for the start date and a reminder appears on Ignition's home page on the day.
Existing staff: Settings, Operators in Ignition
An ignitionAdmin types the person's IFS email on the Operators page and presses Send invitation. Ignition sends it only for an Active roster row. One Clerk account serves both portals, so the person can then open the Training portal as well.
After sign-in the portal applies the two gates: the roster (Active or Incoming, IFS address) and the start date (Incoming joiners wait until the day). A person with an account but no roster row sees "Nexus Black staff only". Keeping the roster right is what keeps the portal right.
4. The Portfolio Plan and "Plan built"
The Projects module draws every customer engagement from the records PMBot keeps. PMBot is not a service; it is a scheduled task (three times a day on weekdays) that writes one file per engagement to the tracking branch of the product-base repository. The portal reads those files, so the plan is as current as PMBot's last run.
The line under the Projects heading is the promise about freshness. Read it like this:
| It says | It means |
|---|---|
| "Plan built 11 Sep 2026 20:33 UTC from IFS-NXB/product-base@tracking 73c7454 · sources last read 11 Sep 2026." | The plan on the page was built at that time from that version of the records, and PMBot last read its own sources (Slack, Notion, GitHub, meetings) on that day. Under 24 hours old: current. |
| A red box: "The plan could not be rebuilt at time. Showing the plan built date, sources last read date." with a reason | The rebuild failed (most often the GitHub credential has expired) and the page is showing the last good plan, dated. Old data is never shown as current. Tell an engineer; the reason names what to fix. |
| "Workstream detail; ticket-level drill-down to follow." | Rows open onto workstreams and milestones, not yet onto individual tickets and pull requests. |
Admins see a Refresh now button under the line, the time of the last attempt, and a note of how the plan compares with PMBot's own page.
5. Changing the words
Module text lives in the repository under data/onboarding/ and reaches the portal on the next Ignition build, or when an engineer runs the content seed. The per-tool "what you do next" wording on Tools and Logins is in code; the "on hold" notices come from the systems Registry in Ignition, so an admin can lift one without an engineer. Charlie Toprak owns the module content with the function leads.
6. Known limits
- Clerk development instance. Both portals sign people in through the development instance of the Clerk application "Nexus Black". It shows a small "Development mode" badge and is capped at 100 users. Nexus Black has about 80 people, so the cap is real. Moving to a production instance is Manan Shah's; when it happens, accounts do not move, and everyone is invited again.
- The roster is the access list. Anyone with an account and a roster row that is Active or Incoming gets in; anyone else is refused. A wrong row, not a broken portal, is the usual reason someone cannot get in.
- Invitations only. Nobody can sign up by themselves, and the portal cannot send an invitation; Ignition does.
- The plan depends on a credential that expires (12 September 2027). The red box above is what expiry looks like.
- Team progress is counts only. No detail on how a module went, and no export.
7. Owners
| Resource | Owner | Second owner |
|---|---|---|
| Training portal code and releases | Kevin van Heerden | Manan Shah |
Module content (data/onboarding) | Charlie Toprak | The function leads |
Vercel project nxb-onboarding | Nathan Streger | Ruslan Galasun |
| Clerk application | Manan Shah | |
| GitHub credential for the plan | An IFS-NXB organisation owner (Kevin van Heerden or Manan Shah) should hold a copy or create their own |