Activate scoped user-engine mail and finish EMAIL-WP-0008
Some checks failed
Transactional mail acceptance / mail (push) Failing after 16s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a11fd9-caf6-7a63-b578-9daaaa134ff2
This commit is contained in:
tegwick 2026-10-09 20:23:43 +02:00
parent 42e8b2040b
commit e9b9d1c708
17 changed files with 651 additions and 19 deletions

View file

@ -26,6 +26,20 @@ READERS = [
("email-connect", "email-connect-scoped-caller-eso"),
("user-engine", "user-engine-scoped-mail-eso"),
]
FAILURE_CODES = frozenset({
"attended_bao_operation_failed", "reviewed_plan_hash_required",
"reviewed_artifact_changed", "founder_exact_plan_decision_required",
"exact_caller_contract_required", "existing_policy_differs",
"policy_readback_differs", "bounded_writer_required", "initial_cas_write_required",
"caller_record_changed", "caller_credential_invalid", "caller_readback_differs",
"existing_reader_role_differs", "private_receipt_path_required", "fresh_receipt_required",
})
def failure_receipt(error):
code = str(error) if isinstance(error, Refused) else None
return {"status": "failed", "failure_type": type(error).__name__,
"failure_code": code if code in FAILURE_CODES else "contained_operation_failed"}
def role(namespace, account):
@ -123,7 +137,7 @@ def provision(transport=bao):
return {"kv_version": version, "created": created, "readback_equal": True,
"credential_values_printed": False}
finally:
transport(["write", "auth/token/revoke-self"], token=token)
transport(["token", "revoke", "-self"], token=token)
def execute(plan, reviewed, decision, base):
@ -170,7 +184,7 @@ def main():
try:
receipt = execute(plan, args.reviewed_sha256, args.decision_id, args.api_base)
except Exception as error:
checkpoint(args.receipt, {"status": "failed", "failure_type": type(error).__name__})
checkpoint(args.receipt, failure_receipt(error))
raise
checkpoint(args.receipt, receipt)

View file

@ -20,7 +20,7 @@ NS = "email-connect"
CLUSTER_UID = "a553c742-0115-43d4-99a4-a5ca56fe0786"
IMAGE = (
"forgejo.coulomb.social/coulomb/email-connect@sha256:"
"eb3e7b68d21209e9eb71b928a5b0bc987e8e3164f21dca4ff712f946d0c103f2"
"5d79fd1fec15d3a279383820f170d263de3a55f5308df01a0a34732ebaea6d3d"
)
LOCK_PATH = Path("/var/lib/email-connect-backup/capture.lock")
SELECTOR = "app.kubernetes.io/name=email-connect"

View file

@ -22,7 +22,7 @@ from ledger_archive import (
IMAGE = (
"forgejo.coulomb.social/coulomb/email-connect@sha256:"
"eb3e7b68d21209e9eb71b928a5b0bc987e8e3164f21dca4ff712f946d0c103f2"
"5d79fd1fec15d3a279383820f170d263de3a55f5308df01a0a34732ebaea6d3d"
)
CODE = """import io,json,os,sys