Active user attribute set, latest activities, guarded changes to used values, artefact links, durations and averages; irreversible showcase step
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Work Records / validate (push) Has been cancelled

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 295952@bnt-lap001
Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477
This commit is contained in:
tegwick 2026-09-29 15:50:56 +02:00
parent 6716cee921
commit 8d62c1fbe8
22 changed files with 1025 additions and 35 deletions

View file

@ -52,8 +52,8 @@ def maturity_block(app, i: int, pack) -> str:
"context, and runs with deviations, do not count.</p>"
f"<p>Idempotency: <b>{e(idempotency_text(pack))}</b></p>"
f"{'<ul>' + revs + '</ul>' if revs else ''}"
f"<form method=post action='/pack/{i}/review'>{app.hidden()}<p class=row>"
"<input name=by placeholder='your name (one word)' required> <input name=note class=grow placeholder='review note (optional)'> "
f"<form method=post action='/pack/{i}/review'>{app.hidden()}{app.who('by')}<p class=row>"
"<input name=note class=grow placeholder='review note (optional)'> "
"<button>Record my review of this revision</button></p></form></div>")
@ -149,7 +149,7 @@ def project_page(app, pid: str, msg: str = "") -> bytes | None:
if pack.spec == "runbook-pack/v0.2" else "")
action = (f"<form method=post action='/project/{e(pid)}/run' class=row>{app.hidden()}"
f"<input type=hidden name=pack value='{e(spec['pack'])}'><input type=hidden name=target value='{e(spec.get('target') or '')}'>"
f"<input name=operator placeholder='your name' size=10 required> {mode}<button>Start run</button></form>")
f"<input type=hidden name=operator value='{e(app.operator())}'> {mode}<button>Start run as {e(app.operator())}</button></form>")
link = f" <a href='/run/{i}/{e(ms['run'])}'>latest run</a>" if ms.get("run") and i is not None else ""
dev = f" · {ms['deviations']} deviation(s)" if ms.get("deviations") else ""
rows += (f"<tr><td>{e(pack.data.get('title', pack.id))}<br><span class=note>{e(spec['pack'])}"