Paula Silva Software Global Black Belt
LinkedIn
05 architect · Design

Software ArchitectArquiteto de SoftwareArquitecto de Software

CODEMAP and API contracts.CODEMAP e contratos de API.CODEMAP y contratos de API.


The Software Architect is the persona that designs the program skeleton and the API contract. In an AI-native SDLC, the Software Architect operates a stack of validated primitives that produce machine-readable artifacts for humans and agents.

Executive summary

The Software Architect translates approved requirements into a coherent program skeleton, module boundaries, and API contracts that the Developer and QA Engineer can execute without ambiguity. In an AI-native SDLC the Software Architect operates inside the Design phase with a fixed set of primitives: one API contract design agent, four slash prompts, scoped instructions, schema-validated hooks, and a curated list of validated MCPs. Primary outputs are CODEMAP.md, API contract files, design review records, and domain-driven design scans.

Role and responsibilities

Think of the Software Architect like an architect designing a factory floor. They do not operate the machines, but they decide where the machines stand, how material flows between them, and what interface each machine exposes to its neighbor. In an AI-native SDLC CODEMAP.md is the floor plan, API contracts are the interfaces between machines, and the Software Architect is accountable for the fact that today’s flow still works next quarter.

Primary responsibilities:

  • Author and maintain CODEMAP.md as the canonical program skeleton for humans and agents
  • Design and govern API contracts under docs/contracts/ in OpenAPI, AsyncAPI, or GraphQL SDL form
  • Run design reviews with the Enterprise Architect, Technical Lead, and Developer at defined gates
  • Run domain-driven design scans to detect leaky boundaries and aggregate violations
  • Operate the API Contract Designer agent and the /codemap, /contract, /design-review, /ddd-scan prompts
  • Maintain backward compatibility discipline and version contracts explicitly
  • Align designs with the CONSTITUTION.md principles and ADRs from the Enterprise Architect

Jobs to be done

  1. As a Software Architect, I want CODEMAP.md to regenerate on every public API change, so that the skeleton is never stale.
  2. As a Software Architect, I want API contracts to be the source of truth, so that implementation and tests derive from a single document.
  3. As a Software Architect, I want design reviews to be structured and recorded, so that consequences outlive the meeting.
  4. As a Software Architect, I want DDD scans to detect leaky boundaries, so that aggregate violations are caught in design, not production.
  5. As a Software Architect, I want contract changes to block merge on a breaking-change violation, so that consumers are protected by the gate.
  6. As a Software Architect, I want every contract to link to the requirement IDs it satisfies, so that traceability is intact.

Pain points before AI-native

  1. Diagrams over artifacts. Boxes and arrows in a slide deck cannot be consumed by an agent or a test generator. Implementation drifts from the picture.
  2. Contracts authored after the fact. Implementations ship first, contracts are reverse-engineered, and consumers are surprised.
  3. CODEMAP as a README that no one updates. Once stale, agents hallucinate module structure and humans stop reading.
  4. DDD discipline by heart only. Aggregate boundaries are remembered, not enforced. Leaks appear under load.
  5. Breaking changes discovered by consumers. Without a gate, a minor PR breaks partners in production.

AI-native daily workflow

The Software Architect operates a fixed loop each day. The loop uses GitHub Copilot primitives inside Visual Studio Code and Claude Code at the terminal, plus a small catalog of validated MCPs for external context.

Morning setup

  1. Open the repository in Visual Studio Code. GitHub Copilot Chat loads AGENTS.md and the scoped architecture instructions.
  2. Pull the latest main and review overnight design proposals and contract PRs.
  3. Run /codemap to confirm the skeleton is in sync with the current source tree.
  4. Review the DDD scan dashboard generated by the /ddd-scan scheduled GitHub Actions workflow.

Midday execution

  1. Contract authoring. Invoke /contract on each new or changed API surface. The API Contract Designer agent produces an OpenAPI, AsyncAPI, or GraphQL SDL file and links it to the requirement IDs.
  2. CODEMAP maintenance. Invoke /codemap after any structural change. The agent rewrites the module map, public surface list, and data-flow annotations.
  3. Design review. Invoke /design-review on proposals tagged for architectural impact. The agent prepares the agenda from the diff and records decisions against the ADR catalog.
  4. DDD scan. Invoke /ddd-scan on modules that changed boundaries in the last week. The agent uses grep and glob to detect cross-aggregate calls and leaked value objects.

Afternoon review

  1. Run contract compatibility checks in GitHub Actions. Block merge on any breaking change without a linked major-version ADR and a migration note.
  2. Open a pull request on the contract and CODEMAP.md changes. GitHub Copilot Code Review comments on consistency and breaking-change risk.
  3. Publish the daily design digest to the engineering Teams channel via the Microsoft 365 Agents SDK, summarizing new contracts, superseded contracts, and open design debates.
  4. Update the traceability links from contracts to requirement IDs and deployed artifacts via the Azure MCP Server telemetry.

Agent

