| name | automation-roadmap-audit |
| description | Audit one or more existing automation-roadmap@1 markdowns against automation-roadmap_rubric@1.0. Produces a sibling .audit.md per artefact plus an AUDIT_BATCH_SUMMARY. Halts on needs_human verdicts; resumable on audited_file_sha256. Standalone trigger or chains naturally after automation-roadmap-author. Use when user asks to "audit this automation roadmap" or "check the automation roadmap". Do NOT use for "draft a new automation roadmap" (use automation-roadmap-author instead). |
| license | Apache-2.0 |
| metadata | {"version":"1.0.0","module":"skill","stage":"cross","cyberos-template":"automation-roadmap@1","cyberos-rubric-version":"automation-roadmap_rubric@1.0"} |
| allowed_memory_scopes | {"read":["project:*","module:*","company:locked-decisions"],"write":["project:*"]} |
| allowed_mcp_tools | ["kb.read","memory.search","audit.append"] |
| escalation | {"to_persona_on_legal":"cuo-clo","to_persona_on_security":"cuo-cseco","to_persona_on_compliance":"cuo-clo","to_human_on_irreversible":true} |
| invocation_modes | ["standalone","chained"] |
| expects | {"schema_ref":"./envelopes/input.json","required_fields":["artefact_paths"],"optional_fields":["rubric_version","upstream_context","trace_id","caller_persona","max_iterations_per_artefact"],"standalone_interview_ref":"./STANDALONE_INTERVIEW.md"} |
| produces | {"schema_ref":"./envelopes/output.json","output_kind":"artefact","human_summary_ref":"./HUMAN_SUMMARY.md"} |
| depends_on_contracts | [{"id":"automation-roadmap","version":"v1","purpose":"validation_target","pin_path":"cyberos/skill/contracts/automation-roadmap/"},{"id":"nats-subjects","version":"v1","purpose":"wire_protocol_emission","pin_path":"cyberos/skill/contracts/nats-subjects/"}] |
| exposable_as | {"internal":true,"agent_plugin":true,"mcp_tool":true,"partner_connector":false} |
| audit | {"emit_to":"genie.action_log","row_kind":"artefact_write","payload_hash_field":"audited_file_sha256","explanation_pane":"required"} |
| confidence_band | {"default":0.95,"defer_below":0.5,"cite_sources":"required"} |
| untrusted_inputs | {"wrap_in_marker":"untrusted_content","injection_scan":"required","on_marker_hit":"surface_to_human"} |
| self_audit | {"invariants_ref":"./INVARIANTS.md","check_at":["on_node_boundary",{"on_audit_row_count":25},"on_completion"],"anomaly_signals":{"confidence_low_streak":{"threshold":3,"window":10},"user_correction_streak":{"threshold":2,"window":5},"rule_reversal_streak":{"threshold":1,"window":1},"needs_human_rate_above":{"threshold":0.5,"window":10},"deterministic_drift":{"threshold":1,"window":1}},"on_breach":{"emit":"refinement_proposal","pause_pipeline":true,"resume_token_field":"refinement_run_id"}} |
| human_fine_tune | {"fine_tuner_role":"cpo","review_required":{"on_minor_bump":false,"on_major_bump":true,"on_safety_change":true,"on_rubric_rule_added":true,"on_rubric_rule_removed":true},"signals_to_initiate":[{"acceptance_rate_below":0.6},{"hitl_pause_rate_above":0.4},{"drift_signal_count_above":3},"deterministic_drift_observed","regulator_inquiry_received",{"self_audit_refinement_proposal_count_above":2}],"procedure_ref":null,"required_artifacts":["changelog_entry","acceptance_test_added","rubric_rule_diff","memory_refinement_entry"],"blackout_windows":[]} |
| determinism | {"reproducible":true,"fixity_notes":"Audit reports are byte-stable for a given artefact + rubric version. Two runs against the same audited_file_sha256 produce identical reports modulo the last_audit_at timestamp."} |
| emitted_source_freshness_tier | 15 |
| gated_until_phase | null |
| untrusted_content_wrapping | required |