name: bidder-mutuals policy on: workflow_dispatch: inputs: self-did: description: DID running this evaluation (the evaluator's own DID) required: true rfp: description: 'JSON RFP record {uri,cid,value?} present at this stage' required: false bid: description: 'JSON bid record {uri,cid,value?} present at this stage' required: false accept: description: 'JSON accept record {uri,cid,value?} present at this stage' required: false policy-args: description: JSON policy arguments required: false mode: description: 'Policy lane: full (records + work) or scope (trust-only hot path / checkScope)' required: false counterparty-did: description: DID of the other side (required in scope mode) required: false perspective: description: 'Evaluation side: bidder or requester. Overrides the policy-name default when the evaluator is not the policy''s named side (e.g. a bidder running a requester-attached policy before a bid exists).' required: false subject-did: description: 'DID evaluated as the policy subject when no record names it (e.g. the bidder evaluating an RFP''s attached policy before any bid exists).' required: false root-requester-did: description: 'DID of the root requester, when the caller knows it and record derivation would get it wrong.' required: false cache-key: description: 'Verdict memo key: workflow, mode, perspective, every DID, the records and the args.' required: false jobs: evaluate: runs-on: self-hosted outputs: allow: ${{ steps.policy.outputs.allow }} violations: ${{ steps.policy.outputs.violations }} steps: - uses: tangy/policy-bidder-mutuals@v1 id: policy with: self-did: ${{ inputs.self-did || '' }} rfp: ${{ inputs.rfp || '' }} bid: ${{ inputs.bid || '' }} accept: ${{ inputs.accept || '' }} policy-args: ${{ inputs.policy-args || '' }} mode: ${{ inputs.mode || '' }} counterparty-did: ${{ inputs.counterparty-did || '' }} perspective: ${{ inputs.perspective || '' }} subject-did: ${{ inputs.subject-did || '' }} root-requester-did: ${{ inputs.root-requester-did || '' }} cache-key: ${{ inputs.cache-key || '' }}