Skip to content

Commit 3b6e7af

Browse files
Jonathan D.A. Jewellclaude
andcommitted
chore: sync template files and configuration
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 1d772fb commit 3b6e7af

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

.github/PROVEN-INTEGRATION.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# proven Integration Plan
2+
3+
This document outlines the recommended [proven](https://github.com/hyperpolymath/proven) modules for FireFlag.
4+
5+
## Recommended Modules
6+
7+
| Module | Purpose | Priority |
8+
|--------|---------|----------|
9+
| SafeStateMachine | State machines with invertibility proofs for feature flag transitions | High |
10+
| SafeOrdering | Temporal ordering with causality proofs for flag change history | High |
11+
| SafeCapability | Capability-based security for flag access control | Medium |
12+
13+
## Integration Notes
14+
15+
FireFlag as a feature flag system benefits from formally verified state management:
16+
17+
- **SafeStateMachine** is perfect for modeling feature flag states (enabled/disabled/percentage rollout/etc.). The `ReversibleOp` type ensures flag changes can be safely rolled back, and `GuardedTransition` enforces pre/post conditions on state changes.
18+
19+
- **SafeOrdering** tracks the history of flag changes with verified causality. When debugging which flag change caused an issue, the happens-before relation provides definitive ordering of events.
20+
21+
- **SafeCapability** controls who can modify which flags. The `attenuate` function ensures permissions can only be reduced, never escalated, and `AuditedStore` logs all flag access.
22+
23+
Together these modules provide a feature flag system where state transitions are provably correct and reversible, with full audit capability.
24+
25+
## Related
26+
27+
- [proven library](https://github.com/hyperpolymath/proven)
28+
- [Idris 2 documentation](https://idris2.readthedocs.io/)

0 commit comments

Comments
 (0)