# Technical documentation — PipelineFTP

Evidence date: 2026-10-06. Revision: `master` `7afe299` (2019-06-02, Jaco Brits).

Source: `git@bitbucket.org:overdrive/pipelineftp.git`. The scan-host checkout was not available. This description is from a clone of `master`.

## Repository layout

```text
PipelineFTP/
├── README.md                 # Markdown H1 only (git blob 15 bytes)
└── bitbucket-pipelines.yml   # Atlassian sample pipeline
```

No `src/`, tests, docs directory, infrastructure directory, or hidden config other than `.git` is in the tree. No `.gitignore` is committed.

## Languages and frameworks

| Area | What is present |
|---|---|
| Application language | None |
| Framework | None |
| Markup | `README.md` heading |
| CI config | YAML |

## Runtime and infrastructure

The only executable definition is a Bitbucket Pipelines step.

```yaml
image: atlassian/default-image:2

pipelines:
  default:
    - step:
        script:
          - echo "Everything is awesome!"
```

| Topic | Finding | Provenance |
|---|---|---|
| CI host | Bitbucket Pipelines, because the file is `bitbucket-pipelines.yml` | **Implemented** |
| Step image | `atlassian/default-image:2` | **Implemented**. Image contents are **Unknown** from this repository |
| Trigger key | `pipelines.default` only | **Implemented** |
| Script | One echo of a fixed string | **Implemented** |
| Services, caches, artifacts, deployments | Not declared | **Implemented** as absence |
| Application hosting | None | No Dockerfile, compose file, or deploy config |
| Databases | None | |
| APIs | None | |
| Queues and workers | None. The pipeline step is CI, not an application worker | |
| Storage | None | |
| Monitoring | None | |
| Environment configuration | None. No `.env` example and no variable names | |

The YAML comments state that the file is a sample build configuration for "Other" and link to `https://confluence.atlassian.com/x/5Q4SMw`. Provenance: **Documented** in those comments.

## Authentication and security

- No application authentication.
- No secrets, tokens, or passwords are committed.
- The pipeline does not reference `SONAR_TOKEN` or any other secured variable.
- Dependency scanning, rate limits, and access-control lists are not configured in git.
- Bitbucket repository permissions (who can push or who can read) are **Unknown / Requires Confirmation**.

## SonarQube

**Not configured in git.**

The onboarding task's file list included `sonar-project.properties` and `sonarqube_scan.bat`. A full history search (`git log --all` for those paths, and `git ls-tree` of both commits) finds neither file. The pipeline script does not invoke a scanner.

Provenance of the absence: **Implemented**. Provenance of the task-creation filenames: **Unknown**.

## Build, test, and development process

| Activity | Evidence |
|---|---|
| Local build | None defined |
| Tests | None |
| CI command | `echo "Everything is awesome!"` |
| Contributors in git | Jaco Brits only (`jaco@overdrive.co.za`) |
| Commit count | 2 |
| Default branch | `master` |
| Tags | None |

Commit sequence:

| SHA | Date | Message | Files |
|---|---|---|---|
| `273ff01` | 2019-06-01 15:29:43 +0000 | Initial commit | `README.md` |
| `7afe299` | 2019-06-02 07:06:12 +0000 | Initial Bitbucket Pipelines configuration | `bitbucket-pipelines.yml` |

**Inferred:** the second message and the sample YAML are what Bitbucket writes when Pipelines is enabled from the UI on an otherwise empty repository. The repository does not say that in prose. The file content matches that sample.

## Dependencies

No package manifest. The only named external dependency is the Docker image `atlassian/default-image:2`.

## Related documentation in Silicon Ark

| Document | Role |
|---|---|
| `project-plan.md` | Scope, history, status |
| `prd.md` | Recovered requirements and the one workflow |
| `features.md` | What is current and what is absent |
| `business-rules.md` | The echo step and the lack of domain rules |

## Requires confirmation

1. Intended product, if any, and whether implementation lives in another repository.
2. Origin of `sonar-project.properties` and `sonarqube_scan.bat` on the scan host.
3. Whether `master` pipeline runs are still wanted.
4. Bitbucket permission model for this repository, which is not stored in git.
