drift-risk-audit-artifact-updates
Skill14 starsChanged 7 months agoMITView on GitHub
Drift-specific workflow for updating required audit artifacts after signal, ingestion, output, or architecture changes. Use when FMEA, fault trees, STRIDE, or the risk register must be updated to satisfy POLICY §18 and pre-push gates. Keywords: risk audit, FMEA, STRIDE, fault tree, risk register, Policy 18, audit_results, signal change, trust boundary, precision recall.
In this repository41 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- llms.txtllms.txt
- brainstormingSkill
- drift-adr-workflowSkill
- drift-agent-prompt-authoringSkill
- drift-commit-pushSkill
- drift-dependency-updateSkill
- drift-docs-gap-fixSkill
- drift-evidence-artifact-authoringSkill
- drift-finding-message-authoringSkill
- drift-ground-truth-fixture-developmentSkill
- drift-mcp-repo-ops-usageSkill
- drift-pr-review-loopSkill
- drift-pr-reviewSkill
- drift-releaseSkill
- drift-security-triageSkill
- drift-session-handover-authoringSkill
- drift-signal-development-full-lifecycleSkill
- fix-failing-actionsSkill
- grill-meSkill
- guard-src-drift-apiSkill
- guard-src-drift-commandsSkill
- guard-src-drift-ingestionSkill
- guard-src-drift-outputSkill
- guard-src-drift-signalsSkill
- guard-src-driftSkill
- improve-codebase-architectureSkill
- prd-to-issuesSkill
- self-improving-agentSkill
- simplify-and-hardenSkill
- skill-creatorSkill
- subagent-driven-developmentSkill
- systematic-debuggingSkill
- tddSkill
- test-driven-developmentSkill
- verification-before-completionSkill
- workspace-automation-orchestratorSkill
- write-a-prdSkill
- writing-plansSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 7 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Use this skill when a Drift change requires explicit updates to the audit stack under audit_results/.
- Very specific: line 30
Before touching the audit stack, use the gate format from .github/instructions/drift-policy.instructions.md.
- Distinctive: line 45
Treat a change as material when it changes detection scope, improves or worsens precision/recall in a meaningful way, alters actionable …
- Distinctive: line 63
If more than one category applies, update the union of required artifacts.
- Distinctive: line 67
Use this mapping exactly:
- Very specific: line 80
Use audit_results/fmea_matrix.md for failure-mode thinking.
- Very specific: line 92
Use the same scale and table style already present in audit_results/fmea_matrix.md.
- Distinctive: line 96
Keep the mitigation specific enough that a reviewer can connect it to tests, heuristics, or evidence.
- Very specific: line 100
Use audit_results/fault_trees.md when the change affects causal failure paths for signal quality.
- Very specific: line 102
Use audit_results/stride_threat_model.md when the change introduces or alters an input path, output path, or trust boundary.
- Distinctive: line 104
Do not write generic text.
- Very specific: line 108
Every relevant audit update should leave an operational trace in audit_results/risk_register.md.
- Distinctive: line 134
If the change claims a precision or recall shift, the audit entry should say how that delta was observed.
- Distinctive: line 138
Use the local checker to confirm the push is not blocked:
- Very specific: line 153
If an emergency bypass is considered, prefer the narrowest gate bypass and document the reason.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Drift Risk Audit Artifact Updates Skill
Use this skill when a Drift change requires explicit updates to the audit stack under audit_results/.
When To Use
- A file under
src/drift/signals/changes materially - A file under
src/drift/ingestion/changes materially - A file under
src/drift/output/changes materially - An input path, output path, or trust boundary changes
- Precision or recall changes by more than 5 percentage points
- A push would otherwise fail the risk-audit gate
Core Rules
- Run the Drift Policy Gate first. Audit updates do not rescue inadmissible work.
- Treat audit artifacts as contracts, not optional docs. POLICY §18 makes them mandatory.
- Update the right artifact for the change type. Any audit file is not enough.
- Never delete the four protected audit artifacts. The gate checks existence.
- Use bypasses only with explicit maintainer approval and a documented emergency reason.
Step 0: Run The Drift Policy Gate
Before touching the audit stack, use the gate format from .github/instructions/drift-policy.instructions.md.
Step 1: Classify The Change
Sort the implementation into one of these categories:
A. Signal changed
Examples:
- new signal
- materially changed heuristic
- changed finding criteria
- changed scoring-readiness behavior
Treat a change as material when it changes detection scope, improves or worsens precision/recall in a meaningful way, alters actionable output, or changes what reviewers must trust about the signal.
B. Input/output or trust boundary changed
Examples:
- new ingestion path
- new output channel
- changed output contract or trust boundary
C. Precision/recall shifted by more than 5 percentage points
Examples:
- threshold tuning
- strong FP reduction
- recall hardening with measurable delta
If more than one category applies, update the union of required artifacts.
Step 2: Map The Change To Required Artifacts
Use this mapping exactly:
- Signal changed
update
audit_results/fmea_matrix.md,audit_results/fault_trees.md, andaudit_results/risk_register.md - Input/output or trust boundary changed
update
audit_results/stride_threat_model.mdandaudit_results/risk_register.md - Precision/recall delta > 5%
update
audit_results/fmea_matrix.mdandaudit_results/risk_register.md
The machine gate in scripts/check_risk_audit.py checks for the presence of audit updates. POLICY §18 still requires the correct artifact combination for the specific change type, so update the full required set for your case.
Step 3: Update The FMEA Matrix Correctly
Use audit_results/fmea_matrix.md for failure-mode thinking.
At minimum, capture:
- signal
- failure mode
- cause
- effect
- detection
- mitigation
S,O,D, andRPN
Use the same scale and table style already present in audit_results/fmea_matrix.md. RPN must be calculated as S x O x D.
For signal changes, add at least one expected false-positive mode and one expected false-negative mode.
Keep the mitigation specific enough that a reviewer can connect it to tests, heuristics, or evidence.
Step 4: Update Fault Trees Or STRIDE As Needed
Use audit_results/fault_trees.md when the change affects causal failure paths for signal quality.
Use audit_results/stride_threat_model.md when the change introduces or alters an input path, output path, or trust boundary.
Do not write generic text. The artifact should name the concrete path, component, or causal chain that changed.
Step 5: Update The Risk Register
Every relevant audit update should leave an operational trace in audit_results/risk_register.md.
Capture:
- risk ID
- affected component
- type of risk
- description
- trigger examples
- impact
- mitigation
- verification
- residual risk
Trigger examples should be concrete enough to recognize the failure mode again.
Step 6: Tie Audit Updates To Evidence
Audit text without verification is weak. Reference the concrete checks that support the update, for example:
pytest tests/test_precision_recall.py -v
pytest tests/test_mutant_duplicates_edge_cases.py -q --maxfail=1
python scripts/check_risk_audit.py --diff-base origin/mainIf the change claims a precision or recall shift, the audit entry should say how that delta was observed.
Step 7: Validate Before Push
Use the local checker to confirm the push is not blocked:
python scripts/check_risk_audit.py --diff-base origin/mainAlso ensure the four protected files still exist:
audit_results/fmea_matrix.mdaudit_results/stride_threat_model.mdaudit_results/fault_trees.mdaudit_results/risk_register.md
Step 8: Handle Exceptions Conservatively
If an emergency bypass is considered, prefer the narrowest gate bypass and document the reason. For this gate, that usually means DRIFT_SKIP_RISK_AUDIT=1 rather than DRIFT_SKIP_HOOKS=1.
Review Checklist
- Policy Gate passed for the underlying change
- The change type was classified correctly
- The correct audit artifact set was updated
- FMEA entries include FP/FN thinking where required
- Fault-tree or STRIDE updates are concrete rather than generic
- Risk Register entry includes trigger examples and verification
- Verification commands are named explicitly
- The local risk-audit checker is expected to pass
- No protected audit artifact was removed
References
.github/instructions/drift-policy.instructions.md.github/instructions/drift-push-gates.instructions.md.github/instructions/drift-quality-workflow.instructions.md.github/skills/drift-commit-push/SKILL.mdscripts/check_risk_audit.pyaudit_results/fmea_matrix.mdaudit_results/fault_trees.mdaudit_results/stride_threat_model.mdaudit_results/risk_register.mdCONTRIBUTING.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

