Implement missing backend endpoints for release orchestration

TASK-002: 11 deployment monitoring endpoints in JobEngine
  (list, get, logs, events, metrics, pause/resume/cancel/rollback/retry)
TASK-003: 6 evidence management endpoints in JobEngine
  (list, get, verify, export, raw, timeline)
TASK-005: 3 release dashboard endpoints in JobEngine
  (dashboard summary, approve/reject promotion)
TASK-006: 2 registry image search endpoints in Scanner
  (search with 9 mock images, digests lookup)

All endpoints return seed/mock data for testing. Auth policies
match existing patterns. Dual route registration on both
/api/ and /api/v1/ prefixes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-03-23 15:52:20 +02:00
parent d3353e9d16
commit dd29786e38
17 changed files with 2066 additions and 26 deletions

View File

@@ -0,0 +1,75 @@
# Sprint 20260323-002 - ElkSharp Bounded Edge Refinement
## Topic & Scope
- Add a bounded deterministic edge-refinement stage to ElkSharp without replacing the existing channel and dummy-edge routing model.
- Preserve orthogonal output, backward corridor behavior, sink corridor behavior, and target anchor heuristics.
- Working directory: `src/__Libraries/StellaOps.ElkSharp/`
- Expected evidence: targeted renderer tests, direct geometry assertions, and workflow docs updated for the new layout option.
## Dependencies & Concurrency
- Depends on the current ElkSharp routing pipeline in `src/__Libraries/StellaOps.ElkSharp/`.
- Safe cross-module edits for this sprint are limited to:
- `src/Workflow/__Tests/StellaOps.Workflow.Renderer.Tests/`
- `docs/workflow/`
## Documentation Prerequisites
- `docs/code-of-conduct/CODE_OF_CONDUCT.md`
- `docs/code-of-conduct/TESTING_PRACTICES.md`
- `docs/workflow/ENGINE.md`
- `src/__Libraries/StellaOps.ElkSharp/ElkSharpLayeredLayoutEngine.cs`
- `src/__Libraries/StellaOps.ElkSharp/ElkEdgeRouter.cs`
- `src/__Libraries/StellaOps.ElkSharp/ElkEdgePostProcessor.cs`
## Delivery Tracker
### TASK-001 - Add module-local ElkSharp guidance and option scaffolding
Status: DONE
Dependency: none
Owners: Implementer
Task description:
Create a module-local `AGENTS.md` for ElkSharp and extend the layout option model with bounded refinement settings that default safely and deterministically.
Completion criteria:
- [x] `src/__Libraries/StellaOps.ElkSharp/AGENTS.md` exists with local routing rules
- [x] `ElkLayoutOptions` exposes bounded refinement options without changing workflow request contracts
### TASK-002 - Implement bounded orthogonal edge refinement
Status: DONE
Dependency: TASK-001
Owners: Implementer
Task description:
Add an internal refinement stage that scores routed output, detects crossing-prone edges, and tries a small fixed set of orthogonal reroute strategies while preserving corridor and anchor semantics.
Completion criteria:
- [x] Refinement is deterministic and bounded by explicit pass and trial limits
- [x] Refinement runs only for `LeftToRight` and preserves existing corridor and port-sensitive edges
- [x] Existing simplify and tighten passes still run after refinement
### TASK-003 - Add regression tests and docs
Status: DONE
Dependency: TASK-002
Owners: Implementer
Task description:
Add regression tests covering deterministic output and option gating, and update workflow documentation to note the bounded ElkSharp refinement behavior.
Completion criteria:
- [x] Targeted workflow renderer tests cover refinement determinism and `TopToBottom` stability
- [x] Workflow docs mention the bounded refinement behavior for ElkSharp best-effort layout
- [x] Sprint execution log records validation results
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2026-03-23 | Sprint created and work started for bounded deterministic ElkSharp edge refinement. | Implementer |
| 2026-03-23 | Added module-local ElkSharp guidance, implemented bounded orthogonal refinement, updated `docs/workflow/ENGINE.md`, and passed `dotnet test src/Workflow/__Tests/StellaOps.Workflow.Renderer.Tests/StellaOps.Workflow.Renderer.Tests.csproj --filter "FullyQualifiedName~ElkSharp" -v minimal` (15/15). | Implementer |
## Decisions & Risks
- There was no module-local `AGENTS.md` under `src/__Libraries/StellaOps.ElkSharp/`; this sprint adds one before code changes so the module is no longer undocumented.
- Cross-module edits are limited to workflow renderer tests and workflow engine docs because the implementation changes a shared library used by those surfaces.
- The refinement stage must remain deterministic and must not introduce random strategy generation or diagonal output.
- Updated docs: `docs/workflow/ENGINE.md`
- Module-local guidance added: `src/__Libraries/StellaOps.ElkSharp/AGENTS.md`
## Next Checkpoints
- After TASK-002: targeted `dotnet test` run for ElkSharp renderer tests
- After TASK-003: update sprint statuses and execution log with concrete command results

View File

@@ -920,7 +920,7 @@ The engine can render workflow definitions as visual diagrams.
| Engine | Description |
|--------|-------------|
| **ElkSharp** | Port of Eclipse Layout Kernel (default) |
| **ElkSharp** | Port of Eclipse Layout Kernel (default). In `Best` effort mode it now runs a bounded deterministic orthogonal edge-refinement pass after base routing; `Draft` and `Balanced` keep the base route unless library callers opt in through `ElkLayoutOptions.EdgeRefinement`. |
| **ElkJS** | JavaScript-based ELK via Node.js |
| **MSAGL** | Microsoft Automatic Graph Layout |
@@ -1020,4 +1020,3 @@ docs/decompiled-samples/
csharp/ 177 .cs files (Roslyn-formatted C# with typed request models)
json/ 177 .json files (indented canonical definitions with JSON Schema)
```