Repository navigation
Cross-domain SPHERE hello world (stacked on #16) - #17
Merged
Merged
Conversation
- Say plainly what the test shows: with Start on and the level reading inside the controller's 300-500 mm band, PLC 1 opens the tank's fill valve; above 500 mm it closes it. - Label the two signals between the PLCs by their ports: level on analog slot 7 ch 0 (PLC 2 to PLC 1), valve command on digital slot 5 point 0 (PLC 1 to PLC 2). - Make Previous/Next visibly drive every panel: each panel shows the sample number, highlights a value that just changed, and counts down to its next change. - Add step 4, an attacker illustration: a forged level reading keeps the fill valve open past 500 mm, and an independent high-level check exposes it. - Restructure as numbered steps with Expected results, state the recording's limits once, and drop the repeated negations and caps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
public/sphere/hello-world/ is generated by the CS6494 course tool challenges/ctf1-ics/tools/sphere_hello_world.py (2D variant): a step-by-step page around the CTF1 briefing replay of three utilities, plus what SPHERE builds for each team. The P1 page's What's next now links to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Regenerated from the course tool (cs6494-fall2026 claude/sphere-hello-world beea1aa): the replay spans the window at 16:9, and step 4 shows each role (PLC, simulator, HMI, workstation) as swappable, with a toggle between the CTF1 all-virtual build and a real-hardware build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
public/sphere/hello-world-3d/ is the course tool's 3D variant built with --static-host (cs6494-fall2026 claude/sphere-hello-world b519b4c): the Unity floor builds are decompressed so GitHub Pages can serve them, with one shared copy of the engine files (about 72 MB). The 2D and 3D pages link to each other. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lagarcia38
changed the base branch from
claude/p1-hello-world-cleanup
to
main
October 27, 2026 21:42
lagarcia38
marked this pull request as ready for review
October 27, 2026 21:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
/sphere/hello-world/, a step-by-step SPHERE ICS hello world across three utilities (hydro power, water treatment, water distribution). It also links the page from the P1 page's "What's next". Stacked on #16.What the page is
Where it comes from
challenges/ctf1-ics/tools/sphere_hello_world.py(cs6494-fall2026, branchclaude/sphere-hello-world, local commitbeea1aa).theater.htmlis the unchangedbuild_theater.build("briefing")output.--floor3d) needs Brotli headers, so it isn't part of this static site. It was previewed locally withtools/serve_theater.py.Before merging
DEPLOY.mdsays no public deployment of the CTF1 material is authorized. This page publishes the briefing replay, so it needs the instructor's OK.Checks
npm run lintclean;npm run lint:links0 failures;npm run buildOK.🤖 Generated with Claude Code