# Schema — .reversa/context/modules.json

File generated by the Archaeologist. Used by the Detective, Architect, and Writer.

## Complete structure

```json
{
  "generated_at": "2026-04-26T11:00:00Z",
  "modules": [
    {
      "name": "auth",
      "path": "src/modules/auth",
      "purpose": "User authentication and authorization",
      "primary_files": [
        "src/modules/auth/auth.service.ts",
        "src/modules/auth/auth.controller.ts"
      ],
      "functions": [
        {
          "name": "login",
          "file": "src/modules/auth/auth.service.ts",
          "params": ["email: string", "password: string"],
          "returns": "Promise<AuthToken>",
          "confidence": "confirmed"
        }
      ],
      "entities": [
        {
          "name": "User",
          "fields": [
            { "name": "id", "type": "string", "required": true },
            { "name": "email", "type": "string", "required": true },
            { "name": "password_hash", "type": "string", "required": true },
            { "name": "role", "type": "UserRole", "required": true }
          ],
          "confidence": "confirmed"
        }
      ],
      "business_rules": [
        {
          "description": "Password must be at least 8 characters",
          "location": "src/modules/auth/auth.service.ts:45",
          "confidence": "confirmed"
        }
      ],
      "dependencies": ["users", "notifications"],
      "algorithms": [],
      "complexity": "medium"
    }
  ]
}
```

## Confidence levels

| Value | Equivalent | Meaning |
|-------|------------|---------|
| `"confirmed"` | 🟢 | Extracted directly from the code |
| `"inferred"` | 🟡 | Based on patterns |
| `"unknown"` | 🔴 | Cannot be determined |

## Required fields per module

`name`, `path`, `purpose`, `primary_files`

## Note

Save the checkpoint in `.reversa/state.json` after each analyzed module, before starting the next one.
