From bde883dfe3b2cbdc998547c4dbfc5a1ab65c9f2a Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Tue, 7 Jul 2026 11:11:54 -0400 Subject: [PATCH] docs(claude): frame scadaproj as the umbrella index + propagate-changes rule Reconcile the Sister Projects section to mirror the peer repos (MxAccessGateway/HistorianGateway): frame ~/Desktop/scadaproj as the parent workspace whose CLAUDE.md is the canonical umbrella index that indexes this repo, point there for the full family list + cross-project map, and add the previously-missing peers (HistorianGateway, histsdk, scadaproj). Add the reciprocal "propagate cross-repo changes to the umbrella index" Editing Rule so an index-recorded fact change here updates the ScadaBridge entry in ../scadaproj/CLAUDE.md in the same change. --- CLAUDE.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index b7a197e6..387e606f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -34,11 +34,15 @@ When a change is requested, the default assumption is: update the design doc *an ## Sister Projects -Related repos cloned as sibling directories under `~/Desktop/` — referenced for context, not part of this solution: +This repo is **indexed by the parent workspace `~/Desktop/scadaproj`**, whose [`CLAUDE.md`](../scadaproj/CLAUDE.md) is the **canonical umbrella index** of the app family (the `scadaproj` repo is the umbrella for shared `ZB.MOM.WW.*` libs, infra/GLAuth, and the design docs the peers implement). It carries a ScadaBridge entry plus the full cross-project relationship map — consult it rather than duplicating the family list here, as it stays current. + +Repos cloned as sibling directories under `~/Desktop/` — referenced for context, not part of this solution. Directly referenced by ScadaBridge: - `~/Desktop/MxAccessGateway` — MxAccess Gateway (`https://gitea.dohertylan.com/dohertj2/mxaccessgw`). - `~/Desktop/OtOpcUa` — OtOpcUa (`https://gitea.dohertylan.com/dohertj2/lmxopcua`). +Other peers in the `scadaproj` family (see `scadaproj/CLAUDE.md` for details): `~/Desktop/HistorianGateway` (`historiangw`) — AVEVA Historian gRPC sidecar, OtOpcUa's sole historian backend; its SDK source `~/Desktop/histsdk` (`histsdk`); and `~/Desktop/scadaproj` (`scadaproj`) itself — shared `ZB.MOM.WW.*` libs + the dev/test GLAuth on `10.100.0.35:3893`. + ## Document Conventions - Requirements documents (high-level and component-level) live in `docs/requirements/`. @@ -62,6 +66,7 @@ Related repos cloned as sibling directories under `~/Desktop/` — referenced fo - Use `git diff` to review changes before committing. - Commit related changes together with a descriptive message summarizing the design decision and the implementation slice. - After non-trivial code changes, build (`dotnet build ZB.MOM.WW.ScadaBridge.slnx`) and run relevant tests before declaring done; for cluster-runtime changes, rebuild the image with `bash docker/deploy.sh`. +- **Propagate cross-repo changes to the umbrella index.** This repo is indexed by the parent workspace `~/Desktop/scadaproj`. When a fact its index records changes here — remote/push status, stack/component summary, cross-project wire relationships (OPC UA → OtOpcUa, gRPC → mxaccessgw), or the solution/namespace shape — update the **ScadaBridge entry in [`../scadaproj/CLAUDE.md`](../scadaproj/CLAUDE.md)** in the same change so the umbrella index never drifts from this repo. (Mirrors the same rule in the peer repos, e.g. `MxAccessGateway`/`HistorianGateway`.) ## Current Component List (27 components)