AgentFilePurpose
api-contract-designer.github/agents/api-contract-designer.agent.mdAuthor CODEMAP.md, API contracts, run design reviews and DDD scans

The API Contract Designer uses claude-sonnet-4-6 by default. Tools: read, edit, search, grep, glob. No bash access in the default mode. Extended thinking is enabled for /ddd-scan only, where cross-module correlation benefits from deeper reasoning.

Slash prompts

CommandFilePurpose
/codemap.github/prompts/codemap.prompt.mdRegenerate CODEMAP.md with module map, public surface, and data flow
/contract.github/prompts/contract.prompt.mdAuthor or revise an API contract linked to requirement IDs
/design-review.github/prompts/design-review.prompt.mdPrepare and record a structured design review
/ddd-scan.github/prompts/ddd-scan.prompt.mdDetect leaky boundaries and aggregate violations

Instructions scoped

Scoped applyTo reduces token cost by approximately 68 percent compared to global instructions.

Scope (applyTo)FilePurpose
CODEMAP.md.github/instructions/codemap.instructions.mdModule map schema, public surface annotation, data-flow syntax
docs/contracts/**/*.yaml,docs/contracts/**/*.graphql.github/instructions/contracts.instructions.mdOpenAPI, AsyncAPI, GraphQL SDL conventions and compatibility rules
docs/design/**/*.md.github/instructions/design.instructions.mdDesign proposal template, review agenda, decision record

Hooks

Hooks cost zero LLM tokens. They are the strongest governance layer for architecture.

  • pre-commit: reject any contract change without a linked requirement ID and a compatibility classification (safe, additive, breaking)
  • post-commit: regenerate CODEMAP.md on any public surface change
  • pre-merge: run the DDD scan and the contract compatibility check; block merge on unresolved findings

Validated MCPs

MCPPurposeOwner
GitHub MCP ServerRead PRs, CodeQL results, and Actions runs relevant to contract changesGitHub (official)
Azure MCP ServerQuery Application Insights to bind contracts to observed production traffic shapesMicrosoft (official)
Microsoft Learn Docs MCPGround contract designs on Azure and Microsoft 365 API reference documentationMicrosoft (official)
Azure DevOps MCP ServerRead architecture work items in Azure Boards when the team uses Azure DevOpsMicrosoft (official)
Microsoft 365 Agents SDK MCPPublish design digests and ingest design-review decisions from TeamsMicrosoft (official)

Real examples

Example 1: new contract for a partner integration

Input: A requirement cluster for a new partner webhook integration, approved by the Requirements Engineer.

Invocation: /contract followed by /design-review.

Expected output:

  1. A docs/contracts/partner-webhook/openapi.yaml with endpoints, schemas, and links to requirement IDs.
  2. A docs/contracts/partner-webhook/asyncapi.yaml if the contract includes event shapes.
  3. A design review record in docs/design/reviews/2026-q3-partner-webhook.md with decisions and a superseded-by link if the new contract replaces an older one.
  4. A pull request with contract compatibility classification additive and Copilot Code Review comments on schema hygiene.

Example 2: DDD scan after a module refactor

Input: A developer refactored the orders module into three submodules.

