{
  "context": {
    "number": "01",
    "file": "AGENTS.md",
    "title": {
      "en": "Give every agent the same map",
      "pt": "Dê o mesmo mapa a cada agente"
    },
    "text": {
      "en": "Stack, commands, product boundaries, and known traps load before implementation. This is discoverable guidance—not an executable guarantee.",
      "pt": "Stack, comandos, limites do produto e armadilhas conhecidas carregam antes da implementação. É orientação descobrível — não garantia executável."
    },
    "code": "Read AGENTS.md\n→ query .agents/db\n→ load area skill",
    "link": "https://git.marcospaulo.dev.br/netcracker/interview/src/branch/main/AGENTS.md"
  },
  "skills": {
    "number": "02",
    "file": ".agents/skills/",
    "title": {
      "en": "Load only the relevant procedure",
      "pt": "Carregue apenas o procedimento relevante"
    },
    "text": {
      "en": "Frontend, Go API, gate discipline, parallel agents, repo databases, issues, skill writing, and tech debt each have a narrow trigger.",
      "pt": "Frontend, API Go, disciplina de gates, agentes paralelos, bancos do repo, issues, escrita de skills e dívida técnica têm gatilhos estreitos."
    },
    "code": "request + description\n→ matching SKILL.md\n→ focused workflow",
    "link": "https://git.marcospaulo.dev.br/netcracker/interview/src/branch/main/.agents/skills"
  },
  "cli": {
    "number": "03",
    "file": "scripts/check-ui-contract.mjs",
    "title": {
      "en": "Turn measurable policy into a ratchet",
      "pt": "Transforme política mensurável em catraca"
    },
    "text": {
      "en": "The UI checker counts known violations and fails only when a count rises. Existing debt can be reduced, but a new change cannot quietly increase it.",
      "pt": "O checker de UI conta violações conhecidas e falha quando o total sobe. Dívida existente pode cair, mas uma mudança não pode aumentá-la em silêncio."
    },
    "code": "pnpm check:ui\ncurrent ≤ baseline → pass\ncurrent > baseline → fail",
    "link": "https://git.marcospaulo.dev.br/netcracker/interview/src/branch/main/scripts/check-ui-contract.mjs"
  },
  "commit": {
    "number": "04",
    "file": ".husky/pre-commit",
    "title": {
      "en": "Block cheap mistakes at the boundary",
      "pt": "Bloqueie erros baratos na fronteira"
    },
    "text": {
      "en": "Husky runs lint-staged plus the whole-tree UI ratchet. Commitlint separately enforces Conventional Commit messages.",
      "pt": "Husky executa lint-staged mais a catraca de UI da árvore inteira. Commitlint aplica Conventional Commits separadamente."
    },
    "code": "git commit\n├─ lint-staged\n├─ check:ui\n└─ commitlint",
    "link": "https://git.marcospaulo.dev.br/netcracker/interview/src/branch/main/.husky/pre-commit"
  },
  "review": {
    "number": "05",
    "file": ".pr-review.json",
    "title": {
      "en": "Reserve judgment for the PR",
      "pt": "Reserve julgamento para o PR"
    },
    "text": {
      "en": "An AI reviewer checks security, generated-code discipline, test quality, scope, and repository-specific traps. A verifier independently reruns gates before merge.",
      "pt": "Um revisor de IA verifica segurança, código gerado, qualidade dos testes, escopo e armadilhas do repositório. Um verifier roda os gates novamente antes do merge."
    },
    "code": "diff + house rules + prior review\n→ findings + risks\n→ human merge decision",
    "link": "https://git.marcospaulo.dev.br/netcracker/interview/src/branch/main/.pr-review.json"
  }
}
