Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/SCRIPT_RECOMMENDATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
### /district scripts
Scripts provided by the districts. These are currently running and actively used by their associated districts.

- SWF Scripts were provided by **James Moffitt**
- SWT Scripts were provided by **Andrew Miller**
- SWL Scripts were provided by **Erin Krebs**
- SWF Scripts were provided by **James M.**
- SWT Scripts were provided by **Andrew M.**
- SWL Scripts were provided by **Eric K.**

### /regi-headless/src/test/resources/usace/rowcps/headless/examples
These appear to be older example scripts that haven't been updated since 2019. They are out of sync with other scripts.
Expand Down
68 changes: 68 additions & 0 deletions docs/adr/01-removal-of-unused-scripting-apis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# ADR: Remove Approved Scriptable Public APIs

## Status

Accepted

## Context

During a dedicated scripting meeting, USACE approved removing several public scriptable API implementation classes
that had previously been identified as candidates for removal.

The approved removals are class-level API removals only.
At this time, no method-level APIs listed in the API recommendations document will be removed.

The APIs approved for removal are:

- `ScriptableExportTSAssociationsImpl`
- `ScriptableExportSigStagesImpl`
- `ScriptableImportSigStagesImpl`
- `RetrieveSigStagesImpl`
- `ScriptablePoolPercentImpl`
- `ScriptableStatusGraphicImpl`

These APIs were reviewed based on current usage in recent examples, district scripts, and older examples.
The approved removals are not currently used by district scripts.
Some may still appear in examples, but they are associated with unused, obsolete, or replacement functionality.

## Decision

We will remove the following public scriptable API implementation classes:

- `ScriptableExportTSAssociationsImpl`
- `ScriptableExportSigStagesImpl`
- `ScriptableImportSigStagesImpl`
- `RetrieveSigStagesImpl`
- `ScriptablePoolPercentImpl`
- `ScriptableStatusGraphicImpl`

We will not remove any method-level APIs at this time, including method-level APIs that may have been separately
identified as unused, unsupported, or possible removal candidates.

## Consequences

### Positive Consequences

- Reduces the supported public API surface area.
- Removes obsolete or unused scriptable APIs.
- Simplifies future maintenance.
- Allows replacement or consolidated functionality to become the supported path where applicable.

### Negative Consequences

- Recent examples that reference any of these APIs will need to be reviewed and updated.
- Documentation referencing these APIs must be updated to avoid advertising removed functionality.

## Alternatives Considered

### Keep All APIs

Rejected. This would preserve backward compatibility, but updates for CWBI Cloud support will not be backwards compatible to begin with.

### Remove Both Class-Level and Method-Level APIs

Rejected for now. The client approved the listed class-level removals only. Method-level removals remain out of scope for this change.

### Deprecate Before Removal

Rejected or deferred. The client approved removal of the listed APIs.
53 changes: 53 additions & 0 deletions docs/adr/02-removal-of-windows-solaris-distributions
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# ADR: Remove Windows and Solaris REGI Headless Distribution Support from This Repository

## Status

Accepted

## Context

The project previously included support for Windows and Solaris distributions of REGI Headless.

Those distributions will no longer be maintained in this GitHub repository.
Maintenance for Windows and Solaris distributions will continue in the HEC DevNet-hosted fork.

This repository will be the source of truth for future REGI Headless development targeting CWBI Cloud compatibility,
with commit history preserved from the HEC DevNet fork.

## Decision

Remove Windows and Solaris REGI Headless distribution support from this GitHub repository.

Distribution-specific updates for Windows and Solaris will be made in the HEC DevNet-hosted fork.
Future cloud-compatible development and will be made in this repository.

## Consequences

### Positive Consequences

- Clarifies repository ownership and purpose.
- Reduces maintenance burden for legacy distribution support.
- Focuses this repository on CWBI Cloud compatibility.
- Separates cloud-targeted development from Windows and Solaris distribution maintenance.

### Negative Consequences

- Windows and Solaris distribution maintainers will need to use the HEC DevNet-hosted fork.
- Documentation, build scripts, examples, packaging, release processes, and CI/CD automation may need to be updated or removed.

## Alternatives Considered

### Continue Supporting All Distributions in This Repository

Rejected. Supporting Windows, Solaris, and CWBI Cloud targets in the same repository would increase
maintenance burden and make the repository direction less clear.

### Remove Windows and Solaris Distribution Support Entirely

Rejected. The distributions may still need maintenance, and the HEC DevNet-hosted fork will
remain available for that work.

### Move CWBI Cloud Work to a Separate Repository

Rejected. This GitHub repository will be the source of truth for future CWBI Cloud compatibility work,
with commit history preserved from the HEC DevNet fork.