A function contract says which values callers provide and which choices the function owns. Python supports positional arguments, keyword arguments, defaults, positional-only parameters, and keyword-only parameters. A slash marks positional-only parameters; a star marks keyword-only parameters. An asterisk can also unpack a sequence at a call site, while two asterisks unpack a mapping. Default objects are evaluated when the function is defined, so a mutable default can leak state between calls. You'll write small internal helpers inside the supplied entry function and call them in controlled ways. That lets the checker inspect argument behavior without depending on a live service or process command line.