# Skill: dbe32f79 - Behavioral Verification Methods **Version**: 1.0.0 **Skill ID**: dbe32f79 **Category**: Verification **Last Updated**: 2025-01-10 --- ## 1. Description This skill defines methods for verifying past behaviors when accountability is required. When behavior verification is needed, one of three valid methods must be used: (1) complete, continuous, immutable records; (2) self-statements from all involved parties with cross-verification; or (3) guarantor-appointed verification with published findings. Agents must ensure verification methods meet the required standards for completeness and reliability. ## 2. Input Data Structure ```yaml $schema: https://agentskills.io/schemas/behavior_verification type: object properties: verification_id: type: string pattern: ^[a-f0-9]{8}$ description: Unique identifier for this verification request verification_context: type: object properties: event_id: type: string description: Identifier of the event being verified required: true event_description: type: string description: Description of the behavior to verify required: true involved_parties: type: array items: type: string description: List of involved party identifiers required: true verification_purpose: type: string enum: [accountability, dispute_resolution, compliance_check, audit, other] description: Purpose of verification required: true required: - event_id - event_description - involved_parties verification_method: type: string enum: [complete_records, self_statements, guarantor_verification] description: Selected verification method required: true complete_records_evidence: type: object properties: has_complete_records: type: boolean description: Whether complete records are available required: true record_types: type: array items: type: string enum: [system_logs, documents, communications, financial_records, video_audio, other] description: Types of records available record_completeness: type: object properties: continuous_coverage: type: boolean description: Whether records provide continuous coverage required: true coverage_start: type: string format: date-time description: Start of record coverage coverage_end: type: string format: date-time description: End of record coverage gaps_identified: type: array items: type: string description: Any gaps in coverage immutability_status: type: object properties: is_immutable: type: boolean description: Whether records are tamper-proof required: true immutability_method: type: string enum: [blockchain, write_once_media, cryptographic_hash, access_control, other] description: Method ensuring immutability verification_procedure: type: string description: Procedure to verify record integrity storage_location: type: string format: uri description: Where records are stored access_status: type: string enum: [fully_accessible, partially_restricted, restricted] description: Access status of records required: - has_complete_records self_statement_evidence: type: object properties: has_self_statements: type: boolean description: Whether self-statements are available required: true statements_provided: type: array items: type: object properties: party_id: type: string description: Party providing statement required: true statement_content: type: string description: Content of the statement required: true statement_timestamp: type: string format: date-time description: When statement was made statement_format: type: string enum: [written, verbal_transcribed, video, other] description: Format of statement required: - party_id - statement_content cross_verification_status: type: object properties: all_parties_provided_statements: type: boolean description: Whether all parties provided statements required: true each_party_received_others_statements: type: boolean description: Whether each party received all other statements required: true opinion_on_other_statements: type: array items: type: object properties: responding_party: type: string description: Party responding required: true responding_to_party: type: string description: Party whose statement is being responded to required: true opinion_content: type: string description: Opinion on the other party's statement required: true opinion_type: type: string enum: [agree, disagree, partial_agree, clarify] description: Type of opinion required: - responding_party - responding_to_party - opinion_content required: - all_parties_provided_statements - each_party_received_others_statements required: - has_self_statements guarantor_verification: type: object properties: has_guarantor_verification: type: boolean description: Whether guarantor verification is selected required: true guarantor_appointment: type: object properties: all_parties_agreed: type: boolean description: Whether all parties agreed to guarantor required: true guarantor_id: type: string description: Appointed guarantor identifier required: true guarantor_name: type: string description: Guarantor name required: true guarantor_qualification: type: string description: Guarantor's qualifications required: - all_parties_agreed - guarantor_id guarantor_duties: type: object properties: will_publish_records: type: boolean description: Whether guarantor will publish records required: true will_organize_recall_session: type: boolean description: Whether guarantor will organize recall session required: true will_provide_report: type: boolean description: Whether guarantor will provide report required: true report_timeline: type: string description: Expected timeline for report required: - will_publish_records - will_organize_recall_session - will_provide_report guarantor_selection_context: type: string description: Context for guarantor selection if applicable required: - has_guarantor_verification submitted_by: type: string description: Identifier of submitting party required: true submitted_at: type: string format: date-time description: Timestamp of submission required: true ``` ## 3. Output Data Structure ```yaml $schema: https://agentskills.io/schemas/behavior_verification_validation_result type: object properties: decision: type: string enum: [COMPLIANT, IGNORE, CLARIFY] description: Compliance decision verification_id: type: string pattern: ^[a-f0-9]{8}$ description: Reference to verification request method_selected: type: string enum: [complete_records, self_statements, guarantor_verification] description: Verification method selected method_requirements_met: type: boolean description: Whether selected method meets all requirements completeness_verified: type: boolean description: Whether verification provides complete coverage findings: type: array items: type: object properties: severity: type: string enum: [error, warning, info] issue: type: string description: Identified issue recommendation: type: string description: Recommended action metadata: type: object properties: validated_by: type: string description: Agent ID that performed validation validated_at: type: string format: date-time description: Timestamp of validation applied_norms: type: array items: type: string description: List of skill IDs and versions applied ``` ## 4. Error Patterns (Auto-Detection) ### 4.1 No Verification Method Selected Pattern ``` Pattern: Verification request without selected method Detection Rule: - Check 'verification_method' is specified - Verify corresponding evidence structure is populated - Flag incomplete verification requests Natural Language Detection: "Please select a verification method: (1) complete records, (2) self-statements with cross-verification, or (3) guarantor verification. Provide evidence for the selected method." Response: CLARIFY ``` ### 4.2 Incomplete Records Pattern ``` Pattern: Records verification with gaps or without immutability Detection Rule: - If 'complete_records_evidence.has_complete_records' is true: - Verify 'continuous_coverage' is true - Check 'is_immutable' is true - Flag if gaps exist in coverage Natural Language Detection: "Complete records must provide continuous coverage with no gaps and demonstrate immutability. Please address any gaps or provide a different verification method." Response: CLARIFY ``` ### 4.3 Self-Statement Incomplete Pattern ``` Pattern: Self-statement verification with missing elements Detection Rule: - If 'self_statement_evidence.has_self_statements' is true: - Check all involved parties provided statements - Verify each party received all other statements - Confirm opinions on other statements are provided Natural Language Detection: "Self-statement verification requires: (1) statements from ALL involved parties, (2) each party received ALL other statements, and (3) each party provided opinions on others' statements." Response: CLARIFY ``` ### 4.4 Guarantor Not Agreed Pattern ``` Pattern: Guarantor verification without universal agreement Detection Rule: - If 'guarantor_verification.has_guarantor_verification' is true: - Check 'all_parties_agreed' is true - Verify guarantor duties are specified - Flag unagreed guarantor selections Natural Language Detection: "Guarantor verification requires agreement from ALL involved parties. Please confirm universal agreement or select an alternative method." Response: CLARIFY ``` ### 4.5 Guarantor Duties Incomplete Pattern ``` Pattern: Guarantor verification with incomplete duty specification Detection Rule: - If guarantor selected: - Verify 'will_publish_records' is true - Check 'will_organize_recall_session' is true - Confirm 'will_provide_report' is true - Flag missing guarantor duties Natural Language Detection: "Guarantor must commit to: (1) publishing records using Method 1 or 2, (2) organizing recall sessions for cross-verification, and (3) providing a final report." Response: CLARIFY ``` ## 5. Prompt Templates ### 5.1 Verification Request Template ``` Requesting behavior verification for event: {event_description} Involved Parties: {list_of_parties} Purpose: {verification_purpose} Please select ONE verification method: METHOD 1: Complete Records - Do you have complete, continuous, immutable records? - What record types are available? - Is coverage continuous with no gaps? - How is immutability ensured? - Where are records stored? METHOD 2: Self-Statements - Will all parties provide self-statements? - Can each party receive all other statements? - Will each party provide opinions on others' statements? METHOD 3: Guarantor Verification - Have all parties agreed on a guarantor? - What are the guarantor's qualifications? - Will guarantor publish records (Method 1 or 2)? - Will guarantor organize recall sessions? - Will guarantor provide a report? ``` ### 5.2 Self-Statement Collection Template ``` Collecting self-statements for verification: Each involved party must provide: 1. A complete statement describing their perspective 2. The statement format (written/verbal/video) 3. Timestamp of when statement was made After all statements are collected: - Each party must receive ALL other parties' statements - Each party must provide opinions on EACH other statement - Opinions can be: agree, disagree, partially agree, or request clarification Statement Status: {party}: {submitted|pending} Opinion Status: {party} on {other_party}: {submitted|pending} ``` ## 6. JSON Example ```json { "verification_id": "dbe32f79-001", "verification_context": { "event_id": "event-001", "event_description": "Project milestone completion verification", "involved_parties": ["party-001", "party-002", "party-003"], "verification_purpose": "accountability" }, "verification_method": "self_statements", "self_statement_evidence": { "has_self_statements": true, "statements_provided": [ { "party_id": "party-001", "statement_content": "I completed all assigned tasks according to the project timeline.", "statement_timestamp": "2025-01-10T09:00:00Z", "statement_format": "written" }, { "party_id": "party-002", "statement_content": "I provided all necessary resources and support for the milestone.", "statement_timestamp": "2025-01-10T09:30:00Z", "statement_format": "written" }, { "party_id": "party-003", "statement_content": "I reviewed and approved all deliverables on time.", "statement_timestamp": "2025-01-10T10:00:00Z", "statement_format": "written" } ], "cross_verification_status": { "all_parties_provided_statements": true, "each_party_received_others_statements": true, "opinion_on_other_statements": [ { "responding_party": "party-001", "responding_to_party": "party-002", "opinion_content": "I agree - resources were provided on schedule.", "opinion_type": "agree" }, { "responding_party": "party-001", "responding_to_party": "party-003", "opinion_content": "I agree - the review process was thorough and timely.", "opinion_type": "agree" }, { "responding_party": "party-002", "responding_to_party": "party-001", "opinion_content": "I can confirm tasks were completed as stated.", "opinion_type": "agree" }, { "responding_party": "party-002", "responding_to_party": "party-003", "opinion_content": "Approval was provided within expected timeframe.", "opinion_type": "agree" }, { "responding_party": "party-003", "responding_to_party": "party-001", "opinion_content": "Tasks were completed to required standards.", "opinion_type": "agree" }, { "responding_party": "party-003", "responding_to_party": "party-002", "opinion_content": "Resources were adequate and well-coordinated.", "opinion_type": "agree" } ] } }, "submitted_by": "verifier_agent", "submitted_at": "2025-01-10T11:00:00Z" } ``` ## 7. Validation Rules | Field | Rule | Error Message | |-------|------|---------------| | event_id | Must not be empty | "Event identifier is required" | | event_description | Must not be empty | "Event description is required" | | involved_parties | Required, minimum 1 | "At least one involved party is required" | | verification_method | Required | "Verification method must be selected" | | has_complete_records | Required for Method 1 | "Record availability must be specified" | | continuous_coverage | Required for Method 1 | "Record coverage continuity must be confirmed" | | is_immutable | Required for Method 1 | "Immutability status must be confirmed" | | has_self_statements | Required for Method 2 | "Self-statement availability must be specified" | | all_parties_provided_statements | Required for Method 2 | "All parties must provide statements" | | each_party_received_others_statements | Required for Method 2 | "All parties must receive all statements" | | has_guarantor_verification | Required for Method 3 | "Guarantor verification selection must be confirmed" | | all_parties_agreed | Required for Method 3 | "All parties must agree on guarantor" | | will_publish_records | Required for Method 3 | "Guarantor must commit to publishing records" | | will_organize_recall_session | Required for Method 3 | "Guarantor must commit to recall sessions" | | will_provide_report | Required for Method 3 | "Guarantor must commit to providing report" | ## 8. Dependencies and Relationships ### 8.1 Depends On - **d0111eb4**: Expected Effect Justification - May require verification of justifications - **9e6bc34f**: Information Disclosure Standards - Record publishing requirements ### 8.2 Related Skills - **600f6f80**: Regulatory Justification Requirements - Verification of regulatory claims - **91ff9448**: Regulatory Compliance Infrastructure - Verification of compliance ## 9. Error Handling Behaviors | Error Type | Handling Behavior | |------------|-------------------| | No verification method selected | REFUSE transmission, require method selection | | Incomplete records | REFUSE transmission, require complete coverage | | Missing self-statements | REFUSE transmission, require all statements | | Missing cross-verification | REFUSE transmission, require cross-verification | | Unagreed guarantor | REFUSE transmission, require universal agreement | | Incomplete guarantor duties | REFUSE transmission, require complete duties | ## 10. Changelog | Version | Date | Changes | |---------|------|---------| | 1.0.0 | 2025-01-10 | Initial release | --- **End of Skill dbe32f79**