Invocation: /ddd-scan scoped to src/orders/**.

Expected output:

  1. A scan report in docs/design/scans/2026-06-orders-ddd.md identifying four cross-aggregate calls and two leaked value objects.
  2. Four GitHub issues filed via the GitHub MCP with a remediation plan and an owning engineer.
  3. A CODEMAP.md update that annotates the new submodules and flags the remaining leaks.

Anti-patterns

  1. Contract authored as an afterthought. If implementation lands first, contracts are reverse-engineered. Mitigation: the pre-commit hook blocks implementation PRs whose public surface is not covered in docs/contracts/.
  2. CODEMAP drifts. A stale map breaks agent reasoning. Mitigation: post-commit hook regenerates it on any public surface change.
  3. Silent breaking changes. A field rename shipped as safe breaks consumers. Mitigation: contract linter enforces compatibility classification and diff shape.
  4. DDD by memory. Aggregate boundaries forgotten under deadline pressure leak into persistence. Mitigation: scheduled /ddd-scan runs and the pre-merge hook.
  5. Design reviews without records. Decisions evaporate, relitigated next quarter. Mitigation: /design-review binds every decision to an ADR entry.

KPIs and impact metrics

KPIBaselineTargetMeasurement
CODEMAP freshness, drift detection4 weeks< 24 hoursPost-commit hook output
Contracts with linked requirement IDs35 percent100 percentContract linter in GitHub Actions
Breaking changes flagged before merge55 percent100 percentPre-merge hook output
DDD scan findings remediated within SLA40 percent> 90 percentIssue closure audit
Design review cycle time2 weeks< 5 daysGitHub PR timestamps
Contract versioning discipline50 percent100 percentVersioned file rename audit

Maturity in four levels

LevelNameMarkers
L1ManualDiagrams in slides, contracts in wikis, CODEMAP absent
L2AssistedCopilot used to polish diagrams and prose, contracts reverse-engineered
L3AugmentedAPI Contract Designer agent, four slash prompts, scoped instructions, GitHub and Azure MCPs, CODEMAP auto-regenerated
L4AutonomousFull primitives kit, hooks enforced, DDD scans scheduled, design digests automated, compatibility gates across all contracts

Integration with other personas

  • From Enterprise Architect: CONSTITUTION.md principles and ADRs that constrain contract design
  • From Requirements Engineer: atomic requirement IDs that anchor contract clauses
  • To Technical Lead: CODEMAP.md and contracts as the baseline for team primitives and scoped instructions
  • To Developer: API contracts as the source for IMPLEMENTATION_PLAN.md and the tests derived from them
  • To QA Engineer: contracts as direct source for contract tests and schema fuzzing
  • To Platform Architect: contract surface that platform services must support
  • To Tech Writer: contracts as the source for developer documentation and changelog entries

Glossary

  • CODEMAP: generated document that describes the program skeleton for humans and agents, kept current by hooks.
  • API contract: machine-readable description of an interface in OpenAPI, AsyncAPI, or GraphQL SDL form.
  • Compatibility classification: label applied to every contract change as safe, additive, or breaking.
  • Design review: structured, recorded session that approves or defers design proposals with named participants.
  • DDD scan: automated sweep that detects cross-aggregate calls and leaked value objects.
  • Aggregate: a cluster of domain objects with a single root and transactional boundary, per domain-driven design.

References

O Software Architect é a persona que desenha o esqueleto do programa e o contrato de API. Em um SDLC AI-native, o Software Architect opera uma pilha de primitivas validadas que produz artefatos legíveis por máquina para humanos e agentes.

Resumo executivo

O Software Architect traduz requisitos aprovados em um esqueleto coerente de programa, fronteiras de módulo e contratos de API que o Developer e o QA Engineer podem executar sem ambiguidade. Em um SDLC AI-native, o Software Architect opera dentro da fase de Design com um conjunto fixo de primitivas: um agente de design de contrato de API, quatro slash prompts, instruções escopadas, hooks validados por schema e uma lista curada de MCPs validados. As saídas primárias são CODEMAP.md, arquivos de contrato de API, registros de design review e scans de domain-driven design.

Papel e responsabilidades

Pense no Software Architect como um arquiteto desenhando o chão de fábrica. Eles não operam as máquinas, mas decidem onde as máquinas ficam, como o material flui entre elas e qual interface cada máquina expõe à sua vizinha. Em um SDLC AI-native, o CODEMAP.md é a planta baixa, os contratos de API são as interfaces entre máquinas, e o Software Architect é responsável pelo fato de que o fluxo de hoje continua funcionando no próximo trimestre.

Responsabilidades primárias:

  • Escrever e manter o CODEMAP.md como o esqueleto canônico do programa para humanos e agentes
  • Desenhar e governar contratos de API sob docs/contracts/ em formato OpenAPI, AsyncAPI ou GraphQL SDL
  • Rodar design reviews com o Enterprise Architect, Technical Lead e Developer em gates definidos
  • Rodar scans de domain-driven design para detectar fronteiras vazadas e violações de agregado
  • Operar o agente API Contract Designer e os prompts /codemap, /contract, /design-review, /ddd-scan
  • Manter disciplina de compatibilidade retroativa e versionar contratos explicitamente
  • Alinhar designs com os princípios do CONSTITUTION.md e ADRs do Enterprise Architect

Jobs to be done

  1. Como Software Architect, eu quero que o CODEMAP.md se regenere a cada mudança de API pública, para que o esqueleto nunca fique defasado.
  2. Como Software Architect, eu quero que contratos de API sejam a fonte da verdade, para que implementação e testes derivem de um único documento.
  3. Como Software Architect, eu quero que design reviews sejam estruturadas e registradas, para que consequências sobrevivam à reunião.
  4. Como Software Architect, eu quero que DDD scans detectem fronteiras vazadas, para que violações de agregado sejam pegas no design, não em produção.
  5. Como Software Architect, eu quero que mudanças de contrato bloqueiem o merge em uma violação de breaking change, para que consumidores sejam protegidos pelo gate.
  6. Como Software Architect, eu quero que todo contrato aponte para os IDs de requisito que satisfaz, para que a rastreabilidade esteja intacta.

Dores antes da era AI-native

  1. Diagramas no lugar de artefatos. Caixas e setas em um deck de slides não podem ser consumidas por um agente ou gerador de testes. A implementação deriva do desenho.
  2. Contratos escritos após o fato. Implementações embarcam primeiro, contratos são reversamente engenheirados, e consumidores são surpreendidos.
  3. CODEMAP como um README que ninguém atualiza. Uma vez defasado, agentes alucinam estrutura de módulo e humanos param de ler.
  4. Disciplina de DDD apenas de cabeça. Fronteiras de agregado são lembradas, não enforçadas. Vazamentos aparecem sob carga.
  5. Breaking changes descobertas por consumidores. Sem um gate, um PR menor quebra parceiros em produção.

Fluxo diário AI-native

O Software Architect opera um loop fixo todo dia. O loop usa primitivas do GitHub Copilot dentro do Visual Studio Code e Claude Code no terminal, além de um pequeno catálogo de MCPs validados para contexto externo.

Setup da manhã

  1. Abra o repositório no Visual Studio Code. GitHub Copilot Chat carrega o AGENTS.md e as instruções escopadas de arquitetura.
  2. Puxe o último main e revise propostas noturnas de design e PRs de contrato.
  3. Rode /codemap para confirmar que o esqueleto está em sincronia com a árvore atual do código fonte.
  4. Revise o dashboard de DDD scan gerado pelo workflow agendado do GitHub Actions do /ddd-scan.

Execução no meio do dia

  1. Escrita de contrato. Invoque /contract em cada nova ou alterada superfície de API. O agente API Contract Designer produz um arquivo OpenAPI, AsyncAPI ou GraphQL SDL e o vincula aos IDs de requisito.
  2. Manutenção do CODEMAP. Invoque /codemap após qualquer mudança estrutural. O agente reescreve o mapa de módulos, a lista de superfície pública e as anotações de fluxo de dados.
  3. Design review. Invoque /design-review em propostas taggeadas com impacto arquitetural. O agente prepara a pauta a partir do diff e registra decisões contra o catálogo de ADR.
  4. DDD scan. Invoque /ddd-scan em módulos que tiveram fronteiras alteradas na última semana. O agente usa grep e glob para detectar chamadas entre agregados e value objects vazados.

Revisão no fim da tarde

  1. Rode as verificações de compatibilidade de contrato no GitHub Actions. Bloqueie o merge em qualquer breaking change sem um ADR de major-version vinculado e uma nota de migração.
  2. Abra um pull request com as mudanças em contratos e CODEMAP.md. GitHub Copilot Code Review comenta sobre consistência e risco de breaking change.
  3. Publique o digest diário de design no canal do Teams da engenharia via Microsoft 365 Agents SDK, resumindo novos contratos, contratos superados e debates de design abertos.
  4. Atualize os links de rastreabilidade de contratos para IDs de requisito e artefatos implantados via a telemetria do Azure MCP Server.

Primitivas recomendadas

Agente

AgenteArquivoPropósito
api-contract-designer.github/agents/api-contract-designer.agent.mdEscrever CODEMAP.md, contratos de API, rodar design reviews e DDD scans

O API Contract Designer usa claude-sonnet-4-6 por padrão. Ferramentas: read, edit, search, grep, glob. Sem acesso a bash no modo default. Extended thinking é habilitado apenas para /ddd-scan, onde a correlação entre módulos se beneficia de raciocínio mais profundo.

Slash prompts

ComandoArquivoPropósito
/codemap.github/prompts/codemap.prompt.mdRegenerar o CODEMAP.md com mapa de módulos, superfície pública e fluxo de dados
/contract.github/prompts/contract.prompt.mdEscrever ou revisar um contrato de API vinculado a IDs de requisito
/design-review.github/prompts/design-review.prompt.mdPreparar e registrar um design review estruturado
/ddd-scan.github/prompts/ddd-scan.prompt.mdDetectar fronteiras vazadas e violações de agregado

Instruções escopadas

applyTo com escopo reduz o custo em tokens em aproximadamente 68 por cento comparado a instruções globais.

Escopo (applyTo)ArquivoPropósito
CODEMAP.md.github/instructions/codemap.instructions.mdSchema do mapa de módulos, anotação de superfície pública, sintaxe de fluxo de dados
docs/contracts/**/*.yaml,docs/contracts/**/*.graphql.github/instructions/contracts.instructions.mdConvenções OpenAPI, AsyncAPI, GraphQL SDL e regras de compatibilidade
docs/design/**/*.md.github/instructions/design.instructions.mdTemplate de proposta de design, pauta de review, registro de decisão

