Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Relatório Técnico — Análise Comparativa de Código (Confidencial) Página 1
RELATÓRIO TÉCNICO
Análise Comparativa de Código para
Identificação de Plágio/Cópia
Route-Planner × roterizacao-shopee
Objeto Determinar se há cópia/plágio de código-fonte entre os dois repositórios
Repositórios Route-Planner (Código A) e roterizacao-shopee (Código B)
Data de emissão 05/06/2026
Classificação Confidencial — uso interno / jurídico
1. Introdução e Objetivo
Ambos os repositórios implementam, no nível de negócio, o mesmo produto: um planejador de rotas para
entregas da Shopee focado na região metropolitana de Goiânia (Goiânia, Aparecida de Goiânia,
Trindade e Senador Canedo / GO). As duas soluções importam a planilha bruta da Shopee, normalizam e
padronizam endereços, geocodificam via HERE, validam contra Google, exibem lotes cadastrais em mapa
e exportam a rota para o Circuit.
Dada essa sobreposição funcional evidente, o objetivo deste relatório é responder, de forma técnica e
objetiva: houve cópia de código-fonte (plágio) entre os dois projetos? A análise cobre (a) autoria e
cronologia via Git, (b) stack tecnológica, (c) lógica e algoritmos, (d) identificadores e segredos distintivos e
(e) ativos de dados.
2. Códigos Avaliados
2.1 Quadro comparativo geral
Característica Código A — Route-Planner Código B — roterizacao-shopee
Autor principal (Git) Danilo Carneiro Neri Lucas Gabriel (lucasbarbosa0k29@gmail.com)
Primeiro commit 25/11/2025 04/02/2026 (~2,5 meses depois)
Backend Python (FastAPI) Next.js / TypeScript (API Routes)
Frontend Vue 3 (Pinia) React (Next.js)
Mapa de lotes maplibre-gl + vector tiles .pbf ArcGIS JS SDK (@arcgis/core) + GeoJSON
Normalização de endereço LLM Gemini (prompts + base de erros) Regex determinístico (urban-normalization)
Validação / confiança LLM Gemini como juiz + RAG Scoring heurístico (geocode-confidence)
Persistência
PostgreSQL (asyncpg) + RAG
logs_treinamento
Prisma (migrations SQL, schema.prisma)
Memória de endereços Base de treinamento RAG (to_tsvector) address-memory-approx (heurística)
Volume aprox. (núcleo) ~4.200 linhas Python ~9.800 linhas TypeScript
2.2 Módulos com paralelo funcional (mesma finalidade, código distinto)
Função Route-Planner roterizacao-shopee
Normalização services/normalizer.py lib/urban-normalization.ts
Relatório Técnico — Análise Comparativa de Código (Confidencial) Página 2
Função Route-Planner roterizacao-shopee
Geocodificação HERE services/geocoder.py lib/here-discover-budget.ts + api/process
Confiança / validação services/processor.py lib/geocode-confidence.ts
Mapa Goiânia/Aparecida components/ArcGisModal.vue components/GoianiaArcgisMap.tsx
Validação Google components/GoogleMapsView.vue components/GoogleValidationMap.tsx
Importação de planilha
views/ColumnMappingView.vue,
ImportJobs.py
app/importar-planilha, lib/job-storage.ts
Histórico views/HistoryView.vue app/historico, lib/history.ts
Relatório Técnico — Análise Comparativa de Código (Confidencial) Página 3
3. Análise Comparativa
3.1 Autoria e cronologia (Git)
• Autores diferentes. O Route-Planner é de Danilo Carneiro Neri; o roterizacao-shopee é, em quase
100% dos commits, de Lucas Gabriel. Há apenas um commit de Danilo no shopee (04/06/2026),
compatível com inspeção/clone — não com co-autoria do código.
• O Route-Planner é anterior (nov/2025 vs fev/2026). Portanto, se houvesse cópia, a direção possível
seria B copiando de A.
3.2 Divergência total de stack e implementação
Não há um único par de arquivos comparável linha a linha: as linguagens são diferentes (Python vs
TypeScript) e os frameworks também (FastAPI/Vue vs Next.js/React). Mais relevante, as abordagens
algorítmicas divergem em todas as camadas:
• Normalização: A delega a um LLM (Gemini) com prompts extensos, base de conhecimento de erros e
detector de condomínio. B faz regex puro com padrões de rua codificada (H/V/RC/CV/AC) e padding
numérico. Paradigmas opostos.
• Validação de geocódigo: A usa o Gemini como auditor binário + RAG sobre logs_treinamento. B
usa pontuação numérica determinística (níveis HIGH/MEDIUM/LOW por faixas 85/70).
• Mapa: A renderiza vector tiles .pbf protegidos por token HMAC no maplibre-gl. B carrega GeoJSON no
SDK oficial ArcGIS. Bibliotecas distintas.
3.3 Regras de domínio coincidentes (convergência, não cópia)
Há coincidências conceituais esperadas por atacarem o mesmo problema regional: padronização de
código de rua para o formato [LETRAS]-[NNN] com 3 dígitos; tratamento de Quadra/Lote; cidades de
Aparecida/Goiânia; fallback de POI/centro de cidade. São regras do cadastro urbano de Goiás e da
operação Shopee — conhecimento de domínio compartilhado, não texto de código compartilhado.
3.4 Identificadores e segredos distintivos — teste decisivo
Busca cruzada por marcas exclusivas do Route-Planner dentro do roterizacao-shopee:
Token exclusivo de A procurado em B Resultado
Projeto Google gen-lang-client-0138267560 NÃO ENCONTRADO
logs_treinamento, correcao_usuario (RAG/SQL) NÃO ENCONTRADO
normalizar_aparecida, BUSCA_TOTAL, isPoiFallback NÃO ENCONTRADO
O único ponto comum é o endpoint público da API HERE (geocode.search.hereapi) e o nome de variável
genérico HERE_API_KEY — uso independente de um serviço de terceiros (B inclusive possui um sistema
de orçamento HERE Discover que A não tem). Nenhuma chave, comentário, string interna ou identificador
idiossincrático é compartilhado.
3.5 Ativos de dados
Ambos usam dados de lotes cadastrais de Goiânia, mas em formatos e esquemas diferentes: A guarda
vector tiles .pbf (source-layer lotes_aparecida, rótulo {sup}); B guarda GeoJSON com propriedades
nm_qdr/nm_lot. A base subjacente é o cadastro público da Prefeitura de Goiânia, do qual cada projeto
extraiu independentemente. Não há arquivo de dados byte-idêntico (formatos incompatíveis).
4. Conclusão e Recomendações
Parecer técnico
Relatório Técnico — Análise Comparativa de Código (Confidencial) Página 4
NÃO há evidência de plágio ou cópia de código-fonte entre os dois repositórios.
A conclusão se sustenta em quatro pilares independentes:
1. Autoria e cronologia distintas (Danilo × Lucas Gabriel; A precede B).
2. Stack e arquitetura completamente diferentes (Python/FastAPI/Vue × Next.js/TS/React).
3. Algoritmos opostos para os mesmos fins (LLM+RAG × regex/heurística determinística).
4. Zero artefatos forenses compartilhados (nenhuma chave, ID de projeto, função peculiar, comentário
ou arquivo de dados em comum).
O que existe é forte sobreposição de produto e domínio: mesma proposta de valor (roteirizador Shopee
para a Grande Goiânia), mesmo conjunto de funcionalidades e mesmos serviços de terceiros (HERE,
Google, Circuit, cadastro de lotes). Isso caracteriza produtos concorrentes/semelhantes reescritos de
forma independente, e NÃO cópia de código.
Ressalva (fora do escopo ‘código’): a semelhança de conceito de produto, fluxo e regras de negócio pode
ter relevância comercial/contratual (segredo de negócio, concorrência, eventual conhecimento prévio do
produto A por quem desenvolveu B). Isso é uma questão jurídica/empresarial, e não de plágio de código-fonte
— que é o que esta análise mede e descarta.
Recomendações
1. Para fins de plágio de código: caso encerrado — as bases são tecnicamente independentes; não há
fundamento para alegar cópia de código.
2. Se a preocupação for competitiva/IP: documentar a anterioridade do Route-Planner (commit inicial
25/11/2025) e o conjunto de regras de negócio próprias, e avaliar com a área jurídica eventual exposição
de know-how — área que foge à perícia de código.
3. Higiene de segurança (achado incidental): o Route-Planner versiona o arquivo de credenciais
gen-lang-client-...json e referencia chaves de API no código. Recomenda-se remover do versionamento,
rotacionar as chaves e migrar para variáveis de ambiente / secret manager.
Documento gerado a partir de análise estática dos repositórios e do histórico Git em 05/06/2026. Cobre exclusivamente a perícia de
código-fonte; não constitui parecer jurídico.

Mais conteúdos dessa disciplina