# Open issues — WRPS Plant Assistant **Work we own, know about, and intend to do.** One entry per issue, newest first. Nothing here is assigned yet; owners are set at handover. ## What belongs here, and what does not This repository has three other registers. Putting an item in the wrong one is how a repository ends up saying two different things about the same fact. | If it is... | It goes in | Not here | |---|---|---| | Waiting on somebody outside this project | [`REQUESTS.md`](REQUESTS.md) | ✗ | | A shortcut we **consciously accepted** | [`BUILD-AI-CONTAINERS.md`](../spec/BUILD-AI-CONTAINERS.md) §14 | ✗ | | Something already running, and its state | [`current-state.html`](current-state.html) | ✗ | | **A defect or gap we own and have not fixed** | **here** | ✓ | Three rules: 1. **Anything in §14 is closed by decision.** It was weighed and accepted. Do not re-open it here — `caddy/ai-routes.caddy` carries one such decision explicitly marked *"do not re-raise this as a task"*. 2. **If an issue is a defect in something that already passed a phase gate**, fixing it means re-running that gate. `CLAUDE.md` requires it; say so in the issue. 3. **Closed issues move to the bottom, they are not deleted.** The register is part of the as-built record, and an issue with no trace of how it closed is worth less than one that was never raised. --- ## Open ### OI-01 · OpenPLC Editor is not installed **Raised** 2026-09-01 · **Owner** unassigned · **Affects** the demo plant, not the assistant The **OpenPLC Editor** — a desktop tool published by the OpenPLC project, installed on a workstation — is the application used to author and compile the IEC 61131-3 program that `openplc-runtime` executes. It is not installed anywhere. It talks to the running container over its REST API on port `8443`, bound to `10.0.0.17`. **Why it matters.** `openplc-runtime` is live control for this demo: `CLAUDE.md` and [`BUILD-AI-CONTAINERS.md`](../spec/BUILD-AI-CONTAINERS.md) §4 both forbid reconfiguring it as a side effect of other work. Without the Editor there is no way to author, review or compile the control logic — and no reviewable source for it in or beside this repository. The program exists only inside the container. If the container is lost, so is the logic. **What port 8443 is** — probed read-only on the host 2026-09-01, because two earlier statements in the build spec called it a web UI and were wrong: ``` Server: Werkzeug/3.1.8 Python/3.11.2 / /login /index.html /programs /status /runtime -> 404 /api/v1 -> 401 Unauthorized ``` An authenticated REST API. No browser interface. Both build-spec statements were corrected in the commit that raised this issue. **Open questions to settle when this is picked up.** - **Which workstation.** Not `lin001` — the Editor is a desktop application. Not `cicore1` — `CLAUDE.md` forbids installing anything on it. That leaves an engineering workstation with VPN or LAN reach to `10.0.0.17:8443`. - **Credentials for `/api/v1`**, which currently answers `401`. Not held by this project. - **Whether the PLC program goes under version control**, and where. This is the part that closes the "logic exists only in the container" gap, and it is the reason this issue is worth more than "install a tool". **Blocked by** nothing. **Blocking** nothing today — the demo runs. --- ## Closed *None yet. Closed issues move here with the commit that closed them.*