CodeNSM
[ LIVE DEMO / CONTROL FLOW ]

Every function, drawn as a flow

Three real flows from CodeNSM's own plumbing — deliberately non-core, non-IP. Your functions render exactly like this: full-code mode draws every function as a BPMN flow — decisions, loops, guards and error exits — from static facts the SDK extracts locally.

This is CodeNSM watching its own codebase — live, anonymized · these flows are real Get started free How CodeNSM works
? How to read this office roles & states, in plain English
Roles — what kind of worker each function is
Project ManagerRoutes work to the right people — controllers, views, dispatchers.
Specialist EngineerDoes the actual skilled work — computation, scoring, business rules.
Records Clerk (reads)Fetches files from the cabinets — reads from the database.
Records Clerk (writes)Files paperwork into the cabinets — writes to the database.
Security & ComplianceChecks credentials and paperwork — auth, validation, permissions.
External LiaisonTalks to the outside world — third-party APIs, webhooks, HTTP.
Comms RunnerCarries messages out — email, Slack, notifications, publishing.
TranslatorTurns one language into another — serialization, parsing, formatting.
Floor SupervisorWatches the floor — health checks, status, metrics, monitoring.
FacilitiesKeeps the office clean — cleanup, expiry, retries, flushing, logging.
AssociateVersatile hands — no dominant role signal yet.
States — how each worker is doing right now
Fithealthy Snoozingunused 14+ days Growing fatlow value, barely used Stressedslow under load Injury-proneerror rate above 5% Quiet expertrare but critical Top performercarries outsized value
apps.codensm.views._client_ip 0 decisions 0 loops 3 lines 3 nodes

Rendering flow diagram…

apps.codensm.snapshot.snapshot_all 1 decision 1 loop 6 lines 7 nodes

Rendering flow diagram…

apps.codensm.github._api_get 0 decisions 0 loops 15 lines 6 nodes

Rendering flow diagram…

start / end (stadium) task decision (diamond) loop (hexagon) guard (try/except) error exit

One argument unlocks this for every function

Full-code mode ships static control-flow facts — node counts, branches, loops, guards — never your code. The diagrams pulse live as real calls flow through.

# one argument in your existing init()
import codensm
codensm.init(
    api_key="YOUR-INGEST-KEY",
    include=["myapp"],
    mode="full",   # ← unlocks BPMN flow diagrams
)

Your source never leaves your machine. The SDK extracts structure locally and sends only counts and shapes.

Get started free