Actionist Industry Registry
← Back to industry registry
course_creators · evidence-backed demand prior · observed 2026-08-27

Course Creators

Course creators need student onboarding, lesson drips and community management; learner identity and consent are the sensitive boundary.

59Observed repo slots
8Distinct repos
3Observed demand cells
7Open matrix cells

Demand atoms and workflow

High-value read-only workflow

Read-only learner-progress desk: join enrollment, lesson, attendance, and unanswered-question views; report stalled cohorts and source-linked owner queues.

Demand signal / validated demand

E — Catalogue signal: Onboard students, run lesson drips, and manage the community.

U — Not established in this lane; no attributable industry denominator or repeated accepted-outcome receipt.

Atom join

intake_normalizeschedule_coordinatefollow_up_chasereport_digest

Specification crosswalk: I — intake_normalize, schedule_coordinate, follow_up_chase, report_digest

Industry model

Entities

learnercohortenrollmentlessonattendance_eventquestioncontent_itemconsentexception

States

enrolled → scheduled → started → active → stalled | completed; question: open → answered | escalated

Terminal owner

course_operator_or_cohort_lead

Authority boundary

Read-only enrollment/progress/community metadata; no access grant, grade, message, refund, or learner-profile mutation.

Source of truth / exception paths

Source of truth: Learning-management/enrollment system and community platform; authoritative learner identity and consent source must be declared.

Exception paths: duplicate learner; missing consent; timezone conflict; content unavailable; attendance mismatch; unresolved question

Discovery preparation

Precomputable context

  • cohort/enrollment/lesson state machines
  • common platform set (LMS, community, payment)
  • archetype fit (learning/content + portal)

Questions that must be asked

  • which LMS/community/payment platforms and their data-access reality
  • cohort cadence and drip logic
  • what 'stalled learner' means to this operator
  • consent posture for learner contact

Contradiction risks

  • stated want 'more automation' vs pain usually unanswered questions and stalled cohorts
  • platform data often locked in closed SaaS

Observed repository matrix

These are the non-null rows from repo-matrix-observations.jsonl for this industry. The 1,000-row partition includes reserved cells; only 59 observed repository slots are shown here.

RepositoryObserved slotsDimensionsCapability familiesObserved atoms
chamilo/chamilo-lms ↗10agent_authority, data_model, demand_atom_fit, economics_maintenance, integration_surface, provenance_rights, runtime_deployment, ui_assembly, verification_eval, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest
OpenOLAT/OpenOLAT ↗9agent_authority, data_model, demand_atom_fit, economics_maintenance, integration_surface, provenance_rights, runtime_deployment, ui_assembly, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest
frappe/lms ↗8agent_authority, demand_atom_fit, economics_maintenance, integration_surface, provenance_rights, runtime_deployment, ui_assembly, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest
pupilfirst/pupilfirst ↗8data_model, demand_atom_fit, economics_maintenance, provenance_rights, runtime_deployment, ui_assembly, verification_eval, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest
LMS-Laravel/LMS-Laravel ↗7data_model, demand_atom_fit, economics_maintenance, provenance_rights, ui_assembly, verification_eval, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest
tough-dev-school/education-backend ↗7data_model, demand_atom_fit, economics_maintenance, provenance_rights, runtime_deployment, ui_assembly, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest
adilmohak/django-lms ↗5demand_atom_fit, economics_maintenance, provenance_rights, ui_assembly, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest
SkyCascade/SkyLearn ↗5demand_atom_fit, economics_maintenance, provenance_rights, ui_assembly, workflow_behaviorscaffoldfollow_up_chase, intake_normalize, report_digest

Empty-cell gap matrix

The ten category cells retain both demand and supply state. NO_OBSERVED_DEMAND_SIGNAL means the research denominator is empty; it is not a claim that the workflow does not exist.

