# Business rules — PipelineFTP

Evidence date: 2026-10-06. Revision: `master` `7afe299`.

No business-rules document exists in the source repository. The repository also contains no application that could enforce domain policy. Rules below are only what the two committed files do. Anything inferred is marked **Inferred**.

The name PipelineFTP is not treated as a business rule. No FTP host, path, credential, schedule, or file-type rule is written down.

## Pipeline behaviour

**BR-001 — The only script is a fixed echo.**  
The default step runs `echo "Everything is awesome!"` and does not branch on inputs, files, or environment variables. **Implemented** in `bitbucket-pipelines.yml`.

**BR-002 — No project-specific condition gates the step.**  
The YAML defines no `condition`, no branch list, no pull-request pipeline, and no manual `custom` pipeline. **Implemented** as the absence of those keys. Which Bitbucket events select `pipelines.default` is **Inferred** from Bitbucket's meaning of that key: it is the fallback when no other pipeline in the file matches. The file does not restate that rule.

**BR-003 — The step declares no secrets and no deployment.**  
No repository variable, secured variable, artifact, cache, or `deployment` key is present. **Implemented**.

## Access and validation

**BR-004 — No application permission model exists.**  
There is no user, role, login, or allow-list in the repository. **Implemented** as absence. Who may push to `master` on Bitbucket is **Unknown / Requires Confirmation** — that control would live in Bitbucket project settings, which are not in git.

**BR-005 — No input validation exists.**  
The echo takes no parameters. There is no schema, form, or file check. **Implemented**.

## Domain behaviour that is not established

The following were considered because of the repository name and were **not** found. They are not rules.

- Which files may be transferred.
- Which hosts may be contacted.
- Retry, duplicate, or partial-transfer handling.
- Retention of transferred files.
- Who may start a transfer.

## Requires confirmation

Whether any of those domain rules were agreed outside this repository. Nothing in git supports them.
