Captures uncommitted work that lived in the working tree on
v2-mxgw-integration but was orthogonal to the migration. Stashed
during the v2-mxgw merge to master (2026-04-30) and replanted here on
a feature branch off master so it's git-visible rather than living in
the stash list.
Two distinct buckets:
1. Tracked fixture/config refinements (10 files, ~36 lines):
- scripts/e2e/test-opcuaclient.ps1
- src/ZB.MOM.WW.OtOpcUa.Admin/appsettings.json
- 5 docker-compose.yml under tests/.../IntegrationTests/Docker/
(AbCip, Modbus, OpcUaClient, S7)
- 4 fixture .cs files (AbServerFixture, ModbusSimulatorFixture,
OpcPlcFixture, Snap7ServerFixture)
2. Untracked driver-gaps queue artifacts (~8000 lines):
- docs/plans/{abcip,ablegacy,focas,opcuaclient,s7,twincat}-plan.md
— per-driver gap plans
- docs/featuregaps.md — cross-cutting analysis
- docs/v2/focas-deployment.md, docs/v2/implementation/focas-simulator-plan.md
- followup.md — auto/driver-gaps queue follow-ups
- scripts/queue/ — PR-queue automation tooling (12 files including
pr-manifest.yaml at 1473 lines)
This commit is a snapshot for recoverability — review and split into
focused PRs (or discard) before merging anywhere downstream.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.9 KiB
1.9 KiB
Plan-execution queue
Gitea-backed work queue that drives the per-driver implementation plans (docs/plans/*-plan.md) to completion in Mode B (autonomous: auto-merges into the auto/driver-gaps integration branch when build+tests pass).
Pieces
pr-manifest.yaml— canonical list of every PR across all six plans.setup-labels.sh— idempotently creates the queue labels in Gitea.file-issues.sh— files one Gitea issue per manifest entry (idempotent — skips ids that already exist).next-pr.sh— picks the next eligible queue issue (queued, blockers all done) as JSON.start-pr.sh ISSUE BRANCH— flips queued → in-progress and creates the branch offauto/driver-gaps.open-pr.sh ISSUE BRANCH TITLE BODY_FILE— opens a PR from BRANCH intoauto/driver-gaps.merge-pr.sh PR— merges a PR with branch-delete (Mode B).finish-pr.sh ISSUE success PR/finish-pr.sh ISSUE failed REASON_FILE— closes / marks failed.
Flow per loop iteration
next-pr.sh→ issue#, branch, canonical id.start-pr.sh→ mark in-progress, create branch.- Loop driver dispatches a Claude Agent to implement the PR on the branch.
- Loop runs
dotnet build+dotnet test. - On green:
open-pr.sh,merge-pr.sh,finish-pr.sh success. - On red: capture log →
finish-pr.sh failed log.txt. Issue stays open withqueue/failedlabel for retry.
Environment
- Gitea repo:
dohertj2/lmxopcuaongitea.dohertylan.com. - Token: read from
%LOCALAPPDATA%\tea\config.yml(or$GITEA_TOKENoverride). - Integration branch:
auto/driver-gaps(created off master). - Per-PR branches:
auto/<driver>/<plan-pr-id>.
Reset / debug
- Re-list eligible issues:
bash scripts/queue/next-pr.sh. - Manually unblock: remove
queue/blockedlabel and addqueue/queued. - Drop a failed PR back into queue: remove
queue/failed, addqueue/queued.