Hooks

Hooks custam zero tokens de LLM. São a camada de governança mais forte para arquitetura.

  • pre-commit: rejeitar qualquer mudança de contrato sem um ID de requisito vinculado e uma classificação de compatibilidade (safe, additive, breaking)
  • post-commit: regenerar o CODEMAP.md em qualquer mudança de superfície pública
  • pre-merge: rodar o DDD scan e a verificação de compatibilidade de contrato; bloquear o merge em achados não resolvidos

MCPs validados

MCPPropósitoDono
GitHub MCP ServerLer PRs, resultados do CodeQL e runs do Actions relevantes a mudanças de contratoGitHub (oficial)
Azure MCP ServerConsultar Application Insights para vincular contratos a formas de tráfego observadas em produçãoMicrosoft (oficial)
Microsoft Learn Docs MCPAncorar designs de contrato na documentação de referência de API do Azure e Microsoft 365Microsoft (oficial)
Azure DevOps MCP ServerLer work items de arquitetura no Azure Boards quando o time usa Azure DevOpsMicrosoft (oficial)
Microsoft 365 Agents SDK MCPPublicar digests de design e ingerir decisões de design review do TeamsMicrosoft (oficial)

Exemplos reais

Exemplo 1: novo contrato para uma integração com parceiro

Entrada: Um cluster de requisitos para uma nova integração de webhook com parceiro, aprovado pelo Requirements Engineer.

