About Sufficiency
Sufficiency didn’t start as a CLI project, a framework, or even a design exercise. It began with a simple goal: to automate the Acronis login flow by reverse-engineering raw HAR entries. What started as a focused problem-solving effort evolved into a powerful, modular CLI engine.
The Origin Story
The journey began with the challenge of handling:
POST /api/1/loginrequestsCookies like
AUTH_SERVER_SECURESession tokens and MFA state
HAR dumps and browser headers
Acronis’s unique split-session behavior
The goal was straightforward: automate Acronis login.
The Evolution
PowerShell Proof of Concept: A quick prototype to send login requests, capture cookies, follow redirects, and extract tokens.
Python Proof of Concept: A cleaner, modular, and reusable implementation.
CLI Wrapper: To make token usage practical and accessible.
IOS-like Experience: Added contexts, help, completion, and paging for a familiar operator experience.
Structured CLI: Split handlers, schema, and engine logic for maintainability.
Declarative Schema: Moved commands into YAML for clarity and flexibility.
Domain-Agnostic Engine: Removed the fake API layer to generalize the engine.
Filesystem-Driven Schema: Enabled schema definition through the filesystem.
Naming Sufficiency: The architecture finally matched the philosophy, and the project was named.
What Sufficiency Is Today
Sufficiency is more than just a solution to a login problem. It is a platform that includes:
A modular CLI engine
A declarative schema system
Filesystem-driven and explicit modes
A handler registry
A context model
A meta-command subsystem
A loader
A guiding philosophy
It’s a platform designed to solve not only the original problem but all the challenges that follow.