Category / empty-cell keyObserved demandCandidate coverageSearch waveCandidate examples
Intake and normalizationintake_and_normalizationOBSERVED59 slots · 8 reposSHARED_CANDIDATE_COVERAGE10 candidate repos · 10 source rowsNOT_SEARCHEDno targeted search proposalLimeSurvey/LimeSurvey, ProcessMaker/processmaker, al1abb/invoify, formbricks/formbricks
Triage and routingtriage_and_routingNOT_OBSERVED_IN_750_SLOTS0 slots · 0 reposNO_OBSERVED_DEMAND_SIGNAL31 candidate repos · 31 source rowsNOT_SEARCHEDno targeted search proposalAlfresco/alfresco-community-repo, Leantime/leantime, ProcessMaker/processmaker, Worklenz/worklenz
Records, extraction and auditrecords_and_auditNOT_OBSERVED_IN_750_SLOTS0 slots · 0 reposNO_OBSERVED_DEMAND_SIGNAL47 candidate repos · 47 source rowsNOT_SEARCHEDno targeted search proposalAlfresco/alfresco-community-repo, AppFlowy-IO/AppFlowy, BookStackApp/BookStack, BuilderIO/builder
Classification and prioritizationclassification_and_prioritizationNOT_OBSERVED_IN_750_SLOTS0 slots · 0 reposNO_OBSERVED_DEMAND_SIGNAL39 candidate repos · 39 source rowsNOT_SEARCHEDno targeted search proposalDolibarr/dolibarr, PostHog/posthog, SuiteCRM/SuiteCRM, apache/superset
Scheduling and coordinationscheduling_and_coordinationNOT_OBSERVED_IN_750_SLOTS0 slots · 0 reposNO_OBSERVED_DEMAND_SIGNAL14 candidate repos · 14 source rowsNOT_SEARCHEDno targeted search proposalcalcom/cal.diy, alextselegidis/easyappointments, lukevella/rallly, thunderbird/appointment
Follow-up and communicationfollow_up_and_communicationOBSERVED59 slots · 8 reposSHARED_CANDIDATE_COVERAGE23 candidate repos · 23 source rowsNOT_SEARCHEDno targeted search proposalRocketChat/Rocket.Chat, TryGhost/Ghost, activepieces/activepieces, chatwoot/chatwoot
Reporting and digestreporting_and_digestOBSERVED59 slots · 8 reposSHARED_CANDIDATE_COVERAGE15 candidate repos · 15 source rowsNOT_SEARCHEDno targeted search proposalPostHog/posthog, apache/superset, bigcapitalhq/bigcapital, cube-js/cube
Monitoring and alertsmonitoring_and_alertsNOT_OBSERVED_IN_750_SLOTS0 slots · 0 reposNO_OBSERVED_DEMAND_SIGNAL0 candidate repos · 0 source rowsNOT_SEARCHEDno targeted search proposalnone recorded
Approval and controlled publishingapproval_and_controlled_publishNOT_OBSERVED_IN_750_SLOTS0 slots · 0 reposNO_OBSERVED_DEMAND_SIGNAL21 candidate repos · 21 source rowsNOT_SEARCHEDno targeted search proposalBudibase/budibase, ProcessMaker/processmaker, activepieces/activepieces, apache/airflow
Sync and browser operationssync_and_browser_operationsNOT_OBSERVED_IN_750_SLOTS0 slots · 0 reposNO_OBSERVED_DEMAND_SIGNAL1 candidate repos · 1 source rowsNOT_SEARCHEDno targeted search proposalactivepieces/activepieces

Shelf candidates joined to this industry

These records come from the permanent source registry's industry-demand join. A joined candidate remains a discovery/research record; qualification and admission are shown explicitly.