Invocação: /contract seguido de /design-review.

Saída esperada:

  1. Um docs/contracts/partner-webhook/openapi.yaml com endpoints, schemas e links para IDs de requisito.
  2. Um docs/contracts/partner-webhook/asyncapi.yaml se o contrato incluir formas de evento.
  3. Um registro de design review em docs/design/reviews/2026-q3-partner-webhook.md com decisões e um link de superado-por se o novo contrato substituir um mais antigo.
  4. Um pull request com classificação de compatibilidade de contrato additive e comentários do Copilot Code Review sobre higiene de schema.

Exemplo 2: DDD scan após uma refatoração de módulo

Entrada: Um developer refatorou o módulo orders em três submódulos.

Invocação: /ddd-scan com escopo em src/orders/**.

Saída esperada:

  1. Um relatório de scan em docs/design/scans/2026-06-orders-ddd.md identificando quatro chamadas entre agregados e dois value objects vazados.
  2. Quatro issues do GitHub registradas via o GitHub MCP com plano de remediação e um engenheiro dono.
  3. Uma atualização do CODEMAP.md que anota os novos submódulos e sinaliza os vazamentos remanescentes.

Anti-padrões

  1. Contrato escrito como apêndice. Se a implementação aterrissa primeiro, contratos são reversamente engenheirados. Mitigação: o hook de pre-commit bloqueia PRs de implementação cuja superfície pública não esteja coberta em docs/contracts/.
  2. CODEMAP deriva. Um mapa defasado quebra o raciocínio do agente. Mitigação: o hook de post-commit o regenera em qualquer mudança de superfície pública.
  3. Breaking changes silenciosas. Um rename de campo enviado como safe quebra consumidores. Mitigação: o linter de contrato enforça a classificação de compatibilidade e a forma do diff.
  4. DDD de memória. Fronteiras de agregado esquecidas sob pressão de deadline vazam para persistência. Mitigação: execuções agendadas do /ddd-scan e o hook de pre-merge.
  5. Design reviews sem registros. Decisões evaporam, relitigadas no próximo trimestre. Mitigação: /design-review vincula toda decisão a uma entrada de ADR.

KPIs e métricas de impacto

KPILinha baseMetaMedição
Frescor do CODEMAP, detecção de drift4 semanas< 24 horasSaída do hook de post-commit
Contratos com IDs de requisito vinculados35 por cento100 por centoLinter de contrato no GitHub Actions
Breaking changes sinalizadas antes do merge55 por cento100 por centoSaída do hook de pre-merge
Achados de DDD scan remediados no SLA40 por cento> 90 por centoAuditoria de fechamento de issue
Tempo de ciclo de design review2 semanas< 5 diasTimestamps de PR no GitHub
Disciplina de versionamento de contrato50 por cento100 por centoAuditoria de rename de arquivo versionado

Maturidade em quatro níveis

NívelNomeMarcadores
L1ManualDiagramas em slides, contratos em wikis, CODEMAP ausente
L2AssistidoCopilot usado para polir diagramas e prosa, contratos reversamente engenheirados
L3AumentadoAgente API Contract Designer, quatro slash prompts, instruções escopadas, GitHub e Azure MCPs, CODEMAP auto-regenerado
L4AutônomoKit completo de primitivas, hooks enforçados, DDD scans agendados, digests de design automatizados, gates de compatibilidade em todos os contratos

Integração com outras personas

  • Do Enterprise Architect: princípios do CONSTITUTION.md e ADRs que restringem o design de contrato
  • Do Requirements Engineer: IDs de requisito atômicos que ancoram cláusulas de contrato
  • Para o Technical Lead: CODEMAP.md e contratos como linha base para primitivas de time e instruções escopadas
  • Para o Developer: contratos de API como fonte para o IMPLEMENTATION_PLAN.md e os testes derivados deles
  • Para o QA Engineer: contratos como fonte direta para contract tests e fuzzing de schema
  • Para o Platform Architect: superfície de contrato que serviços de plataforma devem suportar
  • Para o Tech Writer: contratos como fonte para documentação de desenvolvedor e entradas de changelog

Glossário

  • CODEMAP: documento gerado que descreve o esqueleto do programa para humanos e agentes, mantido atualizado por hooks.
  • Contrato de API: descrição legível por máquina de uma interface em forma OpenAPI, AsyncAPI ou GraphQL SDL.
  • Classificação de compatibilidade: rótulo aplicado a toda mudança de contrato como safe, additive ou breaking.
  • Design review: sessão estruturada e registrada que aprova ou adia propostas de design com participantes nomeados.
  • DDD scan: varredura automatizada que detecta chamadas entre agregados e value objects vazados.
  • Agregado: um cluster de objetos de domínio com uma única raiz e fronteira transacional, conforme domain-driven design.

Referências

El Software Architect es la persona que diseña el esqueleto del programa y el contrato de API. En un SDLC AI-native, el Software Architect opera un stack de primitivas validadas que producen artefactos legibles por máquina para humanos y agentes.

Resumen ejecutivo

El Software Architect traduce los requisitos aprobados en un esqueleto de programa coherente, fronteras de módulo y contratos de API que el Developer y el QA Engineer pueden ejecutar sin ambigüedad. En un SDLC AI-native, el Software Architect opera dentro de la fase de Design con un conjunto fijo de primitivas: un agente de diseño de contrato de API, cuatro slash prompts, instrucciones con alcance, hooks validados por esquema y una lista curada de MCPs validados. Las salidas principales son CODEMAP.md, archivos de contrato de API, registros de design review y escaneos de domain-driven design.

Rol y responsabilidades

Piensa en el Software Architect como un arquitecto que diseña el piso de una fábrica. No operan las máquinas, pero deciden dónde se paran, cómo fluye el material entre ellas y qué interfaz expone cada máquina a su vecina. En un SDLC AI-native, CODEMAP.md es el plano de planta, los contratos de API son las interfaces entre máquinas, y el Software Architect es responsable de que el flujo de hoy siga funcionando el próximo trimestre.

Responsabilidades principales:

  • Redactar y mantener CODEMAP.md como el esqueleto de programa canónico para humanos y agentes
  • Diseñar y gobernar los contratos de API bajo docs/contracts/ en forma de OpenAPI, AsyncAPI o GraphQL SDL
  • Correr design reviews con el Enterprise Architect, el Technical Lead y el Developer en compuertas definidas
  • Correr escaneos de domain-driven design para detectar fronteras con fugas y violaciones de agregados
  • Operar el agente API Contract Designer y los prompts /codemap, /contract, /design-review, /ddd-scan
  • Mantener disciplina de retrocompatibilidad y versionar los contratos de forma explícita
  • Alinear los diseños con los principios de CONSTITUTION.md y los ADRs del Enterprise Architect

Jobs to be done

  1. Como Software Architect, quiero que CODEMAP.md se regenere en cada cambio de API pública, para que el esqueleto nunca quede obsoleto.
  2. Como Software Architect, quiero que los contratos de API sean la fuente de verdad, para que la implementación y las pruebas se deriven de un solo documento.
  3. Como Software Architect, quiero que las design reviews sean estructuradas y registradas, para que las consecuencias sobrevivan a la reunión.
  4. Como Software Architect, quiero que los DDD scans detecten fronteras con fugas, para que las violaciones de agregado se detecten en diseño, no en producción.
  5. Como Software Architect, quiero que los cambios de contrato bloqueen el merge ante una violación de breaking change, para que los consumidores estén protegidos por la compuerta.
  6. Como Software Architect, quiero que cada contrato enlace a los IDs de requisito que satisface, para que la trazabilidad permanezca intacta.

Puntos de dolor antes de la era AI-native

  1. Diagramas sobre artefactos. Cajas y flechas en un mazo de diapositivas no pueden ser consumidas por un agente o un generador de pruebas. La implementación deriva de la imagen.
  2. Contratos escritos a posteriori. Las implementaciones envían primero, los contratos se aplican por ingeniería inversa, y los consumidores se sorprenden.
  3. CODEMAP como un README que nadie actualiza. Una vez obsoleto, los agentes alucinan la estructura de módulos y los humanos dejan de leerlo.
  4. Disciplina DDD solo de memoria. Las fronteras de agregado se recuerdan, no se imponen. Las fugas aparecen bajo carga.
  5. Breaking changes descubiertos por consumidores. Sin una compuerta, un PR menor rompe a partners en producción.

Flujo diario AI-native

El Software Architect opera un loop fijo cada día. El loop usa primitivas de GitHub Copilot dentro de Visual Studio Code y Claude Code en la terminal, además de un pequeño catálogo de MCPs validados para contexto externo.

Setup de la mañana

  1. Abrir el repositorio en Visual Studio Code. GitHub Copilot Chat carga AGENTS.md y las instrucciones de arquitectura con alcance.
  2. Hacer pull del último main y revisar las propuestas de diseño nocturnas y los PRs de contrato.
  3. Ejecutar /codemap para confirmar que el esqueleto esté en sincronía con el árbol de fuente actual.
  4. Revisar el dashboard de DDD scan generado por el workflow programado de GitHub Actions de /ddd-scan.

Ejecución al mediodía

  1. Autoría de contrato. Invocar /contract sobre cada superficie de API nueva o modificada. El agente API Contract Designer produce un archivo de OpenAPI, AsyncAPI o GraphQL SDL y lo enlaza a los IDs de requisito.
  2. Mantenimiento de CODEMAP. Invocar /codemap después de cualquier cambio estructural. El agente reescribe el mapa de módulos, la lista de superficie pública y las anotaciones de flujo de datos.
  3. Design review. Invocar /design-review sobre las propuestas etiquetadas con impacto arquitectónico. El agente prepara la agenda a partir del diff y registra decisiones contra el catálogo de ADR.
  4. DDD scan. Invocar /ddd-scan sobre los módulos que cambiaron fronteras en la última semana. El agente usa grep y glob para detectar llamadas entre agregados y value objects con fuga.

Revisión al final de la tarde

  1. Correr chequeos de compatibilidad de contrato en GitHub Actions. Bloquear el merge en cualquier breaking change sin un ADR de versión mayor enlazado y una nota de migración.
  2. Abrir un pull request sobre los cambios de contrato y CODEMAP.md. GitHub Copilot Code Review comenta sobre consistencia y riesgo de breaking change.
  3. Publicar el digest diario de diseño al canal de ingeniería en Teams a través del Microsoft 365 Agents SDK, resumiendo nuevos contratos, contratos superseded y debates de diseño abiertos.
  4. Actualizar los enlaces de trazabilidad desde contratos hacia IDs de requisito y artefactos desplegados vía la telemetría del Azure MCP Server.

Primitivas recomendadas

Agente

AgenteArchivoPropósito
api-contract-designer.github/agents/api-contract-designer.agent.mdRedactar CODEMAP.md, contratos de API, correr design reviews y DDD scans

El API Contract Designer usa claude-sonnet-4-6 por defecto. Herramientas: read, edit, search, grep, glob. Sin acceso a bash en el modo por defecto. El extended thinking se habilita solo para /ddd-scan, donde la correlación entre módulos se beneficia de un razonamiento más profundo.

Slash prompts

ComandoArchivoPropósito
/codemap.github/prompts/codemap.prompt.mdRegenerar CODEMAP.md con mapa de módulos, superficie pública y flujo de datos
/contract.github/prompts/contract.prompt.mdRedactar o revisar un contrato de API enlazado a IDs de requisito
/design-review.github/prompts/design-review.prompt.mdPreparar y registrar un design review estructurado
/ddd-scan.github/prompts/ddd-scan.prompt.mdDetectar fronteras con fugas y violaciones de agregado

Instrucciones con alcance

El applyTo con alcance reduce el costo en tokens en aproximadamente 68 por ciento comparado con instrucciones globales.

Alcance (applyTo)ArchivoPropósito
CODEMAP.md.github/instructions/codemap.instructions.mdEsquema del mapa de módulos, anotación de superficie pública, sintaxis de flujo de datos
docs/contracts/**/*.yaml,docs/contracts/**/*.graphql.github/instructions/contracts.instructions.mdConvenciones de OpenAPI, AsyncAPI, GraphQL SDL y reglas de compatibilidad
docs/design/**/*.md.github/instructions/design.instructions.mdPlantilla de propuesta de diseño, agenda de revisión, registro de decisión

