NK-WP-0056-T13 (part): executor CLI, clients, Containerfile, image workflow
All checks were successful
All checks were successful
CLI entry point and approval-engine/audit-core clients; events carry occurred_at (audit-core envelope); hash-locked image with pinned lldap stage builds locally; image workflow and executor tests in CI; pilot example pins the executed files. rapp reshaping still open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 994874@bnt-lap001 Assistant-Session: 6017c416-d619-47eb-bd1a-f670a02d7d87
This commit is contained in:
parent
fe18096aa3
commit
ba9d266b7e
18 changed files with 694 additions and 33 deletions
|
|
@ -189,6 +189,10 @@ class HappyPathTests(Base):
|
|||
self.assertEqual([e["type"] for e in self.w.events], [X.STARTED, X.RECEIPT])
|
||||
started, receipt = self.w.events
|
||||
self.assertEqual(started["id"], f"run:{result['run_id']}:started")
|
||||
for event in self.w.events: # audit-core: eight truthy fields, offset-qualified occurred_at
|
||||
for key in ("id", "type", "source", "subject", "tenant", "correlation_id", "occurred_at", "data"):
|
||||
self.assertTrue(event[key], key)
|
||||
self.assertEqual(dt.datetime.fromisoformat(event["occurred_at"]).utcoffset(), dt.timedelta(0))
|
||||
data = receipt["data"]
|
||||
self.assertEqual(data["pdp"], "not-evaluated")
|
||||
self.assertEqual({r["label"] for r in data["decision_refs"]}, {"admission", "admission_digest", "approval"})
|
||||
|
|
@ -215,7 +219,7 @@ class RefusalTests(Base):
|
|||
def test_refusals_before_any_effect(self):
|
||||
cases = {
|
||||
"not_this_executor": lambda: setattr(self.cfg, "executor_identity", "service:other"),
|
||||
"source_drift": lambda: (self.root / "tools/service-binds/bind-lane.py").write_text("changed"),
|
||||
"source_drift": lambda: (self.root / "bounded-executor/operations.py").write_text("changed"),
|
||||
"trust_not_satisfied:runtime_secret_trust": lambda: setattr(self.w, "trust_ok", False),
|
||||
"approval_binding": lambda: self.w.carrier.approval["binding"]["target"].update(admission_digest="sha256:" + "0" * 64),
|
||||
"approval_status": lambda: self.w.carrier.approval.update(status="requested"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue