Repository navigation
Description
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 \
--applyValidar:
- 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
- usar exclusivamente a branch já existente
phase/09-semantic-c3; - não criar branch adicional;
- nenhuma issue [Fase 9] Definir contratos e baseline do Semantic C3 #62–[Fase 9] Expor Semantic C3 multi-container via MCP e Agent #68 pode abrir PR;
- esta [Fase 9] Validar Semantic C3 com dogfooding, documentar e abrir o PR final #69 é a única autorizada a abrir o PR final da Fase 9 para
main.
PR final
Ao concluir:
- atualizar
phase/09-semantic-c3com amainatual; - resolver conflitos sem descartar mudanças humanas;
- executar todos os gates;
- abrir um único PR para
main; - título sugerido:
feat: add semantic multi-container C3; - body deve resumir Semantic C3, provenance, multi-container, CLI/MCP/Agent, dogfooding e validação;
- adicionar exatamente:
Closes #62Closes #63Closes #64Closes #65Closes #66Closes #67Closes #68Closes #69Closes #61;
- não habilitar auto-merge;
- 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)
- [Fase 9] Definir contratos e baseline do Semantic C3 #62–[Fase 9] Expor Semantic C3 multi-container via MCP e Agent #68 concluídas na mesma branch.
- Semantic C3 + multi-C3 disponíveis em Core/CLI/MCP/Agent.
- Nenhum blocker conhecido sem issue própria.
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
feat: connect semantic C3 to persisted inspection snapshots (#69)
feat: emit semantic C3 through CLI and MCP workflows (#69)
fix: materialize semantic C3 merge collections (#69)
style: format canonical MCP model binding (#69)
feat: propose consumer application processors semantically (#69)
test: add ingestion semantic C3 dogfood sources (#69)
test: add outbox and consolidation dogfood sources (#69)
test: complete semantic C3 dogfood fixture (#69)
test: add semantic C3 dogfood model builder (#69)
test: validate semantic C3 against observability dogfood golden (#69)
fix: compare reviewed snapshots on stable public surface (#69)
test: add four-container semantic C3 CLI smoke (#69)
test: dogfood semantic C3 through real MCP inspection (#69)
test: use valid integration IDs in semantic C3 dogfood (#69)
test: assert canonical semantic C3 selection order (#69)
2 remaining items
docs: align README and CLI with semantic C3 (#69)
docs: document semantic C3 MCP boundary (#69)
docs: align Agent and distribution with semantic C3 (#69)
docs: connect semantic C3 mapping and provenance (#69)
docs: add Portuguese mapping and evidence guides (#69)
fix: normalize primary-constructor base invocations (#69)
fix: extract primary-constructor dependencies for semantic C3 (#69)
fix: support bounded multiline primary constructors (#69)
fix: preserve legacy snapshot surface without semantic facts (#69)
test: honor cancellation in legacy snapshot regression (#69)
fix: parse primary constructors with bounded header scan (#69)
fix: reuse bounded parenthesis matcher for type headers (#69)
fix: relax bounded regex timeout under CI contention (#69)
rodri-oliveira-dev commentedon Oct 3, 2026
Fase 9 concluída na branch
phase/09-semantic-c3e PR único aberto paramain: #70Head final:
a21c7e9b707242b485cdd2cda19ba389eb2f41f1.Dogfooding final:
dotnet-observability-labcom Ingestion.Api, Ingestion.Outbox.Worker, Consolidation.Api e Consolidation.Worker;TelemetryNamesnão é promovido como componente;semantic-c3-evidence-report.md;Validação da branch:
Checks PR-only do #70:
mainpermanece no SHA-base42e29157da6d98e039b7a027798fab47f5f12666; a branch estábehind_by = 0. PR aberto, mergeable, não mergeado,auto_merge = null. Nenhuma release foi publicada.