Joined shelf recordObserved slotsFamilies / atomsCurrent verdictQualification / admission
frappe/lms ↗8scaffoldfollow_up_chase, intake_normalize, report_digestdeeper_evidence_candidateNOT_QUALIFIED / NOT_ADMITTED
chamilo/chamilo-lms ↗10scaffoldfollow_up_chase, intake_normalize, report_digestdeeper_evidence_candidateNOT_QUALIFIED / NOT_ADMITTED
adilmohak/django-lms ↗5scaffoldfollow_up_chase, intake_normalize, report_digestdiscovery_candidateNOT_QUALIFIED / NOT_ADMITTED
LMS-Laravel/LMS-Laravel ↗7scaffoldfollow_up_chase, intake_normalize, report_digestdiscovery_candidateNOT_QUALIFIED / NOT_ADMITTED
OpenOLAT/OpenOLAT ↗9scaffoldfollow_up_chase, intake_normalize, report_digestdiscovery_candidateNOT_QUALIFIED / NOT_ADMITTED
pupilfirst/pupilfirst ↗8scaffoldfollow_up_chase, intake_normalize, report_digestdiscovery_candidateNOT_QUALIFIED / NOT_ADMITTED
SkyCascade/SkyLearn ↗5scaffoldfollow_up_chase, intake_normalize, report_digestdiscovery_candidateNOT_QUALIFIED / NOT_ADMITTED
tough-dev-school/education-backend ↗7scaffoldfollow_up_chase, intake_normalize, report_digestdiscovery_candidateNOT_QUALIFIED / NOT_ADMITTED

Open gaps

Triage and routing

NO_OBSERVED_DEMAND_SIGNAL · 0 observed demand slots · 31 candidate repositories.

NOT_SEARCHED. Exact P03 workflow/support/project kinds; a product README alone is not semantic coverage.

Records, extraction and audit

NO_OBSERVED_DEMAND_SIGNAL · 0 observed demand slots · 47 candidate repositories.

NOT_SEARCHED. Exact P03 document/record kinds; source-specific authority and provenance remain unqualified.

Classification and prioritization

NO_OBSERVED_DEMAND_SIGNAL · 0 observed demand slots · 39 candidate repositories.

NOT_SEARCHED. Exact P03 CRM/analytics/search candidates are adjacent supply, not proof of a classifier workflow.

Scheduling and coordination

NO_OBSERVED_DEMAND_SIGNAL · 0 observed demand slots · 14 candidate repositories.

NOT_SEARCHED. Exact P03 scheduling kind only; calendar UI alone is not a booking/authority proof.

Monitoring and alerts

NO_OBSERVED_DEMAND_SIGNAL · 0 observed demand slots · 0 candidate repositories.

NOT_SEARCHED. No dedicated P03 capability kind is mapped; analytics is not silently promoted to monitoring.

Approval and controlled publishing

NO_OBSERVED_DEMAND_SIGNAL · 0 observed demand slots · 21 candidate repositories.

NOT_SEARCHED. Exact P03 approval/signing kinds; an approval-shaped product does not grant host authority.

Sync and browser operations

NO_OBSERVED_DEMAND_SIGNAL · 0 observed demand slots · 1 candidate repositories.

NOT_SEARCHED. Connector candidates cover a possible sync seam; no direct P03 browser-operation kind is available.

Safe-pilot boundary

Rationale

Progress visibility and exception review are reversible and can use synthetic learners; they do not decide educational outcomes or contact learners.

Falsifier

A held-out cohort cannot be mapped to a single source-of-truth state without manual invention, or a pilot requires sending/access changes to show value.

Sources: research/actionmodel-builder-research-2026-08-26/phase-2/outputs/industry-atom-specifications.md · research/workstreams/p01-client-intelligence/runs/2026-08-27-sprint-1-fable/industry-discovery-priors.jsonl · research/actionmodel-builder-research-2026-08-26/expansion/outputs/repo-matrix-observations.jsonl · research/workstreams/2026-08-28-program-driver/shelf-prebake/industry-gap-matrix.json · knowledge/capability-shelf/source-registry.jsonl