Hooks

Los hooks cuestan cero tokens de LLM. Son la capa de gobierno más fuerte para la arquitectura.

  • pre-commit: rechazar cualquier cambio de contrato sin un ID de requisito enlazado y una clasificación de compatibilidad (safe, additive, breaking)
  • post-commit: regenerar CODEMAP.md en cualquier cambio de superficie pública
  • pre-merge: correr el DDD scan y el chequeo de compatibilidad de contrato; bloquear el merge en hallazgos sin resolver

MCPs validados

MCPPropósitoDueño
GitHub MCP ServerLeer PRs, resultados de CodeQL y corridas de Actions relevantes a cambios de contratoGitHub (oficial)
Azure MCP ServerConsultar Application Insights para amarrar contratos a las formas de tráfico observadas en producciónMicrosoft (oficial)
Microsoft Learn Docs MCPAnclar diseños de contrato en la documentación de referencia de APIs de Azure y Microsoft 365Microsoft (oficial)
Azure DevOps MCP ServerLeer work items de arquitectura en Azure Boards cuando el equipo usa Azure DevOpsMicrosoft (oficial)
Microsoft 365 Agents SDK MCPPublicar digests de diseño e ingerir decisiones de design review desde TeamsMicrosoft (oficial)

Ejemplos reales

Ejemplo 1: nuevo contrato para una integración con partner

Entrada: Un cluster de requisitos para una nueva integración de webhook con partner, aprobado por el Requirements Engineer.

Invocación: /contract seguido de /design-review.

Salida esperada:

  1. Un docs/contracts/partner-webhook/openapi.yaml con endpoints, esquemas y enlaces a IDs de requisito.
  2. Un docs/contracts/partner-webhook/asyncapi.yaml si el contrato incluye formas de evento.
  3. Un registro de design review en docs/design/reviews/2026-q3-partner-webhook.md con decisiones y un enlace de superseded-by si el nuevo contrato reemplaza uno más antiguo.
  4. Un pull request con clasificación de compatibilidad de contrato additive y comentarios de Copilot Code Review sobre higiene de esquema.

Ejemplo 2: DDD scan tras una refactorización de módulo

Entrada: Un developer refactorizó el módulo orders en tres submódulos.

Invocación: /ddd-scan con alcance src/orders/**.

Salida esperada:

  1. Un reporte de escaneo en docs/design/scans/2026-06-orders-ddd.md que identifica cuatro llamadas entre agregados y dos value objects con fuga.
  2. Cuatro GitHub issues presentados vía el MCP de GitHub con un plan de remediación y un ingeniero dueño.
  3. Una actualización de CODEMAP.md que anota los nuevos submódulos y marca las fugas restantes.

Anti-patrones

  1. Contrato redactado como ocurrencia tardía. Si la implementación llega primero, los contratos se construyen por ingeniería inversa. Mitigación: el hook pre-commit bloquea PRs de implementación cuya superficie pública no esté cubierta en docs/contracts/.
  2. CODEMAP que deriva. Un mapa obsoleto rompe el razonamiento del agente. Mitigación: el hook post-commit lo regenera en cualquier cambio de superficie pública.
  3. Breaking changes silenciosos. Un rename de campo enviado como safe rompe consumidores. Mitigación: el linter de contrato impone la clasificación de compatibilidad y la forma del diff.
  4. DDD de memoria. Las fronteras de agregado olvidadas bajo presión de fecha límite tienen fugas hacia la persistencia. Mitigación: corridas programadas de /ddd-scan y el hook pre-merge.
  5. Design reviews sin registros. Las decisiones se evaporan, se relitigan el siguiente trimestre. Mitigación: /design-review amarra cada decisión a una entrada en el ADR.

KPIs y métricas de impacto

KPILínea baseMetaMedición
Frescura de CODEMAP, detección de drift4 semanas< 24 horasSalida del hook post-commit
Contratos con IDs de requisito enlazados35 por ciento100 por cientoLinter de contrato en GitHub Actions
Breaking changes marcados antes del merge55 por ciento100 por cientoSalida del hook pre-merge
Hallazgos de DDD scan remediados dentro del SLA40 por ciento> 90 por cientoAuditoría de cierre de issues
Tiempo de ciclo de design review2 semanas< 5 díasTimestamps de PR de GitHub
Disciplina de versionado de contrato50 por ciento100 por cientoAuditoría de rename de archivos versionados

Madurez en cuatro niveles

NivelNombreMarcadores
L1ManualDiagramas en diapositivas, contratos en wikis, CODEMAP ausente
L2AsistidoCopilot usado para pulir diagramas y prosa, contratos por ingeniería inversa
L3AumentadoAgente API Contract Designer, cuatro slash prompts, instrucciones con alcance, MCPs de GitHub y Azure, CODEMAP auto-regenerado
L4AutónomoKit completo de primitivas, hooks forzados, DDD scans programados, digests de diseño automatizados, compuertas de compatibilidad sobre todos los contratos

Integración con otras personas

  • Desde Enterprise Architect: principios de CONSTITUTION.md y ADRs que restringen el diseño de contrato
  • Desde Requirements Engineer: IDs de requisito atómicos que anclan las cláusulas del contrato
  • Hacia Technical Lead: CODEMAP.md y contratos como línea base para las primitivas de equipo y las instrucciones con alcance
  • Hacia Developer: contratos de API como fuente para IMPLEMENTATION_PLAN.md y las pruebas derivadas de ellos
  • Hacia QA Engineer: contratos como fuente directa para pruebas de contrato y fuzzing de esquema
  • Hacia Platform Architect: superficie de contrato que los servicios de plataforma deben soportar
  • Hacia Tech Writer: contratos como fuente para la documentación de developers y entradas de changelog

Glosario

  • CODEMAP: documento generado que describe el esqueleto de programa para humanos y agentes, mantenido vigente por hooks.
  • Contrato de API: descripción legible por máquina de una interfaz en forma de OpenAPI, AsyncAPI o GraphQL SDL.
  • Clasificación de compatibilidad: etiqueta aplicada a cada cambio de contrato como safe, additive o breaking.
  • Design review: sesión estructurada y registrada que aprueba o difiere propuestas de diseño con participantes nombrados.
  • DDD scan: barrida automatizada que detecta llamadas entre agregados y value objects con fuga.
  • Agregado: un cluster de objetos de dominio con una raíz única y frontera transaccional, según domain-driven design.

Referencias

Paula Silva | Software Global Black Belt

Start with the platform, not the agents. Comece pela plataforma, não pelos agentes. Comience por la plataforma, no por los agentes.

Building the future of software development with AI and Agentic DevOps.

Knowledge Hub · v3.4.0 · 2026-06-17
paulasilva · 2026-06-17 EN · PT-BR · ES