# Project plan — rgbc_projects_net

Evidence date: 2026-10-05.

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

Inspected revision: `master` at `08268a8` (2021-03-08 12:59:45 +0200, "Direct sales added"). `origin/HEAD` points at `origin/master`. Only `master` was present after fetch.

No `silicon_ark/rgbc_projects_net/` directory existed before these files.

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

## Product

The repository is not one application. It is a 2018-labelled archive of eight Visual Basic .NET applications that share a SQL Server database named `Superbowl`. Page titles and assembly names use the brand **RGBC**. What the letters RGBC expand to is **Unknown / Requires Confirmation**. No expansion was found in code.

The folder suffix `_2018` is a snapshot label. Git history continues into 2021. Provenance: **Implemented** folder names; **Implemented** commit dates.

There is no README, project plan, or requirements document in the source tree. Purpose statements below come from page titles, menu labels, and version comments in code.

| Folder | Assembly / page title | Kind |
|---|---|---|
| `RGBC_Forecast_2018` | RGBC Forecast Control | ASP.NET Web Forms |
| `RGBC_Promotions_2018` | RGBC Promotions Module | ASP.NET Web Forms |
| `RGBC_ScoreCard_2018` | HR: People Development Tool (assembly RGBC ScoreCard) | ASP.NET Web Forms |
| `RGBC_Stock Control_2018` | RGBC Stock Control | ASP.NET Web Forms |
| `RGBC_Superbowl Web_2018` | RGBC Superbowl | ASP.NET Web Forms |
| `RGBC_Superbowl_Daily_2018` | Superbowl Daily | Windows Forms |
| `RGBC_Superbowl Daily 2_2018` | Superbowl Daily 2 | Windows Forms |
| `RGBC_Superbowl_Cronjob_2018` | Superbowl Cronjob | Windows Forms |

Provenance: **Implemented** in `.vbproj` `AssemblyName` / `OutputType` and in `Index.aspx` or `Admin.Master` titles.

## Where the tree was read

| Location | What it is |
|---|---|
| Issue path `~/projects/sonar_scan/repos/rgbc_projects_net` | Recorded on OVER-258 at task creation (2026-09-28). That path is not on this machine |
| Fresh clone of `origin/master` | The tree that was read. `HEAD` is `08268a8` |

The OVER-258 discovery snapshot listed `sonar-project.properties` and `sonarqube_scan.bat` at the repository root. Those two files are not in git at `08268a8`. Whether they existed only as untracked files on the scan host is **Unknown / Requires Confirmation**.

## History

| Commit | Date | Author | Subject |
|---|---|---|---|
| `f641314` | 2019-08-19 | siliconoverdrive | First Commit |
| `1f7583a` | 2021-02-09 | Lloyd Sherewa | Added POR_CompletedRequisition email |
| `08268a8` | 2021-03-08 | Lloyd Sherewa | Direct sales added |

Three commits. No other branches. The first commit includes Team Foundation `$tf` metadata under Forecast and ScoreCard, so the tree was imported from TFS rather than authored in this Bitbucket repository. In-code comments date individual modules from 2008 (Stock Control) through 2019 (Superbowl Daily 2). That older history is not in this git log.

## Related Silicon Ark project

`silicon_ark/RGBC_ScoreCard/` documents a different repository, `git@bitbucket.org:overdrive/rgbc_scorecard.git`, inspected at `c1c7ceb` (2026-08-04). That later tree's `Admin.Master.vb` comments match this archive's Score Card header: version `1.2.0`, date 1 September 2018, People Balance Sheet replacing Score Card, `OVERRIDE_USERNAME`, and a usage-log insert that writes `strSystem = 'Forecast'`.

It is **Inferred** that `RGBC_ScoreCard_2018` in this archive is an earlier snapshot of the same module. It is **Unknown / Requires Confirmation** that the later repository was branched or copied from this folder. Behaviour in `rgbc_scorecard` after 2018 is not in this archive and is not restated here.

No equivalent later repository was identified from this tree for Forecast, Promotions, Stock Control, Superbowl Web, Daily, Daily 2, or Cronjob.

## Scope in the repository

In scope of what is present on `master`:

- Five Web Forms sites and three Windows Forms programs, each with its own solution. There is no solution at the repository root.
- A shared SQL Server catalog `Superbowl` (connection names differ by project).
- Windows-identity login checked against `mstUser` and a per-module user-group table.
- Forecast planning and adjustment screens, promotion planning screens, a people-development (score card) site, a stock-control period grid, and a Superbowl master-data site.
- Two daily import/export programs and a queue worker that reads `sysCronJob`.
- Purchase-order and freestock email jobs inside the cron program. The screens that create those requisitions are not in this repository.

Out of scope of the code that was found:

