/** * Structural validator for delegation chains under responsibility_anchor. * * Catches malformed chains before they are passed to cascadePrincipal. The * cascade returns chain_integrity verdicts at runtime; this validator is the * earlier gate that ensures chains issued with anchors are internally * coherent. */ import type { DelegationChain } from './responsibility.js'; /** Result of validateChainComposition. */ export interface ChainCompositionResult { valid: boolean; failures: string[]; } /** * Verify that a delegation chain is well-formed under responsibility_anchor * rules. * * Checks: * * 1. Every anchor of kind 'agent_acting_for_principal' has a non-empty * acting_agent_id field. * 2. The chain has at least one 'human' or 'org' anchor reachable from every * 'agent_acting_for_principal' anchor (no infinite-agent chain). * 3. No cycle exists among 'agent_acting_for_principal' anchors via the * acting_agent_id pointer. * * Chains with no anchors at all are treated as legacy and pass without * failures (the cascade falls back to the root delegator). This keeps the * validator additive against pre-anchor delegations. */ export declare function validateChainComposition(chain: DelegationChain): ChainCompositionResult; //# sourceMappingURL=validateChainComposition.d.ts.map