Inspirations
NotarAI draws from several established traditions:
- Cucumber / Gherkin: The Given/Then behavior format in NotarAI specs comes from BDD’s structured scenario language, but kept in natural language rather than formal Gherkin syntax to lower the authoring barrier.
- Terraform and Infrastructure-as-Code: The reconciliation model (declare desired state, detect drift from actual state, propose a plan to converge) is borrowed from IaC tools like Terraform, Pulumi, and CloudFormation. NotarAI’s spec is a state file for intent, not infrastructure.
- JSON Schema / OpenAPI: The
$refcomposition model and the use of a JSON Schema to govern spec validity come directly from these standards. - Design by Contract (Eiffel): The distinction between
constraints(what the system enforces) andinvariants(what must never be violated) echoes Eiffel’s preconditions, postconditions, and class invariants. - Architecture Decision Records: The
decisionsfield in the spec is a lightweight ADR log, capturing the why alongside the what.