SwayForm/Learning Hub
Learning Hub/Validation & Queue

Validation & Queue

Students write real ROS 2 code. SwayForm checks and queues each submission so an instructor can review the source before allowing it to move the robot.

What gets checked automatically

Before a submission reaches an instructor, it runs through automated checks. The list below reflects planned architecture — some checks are further along than others, and none of this replaces instructor review.

Python syntax validation
ROS 2 package build checks
Required dependency validation
Valid message structure
Supported node configuration
Valid joint names
Joint-angle bounds
Requested speed limits
Command-duration limits
Missing-file detection
Unsupported hardware access
Direct motor-controller access attempts
Honest note

These are planned checks, not a claim of complete behavioral simulation or a guarantee that every approved program is perfectly safe. Physical limits are still enforced by the protected motion-control node regardless of what the queue catches — see Safety.

What the queue interface shows

The queue is meant to give an instructor everything needed to make a fast, informed decision:

  • Student or team name and project name
  • Requested program
  • Submission time and queue position
  • Build status and validation status
  • Error messages, if any
  • Instructor decision and current execution status

Instructor review

The instructor opens a queued submission, reads the source, checks the validation results, and approves or rejects it. A rejection can include feedback so the student can fix the issue and resubmit. Only an approved submission can send requests through the protected motion-control system — see Classroom Workflow for the full sequence.