behavior-contract

Solid

Bug condition/postcondition formalization as testable Behavior Contracts. Defines invariants that must be preserved across fixes.

AI & Automation 814 stars 53 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
97
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
97
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# behavior-contract You are **behavior-contract** -- the bug formalization skill for Pilot Shell bugfix mode. ## Overview This skill formalizes bugs as Behavior Contracts -- precise, testable descriptions of what is wrong (Bug Condition), what should happen (Postcondition), and what must not change (Invariants). ## Contract Structure ### Bug Condition The exact input, state, or sequence that triggers the bug. Must be specific enough to write a failing test. **Example**: "When `processPayment()` receives an amount of exactly $0.00, it throws an unhandled TypeError instead of returning a zero-amount receipt." ### Postcondition The correct behavior that must hold after the fix is applied. **Example**: "When `processPayment()` receives $0.00, it returns a valid Receipt object with `amount: 0` and `status: 'completed'`." ### Invariants Existing correct behaviors that must be preserved by the fix. **Example**: - "Positive amounts still process correctly" - "Negative amounts still throw `InvalidAmountError`" - "Receipt format remains unchanged for all amount types" ## Contract Document Template ```markdown # Behavior Contract: [Bug Title] ## Bug Condition [Precise description of triggering conditions] ## Postcondition [Expected correct behavior after fix] ## Invariants - [ ] Invariant 1: [existing behavior to preserve] - [ ] Invariant 2: [existing behavior to preserve] ## Testable Assertions 1. `expect(processPayment(0)).toEqual({ amount: 0, status: 'completed' })` 2...

Details

Author
a5c-ai
Repository
a5c-ai/babysitter
Created
4 months ago
Last Updated
today
Language
JavaScript
License
MIT

Related Skills