Skip to content

[Fase 9] Validar Semantic C3 com dogfooding, documentar e abrir o PR final #69

Closed

Description

@rodri-oliveira-dev

Identificação

Fase: 9 · Semantic C3 e geração multi-container
Branch: phase/09-semantic-c3
Porte: M
Roadmap: #61
Dependência: #68
Responsabilidade especial: última issue e única autorizada a abrir o PR final da Fase 9.

Objetivo

Consolidar a Fase 9 com E2E real, comparação de qualidade C3, documentação PT/EN, validação multi-container e abertura do único PR da fase, obrigatoriamente phase/09-semantic-c3 → main.

Não fazer merge nesta issue.

Dogfooding obrigatório

Usar o repositório dotnet-observability-lab ou fixture/golden derivado dele como caso principal.

Comparar o C3 v1.1.0 genérico com o Semantic C3 novo.

Ingestion.Api

Esperar candidatos semanticamente equivalentes a:

  • HTTP ingestion endpoint;
  • application/idempotent ingestion use case;
  • persistence adapter/transaction boundary;
  • PostgreSQL;
  • Redis quando a relação for sustentada.

Esperar relações internas úteis, por exemplo:

HTTP boundary
  -> application/use case
  -> persistence

application/use case
  -> Redis

Ingestion.Outbox.Worker

Esperar distinção adequada entre:

  • worker/poller;
  • publisher adapter;
  • PostgreSQL;
  • RabbitMQ.

Consolidation.Api

Esperar:

  • HTTP read boundary;
  • query/application component quando sustentado;
  • persistence/read adapter;
  • PostgreSQL.

Consolidation.Worker

Esperar:

  • consumer adapter;
  • application/inbox processing quando sustentado;
  • persistence;
  • RabbitMQ/PostgreSQL;
  • não inventar Redis ativo se não houver evidência runtime suficiente.

Critério de qualidade

Não exigir igualdade textual com o C3 manual.

Exigir:

  • responsabilidades arquiteturais equivalentes;
  • component count bounded;
  • nenhuma classe utilitária irrelevante;
  • nenhuma relação fabricada;
  • review status coerente;
  • provenance navegável;
  • saída significativamente mais informativa que HTTP interface / Integration adapter / Application dependency.

Registrar comparação objetiva em documentação/teste golden.

E2E multi-C3

Executar um único comando equivalente a:

repo2c4 generate \
  --model architecture.c2.json \
  --output generated \
  --c3-container el_ingestion_api \
  --c3-container el_ingestion_outbox_worker \
  --c3-container el_consolidation_api \
  --c3-container el_consolidation_worker \
  --apply

Validar:

  • um único workspace;
  • C1/C2 preservados;
  • quatro C3 no mesmo c3.views.c4;
  • official LikeC4 validation;
  • evidence report;
  • managed regeneration;
  • execução equivalente via MCP;
  • Agent deterministic E2E.

Documentação PT/EN

Atualizar no mínimo:

  • README;
  • CLI;
  • C3/mapping/evidence docs;
  • MCP;
  • Agent;
  • distribution/quickstart quando afetado;
  • limitations/security.

Documentar claramente:

  • classe não é componente automaticamente;
  • como Semantic C3 decide candidates;
  • confirmed vs requiresReview;
  • multi---c3-container;
  • budgets;
  • exemplos single/multi;
  • limitações conhecidas.

Quality gates

Executar/revisar:

  • locked restore;
  • format;
  • build Release;
  • full tests/cobertura;
  • LikeC4 real;
  • CLI offline E2E;
  • MCP protocol E2E;
  • Agent deterministic E2E;
  • distribution smoke quando afetado;
  • CodeQL;
  • Dependency Review;
  • SonarQube Cloud;
  • line endings/worktree clean.

Nenhum gate existente pode ser reduzido.

Regra de branch e PR

PR final

Ao concluir:

  1. atualizar phase/09-semantic-c3 com a main atual;
  2. resolver conflitos sem descartar mudanças humanas;
  3. executar todos os gates;
  4. abrir um único PR para main;
  5. título sugerido: feat: add semantic multi-container C3;
  6. body deve resumir Semantic C3, provenance, multi-container, CLI/MCP/Agent, dogfooding e validação;
  7. adicionar exatamente:
    • Closes #62
    • Closes #63
    • Closes #64
    • Closes #65
    • Closes #66
    • Closes #67
    • Closes #68
    • Closes #69
    • Closes #61;
  8. não habilitar auto-merge;
  9. não publicar release nesta issue.

Fora de escopo

  • release/version bump;
  • runtime tracing;
  • dynamic diagrams automáticos;
  • análise universal de outras linguagens;
  • cloud obrigatório;
  • auto-merge.

Definition of Ready (DoR)

Definition of Done (DoD)

  • Dogfooding demonstra melhora material sobre C3 v1.1.0.
  • Quatro containers podem ser gerados em um único workspace.
  • C1/C2 permanecem compatíveis.
  • Semantic components/relations têm provenance e review status.
  • Nenhuma classe irrelevante é promovida por padrão.
  • Nenhum runtime edge é confirmado só por ProjectReference/nome.
  • CLI/MCP/Agent E2E passam.
  • Managed regeneration multi-C3 passa.
  • Docs PT/EN completas.
  • Quality/security gates verdes.
  • Branch sincronizada com main.
  • Um único PR aberto com todos os Closes.
  • Auto-merge desabilitado.
  • Release não publicada.

Activity

  1. 2 remaining items

  2. rodri-oliveira-dev commented on Oct 3, 2026

    @rodri-oliveira-dev
    OwnerAuthor

    Fase 9 concluída na branch phase/09-semantic-c3 e PR único aberto para main: #70

    Head final: a21c7e9b707242b485cdd2cda19ba389eb2f41f1.

    Dogfooding final:

    • golden derivado do dotnet-observability-lab com Ingestion.Api, Ingestion.Outbox.Worker, Consolidation.Api e Consolidation.Worker;
    • um único workspace com quatro views C3;
    • responsabilidades HTTP/application/persistence, worker/publisher, consumer/application e integrações suportadas;
    • TelemetryNames não é promovido como componente;
    • Redis não é inventado no Consolidation.Worker;
    • provenance/review status emitidos em semantic-c3-evidence-report.md;
    • managed regeneration determinística e LikeC4 oficial validado.

    Validação da branch:

    Checks PR-only do #70:

    main permanece no SHA-base 42e29157da6d98e039b7a027798fab47f5f12666; a branch está behind_by = 0. PR aberto, mergeable, não mergeado, auto_merge = null. Nenhuma release foi publicada.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions