#!/usr/bin/env python3 """Attended delivery and native scope checks for the approved factory audit senders. No token values leave captured subprocess memory. The receipt is metadata only. This does not deploy producers or claim their outbox/recovery acceptance. """ from __future__ import annotations import argparse import base64 from datetime import datetime, timezone import hashlib import json import os from pathlib import Path import time import yaml from factory_audit_custody import contracts, desired, receiver_check, snapshot, require, REGISTRY from keycape_approval_custody import require_denied, read_optional, role_matches from state_hub_preflight_lane import ROOT, LaneError, command, bao, data, revoke CONFIRM='DELIVER CCR-2026-0021 CCR-2026-0022' MANIFEST_SHA256='bca0f6b318baf6bccebf7faec48dd5a69d686cfc7ba9f4c769c7a60b9dc72cc9' def custody_value(lane, raw): require(raw['metadata']['version']==1 and set(raw['data'])=={'AUDIT_TOKEN','CUSTODY_REQUEST'} and raw['data']['CUSTODY_REQUEST']==lane['ccr'], 'custody_provenance_mismatch') token=raw['data']['AUDIT_TOKEN'] import re require(isinstance(token,str) and re.fullmatch(r'[A-Za-z0-9_-]{64}',token), 'custody_token_shape') return token def verify_readers(kube, lanes, receipt, save): values={} for lane,row in zip(lanes,receipt['lanes']): receipt['check']=lane['name']+':reader_metadata';save() require(read_optional('sys/policies/acl/'+lane['policy'])['policy']==lane['hcl'] and role_matches(read_optional('auth/kubernetes/role/'+lane['role']),lane),'native_metadata_drift') receipt['check']=lane['name']+':reader_login';save() jwt=command(kube+['-n','external-secrets','create','token','external-secrets','--duration=10m']).stdout.decode().strip() auth=data(bao(['write','-format=json','auth/kubernetes/login','-'],payload={'role':lane['role'],'jwt':jwt}))['auth'] token=auth['client_token'] try: require(set(auth['token_policies'])=={lane['policy'],'default'} and 0