Agent docs

This commit is contained in:
Andy Howard
2026-09-10 11:35:25 +01:00
parent 623437055a
commit 8c00dc50a3
3 changed files with 41 additions and 4 deletions
+17 -2
View File
@@ -4,7 +4,7 @@
`BusinessMgr.sln` contains the `SaBusinessMgrCoreWebControl` administration app and `SaBusinessMgrCoreWebPortal` user portal. Shared code is divided among `SaBusMgrStandardBase`, `SaBusMgrStandardDbas`, `SaBusMgrCoreProcs`, and `SaBusMgrCoreWeb`. Tests live in `SaBusMgrTest_Control` and `SaBusMgrTest_Portal`. Web-project assets are under `Views`, `Localisation`, and `wwwroot`. `BusinessMgr.sln` contains the `SaBusinessMgrCoreWebControl` administration app and `SaBusinessMgrCoreWebPortal` user portal. Shared code is divided among `SaBusMgrStandardBase`, `SaBusMgrStandardDbas`, `SaBusMgrCoreProcs`, and `SaBusMgrCoreWeb`. Tests live in `SaBusMgrTest_Control` and `SaBusMgrTest_Portal`. Web-project assets are under `Views`, `Localisation`, and `wwwroot`.
The solution also requires the sibling `..\..\Common-VS\Workspace` projects. Preserve this relative layout when cloning or configuring a build agent. The solution also requires the sibling `..\..\Common-VS\Workspace` projects. Preserve this relative layout because BusinessMgr uses direct project references. Read the Common repository guidance when a task changes or depends on those shared projects.
## Build, Test, and Development Commands ## Build, Test, and Development Commands
@@ -20,13 +20,26 @@ dotnet run --project SaBusinessMgrCoreWebPortal
Use `--configuration Release` for release validation. After code changes, run `dotnet build BusinessMgr.sln` where practical and report validation that could not be completed. Both launch profiles default to ports 5000/5001; override ports to run them together. Use `--configuration Release` for release validation. After code changes, run `dotnet build BusinessMgr.sln` where practical and report validation that could not be completed. Both launch profiles default to ports 5000/5001; override ports to run them together.
For changes to Common public APIs, target frameworks, packages, or shared behavior, validate the directly affected Common project before BusinessMgr. Coordinate framework upgrades across the dependency boundary. When the repositories cannot move atomically, consume a temporary compatible target from Common, migrate BusinessMgr, and remove the old Common target only after no in-scope consumer requires it.
## Coding Style & Naming Conventions ## Coding Style & Naming Conventions
Match existing C# conventions: tabs, braces on new lines, top-of-file `using` directives, PascalCase public members, and established `Sbm`/`Sacs` prefixes. Tests use descriptive names such as `Test_Application_ControlDatabase`. No repository-wide formatter is configured, so follow nearby code. Target the framework versions declared in project files. Do not upgrade frameworks or NuGet packages unless explicitly requested. Match existing C# conventions: tabs, braces on new lines, top-of-file `using` directives, PascalCase public members, and established `Sbm`/`Sacs` prefixes. Tests use descriptive names such as `Test_Application_ControlDatabase`. No repository-wide formatter is configured, so follow nearby code. Target the framework versions declared in project files. Do not upgrade frameworks or NuGet packages unless explicitly requested.
Processes derived from `SaProcess_Base` must actively poll `IsInterrupted` during long-running loops and before expensive or blocking stages, then exit promptly when cancellation is requested. Processes derived from `SaProcess_Base` must actively poll `IsInterrupted` during long-running loops and before expensive or blocking stages, then exit promptly when cancellation is requested.
Use Windows CRLF line endings for C# source, Visual Studio project files, configuration files, PowerShell or command scripts, and general documentation. Use LF for web assets and files commonly consumed by Unix tooling, including SVG, HTML, CSS, JavaScript, shell scripts, and YAML. Follow `.gitattributes` as the authoritative policy and preserve the configured ending when editing files. Use Windows CRLF line endings for C# source, Visual Studio project files, configuration files, PowerShell or command scripts, and general documentation. Use LF for web assets and files commonly consumed by Unix tooling, including SVG, HTML, CSS, JavaScript, shell scripts, and YAML. Follow `.gitattributes` as the authoritative policy. Whenever a file is created or edited, normalize that file to its required line ending as part of the edit, before validation and handoff; do not defer normalization as a separate cleanup step.
New Markdown documents containing tables must include this document-level style so header and data cells are top aligned:
```html
<style>
table th,
table td {
vertical-align: top;
}
</style>
```
## Testing Guidelines ## Testing Guidelines
@@ -36,6 +49,8 @@ Tests use MSTest with Moq and coverlet. Add `[TestClass]` and `[TestMethod]` att
Do not edit generated files or build output under `bin`, `obj`, or `TestResults`. Change source inputs instead. Before implementing a significant architectural change, describe the proposed design, affected projects, compatibility implications, and migration approach, then wait for agreement. Do not edit generated files or build output under `bin`, `obj`, or `TestResults`. Change source inputs instead. Before implementing a significant architectural change, describe the proposed design, affected projects, compatibility implications, and migration approach, then wait for agreement.
Treat every affected Git workspace as an independent change set. Check its status before editing, preserve unrelated changes, and report validation separately for each workspace.
## Conversation Tracking ## Conversation Tracking
Read `docs/topics.md` and `docs/component-reviews.md` before starting repository review or follow-up work. Update them when a conversation identifies, starts, completes, or reprioritises work, or when a component is reviewed. Follow the tracking conventions in `docs/README.md` and use ISO `YYYY-MM-DD` dates. Read `docs/topics.md` and `docs/component-reviews.md` before starting repository review or follow-up work. Update them when a conversation identifies, starts, completes, or reprioritises work, or when a component is reviewed. Follow the tracking conventions in `docs/README.md` and use ISO `YYYY-MM-DD` dates.
+2
View File
@@ -2,6 +2,8 @@
This folder records review findings and follow-up work relevant to the BusinessMgr workspace. This folder records review findings and follow-up work relevant to the BusinessMgr workspace.
An optional informational overview of sibling workspaces is available in `../../../docs/`. It is outside this Git repository and is not authoritative; this repository's `AGENTS.md` and trackers contain all requirements and owned work.
## Files ## Files
- `topics.md` tracks prioritised work, work in progress, and completed work. - `topics.md` tracks prioritised work, work in progress, and completed work.
+22 -2
View File
@@ -1,10 +1,30 @@
# Topic Tracker # Topic Tracker
Last updated: 2026-09-09 <style>
table th,
table td {
vertical-align: top;
}
</style>
Last updated: 2026-09-10
## Prioritised Topics to Be Actioned ## Prioritised Topics to Be Actioned
No topics recorded yet. | Priority | Topic | Date noted | Next step | Notes |
|---|---|---|---|---|
| P1 | Capture the pre-migration BusinessMgr build and test baseline | 2026-09-10 | Build `BusinessMgr.sln`, run both test projects, and record existing warnings, integration-test prerequisites, failures, and environmental limitations. | Depends on committing the current documentation changes separately. Requires the current Common sibling layout and compatible Common targets. |
| P1 | Migrate BusinessMgr to .NET 10 against compatible Common targets | 2026-09-10 | After Common exposes and validates temporary .NET 10 targets, retarget BusinessMgr libraries, applications, and tests in dependency order and run the full solution validation. | Review framework-specific packages separately, including ASP.NET Core runtime compilation, Identity, ODBC, and System.Drawing. Do not require parent-level untracked documentation to execute or track this work. |
## .NET 10 Dependencies and Sequence
| Work item | Depends on | Unblocks |
|---|---|---|
| Commit documentation and tracking changes | None | A clean pre-migration baseline and focused migration history |
| Capture BusinessMgr baseline | Documentation change separation; current Common-compatible targets; configured integration-test dependencies | Evidence for identifying migration regressions |
| Retarget BusinessMgr libraries | Common exposing validated .NET 10-compatible targets | Retargeting the web applications and tests |
| Retarget applications and tests | Migrated BusinessMgr libraries; compatible framework-specific packages | Full solution validation and removal of temporary Common .NET 8 targets |
| Complete BusinessMgr validation | Successful restore and build; available database and machine configuration | Approval to remove temporary compatibility targets from Common |
## In-Progress Topics ## In-Progress Topics