# PRD — flutter-framework

Evidence date: 2026-10-15.

Source: `git@bitbucket.org:overdrive/flutter-framework.git`, `master` at `dce2f16` (2021-03-18, "Initial commit"). `origin/HEAD` points at that commit. The only branch is `master`.

There is no prior PRD in the source repository or in Silicon Ark. Nothing in the tree is a requirements document. Provenance is labelled on each statement.

The scan-host checkout named on the onboarding issue was not available. Findings are from the git revision above, which is the commit the issue names (`dce2f16110ef510f44791a2bcc1c61391f848df5`, 2021-03-18 09:42:52 +0000).

## Product purpose

**Unknown.** The committed tree does not say what this repository is for.

The name `flutter-framework` is the only hint. **Inferred from the name only:** a shared Flutter framework. No file states that. No Flutter or Dart file is committed.

Silicon Ark documents `flutter_webportal` (Datafy Web, a Flutter web client) and `im_flutter_app` (a separate near-empty remote). Neither document names `flutter-framework`. This repository does not refer to those remotes, to a package name, or to a pub dependency. A shared product is **Unknown / Requires Confirmation**.

## Users and interactions

No user, role, screen, API client, or operator is defined.

| Actor | Evidence | Status |
|---|---|---|
| Repository author | The only commit is Jaco Brits, `jaco@overdrive.co.za` | **Implemented** as git metadata. Not an application role |
| App developer, end user, or operator | No source, route, widget, or copy | **Absent** |

## Product behaviour

There is no runnable system in this repository.

Verified absences at `dce2f16`:

- No source file in any application language.
- No `pubspec.yaml`, solution, project, or package file.
- No test.
- No HTTP route, CLI command, widget, plugin, queue consumer, or scheduled job.
- No README describing behaviour.
- No Android, iOS, or web project tree.

`git ls-tree -r dce2f16` returns one path: `.gitignore`.

## Requirements recovered from the tree

No functional requirement is written down, and none is implemented as application behaviour. The observations below are what a later reader can check. They are not proposed product rules.

### OBS-001 — Repository contains no application

**Implemented.** `git ls-tree -r dce2f16` returns `.gitignore` only.

There is nothing to build, start, or call. There is no Flutter package, no widget, and no application entry point.

Confidence: High.

### OBS-002 — Ignore list is an unmodified example template

**Implemented.** `.gitignore` begins "These are some examples of commonly ignored file patterns" and "You should customize this list as applicable to your project", and links to `https://www.atlassian.com/git/tutorials/saving-changes/gitignore`.

The patterns cover Node artefacts, Java class files, Python bytecode, logs, jars, Maven `target/`, JetBrains `.idea/`, JUnit-style `TEST*.xml`, `.DS_Store`, `Thumbs.db`, `*.app`, `*.exe`, `*.war`, and several video and TIFF extensions. `dist/` is listed twice.

**Inferred:** this is the ignore file Bitbucket added on repository creation. The commit subject is "Initial commit" and the file is the only file in `dce2f16`. The header tells the reader to customize it. It was not customized.

These patterns are not evidence of a Node, Java, Python, Maven, or Flutter application. No matching source exists. Flutter-specific ignore paths (`pubspec.lock`, `.dart_tool/`, `.flutter-plugins`, `.packages`, `build/`) are not in the file.

Confidence: High.

### OBS-003 — No product workflow exists

**Implemented** as an absence. There is no controller, handler, widget, job, script, or documented procedure that accepts an input and produces an output.

Confidence: High.

## Workflows

None.

A reader who needs a Flutter framework, shared widget library, or app shell will not find that behaviour here.

## Integrations

None in this repository.

No HTTP client, SDK, webhook, database driver, pub package, queue, mailer, or cloud template is committed.

## Data

The repository manages no product data.

No personal data and no credential were found in `.gitignore`.

## Constraints

No product constraint, validation rule, permission model, or environment rule is implemented.

The ignore list constrains what Git would skip if those files were created later. See OBS-002. It is repository hygiene from a template, not a business constraint.

## Error conditions

No application error handling exists, because there is no application.

## Discrepancy — files named at discovery, absent from git

The 2026-09-28 discovery listing names `sonar-project.properties` and `sonarqube_scan.bat` at the top of the scan-host tree. They are not in `dce2f16`.

**Unknown / Requires Confirmation.** Their contents were not read. They must not be treated as implemented behaviour until someone opens the scan-host tree or commits the files.

## What would count as a requirement later

If a Flutter framework is added, this PRD does not yet say what it should do. A product owner needs to confirm purpose, the applications that would depend on it, the public API, and the platforms it targets before requirements can be written. Inventing those from the repository name, or from `flutter_webportal` or `im_flutter_app`, would be a product decision, and this document does not make one.
