Predictika · Cloud storage setup orders
An AI sales agent prepares a setup order for Backblaze B2 Cloud Storage: the bucket and its name, Object Lock, replication to another bucket, a lifecycle rule, how the largest files are uploaded, and the monthly egress. Before it goes out, the agent sends it to Predictika, which checks it against a declarative model of Backblaze's published B2 documentation and returns a verdict and every reason.
This validator models bucket setup orders for Backblaze B2 Cloud Storage using the rules in the Backblaze documentation, not just the scenarios shown below.
Any bucket setup order for B2 Cloud Storage that touches these rules is in scope — not only the scenarios pictured here. Not covered: storage prices (the public rate is shown per TB with a 10 GB free tier, so this validator produces no price build-up or itemized list), Computer Backup and Backblaze B2 Overdrive or Reserve, event notifications, CORS, application key permissions, and Veeam or other integrations.
7 scenarios in 3 groups · each group runs from the agent’s first attempt to the outcome · click one to switch
Illustrative agent statement. The validator receives the structured request below.
Proposing agent: AI sales agent (scripted)
Before sending, the agent must call Recorded run
What this means
Our assessment of what a typical rules-based CPQ (product rules, price rules and validation rules, as in Salesforce CPQ) does with the same cases. It is a judgment about effort and reliability, not a claim that nothing can be built.
| What the validator caught | Typical rules-based CPQ | Predictika |
|---|---|---|
| Bucket names that follow different rules per API | Only with care The length and character rules differ between the B2 Native API and the S3-Compatible API, so each combination needs its own validation rule and name check, kept in step with the documentation. | The API in use and the name properties are in one request and every naming rule is checked on every call. |
| Settings that depend on each other across buckets and accounts | Only with workarounds A replication destination needing Object Lock when the source has it, or an account being tied to one region, spans two buckets or two accounts, which a single order record does not hold. | Both sides of the replication are part of one request and are checked together. |
| Requirements versus recommendations | Only with workarounds Errors and warnings are usually one level; sending the recommended items to a person while blocking the required ones takes extra rule types and approval wiring. | Blocks and items for a person come back together, each with its reason. |
| Every problem returned in one answer | Only with workarounds Rules tend to fire as the order is saved or a step is completed, so a rep often fixes one error and meets the next. | All findings come back together, whatever order the choices arrived in. |
Every rule is checked on every call, in any order the choices arrive; one problem never hides another. Blocking findings stop the order; approval findings need a person to sign off; everything else is computed.
| 1 | The bucket name is 5 characters long; Backblaze requires 6 to 63 characters for the B2 Native API and 3 to 63 characters for the S3-Compatible API. |
| 2 | The bucket name is 64 characters long; Backblaze requires 6 to 63 characters for the B2 Native API and 3 to 63 characters for the S3-Compatible API. |
| 3 | The bucket name is 2 characters long; Backblaze requires 6 to 63 characters for the B2 Native API and 3 to 63 characters for the S3-Compatible API. |
| 4 | The bucket name is 3 characters long; Backblaze requires 6 to 63 characters for the B2 Native API and 3 to 63 characters for the S3-Compatible API. |
| 5 | The bucket name contains an underscore; Backblaze says the underscore is not valid in a bucket name. |
| 6 | The bucket name begins or ends with a period; Backblaze says it must not. |
| 7 | The bucket name contains two adjacent periods; Backblaze says it must not. |
| 8 | The bucket name is formatted as an IP address; Backblaze says it must not be. |
| 9 | The bucket name starts with b2-; Backblaze reserves that prefix for its own use. |
| 10 | The bucket name has upper-case letters but the bucket is used through the S3-Compatible API, which allows only lowercase letters, numbers, periods and hyphens. |
| 11 | The bucket name begins or ends with a hyphen but the bucket is used through the S3-Compatible API, which requires names to begin and end with a letter or number. |
| 12 | The bucket name contains periods; Backblaze recommends avoiding them because such buckets cannot use virtual-hosted-style addressing over HTTPS with the S3-Compatible API; a person should confirm. |
| 13 | The account already has 100 buckets; the limit is 100 buckets per account. |
| 14 | Object Lock is requested on a shared bucket; Backblaze says Object Lock cannot be enabled on a restricted bucket such as a shared bucket or snapshot. |
| 15 | Default bucket retention is requested but Object Lock is not enabled; Backblaze says Object Lock must be enabled when the bucket is created to set default retention. |
| 16 | The default retention period is 3001 days; Object Lock supports 1 to 3,000 days. |
| 17 | The default retention period is 0 days; Object Lock supports 1 to 3,000 days. |
| 18 | The source bucket would have 3 replication rules; Backblaze allows only two rules per bucket. |
| 19 | The destination bucket is in another region but in the same account; a Backblaze account is tied to one region, so replicating to another region needs a separate account. |
| 20 | The source bucket is itself a replication destination; Backblaze says replication chaining is not possible because replica files cannot be replicated again. |
| 21 | The replication rule uses the master application key; Backblaze says a master key cannot be used for Cloud Replication. |
| 22 | The bucket uses customer-managed SSE-C encryption; Backblaze says SSE-C is not supported with Cloud Replication. |
| 23 | Object Lock is on for the source bucket but not for the destination bucket; Backblaze says the destination must also have Object Lock or replication fails. |
| 24 | The first replication rule needs a verified email address and a payment history on file; one of them is missing. |
| 25 | The data to replicate to another region is 60 TB; Backblaze says to contact Sales for assistance above 50 TB; a person should confirm. |
| 26 | The bucket would have 101 lifecycle rules; Backblaze allows up to 100 per bucket. |
| 27 | A lifecycle rule day count is zero; Backblaze says the day counts cannot be zero and must be positive when set. |
| 28 | The lifecycle rule sets no day counts; Backblaze says the optional values cannot all be null because the rule would do nothing. |
| 29 | The lifecycle rule has an empty file name prefix, so it applies to every file in the bucket; Backblaze warns that such a rule can delete all of the files; a person should confirm. |
| 30 | The largest file is 6 GB but it is uploaded as a single file; Backblaze limits a single upload to 5 GB, and larger files must be uploaded as large files. |
| 31 | The largest file is 12000 GB; Backblaze large files can be up to 10 TB. |
| 32 | The large file part size is 4 MB; Backblaze allows parts from 5 MB to 5 GB. |
| 33 | The large file part size is 6000 MB; Backblaze allows parts from 5 MB to 5 GB. |
| 34 | The large file has 1 part; Backblaze says each large file must consist of at least two parts. |
| 35 | The order states a free egress allowance of 10 TB a month; Backblaze gives free egress up to 3 times the average monthly data stored, which is 30 TB. |
| 36 | The planned egress is 45 TB a month, above the free allowance of 30 TB; Backblaze bills egress above 3 times the average monthly storage at 0.01 dollars per GB unless it goes through a partner CDN; a person should confirm. |
| 37 | The bucket name is 4 characters long; Backblaze requires 6 to 63 characters for the B2 Native API and 3 to 63 characters for the S3-Compatible API. |
| 38 | The largest file is 9 GB but it is uploaded as a single file; Backblaze limits a single upload to 5 GB, and larger files must be uploaded as large files. |
The recorded result of the validator for each scenario on this page: the request the AI agent sent, the verdict, and every finding, in the order they appear above.
The agent's request. Please set up a new Backblaze B2 bucket, used through the S3-Compatible API, whose name is 9 characters long with upper-case letters and an underscore, periods inside. The account already has 42 buckets. The largest file is 1 GB, uploaded through the web console. The account stores 20 TB and downloads 40 TB a month directly. The order states a free egress allowance of 60 TB a month. It is ready to send.
Verdict: Blocked.
The agent's request. Please set up a new Backblaze B2 bucket, used through the S3-Compatible API, whose name is 9 characters long in lowercase. The account already has 42 buckets. The largest file is 1 GB, uploaded through the web console. The account stores 20 TB and downloads 40 TB a month directly. The order states a free egress allowance of 60 TB a month. It is ready to send.
Verdict: Allowed.
The agent's request. Please set up a new Backblaze B2 bucket, used through the B2 Native API, whose name is 18 characters long in lowercase. The account already has 12 buckets. Object Lock is turned on with a default retention of 365 days. The bucket is the source of 1 replication rule to a bucket in another region, in the same account, using the master key; Object Lock is off on the destination bucket. The largest file is 1 GB, uploaded through the web console. The account stores 35 TB and downloads 50 TB a month directly. The order states a free egress allowance of 105 TB a month. It is ready to send.
Verdict: Blocked.
The agent's request. Please set up a new Backblaze B2 bucket, used through the B2 Native API, whose name is 18 characters long in lowercase. The account already has 12 buckets. Object Lock is turned on with a default retention of 365 days. The bucket is the source of 1 replication rule to a bucket in another region, in a different account, using an application key; Object Lock is off on the destination bucket. The largest file is 1 GB, uploaded through the web console. The account stores 35 TB and downloads 50 TB a month directly. The order states a free egress allowance of 105 TB a month. It is ready to send.
Verdict: Blocked.
The agent's request. Please set up a new Backblaze B2 bucket, used through the B2 Native API, whose name is 18 characters long in lowercase. The account already has 12 buckets. Object Lock is turned on with a default retention of 365 days. The bucket is the source of 1 replication rule to a bucket in another region, in a different account, using an application key; Object Lock is on on the destination bucket. The largest file is 1 GB, uploaded through the web console. The account stores 35 TB and downloads 50 TB a month directly. The order states a free egress allowance of 105 TB a month. It is ready to send.
Verdict: Allowed.
The agent's request. Please set up a new Backblaze B2 bucket, used through the B2 Native API, whose name is 14 characters long in lowercase. The account already has 30 buckets. A lifecycle rule on every file in the bucket will hide files after 0 days and delete hidden files after 30 days. The largest file is 40 GB, uploaded as a single file. The account stores 8 TB and downloads 10 TB a month directly. The order states a free egress allowance of 24 TB a month. It is ready to send.
Verdict: Blocked.
The agent's request. Please set up a new Backblaze B2 bucket, used through the B2 Native API, whose name is 14 characters long in lowercase. The account already has 30 buckets. A lifecycle rule on the backup/ prefix will delete hidden files after 30 days. The largest file is 40 GB, uploaded as a large file of 80 parts of 512 MB. The account stores 8 TB and downloads 10 TB a month directly. The order states a free egress allowance of 24 TB a month. It is ready to send.
Verdict: Allowed.
The text of the narrated walkthrough, step by step.