[verified] Enforce delegation adoption at runtime consumers

This commit is contained in:
2026-10-11 07:11:40 +00:00
parent 9367d5a3a1
commit 6cb2317667
19 changed files with 1112 additions and 47 deletions
@@ -33,6 +33,25 @@ def fail(message):
raise ValidationError(message)
def require_adoption(declaration, revision):
if declaration is None:
fail('delegation adoption declaration required')
try:
repo_root = Path(__file__).resolve().parents[6]
import sys
if str(repo_root) not in sys.path:
sys.path.insert(0, str(repo_root))
from harness.lib.delegation_adoption import AdoptionError, require_adoption as adopt
except Exception:
fail('delegation adoption unavailable')
try:
return adopt(declaration, expected_source={'kind': 'git_tree', 'revision': revision}, expected_stage='code-review')
except AdoptionError as exc:
fail(str(exc))
except Exception:
fail('delegation adoption unavailable')
def positive_id(value):
if type(value) is not int or value < 1:
fail('invalid positive identity')
@@ -455,10 +474,11 @@ def check_lease(lease, plan):
fail('unsupported lease check result')
def publish(plan, baseline, api, lease, journal_directory):
def publish(plan, baseline, api, lease, journal_directory, *, declaration=None):
"""Use one trusted role transport and an already-held Issue lease; never retry POST."""
import copy
validate_snapshot(plan, baseline)
require_adoption(declaration, plan['target']['head'])
payload = build_payload(plan)
if any(not callable(getattr(api, k, None)) for k in ['identity', 'snapshot', 'create_review', 'read_review']):
fail('unsupported adapter capabilities')
@@ -519,6 +539,7 @@ def publish(plan, baseline, api, lease, journal_directory):
'head': plan['target']['head'], 'event': payload['event'],
'body_sha256': hashlib.sha256(payload['body'].encode()).hexdigest()})
check_lease(lease, plan)
require_adoption(declaration, plan['target']['head'])
uncertain = False
response_id = None
try: