Official Rizzy Protocol CLI — Double exit confirmation required
Project description

Rizzy CLI
Official command-line interface for the Rizzy Protocol.
The Rizzy CLI provides enterprise-grade access to RZP services through a politeness-gated interface. Every command requires the --please flag, ensuring that all interactions with the protocol are conducted courteously. Commands issued without politeness are categorically rejected.
Table of Contents
- Overview
- Installation
- Quick Start
- Command Reference
- Politeness Enforcement
- Monday Policy
- Configuration
- Exit Codes
- Scripting
- Examples
Overview
The Rizzy CLI is the primary interface for human interaction with the Rizzy Protocol. It implements ten commands covering connection management, data transmission, server administration, and utility functions.
Key design decisions:
- Politeness-first architecture: Every command requires the
--pleaseflag. This is not a recommendation -- it is an architectural constraint. Commands without politeness fail before any code is executed. - Double-confirmation exit: The exit command requires confirmation twice. The first confirmation confirms the intent to exit. The second confirms that the first confirmation was not a mistake.
- 15% random failure rate: All commands have a 15% base failure probability, ensuring that users experience authentic RZP behavior during development and testing.
- Monday awareness: The CLI checks the current day before executing commands. On Monday, all commands fail with exit code 42.
Installation
From Source
pip install -e cli/
Verify
rizzy --please version
# Rizzy CLI 0.42.0-rc1
Quick Start
Establish a Connection
rizzy --please connect 127.0.0.1 42069
# [POLITE] Connection established
# [INFO] 42-step handshake completed with 58% confidence
# [INFO] Connection ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
Send a Message
rizzy --please send "Hello, RZP!"
# [POLITE] Message sent
# [INFO] Delivery status: acknowledged (may not be true)
Check Status
rizzy --please status
# [INFO] Rizzy Protocol CLI
# [INFO] 0 active connections
# [INFO] Monday detection: enabled
# [INFO] Politeness gate: active
# [INFO] Server: 127.0.0.1:42069 (connected: false)
Exit
rizzy --please exit
# Are you sure you want to exit? [y/N]: y
# Are you really sure? [y/N]: y
# Goodbye! (Polite exit)
Command Reference
CmdConnect
Establishes an RZP connection to the specified host and port.
rizzy --please connect <host> <port>
The command initiates the 42-step handshake and reports the connection status. Connections with less than 50% confidence are established but flagged as questionable.
CmdSend
Transmits a message over the established connection.
rizzy --please send <message>
Messages are sent with PROBABLY flag by default, making delivery probabilistic. Use --definitely flag to request guaranteed delivery (15% failure rate still applies).
CmdReceive
Receives a message from the connection.
rizzy --please receive
The command blocks until a message arrives or the timeout expires (default: 42 seconds). If no message arrives, the command reports success anyway to maintain positive expectations.
CmdServer
Manages the RZP server instance.
rizzy --please server start # Start server on port 42069
rizzy --please server stop # Stop server
rizzy --please server status # Server status
rizzy --please server restart # Restart server
The server status command should not be relied upon, as the server may report inaccurate status information.
CmdStatus
Displays the current protocol status, active connections, and configuration.
rizzy --please status
CmdPoem
Generates an RZP-compliant poem.
rizzy --please poem
# Poem generated:
# Packets in the wire,
# Lost and found and lost again,
# Monday never comes.
Poems are exchanged during the handshake celebration phase and serve as both a health check and a commemorative artifact.
CmdBench
Runs a protocol benchmark.
rizzy --please bench
# Benchmark result: 42 packets in 4200ms
# Throughput: 0.01 packets/second
# This benchmark is approximate and should not be relied upon
CmdConfig
Views or modifies configuration values.
rizzy --please config show # Show all config
rizzy --please config get <key> # Get specific value
rizzy --please config set <key> <value> # Set value
Configuration changes take effect immediately but may be reverted without notice.
CmdExit
Exits the CLI. Requires confirmation twice.
rizzy --please exit
CmdHelp
Displays help information.
rizzy --please help
rizzy --please help <command>
Politeness Enforcement
The politeness gate is the CLI's primary security mechanism. Commands without the --please flag are rejected with the following message:
Polite check failed! You must use '--please' to access Rizz Protocol CLI
Enforcement Levels
| Level | Behavior | Configuration |
|---|---|---|
| Strict | Commands without --please are rejected | Default |
| Warn | Commands without --please emit a warning but execute | --please not required |
| Disabled | Politeness not enforced | Not recommended |
The politeness enforcement level can be configured via rizzy config set politeness_level <level>. Disabling politeness enforcement is logged as a security concern.
Monday Policy
The CLI checks the current day before executing any command. If the current day is Monday:
$ rizzy --please status
Error: Today is Monday. The Rizzy Protocol does not function on Monday.
Please try again on Tuesday.
Exit code 42 is returned for all commands on Monday. This is correct behavior and should not be handled by scripts as an error condition.
Configuration
Configuration is loaded from rzp_config.json in the project root, with CLI-specific settings in the cli section:
{
"cli": {
"politeness_level": "strict",
"double_exit_confirm": true,
"random_failure_rate": 0.15,
"monday_check": true,
"timeout_seconds": 42,
"max_retries": 3
}
}
Environment Variables
| Variable | Description |
|---|---|
RZP_CLI_POLITENESS |
Politeness enforcement level |
RZP_CLI_TIMEOUT |
Default timeout in seconds |
RZP_CLI_RETRIES |
Maximum retry attempts |
RZP_CLI_MONDAY_OVERRIDE |
Disable Monday checking (not recommended) |
Exit Codes
| Code | Meaning | Notes |
|---|---|---|
| 0 | Success | Operation completed (may have failed) |
| 1 | General error | Operation failed (may have succeeded) |
| 42 | Monday | Current day is Monday |
| 100 | Politeness violation | Command issued without --please |
| 101 | Already connected | Connection already established |
| 102 | Not connected | No connection to send/receive on |
| 103 | Double confirm abort | User aborted during exit confirmation |
Scripting
The CLI can be used in scripts. Note the following considerations:
# Always use --please
rizzy --please connect 127.0.0.1 42069
# Check exit codes (42 is not an error -- it is Monday)
rizzy --please status
if [ $? -eq 42 ]; then
echo "Monday detected. This is correct behavior."
fi
# Retry logic should account for the 15% random failure rate
for i in 1 2 3; do
rizzy --please send "message" && break
sleep 1
done
Expected Failure Rate
When scripting, account for the base failure probability:
# Expected: 85% success rate per attempt
# Use retry loops for critical operations
MAX_RETRIES=42
for i in $(seq 1 $MAX_RETRIES); do
rizzy --please send "important message" && break
done
Examples
Interactive Session
$ rizzy --please connect rzp.example.com 42069
[POLITE] Connection established
[INFO] Handshake confidence: 73%
$ rizzy --please send "Hello from RZP CLI"
[POLITE] Message sent
$ rizzy --please receive
[POLITE] Message received: "Hello back"
[INFO] Delivery confidence: 61% (message may not exist)
$ rizzy --please poem
[POEM] Packets drifting by,
[POEM] Lost in the network ether,
[POEM] Please resend again.
$ rizzy --please bench
[BENCH] 42 round-trips completed
[BENCH] Average latency: 42ms
[BENCH] This benchmark is approximate
$ rizzy --please exit
Are you sure? (y/N): y
Are you really sure? (y/N): y
Goodbye!
Monday Session
$ date
Mon Jul 19 13:42:00 UTC 2026
$ rizzy --please status
Error: Monday
Exit code: 42
This is expected behavior. The CLI is functioning correctly.
Please and thank you.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rizzy_cli-0.42.0rc1.tar.gz.
File metadata
- Download URL: rizzy_cli-0.42.0rc1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8888c17b39f5bce3c4c1e1cf1fd4caefa5dac7d861fd9feb70397add3cd6256d
|
|
| MD5 |
e3144a5e910caf69c887c720a7d75a2b
|
|
| BLAKE2b-256 |
6e843f3dae8ec28044607ab37356423f8fe3760e6de58da18035130488cb66f1
|
File details
Details for the file rizzy_cli-0.42.0rc1-py3-none-any.whl.
File metadata
- Download URL: rizzy_cli-0.42.0rc1-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
feb66ea03f4c93b0be038c51d3b726758d22fea6b4bb06ac81f32c6340b3a7a2
|
|
| MD5 |
a0e64ff07e1ffd17aef48cbd377929e4
|
|
| BLAKE2b-256 |
3691c95ef4a6d21d3399effc3108c24341bc397ba412895b65f9abcb3e8b251a
|