Competitive Positioning
While competitors offer shallow pattern matching ("block rm -rf"), RecourseOS provides:
- • Consequence depth: Full blast radius with concrete metrics (object counts, sizes, timestamps)
- • 5-tier recoverability:Not binary "safe/dangerous" but nuanced tiers with detailed reasoning
- • Cryptographic attestation: Signed proofs with reasoning traces, not just audit logs
- • Structured verification: Automatic output interpretation, not manual parsing
- • Cascade analysis: Type-grouped dependency graphs with depth tracking
- • Cross-action detection: Multi-change interaction patterns
Consequence Reasoning Quality
Generic verdicts don't help humans make decisions. RecourseOS provides concrete metrics:
"Bucket deletion is destructive"
"S3 bucket 'production-data' (12,847 objects, 50 GB, last modified 2 hours ago) has no versioning, object lock, or replication; deletion is UNRECOVERABLE"
For RDS instances:
RDS instance 'analytics-db' (postgres) is recoverable:
5 snapshots (latest: 4 hours ago), PITR available, 7-day automated backupsMetrics gathered from live state include:
- • S3:
objectCount,totalSizeBytes,lastModified, versioning status - • RDS:
snapshotCount,latestSnapshotTime, engine type, backup retention, PITR status - • DynamoDB: PITR status, AWS Backup recovery points
- • EBS: Snapshot count, cross-region copies, AWS Backup protection
Cascade Analysis
A count of affected resources isn't actionable. RecourseOS groups by type and tracks dependency depth:
"cascadeImpactCount: 7"
"3 subnets, 2 EC2 instances, 1 NAT gateway, 1 RDS instance (max depth: 2)"
The consequence report includes structured cascade data:
{
"cascadeSummary": "3 subnets, 2 EC2 instances, 1 NAT gateway, 1 RDS instance",
"maxCascadeDepth": 2,
"cascadeByType": {
"aws_subnet": 3,
"aws_instance": 2,
"aws_nat_gateway": 1,
"aws_db_instance": 1
}
}Verification Loop
When RecourseOS can't determine recoverability from available state, it suggests verification commands. These include structured patterns for automatic output interpretation:
{
"evidence_key": "manual_snapshots_exist",
"description": "Check for manual RDS snapshots",
"verification": {
"type": "aws_cli",
"argv": ["aws", "rds", "describe-db-snapshots",
"--db-instance-identifier", "prod-db",
"--snapshot-type", "manual", "--output", "json"]
},
"expected_pattern": { "type": "json_array_not_empty" },
"failure_pattern": { "type": "regex", "regex": "^\\[\\]$" },
"example_output": "[{\"DBSnapshotIdentifier\": \"prod-db-2024-01-15\"}]"
}Pattern types:
| Type | Description | Use Case |
|---|---|---|
json_array_not_empty | Output is a non-empty JSON array | Check if snapshots exist |
json_field_equals | JSON field equals expected value | Check if Status = "Enabled" |
json_field_exists | JSON field exists and is non-null | Check if VersionId is present |
regex | Regex matches raw output | Check for PITR: enabled |
exit_code | Command exit code matches | Verify command succeeded |
Workflow:
- 1. RecourseOS returns verification suggestions with structured patterns
- 2. Agent runs command, captures exit code and raw output
- 3. Agent submits evidence via
recourse_evaluate_with_evidence - 4. Pattern matcher auto-interprets output
- 5. Verdict upgraded if evidence confirms recovery paths
Attestation Richness
Audit logs prove something happened. Attestations prove what was evaluated and why:
Signed input/output pair
Full reasoning chain, independently verifiable
Attestations include a reasoning trace:
{
"trace": {
"steps": [
{ "action": "parse_input", "result": "Parsed Terraform plan with 3 resource changes" },
{ "action": "analyze_blast_radius", "result": "Analyzed 3 changes" },
{ "action": "cross_action_analysis", "result": "Checked 8 cross-action patterns" },
{ "action": "policy_evaluation", "result": "Risk assessment: block" }
],
"handlers_invoked": ["aws_db_instance", "aws_s3_bucket"],
"state_sources": ["terraform-plan", "terraform-state"]
}
}Third parties can verify attestations without RecourseOS access using the Go SDK or TypeScript implementation.
Cross-Action Detection
Individual actions may be safe, but their combination can be unrecoverable. RecourseOS detects these patterns:
- • Backup + protected deleted: Deleting a snapshot and its source in the same plan
- • Replica + primary deleted: Deleting a replica and its primary database together
- • Protection disabled then deleted: Removing deletion protection and deleting in one plan
- • Security group referenced: Deleting a security group while EC2 still uses it
- • VPC cascade: Deleting a VPC while resources still depend on it
See Cross-Action Analysis for the full pattern catalog.
Comparison Table
| Capability | Pattern Matchers | RecourseOS |
|---|---|---|
| Pattern matching | rm -rf → block | Yes, plus context |
| Consequence depth | None | Full blast radius with metrics |
| Recoverability tiers | Binary | 5-tier + reasoning |
| Attestation | Audit logs | Cryptographic proof + trace |
| Evidence verification | None | Structured pattern matching |
| Cascade analysis | None | Type-grouped dependency graph |
| Cross-action detection | None | Multi-change patterns |