- A single deployable product or shared library project.
- Automated tests, a Bitbucket pipeline, Sonar configuration, or a README.
- The user interface for Free Stock requisitions and Purchase Order requisitions. User-admin SQL in Superbowl Web names group columns `refUserGroupFreeStockID` and `refUserGroupPORID`, and the cron program emails those workflows, but no FSR or POR pages are in this tree.
- Database schema scripts, migrations, or stored-procedure source. SQL is inline in VB.
- Confirmation that any of these builds are still installed on a server.

## System architecture

```text
Browser (Windows identity)
  → IIS / ASP.NET Web Forms 4.6.2
      RGBC Forecast | Promotions | ScoreCard | Stock Control | Superbowl Web
      → Session user row from mstUser + module user-group table
      → Inline SQL
      → SQL Server database Superbowl

Windows desktop (operator or scheduled start — scheduler not in repo)
  → Superbowl Daily        import Snell/Cognos-style files, write sales and stock
  → Superbowl Daily 2      import surveys, vendors, GL; export PDA and promotions files
  → Superbowl Cronjob      poll sysCronJob; email; archive products; generate QF
      → same Superbowl database
      → SMTP (release: SMTPHost setting; debug: Office 365)
      → file shares under \\Benriach\Sales\ (compiled paths)
```

Provenance: **Implemented** project types, connection strings, and path literals. How IIS, Task Scheduler, or SQL Agent start these programs is **Unknown / Requires Confirmation**.

## Major components

See [technical-documentation.md](technical-documentation.md) for frameworks, config, and security. See [features.md](features.md) for screens. See [prd.md](prd.md) and [business-rules.md](business-rules.md) for behaviour.

## Milestones

There is no milestone plan in the repository. Version comments record past delivery, not a future plan.

| Module | Version constant or last comment in this tree | Date in comment |
|---|---|---|
| Forecast | `1.0.3` in `Admin.Master.vb` | 4 April 2012 (later comments through 2015 exist in the same header) |
| Promotions | `1.0.3` | 15 January 2015 |
| Score Card | `1.2.0` | 1 September 2018 |
| Stock Control | header notes through `v1.3.0`; direct-sales row added in git | comment 2018-01-08; git 2021-03-08 |
| Superbowl Web | header notes through `v1.4.6` | 20 September 2016 |
| Superbowl Daily | header notes through `v1.32` | 9 January 2019 |
| Superbowl Daily 2 | `VersionDate` 19 February 2019, comments through `v2.1.9` | 2019-02-19 (one comment line says 20190819) |
| Cronjob | header notes through `v2.0.4`; `POR_CompletedRequisition` added in git | comment 2019-03-01; git 2021-02-09 |

Provenance: **Documented** only as in-code comments. **Implemented** where the comment's behaviour is still in the method it describes. A comment is not treated as the live rule when the code does something else.

## Known dependencies

- .NET Framework 4.6.2 (`TargetFrameworkVersion` on every `.vbproj`).
- ASP.NET Web Forms, Windows Forms, `System.Data.SqlClient`.
- SQL Server database `Superbowl`. Server names in config include `SQL-SERVER`, `Benriach`, `sqlsrv02`, `SAPPHIRE`, and `WSBS2003\SQLEXPRESS`. Which name is production is **Unknown / Requires Confirmation**.
- Superbowl Daily 2 also has a connection to `BenriachE` / catalog `TRGBC`. What TRGBC is, is **Unknown / Requires Confirmation**.
- File shares `\\Benriach\Sales\ADM\`, `\\Benriach\Sales\2WaySystem\`, and `\\Benriach\Sales\eSalesCharter\NewFiles\`.
- SMTP hosts `10.0.0.17` (Cronjob and Daily 2 settings) and `tullamore.rgbc.local` (Superbowl Daily settings).
- NuGet Report Viewer packages committed under the Cronjob project. Score Card references Newtonsoft.Json and 51Degrees mobile detection config.
- Office 365 SMTP is compiled into `#If DEBUG` blocks in `frmCronjob.vb`. Release builds use `My.Settings.SMTPHost`.

## Current project status

The Bitbucket repository has not moved since 8 March 2021. There is no CI definition, test project, or deployment script in the tree. Whether the programs still run in production is **Unknown / Requires Confirmation**.

The last two commits are small and localised:

- `1f7583a` adds cron job type `POR_CompletedRequisition` in `frmCronjob.vb`.
- `08268a8` adds a Direct Sales row to the Stock Control product-period grid.

## Human confirmation

- What RGBC stands for, and whether this archive is still the source that operations run.
- Which SQL Server name and which SMTP host are production.
- Whether `RGBC_ScoreCard_2018` was the import source for `rgbc_scorecard`.
- Where the Free Stock and Purchase Order requisition screens live.
- Whether the Sonar files named on OVER-258 were ever committed.
- Rotation of database and mailbox passwords that are stored in this git history. Values are not repeated in these documents.
