Maturity from run history, pack revision digests, attribute sets, projects and templates (RBT-WP-0008)
Also fixes run lists and scores mixing runs of different packs in one repository. 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:
parent
2f60d47746
commit
0203bf553c
19 changed files with 1311 additions and 33 deletions
|
|
@ -13,8 +13,8 @@ import uuid
|
|||
from datetime import datetime, timezone
|
||||
|
||||
from .flow import Flow
|
||||
from .pack import Pack, render
|
||||
from .run import Run, RunError, _clean, _now, runs_dir # noqa: F401 (re-exported for callers)
|
||||
from .pack import Pack, digest, render
|
||||
from .run import Run, RunError, _clean, _context, _now, runs_dir # noqa: F401 (re-exported for callers)
|
||||
|
||||
DEFAULT_PHRASE = "I understand this cannot be undone"
|
||||
VERIFY_TIMEOUT = 60
|
||||
|
|
@ -84,7 +84,7 @@ def _confirm_datapoints(run: Run, by: str, how: str) -> None:
|
|||
# ---- creation -------------------------------------------------------------------------------------
|
||||
|
||||
def create(pack: Pack, operator: str, values: dict[str, str] | None = None, mode: str = "manual",
|
||||
preauthorize: list[str] | None = None) -> Run:
|
||||
preauthorize: list[str] | None = None, context: dict | None = None) -> Run:
|
||||
if not pack.ok or pack.data.get("engine") != "native" or pack.spec != "runbook-pack/v0.2":
|
||||
raise RunError("only valid native runbook-pack/v0.2 packs can be run here")
|
||||
if mode not in ("manual", "auto-confirm"):
|
||||
|
|
@ -104,6 +104,7 @@ def create(pack: Pack, operator: str, values: dict[str, str] | None = None, mode
|
|||
"spec": "runbook-run/v0.2", "run_id": time.strftime("%Y%m%d-%H%M%S-") + uuid.uuid4().hex[:6],
|
||||
"pack_id": pack.id, "pack_path": str(pack.path), "operator": operator, "created": _now(),
|
||||
"mode": mode, "params": {}, "deviations": [],
|
||||
"pack_digest": digest(pack), "context": _context(context),
|
||||
"auto_confirm": {"preauthorized": pre, "authorized_by": operator if pre else None},
|
||||
"datapoints": {i: {"state": "nil"} for i in fl.datapoints},
|
||||
"steps": {i: {"state": "todo"} for i in fl.steps},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue