feat(cases): Reddit Posts Explorer e MinGW GCC Installer com resposta, desafio, implementacao, limites e fontes fixadas em commit

- textos reescritos a partir do codigo e do README dos repositorios publicos (SHA ff76e08 e bab64fc); remove afirmacoes que o codigo nao sustenta (SSG, rate limiting/cache, busca em tempo real, download assincrono, monitoramento)
- public/portfolio-data.json alinhado (descricao, tecnologias, recursos e selos)
- testes: cinco cases detalhados, limite sourced + escopo editorial, guardas contra afirmacoes sem fonte

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
Evandro Fonseca JuniorandClaude Sonnet 5.5 committed 2026-10-05 00:00:42 -03:00
1 parent 2c032b68af
commit 02ecba73f8
5 files changed
+173 -50

No files matched your search

+15 -2
View File
@@ -1,6 +1,12 @@
import { caseStudies, getRelatedServices, servicePages } from "./site-content";
const detailedIds = ["as-servicos", "nutriscan", "twins-lab"] as const;
const detailedIds = [
"as-servicos",
"gcc-installer",
"nutriscan",
"reddit-explorer",
"twins-lab",
] as const;
const immutableGitHubBlobUrl =
/^https:\/\/github\.com\/[^/]+\/[^/]+\/blob\/[0-9a-f]{40}\/.+$/;
@@ -11,7 +17,7 @@ function getDetail(id: (typeof detailedIds)[number]) {
return detail;
}
it("limits detailed content to the three evidenced cases", () => {
it("limits detailed content to the evidenced cases (public repositories pinned to a commit)", () => {
expect(
caseStudies
.filter(({ detail }) => detail !== undefined)
@@ -64,6 +70,13 @@ it("requires sources for factual statements and resolves every source ID", () =>
expect(getDetail("nutriscan").boundaries[0]?.sourceIds).toContain(
"nutri-readme",
);
// reddit-explorer e gcc-installer: o 1º limite vem da documentação do repositório; o 2º é o escopo editorial (sem fonte)
for (const id of ["reddit-explorer", "gcc-installer"] as const) {
const { boundaries } = getDetail(id);
expect(boundaries[0]?.sourceIds.length).toBeGreaterThan(0);
expect(boundaries.slice(1).every(({ sourceIds }) => sourceIds.length === 0)).toBe(true);
}
});
it("derives the exact related service set from the existing relationship", () => {