"""TEMPLATE — Standard Operating Procedure (SOP). Copy this folder to /source/ and fill it in. A repeatable task for MPM staff (setup, onboarding, process). Marked INTERNAL USE automatically. 2–6 pages. See MPM_Document_Standard.md §9.2. Reference: SOP-IT-UNIFI-01 (UniFi Talk). Order (do not reorder): masthead (automatic) → Before you start → Process at a glance (who does each part) → Walkthrough (doc.step per step, screenshots in img/) → special cases (doc.special) → Setup checklist → Troubleshooting → Need help? → Revision history (automatic) Screenshots: crop to the relevant part, mark the control to tap with a gold box, save as JPG in img/. They are captioned but not numbered. Name on-screen controls with ui('Label'). """ import sys, pathlib HERE = pathlib.Path(__file__).resolve().parent sys.path.insert(0, str(next(p / "_STANDARDS" for p in HERE.parents if (p / "_STANDARDS").is_dir()))) from mpmdoc import Doc, ui doc = Doc( number="SOP-IT-SUBJ-01", rev="0.1", date="2026-11-06", # CUST = department: IT, ENG, OPS, QA customer=None, subject="System", kicker="End-user walkthrough · System", title="Do the Thing with the App", lede="One sentence: what the reader will have done and be able to do at the end.", meta=[("Audience", "All MPM staff"), ("Time needed", "About 10 minutes")], slug="MPM_System_Task", history=[("0.1", "2026-11-06", "Initial draft.")], ) PHONE, SIDE = "92px", "20%" # one phone screenshot beside a step doc.add( doc.before_you_start([ "What has already been done for you, and by whom.", "What to have in hand before you start.", "Anything that expires or needs a special case (point to it by name).", ]), doc.section("Process at a glance"), doc.glance([ ("Account
created", "IT", "✓", True), # done by someone else: tick + greyed tile ("Open
email", "You"), ("Install
app", "You"), ("Sign in", "You"), ]), doc.section("Walkthrough", new_page=True), doc.step(1, "Your inbox", "Open the invitation email", doc.steps([ f"Open the email from Vendor and tap {ui('Get Started')}.", "Continue to Step 2.", ]) + doc.note("Good to know", "One short fact that prevents a support call."), doc.shot("img/placeholder.jpg", "Caption: what to look for", PHONE), side=SIDE), doc.special("Some staff only", "Outside the U.S.? Do this first", "

Who this applies to and how they'll know.

" + doc.steps([f"Tap {ui('VPN')}.", "Leave it on for your whole shift."])), doc.checklist("Setup checklist", ["Email opened and link tapped", "App shows my name", "Test completed"], cols=1), doc.section("Troubleshooting"), doc.table([("Problem", "", "28%"), ("What to do", "")], [["Email is missing", "Check Spam/Junk. If it isn't there, ask IT to resend it."]]), doc.note("Need help?", "Contact MPM IT."), ) doc.build()