# Project plan — datafy_ios

Evidence date: 2026-10-18.

Source repository: `git@bitbucket.org:overdrive/datafy_ios.git`.

Inspected revision: `main` at `5e0218f5ec43df7bb59a8d55f8b845682471d438` (2025-10-11 05:42:01 +0000, Jaco Brits, "Initial commit"). That commit is `origin/HEAD`. The only remote branch is `main`. There are no tags.

The scan-host path `~/projects/sonar_scan/repos/datafy_ios` was not on this machine. The tree below was read from that git revision.

This plan describes what the repository contains. It does not decide what the product should become.

No `silicon_ark/datafy_ios/` directory existed before this file. A search of Silicon Ark Markdown for `datafy_ios` found no earlier mention of this slug.

## Product

There is no application, README, or product statement in git. The only tracked file is `.gitignore`. Its own header says the patterns are examples to customize, and it links to Atlassian's gitignore tutorial. It is not a description of a product.

History has one commit:

| Commit | Date | Author | What it did |
|---|---|---|---|
| `5e0218f` | 2025-10-11 05:42:01 +0000 | Jaco Brits (`jaco@overdrive.co.za`) | Initial commit. Added a 50-line `.gitignore` and nothing else |

The names in evidence are the Bitbucket slug `datafy_ios` and the scan-host directory of the same name. A slug is not a requirements statement. The substring `ios` is not an iOS project, Xcode workspace, or Flutter iOS runner.

What the product is, who it is for, and whether any code was meant to be pushed later are **Unknown / Requires Confirmation**.

## Related Silicon Ark sets

These directories already exist in Silicon Ark. They were not produced by this inspection. They are separate repositories. No file in `datafy_ios` names them. A search of Silicon Ark Markdown found no document that names `datafy_ios`.

| Silicon Ark directory | What that set says it is | Relation to this tree |
|---|---|---|
| `flutter_app` | Datafy Ai, a Flutter field-execution client. iOS display name **Datafy**, bundle id `coza.datafy.web`. Ships iOS to TestFlight from its own pipeline. Inspected on `develop` at `7d30344` | A different remote. This repository does not contain that app |
| `datafy_web` | Flutter web client for retail store execution. An `ios/` runner is present in that other repository. Bundle shipping from there is recorded as **Unknown** | A different remote. This repository does not contain that `ios/` tree |
| `datafy-supabase-functions` | SQL kit for Datafy on Supabase. Names clients `datafy_ai` and `datafy_web` | Names `datafy_ai`, not `datafy_ios` |
| `datafy_lambda` | Tools and Lambdas for Datafy | Not referenced by this repository |
| `datafy-lambda-new` | Later Lambda repository for Datafy | Not referenced by this repository |
| `datafy_rekognition` | SAM app `DatafyRek` plus a labelled image set | Not referenced by this repository |
| `datafy_powersync` | Self-hosted PowerSync kit. Its own plan says it does not contain the Datafy mobile or web application | Not referenced by this repository |

Whether `datafy_ios` was intended as another client, a split of one of those trees, or a repository that was never filled in is **Unknown / Requires Confirmation**.

## Branch reality

| Line | Tip | Date | What it is |
|---|---|---|---|
| `main` (default; `origin/HEAD`) | `5e0218f` | 2025-10-11 | Only branch. One commit |

`git rev-list --all --count` is 1. `git tag -l` printed nothing. `git ls-tree -r HEAD` lists `.gitignore` only. Blob: `b24d71e22373e5147f3c05c68a8742714a89b5d6`.

The onboarding issue (OVER-80, captured 2026-09-28) recorded the same tip: `5e0218f`, 2025-10-11, "Initial commit", branch `main`. This clone agrees. `git ls-remote --heads` on 2026-10-18 printed `5e0218f5ec43df7bb59a8d55f8b845682471d438` as `refs/heads/main`.

## Objectives

No project plan, issue list, or README exists in the repository. No objective can be inferred from application code, because there is no application code.

The only commit adds a starter ignore list. That is repository setup. It is not a written objective.

**Unknown / Requires Confirmation** whether this repository was created as a placeholder for a future iOS client, or as a repository that was never filled in.

## Scope

### In scope of `main`

1. A Git repository on Bitbucket whose only tracked file is `.gitignore`.
2. The ignore patterns in that file at `5e0218f`. They are the example groups in the file's own comments: Node artifacts, Java class files, Python bytecode, logs, jar files, Maven output, JetBrains IDE files, unit-test XML, macOS and Windows junk, application binaries, and large media. Those paths are not present in the tree. See `technical-documentation.md`.

### Out of scope / not in this repository

- Any application, service, screen, API, database, or job.
- An Xcode project, Swift or Objective-C source, CocoaPods or Swift Package manifest, or an `ios/` directory.
- Any file other than `.gitignore`.
- A chosen language or framework. The ignore file lists several ecosystems in one template. It does not list Xcode, CocoaPods, or Swift. See `technical-documentation.md`.
- The contents of `sonar-project.properties` and `sonarqube_scan.bat`. Those names were reported by the 2026-09-28 scan. They are not in git, `.gitignore` does not match those names, and the scan-host path could not be opened here.
- The Datafy clients and services listed in the related-sets table. They live in other repositories.

## System shape

No system is implemented.

```text
bitbucket.org/overdrive/datafy_ios
└── .gitignore    (50 lines at 5e0218f)
```

There is no frontend, backend, database, API, worker, or deployment manifest in the remote.

## Major components

None. **Implemented** application-component count is zero.

The tracked `.gitignore` is repository metadata, not a product component.

## Milestones visible in git

| When | Commit | What landed |
|---|---|---|
| 2025-10-11 | `5e0218f` | Initial commit: example `.gitignore` only |

No later milestone exists in git. The tip is unchanged from the date OVER-80 recorded.

## Implementation plan

There is no forward plan in the repository. Current status: **one commit, ignore file only, no application**.

Whether anyone intends to push code here is **Unknown / Requires Confirmation**.

## Known dependencies

None declared. There is no `package.json`, `pubspec.yaml`, `Podfile`, `Package.swift`, `*.xcodeproj`, `composer.json`, `requirements.txt`, `go.mod`, `*.csproj`, `Dockerfile`, `bitbucket-pipelines.yml`, or lockfile.

The ignore patterns name `node_modules/`, `*.class`, `*.py[cod]`, `*.jar`, and Maven `target/`. Those names are examples in a starter file. They are not declared dependencies.

## Discrepancy with the onboarding scan

OVER-80 lists this top-level structure for the scan-host path:

```text
sonar-project.properties
sonarqube_scan.bat
```

Those paths are not in the Bitbucket repository. `git ls-tree -r HEAD` lists `.gitignore` only. The same two filenames appear in onboarding notes for other repositories whose git trees do not contain them. Whether they are untracked SonarQube wrapper files added on the scan host, rather than project source, is **Inferred** from that repeated pattern. It is **Unknown / Requires Confirmation** until someone opens the scan-host directory and reads the files.

## Human confirmation

- Is this repository supposed to hold a product, or should it stay as an ignore file only?
- If a product was intended, what is its purpose, who uses it, and where does the code live if not here?
- How this slug relates to `flutter_app` (Datafy Ai, which already has an iOS target) and to the `ios/` runner inside `datafy_web`.
- Whether the two Sonar filenames on the scan host are project files, and what they contain.
- Whether anyone is expected to push application code to `main`.
