The Method
Turn code into shared understanding.
Generating a change is only part of delivering software. Engineers still need to understand its place in the system, verify its behavior, and investigate it when something goes wrong. Research across AI-assisted programming, software comprehension, and operations makes the case for investing in that work. Scryr turns shared understanding into a coded model connected to engineering evidence.
Confidence in generated code can exceed its security.
User study · CCS 2023
Perry and colleagues found that participants using an AI coding assistant produced less secure code on security-related tasks, while being more likely to believe their code was secure.
Perceived speed and measured productivity can diverge.
Randomized controlled trial · METR, 2025
Sixteen experienced open-source developers completed 246 tasks in mature repositories. They estimated AI had made them 20% faster after the study; measured completion time was 19% longer with the early-2025 tools.
System questions span more than one tool result.
Two qualitative studies · FSE 2006
Sillito and colleagues catalogued 44 types of questions programmers asked during software evolution tasks. Developers pieced together isolated tool results to answer broader questions, while tools often failed to preserve the higher-level context of the investigation.
Understanding software means constructing a mental model.
Systematic literature review · 187 articles
Heinonen and colleagues synthesized research on programmers’ mental models of programs, tasks, and concepts. These models guide how programmers work and influence task performance. The review also identifies inconsistent terminology and gaps around modern tools.
Drawings support discussion. Visual layout alone is not enough.
Developer field research · CHI 2007 / experiment · ICSE 2023
Cherubini and colleagues observed developers using drawings to understand, design, and communicate software. A later experiment by Bouraffa and colleagues, involving 20 developers, found no significant overall comprehension improvement from its spatial code canvas.
AI outcomes depend on the engineering system around the tool.
Industry research report · DORA 2025
DORA describes AI as amplifying an organization’s existing strengths and weaknesses. Its conclusion puts attention on the underlying organizational system, rather than treating AI adoption alone as a path to better delivery.
An incident investigation needs symptoms and system evidence.
Engineering practice · Google SRE
Google’s monitoring guidance distinguishes symptoms from causes and emphasizes latency, traffic, errors, and saturation. It also describes using internal measurements to investigate why a system is behaving poorly.
Engineering Foundations
A shared model is more useful when it fits into the way you already build software. Scryr makes the model executable, portable, and reusable beyond a single view.
Typed Python. Separate dependencies.
Describe your system in index.scry using typed Python, imports, and functions. Scryr’s CLI manages its own runtime and dependencies, leaving your application’s virtual environment unchanged.
Project mode uses your declared, locked dependencies in Scryr’s managed environment.
Integrate through JSON Schema
Use JSON model data in your own catalogs, checks, and status tools. Scryr exposes JSON Schema for Manifest, Forge, and Diagram so consumers can validate their structure.
scryr inspect schema --path index.scryThe command returns individual schemas under models. Select the matching schema for your data; your integration supplies the behavior.
Generate types for your application from JSON Schema with these code generators:
- TypeScriptjson-schema-to-typescript ↗
- Goquicktype ↗
- Javaquicktype ↗
- Rusttypify ↗
- Swiftquicktype ↗
- Pythondatamodel-code-generator ↗
- C++quicktype ↗
Build views around your questions
Focus a diagram on a request path, a team’s services, or an incident. Typed queries select components; documentation and external links provide supporting context.
For custom investigations, use the structured model in your own visualization or reporting code. Scryr’s built-in diagrams provide a starting point.
Generate the developer environment
Declare tools, environment variables, and tasks in a Forge. Export to mise, Docker Compose, or a devcontainer to turn the model into a working environment.