3669 lines
126 KiB
JSON
3669 lines
126 KiB
JSON
[
|
|
{
|
|
"path": ".dockerignore",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "DevOps",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "05e792a87ca350e1cc48174dda1ea1126ee13a5f8fe9d549d2b033382071e7a9",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of .dockerignore; byteCount=68, lineCount=8.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": ".env.example",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "997fd4cabe96dd692f1dde691a3ea157e86d97c577dfa7198690a91169278bad",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed JWT_SECRET, DATABASE_URL, REDIS_HOST, REDIS_PORT, and application port variable names in .env.example; the template contains no secret values but does not enforce runtime JWT secret validation.",
|
|
"verifiedFindingIds": [
|
|
"SEC-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": ".gitignore",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "eb13e93639d4c770f0a28ba670e9f4a922bc20ff1e734bdbe916740b0ae13d74",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of .gitignore; byteCount=81, lineCount=9.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "BACKEND_INTEGRATION.md",
|
|
"classification": "FIRST_PARTY_DOCUMENTATION",
|
|
"auditDomain": "Documentation",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "158eb879fee9577edfe4b5c995515b3cdd355afbe8c2da032ef94806342acda7",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of BACKEND_INTEGRATION.md; byteCount=15976, lineCount=407.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "DATABASE_SCHEMA.md",
|
|
"classification": "FIRST_PARTY_DOCUMENTATION",
|
|
"auditDomain": "Documentation",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "3ed816173486b37243d1ed66b0d8aeaa4ecb1dd286fbc76d3afeace639eb5292",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of DATABASE_SCHEMA.md; byteCount=15731, lineCount=319.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "Dockerfile",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "b8a66b84a1ddbdfe82ee72e99cd157b8e017daf43b57f28c2942f2d2603896ff",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of Dockerfile; byteCount=334, lineCount=15.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "README.md",
|
|
"classification": "FIRST_PARTY_DOCUMENTATION",
|
|
"auditDomain": "Documentation",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "0da2647eea50431bef6d86fc1dd848d152b7be83efd118bd974f3b96e854479f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of README.md; byteCount=13231, lineCount=134.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/.dockerignore",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "DevOps",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "af2b4e4ac92bbf09917306ecd5889749f9767550f60caa067a722a2f3832506c",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/.dockerignore; byteCount=59, lineCount=7.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/.prettierrc",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "30d23aaa5811720602dec802795cbc172c65bc56eb8c683fc5b12c10dcb05563",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/.prettierrc; byteCount=56, lineCount=5.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/Dockerfile",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "1dde4bb4a1064657518fb9d48bd7fbb4d97dd635e70198285b750b93648eaf01",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/Dockerfile; byteCount=903, lineCount=41.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/README.md",
|
|
"classification": "FIRST_PARTY_DOCUMENTATION",
|
|
"auditDomain": "Documentation",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "5e87b28bd419d1c83f2f44de2e150d0260da361547fc53d60016d0b64153101d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/README.md; byteCount=5126, lineCount=99.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/eslint.config.mjs",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Code Quality",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "e94fea27c5d744a435cba627eb7097993c14a66a21f478c3729781bcdf4c8fba",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/eslint.config.mjs; byteCount=934, lineCount=36.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/nest-cli.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "84dc81177a0db2270bd71242b910f07982c56eec68285694c9cbffc3911912ba",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"$schema",
|
|
"collection",
|
|
"sourceRoot",
|
|
"compilerOptions",
|
|
"deleteOutDir"
|
|
],
|
|
"symbolsReviewed": [
|
|
"$schema",
|
|
"collection",
|
|
"sourceRoot",
|
|
"compilerOptions",
|
|
"deleteOutDir"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/nest-cli.json; byteCount=179, lineCount=9.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/package.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "8b14580b286dc09e3f0865efced27d9bcf7b5aa1eae6e7c57a27d0432c95270b",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"name",
|
|
"version",
|
|
"description",
|
|
"author",
|
|
"private",
|
|
"license",
|
|
"scripts",
|
|
"build",
|
|
"format",
|
|
"start",
|
|
"startdev:",
|
|
"startdebug:",
|
|
"startprod:",
|
|
"lint",
|
|
"test"
|
|
],
|
|
"symbolsReviewed": [
|
|
"name",
|
|
"version",
|
|
"description",
|
|
"author",
|
|
"private",
|
|
"license",
|
|
"scripts",
|
|
"build",
|
|
"format",
|
|
"start",
|
|
"startdev:",
|
|
"startdebug:",
|
|
"startprod:",
|
|
"lint",
|
|
"test"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/package.json; concrete elements analyzed: name, version, description, author, private.",
|
|
"verifiedFindingIds": [
|
|
"DEVOPS-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/prisma/migrations/20260526145407_init/migration.sql",
|
|
"classification": "MIGRATION",
|
|
"auditDomain": "Database",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "aa8b760653d23b2c2ad189f2fd472965ff5832338dac68ed935da2712e58ff6e",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/prisma/migrations/20260526145407_init/migration.sql; byteCount=9223, lineCount=261.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/prisma/migrations/20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
|
|
"classification": "MIGRATION",
|
|
"auditDomain": "Database",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "8a6e5902dfa6a8c87180c567b522a6e6fe23ba7aaed1247051eda19dbc5b2561",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/prisma/migrations/20260526160916_add_ui_texts_and_scientific_terms/migration.sql; byteCount=421, lineCount=18.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/prisma/migrations/migration_lock.toml",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "74a9137885ce73d3ff088d79d658f8066e05e680fb51c0800a290c91c0c01d48",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of backend/prisma/migrations/migration_lock.toml; byteCount=128, lineCount=3.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/prisma/schema.prisma",
|
|
"classification": "MIGRATION",
|
|
"auditDomain": "Database",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_NO_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "a92c30cab66c0ca46b4b922d25e2c931f02a88a9e161699952d8ae245b1b4ae1",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"@default",
|
|
"@map",
|
|
"@relation",
|
|
"@index",
|
|
"@id",
|
|
"@unique"
|
|
],
|
|
"symbolsReviewed": [
|
|
"@default",
|
|
"@map",
|
|
"@relation",
|
|
"@index",
|
|
"@id",
|
|
"@unique"
|
|
],
|
|
"fileSpecificObservation": "Reviewed Prisma schema models and field attributes; User model explicitly defines mobile String? @unique column, rejecting DB-001 as a false positive.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [
|
|
"DB-001"
|
|
],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/prisma/seed.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "160ea6723dab5f10d735fe399c1a2aa1640f61513523f7067091b47fe045de75",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed backend/prisma/seed.ts; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"TS-002"
|
|
],
|
|
"compilerDiagnosticIds": [
|
|
"DIAG-001"
|
|
],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/app.controller.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "43750c632fc7f5997ddd690d4c3989443ab29ebd8866ee1fec6f3885834f8054",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AppController",
|
|
"root",
|
|
"should return "
|
|
],
|
|
"symbolsReviewed": [
|
|
"AppController",
|
|
"root",
|
|
"should return "
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/app.controller.spec.ts; byteCount=639, lineCount=23.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/app.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "3469c5aa62e1ba5b183d9bb9d40193e91aa761fc5734d332650b0bd49c346266",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AppController",
|
|
"@Controller",
|
|
"@Get"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AppController",
|
|
"@Controller",
|
|
"@Get"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/app.controller.ts; byteCount=286, lineCount=13.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/app.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "51c23094ed88846ef86f7d8e101e8863c4225de61aee9ac01372f36a16e5b876",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AppModule",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AppModule",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/app.module.ts; byteCount=1399, lineCount=48.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/app.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "5d4242d50092a353e5ab1f06663a89dbc714c7d9d70072ea03c83c5b14750f05",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AppService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AppService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/app.service.ts; byteCount=150, lineCount=9.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/auth/auth.controller.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "92c30cdac367bb8c17424dbeab672ded0c6f301d31fc81b8589379bbfbc1f71a",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AuthController",
|
|
"should be defined",
|
|
"should call sendOtp on service",
|
|
"should call verifyOtp on service"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AuthController",
|
|
"should be defined",
|
|
"should call sendOtp on service",
|
|
"should call verifyOtp on service"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/auth/auth.controller.spec.ts; byteCount=1564, lineCount=48.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/auth/auth.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "dc26a41ecfcfdf7ee9fd6ed8dd03e30c2fe6024f92351295a56eb46e48e578fb",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AuthController",
|
|
"@ApiTags",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Post",
|
|
"@HttpCode",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@ApiBadRequestResponse",
|
|
"@Body"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AuthController",
|
|
"@ApiTags",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Post",
|
|
"@HttpCode",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@ApiBadRequestResponse",
|
|
"@Body"
|
|
],
|
|
"fileSpecificObservation": "Reviewed AuthController endpoints; sendOtp returns plain text verification code in JSON payload and relies on SMS OTP authentication disconnected from frontend login forms.",
|
|
"verifiedFindingIds": [
|
|
"ARCH-001",
|
|
"SEC-003",
|
|
"DOC-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/auth/auth.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "e1ccf4f9a5b1de18210d49bb65868c36dcfd6a216d4c2c9e4d9e2dd490d571a1",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AuthModule",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AuthModule",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/auth/auth.module.ts; concrete elements analyzed: AuthModule, @Module.",
|
|
"verifiedFindingIds": [
|
|
"SEC-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/auth/auth.service.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "177b09fdfe0f747ee1ae7df98c86fa4b644aaf8c66b33f89e0328e534fa67e01",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AuthService",
|
|
"should be defined",
|
|
"sendOtp",
|
|
"should generate a 5 digit OTP and save it in Redis",
|
|
"verifyOtp",
|
|
"should throw BadRequestException if OTP is expired/not found",
|
|
"should throw BadRequestException if OTP is incorrect",
|
|
"should delete OTP, find or create user and sign JWT",
|
|
"should create new user if user does not exist"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AuthService",
|
|
"should be defined",
|
|
"sendOtp",
|
|
"should generate a 5 digit OTP and save it in Redis",
|
|
"verifyOtp",
|
|
"should throw BadRequestException if OTP is expired/not found",
|
|
"should throw BadRequestException if OTP is incorrect",
|
|
"should delete OTP, find or create user and sign JWT",
|
|
"should create new user if user does not exist"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/auth/auth.service.spec.ts; byteCount=3765, lineCount=110.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/auth/auth.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "b72a2c20bbc1c0f8b4e2223c0b161747cdd8b1214fb8fe1e8a3a78223fe42bab",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AuthService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AuthService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Reviewed AuthService.sendOtp: OTP is generated with Math.random(), stored through RedisService.set with configured TTL, and returned in plain text in the service response object. This directly supports SEC-002 and SEC-003.",
|
|
"verifiedFindingIds": [
|
|
"ARCH-001",
|
|
"SEC-002",
|
|
"SEC-003"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/auth/dto/send-otp.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "df509a1e3c9fc8846ce920192a43cf38ef76db7953d07d187d477bdfe44ec157",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"SendOtpDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@Matches"
|
|
],
|
|
"symbolsReviewed": [
|
|
"SendOtpDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@Matches"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/auth/dto/send-otp.dto.ts; concrete elements analyzed: SendOtpDto, @ApiProperty, @IsNotEmpty, @IsString, @Matches.",
|
|
"verifiedFindingIds": [
|
|
"SEC-002",
|
|
"SEC-003"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/auth/dto/verify-otp.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "4115fc64ad8a38f2c5ae933af99a611aacd02b0a8b4e2859f5d2804126850acd",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"VerifyOtpDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@Matches",
|
|
"@Length"
|
|
],
|
|
"symbolsReviewed": [
|
|
"VerifyOtpDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@Matches",
|
|
"@Length"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/auth/dto/verify-otp.dto.ts; concrete elements analyzed: VerifyOtpDto, @ApiProperty, @IsNotEmpty, @IsString, @Matches.",
|
|
"verifiedFindingIds": [
|
|
"SEC-002"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/auth/jwt-auth.guard.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "e654c3250653cb79863bc5d2ed6d89e3ab5e04f3b4945bab04fafedbaea04509",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"JwtAuthGuard",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"JwtAuthGuard",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/auth/jwt-auth.guard.ts; concrete elements analyzed: JwtAuthGuard, @Injectable.",
|
|
"verifiedFindingIds": [
|
|
"ADM-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/auth/jwt.strategy.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "2fd8214610a59f1bb4fdb517946e8c1d2402b6dc88a1bd62b22719734cf969ed",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"JwtStrategy",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"JwtStrategy",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Reviewed JwtStrategy constructor; secretOrKey uses hardcoded fallback string super-secret-key-canina when JWT_SECRET env var is omitted, directly supporting SEC-001.",
|
|
"verifiedFindingIds": [
|
|
"SEC-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/common/filters/http-exception.filter.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "ef8428b791bc2f4b6c1e1110f910b1cfd5d1728db572423e7859cebc1dc5559d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"HttpExceptionFilter",
|
|
"@Catch"
|
|
],
|
|
"symbolsReviewed": [
|
|
"HttpExceptionFilter",
|
|
"@Catch"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/common/filters/http-exception.filter.ts; byteCount=833, lineCount=20.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/common/metrics.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "3ed5cb3298ef3030c097703556b68fe5c4ce0a406f7f6a43b51e883a6ae3a51c",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"MetricsController",
|
|
"@ApiExcludeController",
|
|
"@Controller",
|
|
"@Get",
|
|
"@Res"
|
|
],
|
|
"symbolsReviewed": [
|
|
"MetricsController",
|
|
"@ApiExcludeController",
|
|
"@Controller",
|
|
"@Get",
|
|
"@Res"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/common/metrics.controller.ts; concrete elements analyzed: MetricsController, @ApiExcludeController, @Controller, @Get, @Res.",
|
|
"verifiedFindingIds": [
|
|
"TS-003"
|
|
],
|
|
"compilerDiagnosticIds": [
|
|
"DIAG-002"
|
|
],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/main.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "6f6f86698f76639b26ad9a38fd6f572fe884f270cd70adf69342e4f99906a43f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed backend/src/main.ts; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"SEC-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/orders/dto/create-order.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "82a19cb52f0a2346fc906f46e5b05564e54b287f1b0e12da0f3e12221671c5d7",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"CreateOrderDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@IsNumber",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsArray",
|
|
"@ValidateNested",
|
|
"@Type"
|
|
],
|
|
"symbolsReviewed": [
|
|
"CreateOrderDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@IsNumber",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsArray",
|
|
"@ValidateNested",
|
|
"@Type"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/orders/dto/create-order.dto.ts; byteCount=822, lineCount=29.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/orders/orders.controller.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "a8990002863f2f6bfd99af91e9c6f4a67e9457fbef9caf2a07e7af2c9fce3b85",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"OrdersController",
|
|
"should be defined",
|
|
"should create order",
|
|
"should list orders of user",
|
|
"should find one order"
|
|
],
|
|
"symbolsReviewed": [
|
|
"OrdersController",
|
|
"should be defined",
|
|
"should create order",
|
|
"should list orders of user",
|
|
"should find one order"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/orders/orders.controller.spec.ts; byteCount=1961, lineCount=57.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/orders/orders.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "dc251b61af61a8c6e80aba15dbbbe27d5940e78081c369536c721ddde569a09d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"OrdersController",
|
|
"@ApiTags",
|
|
"@ApiBearerAuth",
|
|
"@UseGuards",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Post",
|
|
"@ApiOperation",
|
|
"@ApiCreatedResponse",
|
|
"@ApiBadRequestResponse",
|
|
"@Req",
|
|
"@Body",
|
|
"@Get",
|
|
"@ApiOkResponse",
|
|
"@ApiNotFoundResponse",
|
|
"@Param"
|
|
],
|
|
"symbolsReviewed": [
|
|
"OrdersController",
|
|
"@ApiTags",
|
|
"@ApiBearerAuth",
|
|
"@UseGuards",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Post",
|
|
"@ApiOperation",
|
|
"@ApiCreatedResponse",
|
|
"@ApiBadRequestResponse",
|
|
"@Req",
|
|
"@Body",
|
|
"@Get",
|
|
"@ApiOkResponse",
|
|
"@ApiNotFoundResponse",
|
|
"@Param"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/orders/orders.controller.ts; byteCount=4001, lineCount=122.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/orders/orders.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "e36df12f5dc4cc036872c3b98f01c4060d24f526c399d6c7ec193ee7220bcba3",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"OrdersModule",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"OrdersModule",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/orders/orders.module.ts; byteCount=264, lineCount=10.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/orders/orders.service.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "8fb10c94adc23816814ce5d8b92c08c898a6c8eadea36ee932f91b7bd79bc9a4",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"OrdersService",
|
|
"should be defined",
|
|
"create",
|
|
"should throw NotFoundException if product does not exist",
|
|
"should throw BadRequestException if items are empty",
|
|
"should successfully create order and sum amounts",
|
|
"findAllByUser",
|
|
"should find all orders of a user",
|
|
"findOne",
|
|
"should throw NotFoundException if order does not exist",
|
|
"should return order if found"
|
|
],
|
|
"symbolsReviewed": [
|
|
"OrdersService",
|
|
"should be defined",
|
|
"create",
|
|
"should throw NotFoundException if product does not exist",
|
|
"should throw BadRequestException if items are empty",
|
|
"should successfully create order and sum amounts",
|
|
"findAllByUser",
|
|
"should find all orders of a user",
|
|
"findOne",
|
|
"should throw NotFoundException if order does not exist",
|
|
"should return order if found"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/orders/orders.service.spec.ts; byteCount=3470, lineCount=104.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/orders/orders.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "50a9f0ef8b15214a9e6422ba514b9c0e81ffcbdb170210870f75cc6013d83d66",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"OrdersService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"OrdersService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Reviewed OrdersService.create method; accumulates totalAmount using primitive Number conversion and loops findUnique database queries, directly supporting BE-001 and BE-002.",
|
|
"verifiedFindingIds": [
|
|
"BE-001",
|
|
"BE-002"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/pets/dto/create-pet.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "842a23c6ce7d596dcac91a0a5849422b584a7eacdcc12d28faa70f600973c976",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"CreatePetDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsNumber",
|
|
"@IsDateString",
|
|
"@IsBoolean"
|
|
],
|
|
"symbolsReviewed": [
|
|
"CreatePetDto",
|
|
"@ApiProperty",
|
|
"@IsNotEmpty",
|
|
"@IsString",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsNumber",
|
|
"@IsDateString",
|
|
"@IsBoolean"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/pets/dto/create-pet.dto.ts; byteCount=1277, lineCount=45.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/pets/dto/update-pet.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9215ef8d3ba4d104629e18ece5e38d8b22d5b12fa8d7b032b885923a2d00c42f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UpdatePetDto"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UpdatePetDto"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/pets/dto/update-pet.dto.ts; byteCount=160, lineCount=5.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/pets/pets.controller.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "3bc537a47fa3bb87b9cc1916a849013b9fd94905b89b4155fe95cad5ca09b7cb",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"PetsController",
|
|
"should be defined",
|
|
"should create pet",
|
|
"should findAll pets",
|
|
"should findOne pet",
|
|
"should update pet",
|
|
"should remove pet"
|
|
],
|
|
"symbolsReviewed": [
|
|
"PetsController",
|
|
"should be defined",
|
|
"should create pet",
|
|
"should findAll pets",
|
|
"should findOne pet",
|
|
"should update pet",
|
|
"should remove pet"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/pets/pets.controller.spec.ts; concrete elements analyzed: PetsController, should be defined, should create pet, should findAll pets, should findOne pet.",
|
|
"verifiedFindingIds": [
|
|
"TEST-001"
|
|
],
|
|
"compilerDiagnosticIds": [
|
|
"DIAG-003"
|
|
],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/pets/pets.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "f89faaeb9ead2a83b5f802577cabb39a107833429852bfeead3d06e1cc2777a8",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"PetsController",
|
|
"@ApiTags",
|
|
"@ApiBearerAuth",
|
|
"@UseGuards",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Post",
|
|
"@ApiOperation",
|
|
"@ApiCreatedResponse",
|
|
"@ApiBadRequestResponse",
|
|
"@Req",
|
|
"@Body",
|
|
"@Get",
|
|
"@ApiOkResponse",
|
|
"@ApiNotFoundResponse",
|
|
"@Param"
|
|
],
|
|
"symbolsReviewed": [
|
|
"PetsController",
|
|
"@ApiTags",
|
|
"@ApiBearerAuth",
|
|
"@UseGuards",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Post",
|
|
"@ApiOperation",
|
|
"@ApiCreatedResponse",
|
|
"@ApiBadRequestResponse",
|
|
"@Req",
|
|
"@Body",
|
|
"@Get",
|
|
"@ApiOkResponse",
|
|
"@ApiNotFoundResponse",
|
|
"@Param"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/pets/pets.controller.ts; byteCount=5567, lineCount=180.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/pets/pets.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "32c9118ec8ee3f83bbaebea3247ad10e6c0b257dd0ec4ae80de8fbe135cdb9e5",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"PetsModule",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"PetsModule",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/pets/pets.module.ts; byteCount=250, lineCount=10.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/pets/pets.service.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9b927330f92c4791b59152601254d48f0aa0b9d92e4f1786775cf699fd278dfe",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"PetsService",
|
|
"should be defined",
|
|
"should create pet",
|
|
"should find all pets by user",
|
|
"findOne",
|
|
"should throw NotFoundException if pet not found",
|
|
"should return pet if found",
|
|
"should update pet",
|
|
"should remove pet"
|
|
],
|
|
"symbolsReviewed": [
|
|
"PetsService",
|
|
"should be defined",
|
|
"should create pet",
|
|
"should find all pets by user",
|
|
"findOne",
|
|
"should throw NotFoundException if pet not found",
|
|
"should return pet if found",
|
|
"should update pet",
|
|
"should remove pet"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/pets/pets.service.spec.ts; byteCount=3042, lineCount=94.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/pets/pets.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "00af95136a389248d667c4e981dbb5a12c43425054007e7b3a7ebc074d2ea07f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"PetsService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"PetsService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/pets/pets.service.ts; byteCount=1745, lineCount=62.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/prisma/prisma.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "14d19dcd7848e4d134cd9eaa205818d5e0302123a5fc5ea2440d358a39f2fd25",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"PrismaModule",
|
|
"@Global",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"PrismaModule",
|
|
"@Global",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/prisma/prisma.module.ts; byteCount=219, lineCount=10.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/prisma/prisma.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "58334e95599a754096851809483901a14e85a9e4d190655f74be6171ce1388b7",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"PrismaService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"PrismaService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/prisma/prisma.service.ts; byteCount=363, lineCount=14.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/products/dto/get-products.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "39c1ee94138e1d5c0f6aaeadfbc653a2f200a64825a0d868db937f40abb14d89",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"GetProductsDto",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsString",
|
|
"@IsEnum"
|
|
],
|
|
"symbolsReviewed": [
|
|
"GetProductsDto",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsString",
|
|
"@IsEnum"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/products/dto/get-products.dto.ts; byteCount=574, lineCount=20.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/products/products.controller.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "058f4dd9afddc070fe22d5de3ab70e85fef19fdcb9c92d2cc73a90ddc3fa493b",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ProductsController",
|
|
"should be defined",
|
|
"should list products",
|
|
"findOne",
|
|
"should throw NotFoundException if product not found",
|
|
"should return product details if found"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ProductsController",
|
|
"should be defined",
|
|
"should list products",
|
|
"findOne",
|
|
"should throw NotFoundException if product not found",
|
|
"should return product details if found"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/products/products.controller.spec.ts; byteCount=1905, lineCount=57.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/products/products.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "2f5f9f97e5cfc3a4679b237e373781832ba243a9a622f64c9d5ddc6ad16b744e",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ProductsController",
|
|
"@ApiTags",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Get",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@Query",
|
|
"@ApiNotFoundResponse",
|
|
"@Param"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ProductsController",
|
|
"@ApiTags",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@Get",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@Query",
|
|
"@ApiNotFoundResponse",
|
|
"@Param"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/products/products.controller.ts; byteCount=4161, lineCount=106.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/products/products.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "01e51354c6922d10d7fab9dd79973901219d8a8ce06aaa5ff14cae5241796f41",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ProductsModule",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ProductsModule",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/products/products.module.ts; byteCount=278, lineCount=10.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/products/products.service.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "316e5eadae7ab595acf34b1621353a17fdc0ed0de0a5afb546e689604f949189",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ProductsService",
|
|
"should be defined",
|
|
"findAll",
|
|
"should query products with correct filters",
|
|
"findOne",
|
|
"should find product by id"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ProductsService",
|
|
"should be defined",
|
|
"findAll",
|
|
"should query products with correct filters",
|
|
"findOne",
|
|
"should find product by id"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/products/products.service.spec.ts; byteCount=2190, lineCount=76.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/products/products.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "3bb43f3f8b22a8bd18fcfccf18bef45591d9564ad8e01276638c892ceea1f023",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ProductsService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ProductsService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/products/products.service.ts; byteCount=1180, lineCount=50.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/redis/redis.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "d2ad5482ca33266c13666b8d6249d90dcd62527e472cb12d98c4e3ebae8fcac8",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"RedisModule",
|
|
"@Global",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"RedisModule",
|
|
"@Global",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/redis/redis.module.ts; byteCount=214, lineCount=10.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/redis/redis.service.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "c6782b6b177f0d73aba0501d86634f12ba1f6ddcbdb995aaf0e70a34f194e583",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"RedisService",
|
|
"should be defined",
|
|
"should call set with or without ttl",
|
|
"should call get",
|
|
"should call del"
|
|
],
|
|
"symbolsReviewed": [
|
|
"RedisService",
|
|
"should be defined",
|
|
"should call set with or without ttl",
|
|
"should call get",
|
|
"should call del"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/redis/redis.service.spec.ts; byteCount=1581, lineCount=57.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/redis/redis.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "a8f03151af8caa570f0c6ad62e726aea257012e811bad80405826c3aafac8bb7",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"RedisService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"RedisService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/redis/redis.service.ts; concrete elements analyzed: RedisService, @Injectable.",
|
|
"verifiedFindingIds": [
|
|
"SEC-002"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/settings/settings.controller.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "2e7ddf051244941e3c6be2486a6279f8a1bfddf59876c4dea4d0a0915eb40fc4",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"SettingsController",
|
|
"should be defined",
|
|
"should getUiTexts",
|
|
"should updateUiText",
|
|
"should getScientificTerms",
|
|
"should upsertScientificTerm",
|
|
"should deleteScientificTerm"
|
|
],
|
|
"symbolsReviewed": [
|
|
"SettingsController",
|
|
"should be defined",
|
|
"should getUiTexts",
|
|
"should updateUiText",
|
|
"should getScientificTerms",
|
|
"should upsertScientificTerm",
|
|
"should deleteScientificTerm"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/settings/settings.controller.spec.ts; concrete elements analyzed: SettingsController, should be defined, should getUiTexts, should updateUiText, should getScientificTerms.",
|
|
"verifiedFindingIds": [
|
|
"TEST-001"
|
|
],
|
|
"compilerDiagnosticIds": [
|
|
"DIAG-004"
|
|
],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/settings/settings.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "9847018dda0c55aabc2299bef26b069a1962853d6dc4133d425c32dd05dd386d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"SettingsController",
|
|
"@ApiTags",
|
|
"@Controller",
|
|
"@Get",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@UseGuards",
|
|
"@ApiBearerAuth",
|
|
"@Patch",
|
|
"@ApiUnauthorizedResponse",
|
|
"@Param",
|
|
"@Body",
|
|
"@Put",
|
|
"@Delete"
|
|
],
|
|
"symbolsReviewed": [
|
|
"SettingsController",
|
|
"@ApiTags",
|
|
"@Controller",
|
|
"@Get",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@UseGuards",
|
|
"@ApiBearerAuth",
|
|
"@Patch",
|
|
"@ApiUnauthorizedResponse",
|
|
"@Param",
|
|
"@Body",
|
|
"@Put",
|
|
"@Delete"
|
|
],
|
|
"fileSpecificObservation": "Reviewed SettingsController endpoints; UI text and scientific term mutation routes apply JwtAuthGuard without RolesGuard or Admin role check, directly supporting ADM-001.",
|
|
"verifiedFindingIds": [
|
|
"ADM-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/settings/settings.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "07af4ac2bbc8ae7ffb62ae1850c91df2672afbe5e58da93388b9aba0d691eae9",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"SettingsModule",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"SettingsModule",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/settings/settings.module.ts; byteCount=394, lineCount=13.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/settings/settings.service.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "b5b8cdc91d26a561b7493885265e1d75a8c86f79cb0778e0f602b9d83c54b55d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"SettingsService",
|
|
"should be defined",
|
|
"should getUiTexts",
|
|
"should updateUiText",
|
|
"should getScientificTerms",
|
|
"should upsertScientificTerm",
|
|
"should deleteScientificTerm"
|
|
],
|
|
"symbolsReviewed": [
|
|
"SettingsService",
|
|
"should be defined",
|
|
"should getUiTexts",
|
|
"should updateUiText",
|
|
"should getScientificTerms",
|
|
"should upsertScientificTerm",
|
|
"should deleteScientificTerm"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/settings/settings.service.spec.ts; byteCount=2814, lineCount=87.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/settings/settings.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "278619cac4d4ae3b85a8b3075840a5265ac2732f40e4c3161e9dd16a818761b5",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"SettingsService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"SettingsService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/settings/settings.service.ts; byteCount=1115, lineCount=47.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/users/dto/address.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "caaf6a055df72439795c85eba8e9a78fedf0e70b4f593d4b337aaae8440af6da",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AddressDto",
|
|
"@ApiProperty",
|
|
"@IsString",
|
|
"@IsNotEmpty",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsBoolean"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AddressDto",
|
|
"@ApiProperty",
|
|
"@IsString",
|
|
"@IsNotEmpty",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsBoolean"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/users/dto/address.dto.ts; byteCount=1142, lineCount=45.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/users/dto/update-profile.dto.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "2a4d80862f02cfa37a3f9f8d9d9d1191c2fe611e1eea6f21cc954a77f7add959",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UpdateProfileDto",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsString",
|
|
"@IsEmail"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UpdateProfileDto",
|
|
"@ApiPropertyOptional",
|
|
"@IsOptional",
|
|
"@IsString",
|
|
"@IsEmail"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/users/dto/update-profile.dto.ts; byteCount=714, lineCount=25.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/users/users.controller.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "6b9bb6e51fc866950d36e0b8d5cdd8e2ed546b7cb20351be008161534aa83748",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UsersController",
|
|
"should be defined",
|
|
"should getProfile",
|
|
"should updateProfile",
|
|
"should addAddress",
|
|
"should updateAddress",
|
|
"should deleteAddress",
|
|
"should setDefaultAddress"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UsersController",
|
|
"should be defined",
|
|
"should getProfile",
|
|
"should updateProfile",
|
|
"should addAddress",
|
|
"should updateAddress",
|
|
"should deleteAddress",
|
|
"should setDefaultAddress"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/users/users.controller.spec.ts; concrete elements analyzed: UsersController, should be defined, should getProfile, should updateProfile, should addAddress.",
|
|
"verifiedFindingIds": [
|
|
"TEST-001"
|
|
],
|
|
"compilerDiagnosticIds": [
|
|
"DIAG-005",
|
|
"DIAG-006"
|
|
],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/users/users.controller.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "d5a6cc93a94e871c4485ef084e277bc3476740c65502a764f90a575fac3a30f6",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UsersController",
|
|
"@ApiTags",
|
|
"@ApiBearerAuth",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@UseGuards",
|
|
"@Get",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@Req",
|
|
"@Patch",
|
|
"@ApiBadRequestResponse",
|
|
"@Body",
|
|
"@Post",
|
|
"@ApiCreatedResponse",
|
|
"@Param"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UsersController",
|
|
"@ApiTags",
|
|
"@ApiBearerAuth",
|
|
"@Controller",
|
|
"@ApiResponse",
|
|
"@UseGuards",
|
|
"@Get",
|
|
"@ApiOperation",
|
|
"@ApiOkResponse",
|
|
"@Req",
|
|
"@Patch",
|
|
"@ApiBadRequestResponse",
|
|
"@Body",
|
|
"@Post",
|
|
"@ApiCreatedResponse",
|
|
"@Param"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/users/users.controller.ts; concrete elements analyzed: UsersController, @ApiTags, @ApiBearerAuth, @Controller, @ApiResponse.",
|
|
"verifiedFindingIds": [
|
|
"TEST-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/src/users/users.module.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "e99dd0daf64179291ef9b1ffc969574be6920ae813c789845209632463c92f42",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UsersModule",
|
|
"@Module"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UsersModule",
|
|
"@Module"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/users/users.module.ts; byteCount=285, lineCount=11.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/users/users.service.spec.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9bde2dd4fdfbb0f3864baee7782d1cf5429f2fa371e07a336d0cf5b6a225cbd7",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UsersService",
|
|
"should be defined",
|
|
"should call prisma findUnique in findById",
|
|
"should call prisma update in update",
|
|
"should addAddress",
|
|
"should updateAddress",
|
|
"should deleteAddress",
|
|
"should setDefaultAddress"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UsersService",
|
|
"should be defined",
|
|
"should call prisma findUnique in findById",
|
|
"should call prisma update in update",
|
|
"should addAddress",
|
|
"should updateAddress",
|
|
"should deleteAddress",
|
|
"should setDefaultAddress"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/src/users/users.service.spec.ts; byteCount=3496, lineCount=102.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/src/users/users.service.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_NO_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "1532d70fd00b84469c6805836806f4fa1bce05a3399813f101c92371387cf967",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UsersService",
|
|
"@Injectable"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UsersService",
|
|
"@Injectable"
|
|
],
|
|
"fileSpecificObservation": "Reviewed backend/src/users/users.service.ts; concrete elements analyzed: UsersService, @Injectable.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "backend/test/app.e2e-spec.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "191eb3068fadbce18c31e6ffa02ed6ed0cfd133573f23ef361d9ea413539f7e1",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"AppController (e2e)",
|
|
"/ (GET)"
|
|
],
|
|
"symbolsReviewed": [
|
|
"AppController (e2e)",
|
|
"/ (GET)"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/test/app.e2e-spec.ts; byteCount=754, lineCount=30.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/test/jest-e2e.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "e5964a7412493afd594979b94374dd8e5fd87e96d23a514163bdb72198fda0ba",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"moduleFileExtensions",
|
|
"rootDir",
|
|
"testEnvironment",
|
|
"testRegex",
|
|
"transform",
|
|
"^.+\\\\.(t|j)s$"
|
|
],
|
|
"symbolsReviewed": [
|
|
"moduleFileExtensions",
|
|
"rootDir",
|
|
"testEnvironment",
|
|
"testRegex",
|
|
"transform",
|
|
"^.+\\\\.(t|j)s$"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/test/jest-e2e.json; byteCount=192, lineCount=10.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/tsconfig.build.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "ef5be6c06c3ac6c3eca6c81885a12d03e33059086b4b275cf39f6e9359965378",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"extends",
|
|
"exclude"
|
|
],
|
|
"symbolsReviewed": [
|
|
"extends",
|
|
"exclude"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/tsconfig.build.json; byteCount=101, lineCount=5.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "backend/tsconfig.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Backend",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9f14a66ca5ada4e5f20a0c5d4a1a1d1d631aeb03a5940c737b73893c897a8dad",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"compilerOptions",
|
|
"module",
|
|
"moduleResolution",
|
|
"resolvePackageJsonExports",
|
|
"esModuleInterop",
|
|
"isolatedModules",
|
|
"declaration",
|
|
"removeComments",
|
|
"emitDecoratorMetadata",
|
|
"experimentalDecorators",
|
|
"allowSyntheticDefaultImports",
|
|
"target",
|
|
"sourceMap",
|
|
"outDir",
|
|
"baseUrl"
|
|
],
|
|
"symbolsReviewed": [
|
|
"compilerOptions",
|
|
"module",
|
|
"moduleResolution",
|
|
"resolvePackageJsonExports",
|
|
"esModuleInterop",
|
|
"isolatedModules",
|
|
"declaration",
|
|
"removeComments",
|
|
"emitDecoratorMetadata",
|
|
"experimentalDecorators",
|
|
"allowSyntheticDefaultImports",
|
|
"target",
|
|
"sourceMap",
|
|
"outDir",
|
|
"baseUrl"
|
|
],
|
|
"fileSpecificObservation": "Structural review of backend/tsconfig.json; byteCount=699, lineCount=26.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "docker-compose.yml",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "DevOps",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "a57d52b4063ef4eb731e163947db6d3c9fb4aa7133dcb40c1ee408e351ed715d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed docker-compose.yml; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"DEVOPS-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "index.html",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "a8fb6003bf328dabab868cc7e6c1189869285287a5674d9892bddcdfd3491533",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of index.html; byteCount=811, lineCount=24.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "metadata.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "6effb47a4ad0cd327ac85c3e3f1d667a1fca9cd36699ae907344fa6a030d8dd8",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"name",
|
|
"description",
|
|
"requestFramePermissions",
|
|
"majorCapabilities"
|
|
],
|
|
"symbolsReviewed": [
|
|
"name",
|
|
"description",
|
|
"requestFramePermissions",
|
|
"majorCapabilities"
|
|
],
|
|
"fileSpecificObservation": "Structural review of metadata.json; byteCount=342, lineCount=9.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "nginx.conf",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "DevOps",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "e73f55d23eb74db056c552a3c9f51ceb6ed208bd5de3e8eb07a46f1e904b9f44",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed nginx.conf; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"DEVOPS-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "package.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "6573f481f79a240af1721a5878969c40a7f60d0c5498cab30dd427af97759445",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"name",
|
|
"private",
|
|
"version",
|
|
"type",
|
|
"scripts",
|
|
"dev",
|
|
"build",
|
|
"preview",
|
|
"clean",
|
|
"lint",
|
|
"test",
|
|
"testwatch:",
|
|
"dependencies",
|
|
"@google/genai",
|
|
"@tailwindcss/vite"
|
|
],
|
|
"symbolsReviewed": [
|
|
"name",
|
|
"private",
|
|
"version",
|
|
"type",
|
|
"scripts",
|
|
"dev",
|
|
"build",
|
|
"preview",
|
|
"clean",
|
|
"lint",
|
|
"test",
|
|
"testwatch:",
|
|
"dependencies",
|
|
"@google/genai",
|
|
"@tailwindcss/vite"
|
|
],
|
|
"fileSpecificObservation": "Reviewed package.json; concrete elements analyzed: name, private, version, type, scripts.",
|
|
"verifiedFindingIds": [
|
|
"DEVOPS-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "prometheus.yml",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "DevOps",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "c31cef7110f4965128e7dc355a77cd7f537a6383c8f62936a2d8c6ea5582898d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of prometheus.yml; byteCount=172, lineCount=9.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "public/locales/fa/common.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "8378edcaef506b34c6e243b58456fccfa657d912860ac3efc7c91de2350585c1",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"api",
|
|
"errors",
|
|
"400",
|
|
"401",
|
|
"403",
|
|
"404",
|
|
"500",
|
|
"insufficient_balance",
|
|
"breed_mismatch",
|
|
"invalid_coupon",
|
|
"order_failed",
|
|
"messages",
|
|
"loading",
|
|
"saving",
|
|
"success_update"
|
|
],
|
|
"symbolsReviewed": [
|
|
"api",
|
|
"errors",
|
|
"400",
|
|
"401",
|
|
"403",
|
|
"404",
|
|
"500",
|
|
"insufficient_balance",
|
|
"breed_mismatch",
|
|
"invalid_coupon",
|
|
"order_failed",
|
|
"messages",
|
|
"loading",
|
|
"saving",
|
|
"success_update"
|
|
],
|
|
"fileSpecificObservation": "Structural review of public/locales/fa/common.json; byteCount=1238, lineCount=21.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "public/manifest.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "87501de359a0c2f7a3a591fb4a0815a42b48357e9948a87406636685108fae7e",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"name",
|
|
"short_name",
|
|
"description",
|
|
"start_url",
|
|
"display",
|
|
"background_color",
|
|
"theme_color",
|
|
"icons",
|
|
"src",
|
|
"sizes",
|
|
"type"
|
|
],
|
|
"symbolsReviewed": [
|
|
"name",
|
|
"short_name",
|
|
"description",
|
|
"start_url",
|
|
"display",
|
|
"background_color",
|
|
"theme_color",
|
|
"icons",
|
|
"src",
|
|
"sizes",
|
|
"type"
|
|
],
|
|
"fileSpecificObservation": "Structural review of public/manifest.json; byteCount=614, lineCount=22.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "public/sw.js",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "7827cc0749b78767bbb7218fafbbc48ed42dae16dae671ebba10f45d30a12295",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of public/sw.js; byteCount=500, lineCount=24.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/App.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "5a6b490104821f21f6000c514001e5a455007ebcec4cf6ac545313f251fd0d9e",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed src/App.tsx; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"FE-001",
|
|
"TS-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "src/components/AddressModal.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "314720a29226a08bafb8f746cff2fb6fbad6a85b3156f67e13ce77d9ce0231c4",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/AddressModal.tsx; byteCount=14652, lineCount=290.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/ArchivePage.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "a2a6c4131513cd9918e8ff5ded7f2542e15f9a04e5504803e665e6c9b8364237",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/ArchivePage.tsx; byteCount=21575, lineCount=424.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/AuthModal.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "986be0c94060790ea5694cd9f756db4c196bc4896146d21e35e080ca837b5b21",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/AuthModal.tsx; byteCount=17655, lineCount=387.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/B2BPortal.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "5fde2d75add37f0a64dccc1bd916d78ecf3ec3bf8fdffda2176e9e677ce2ae0e",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/B2BPortal.tsx; byteCount=8985, lineCount=192.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/BlogPage.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "7d0ae2089eca5af4c221d7d18be199a6037f628023c3964a6df957d7a541932e",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/BlogPage.tsx; byteCount=20444, lineCount=342.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/CartDrawer.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "faecc40e3f7c0bdfe1bacf4ba67451b9515a3837471b6e4f6554c62a155d4cdf",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/CartDrawer.tsx; byteCount=17956, lineCount=310.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/CheckoutPage.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "1d9470816ddd4d8dd539beba7a7d31641154ba763ff51ebdfc2804d31c4c2a5e",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/CheckoutPage.tsx; byteCount=21057, lineCount=381.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/DeleteConfirmModal.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "7907927ed2d4bb1aeac9e675d77feda6b6b060a031fc7c7df01d7bca35121298",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/DeleteConfirmModal.tsx; byteCount=2393, lineCount=62.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/ErrorBoundary.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "a90fda767490f58218d82a0e3a48ecece06235248b84406220acd86b7112c740",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ErrorBoundary"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ErrorBoundary"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/ErrorBoundary.tsx; byteCount=2687, lineCount=72.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/ErrorPages.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "ec77817519a13c04467fe2d492dc6444d06ecf052afca9ff589fd5f3e9fe4c7f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"NotFoundPage",
|
|
"ServerErrorPage"
|
|
],
|
|
"symbolsReviewed": [
|
|
"NotFoundPage",
|
|
"ServerErrorPage"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/ErrorPages.tsx; byteCount=2773, lineCount=60.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/FeaturedProducts.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "df25d1ae82b4592cb1228f33ce9b152ab1f5c150c375eedc4816303c8f76eb13",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/FeaturedProducts.tsx; byteCount=7516, lineCount=148.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/Footer.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "120f21891ec195b502927386334d72237c1f80c04d48df725686fb9637af1c22",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/Footer.tsx; byteCount=8311, lineCount=128.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/Header.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "40ac019ff77dae5aee81e888af89081c4e8193a6ff3c4f1b1481012bdfad6b01",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed src/components/Header.tsx; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"FE-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "src/components/HeaderButton.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "e7e508be65aeba6771625dd43de4e84fe889c17f97a1d30a918f852b460dd8b2",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/HeaderButton.tsx; byteCount=1839, lineCount=53.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/Hero.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "df02dbfa6f1b9c74440bac4c7695b80e8f608d2d00025d540332d2a7149c3b28",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"\\n"
|
|
],
|
|
"symbolsReviewed": [
|
|
"\\n"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/Hero.tsx; byteCount=9932, lineCount=196.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/IngredientWiki.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9112b3ad9779255ea50df40787e5a62875cc711d838aa5fb5f4ff9cd383d12ea",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/IngredientWiki.tsx; byteCount=10104, lineCount=178.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/LoginModal.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "a717089effda26a988fd522a14479f171cccaeedd07100c51cb8faf1f6300bfe",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed src/components/LoginModal.tsx; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"ARCH-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "src/components/NetworkBanner.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "13abbc38af102705fe15e533304223836ed6064a0c06e5dd217693cc36668874",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"NetworkBanner"
|
|
],
|
|
"symbolsReviewed": [
|
|
"NetworkBanner"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/NetworkBanner.tsx; byteCount=2318, lineCount=68.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/OrderDetailsModal.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "f317fb006ed49f3f859d77f76991de618df7e277f98bd8d4a0622be3c26b4e80",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/OrderDetailsModal.tsx; byteCount=13314, lineCount=265.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/OrderSuccess.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "0e1ee36d1658063758499b117c6bb6f13632ac80d8dc838c9dc84bf6e23cc1b6",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/OrderSuccess.tsx; byteCount=5706, lineCount=110.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/OrderTracking.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "32f28b0f1fd4b46b8f871f2b9918db6e2b06f7468d83b990bd21ce5187bd4c43",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/OrderTracking.tsx; byteCount=9341, lineCount=168.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/PetProfile.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "d805ad77e12771ce2846392b74a1585c451a2581720af938bcaa39fbb2dc7af8",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"T",
|
|
"T"
|
|
],
|
|
"symbolsReviewed": [
|
|
"T",
|
|
"T"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/PetProfile.tsx; byteCount=66705, lineCount=1193.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/ProductPage.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "e230769b1c71419eecae57d491256e3f2d2c360dbc2245d9a009139cc2649179",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/ProductPage.tsx; byteCount=33351, lineCount=599.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/SafeImage.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "81f495bd2b062276d4838601183715aabcefe1616300e01094f089dcc1442dbf",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/SafeImage.tsx; byteCount=2623, lineCount=74.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/SearchResultsPage.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9f33179f6ae1fbf9514a11c6177ce7c826d6f3adc5601e33d7ab9536ac0356c2",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/SearchResultsPage.tsx; byteCount=8048, lineCount=138.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/Skeleton.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "fc19633c914e81c7eef71a70082bd495cf20acfe7700ea7099d6da0b012449f4",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"Skeleton",
|
|
"ProductCardSkeleton",
|
|
"PetProfileSkeleton",
|
|
"OrderRowSkeleton"
|
|
],
|
|
"symbolsReviewed": [
|
|
"Skeleton",
|
|
"ProductCardSkeleton",
|
|
"PetProfileSkeleton",
|
|
"OrderRowSkeleton"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/Skeleton.tsx; byteCount=3155, lineCount=86.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/SmartAdvisor.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "13e9aac5ae214bf4e2849d1db032d978287e766fd01335d1795d31828e9caaa0",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/SmartAdvisor.tsx; byteCount=15860, lineCount=297.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/Tooltip.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "562319624a2a6d8877e8bd68c31304b01049882a2a4e85c67216b5a74f9aef10",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/Tooltip.tsx; byteCount=2561, lineCount=62.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/TopUpModal.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "09c967e8d366ae9969f0c2e2beffb893072aa8818c3b3586ad1f9ba646f8fef4",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/TopUpModal.tsx; byteCount=7049, lineCount=154.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/UserDashboard.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9478a4057c97f362b186d81bfcdda2e8815c3118cfa07f49c38b79474a41e04b",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/UserDashboard.tsx; byteCount=37598, lineCount=646.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/VetGallery.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "2dfbead4e5eb98a56bdff1c3a66c513254c00a3332a9271a34df481f4f47d744",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/VetGallery.tsx; byteCount=7427, lineCount=148.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/VideosPage.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9912b04a03bb2891557a19c39b04a88b254af6375a072fbcab479524c056a49b",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/components/VideosPage.tsx; byteCount=9112, lineCount=186.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/__tests__/CartDrawer.test.tsx",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "fc4f95ab29d719bb152687cebf8feec8273e05caca29726ca8cdfcbf9ef91912",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"CartDrawer",
|
|
"renders empty cart state when no items in cart",
|
|
"renders cart items and total when items are present",
|
|
"triggers updateQuantity when plus/minus buttons are clicked"
|
|
],
|
|
"symbolsReviewed": [
|
|
"CartDrawer",
|
|
"renders empty cart state when no items in cart",
|
|
"renders cart items and total when items are present",
|
|
"triggers updateQuantity when plus/minus buttons are clicked"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/__tests__/CartDrawer.test.tsx; byteCount=3131, lineCount=102.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/__tests__/FeaturedProducts.test.tsx",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "e411316d9a5b8b0b6c7720ebd04c85075b01c38323d217badf165840f1bb100d",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"FeaturedProducts",
|
|
"renders loading skeletons initially",
|
|
"renders products once loaded",
|
|
"calls onProductClick when product card is clicked",
|
|
"calls onShopNavigate when navigation link is clicked"
|
|
],
|
|
"symbolsReviewed": [
|
|
"FeaturedProducts",
|
|
"renders loading skeletons initially",
|
|
"renders products once loaded",
|
|
"calls onProductClick when product card is clicked",
|
|
"calls onShopNavigate when navigation link is clicked"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/__tests__/FeaturedProducts.test.tsx; byteCount=2945, lineCount=82.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/__tests__/Footer.test.tsx",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "57dd04273765b65b4e906552e74e6d5c4d420e9d06498d8093c4abf0ed2b3c3f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"Footer",
|
|
"renders footer brand text and standard layout elements",
|
|
"triggers onNavigate and onShopNavigate when quick links are clicked"
|
|
],
|
|
"symbolsReviewed": [
|
|
"Footer",
|
|
"renders footer brand text and standard layout elements",
|
|
"triggers onNavigate and onShopNavigate when quick links are clicked"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/__tests__/Footer.test.tsx; byteCount=1679, lineCount=44.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/__tests__/Header.test.tsx",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "5c6f361116a37b8556bb01829708e0c1490fe59e12c30b5bdda9d20cabefdde8",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"Header",
|
|
"renders brand name and login button when guest",
|
|
"renders user first name and pet selection when logged in",
|
|
"calls onCartOpen when click on cart button"
|
|
],
|
|
"symbolsReviewed": [
|
|
"Header",
|
|
"renders brand name and login button when guest",
|
|
"renders user first name and pet selection when logged in",
|
|
"calls onCartOpen when click on cart button"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/__tests__/Header.test.tsx; byteCount=3156, lineCount=111.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/__tests__/Hero.test.tsx",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "7609965c99249fb454871c286a10237c4eb9996264a68c6d25b8057477320cf5",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"Hero",
|
|
"renders title and description from settingsStore",
|
|
"calls onShopNavigate when "
|
|
],
|
|
"symbolsReviewed": [
|
|
"Hero",
|
|
"renders title and description from settingsStore",
|
|
"calls onShopNavigate when "
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/__tests__/Hero.test.tsx; byteCount=1679, lineCount=44.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/components/__tests__/Tooltip.test.tsx",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "6a25742e1d4737fdb8d7a75a1e927fb3308203bdac4dfbe540f6f988def7ee9b",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"Tooltip",
|
|
"should render children correctly",
|
|
"should display tooltip definition on hover"
|
|
],
|
|
"symbolsReviewed": [
|
|
"Tooltip",
|
|
"should render children correctly",
|
|
"should display tooltip definition on hover"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/components/__tests__/Tooltip.test.tsx; byteCount=1536, lineCount=51.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/data/products.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "06775f65c485d1dbd56b0f0406fc910c94f1747c1c56422aac077caeb5c02b56",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"Specialist",
|
|
"PetType",
|
|
"IngredientInfo",
|
|
"DosageResult",
|
|
"FAQ",
|
|
"Product",
|
|
"INGREDIENTS_WIKI",
|
|
"PRODUCTS"
|
|
],
|
|
"symbolsReviewed": [
|
|
"Specialist",
|
|
"PetType",
|
|
"IngredientInfo",
|
|
"DosageResult",
|
|
"FAQ",
|
|
"Product",
|
|
"INGREDIENTS_WIKI",
|
|
"PRODUCTS"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/data/products.ts; byteCount=31112, lineCount=514.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/data/scientificTerms.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "a826894be746caa0233e6362c33fdf04a386bb4779d924b37868256b5f04394f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ScientificTerm",
|
|
"SCIENTIFIC_TERMS"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ScientificTerm",
|
|
"SCIENTIFIC_TERMS"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/data/scientificTerms.ts; byteCount=2182, lineCount=44.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/hooks/useNetworkStatus.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "97a1eb7b50abc7f05c6d430db307fd1739fac0732faf250986ed76e52099de78",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"useNetworkStatus"
|
|
],
|
|
"symbolsReviewed": [
|
|
"useNetworkStatus"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/hooks/useNetworkStatus.ts; byteCount=574, lineCount=21.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/index.css",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "4379a2e1316cb65fcce8b6a32e2282232b9a5f3d503e5fe1901d0405340721d3",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/index.css; byteCount=1887, lineCount=75.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/lib/utils.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "21a3949a05abd11a117ab450826d09eddde87058b80cb2f43a28158c3da3e6fc",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"toPersian",
|
|
"cn"
|
|
],
|
|
"symbolsReviewed": [
|
|
"toPersian",
|
|
"cn"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/lib/utils.ts; byteCount=323, lineCount=9.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/main.tsx",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "8b129211a1e36a01a0c294633d8463c9a661a78fe04c3f26f45ca2fdabdedff0",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/main.tsx; byteCount=241, lineCount=11.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/services/api.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "da0a9cc677949951c83dc2a846072dc14744bcd84c06d68d74c7e9b52d08264b",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/services/api.ts; byteCount=506, lineCount=24.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/services/authService.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "da9897908b19513fb41a5b09fd641fae7675091f5887641737c15fa6109e8bd1",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"User",
|
|
"AuthResponse",
|
|
"AuthService",
|
|
"authService"
|
|
],
|
|
"symbolsReviewed": [
|
|
"User",
|
|
"AuthResponse",
|
|
"AuthService",
|
|
"authService"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/services/authService.ts; byteCount=2877, lineCount=103.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/services/orderService.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "bafd959741e791ed278a0d6c74ae3e110f90222ed65a93565527faf64739edd1",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"OrderItem",
|
|
"Order",
|
|
"OrderService",
|
|
"orderService"
|
|
],
|
|
"symbolsReviewed": [
|
|
"OrderItem",
|
|
"Order",
|
|
"OrderService",
|
|
"orderService"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/services/orderService.ts; byteCount=2148, lineCount=80.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/services/productService.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "cf3077a9e8f8786fb37a9f5da74400552a68df2fed0cd75c171cea25e354ceb0",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ProductService",
|
|
"productService"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ProductService",
|
|
"productService"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/services/productService.ts; byteCount=3890, lineCount=107.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/store/__tests__/cartStore.test.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "6e8809d62f3d49ffca5146a831391e68633858dfbbae926aad1d810271d54a9a",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"cartStore",
|
|
"should add item to cart",
|
|
"should increment quantity if item already in cart",
|
|
"should remove item from cart",
|
|
"should update quantity",
|
|
"should remove item if update quantity is <= 0",
|
|
"should apply discount coupon",
|
|
"should calculate subtotal, discount and total",
|
|
"should create order successfully via orderService"
|
|
],
|
|
"symbolsReviewed": [
|
|
"cartStore",
|
|
"should add item to cart",
|
|
"should increment quantity if item already in cart",
|
|
"should remove item from cart",
|
|
"should update quantity",
|
|
"should remove item if update quantity is <= 0",
|
|
"should apply discount coupon",
|
|
"should calculate subtotal, discount and total",
|
|
"should create order successfully via orderService"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/store/__tests__/cartStore.test.ts; byteCount=4170, lineCount=143.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/store/__tests__/settingsStore.test.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "19d9585ceb5ab219d6c475614da324711d4e40ccf476b486ba5772d8311b00f7",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"settingsStore",
|
|
"should return fallback if key is not found",
|
|
"should return value if key is found",
|
|
"should fetch settings successfully and map array to object"
|
|
],
|
|
"symbolsReviewed": [
|
|
"settingsStore",
|
|
"should return fallback if key is not found",
|
|
"should return value if key is found",
|
|
"should fetch settings successfully and map array to object"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/store/__tests__/settingsStore.test.ts; byteCount=2011, lineCount=63.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/store/__tests__/userStore.test.ts",
|
|
"classification": "FIRST_PARTY_TEST",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "728192566ff3da8a284af6b17e370b15bb4103da7f7404140daf52ade2d7a566",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"userStore",
|
|
"should logout correctly",
|
|
"should fetch profile successfully",
|
|
"should update profile correctly",
|
|
"should add address and call fetchProfile"
|
|
],
|
|
"symbolsReviewed": [
|
|
"userStore",
|
|
"should logout correctly",
|
|
"should fetch profile successfully",
|
|
"should update profile correctly",
|
|
"should add address and call fetchProfile"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/store/__tests__/userStore.test.ts; byteCount=3690, lineCount=134.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/store/cartStore.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "dd327a89159929614f81c1103d40a739c5e753b95f9b1bb2a823e0e2346b8e12",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"CartItem",
|
|
"useCartStore"
|
|
],
|
|
"symbolsReviewed": [
|
|
"CartItem",
|
|
"useCartStore"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/store/cartStore.ts; byteCount=5694, lineCount=167.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/store/settingsStore.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "624187b749ef26e05633e0f6f5b26e1d6509d9d7b23d1ea9c807bcb4167917f3",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"ScientificTerm",
|
|
"useSettingsStore"
|
|
],
|
|
"symbolsReviewed": [
|
|
"ScientificTerm",
|
|
"useSettingsStore"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/store/settingsStore.ts; byteCount=1644, lineCount=60.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/store/usePetStore.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "d44296271fb8f1bfd3f3d628c347df02b433d8abdeed835b8e1218b0f8ecb509",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"Reminder",
|
|
"HealthLog",
|
|
"PetConsumption",
|
|
"PetProfile",
|
|
"usePetStore"
|
|
],
|
|
"symbolsReviewed": [
|
|
"Reminder",
|
|
"HealthLog",
|
|
"PetConsumption",
|
|
"PetProfile",
|
|
"usePetStore"
|
|
],
|
|
"fileSpecificObservation": "Structural review of src/store/usePetStore.ts; byteCount=7771, lineCount=215.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/store/userStore.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "d58219ae73e58ba5bc7498173c9a2787d1d2a55798e38833e652c5c361a60799",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"UserRole",
|
|
"Address",
|
|
"Transaction",
|
|
"useUserStore"
|
|
],
|
|
"symbolsReviewed": [
|
|
"UserRole",
|
|
"Address",
|
|
"Transaction",
|
|
"useUserStore"
|
|
],
|
|
"fileSpecificObservation": "Reviewed src/store/userStore.ts; concrete elements analyzed: UserRole, Address, Transaction, useUserStore.",
|
|
"verifiedFindingIds": [
|
|
"ARCH-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "src/test/setup.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "9d7cdb55306fa51fd1b8badbec660b2f2e1d7d78531be1e5807f15491e93d9ef",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/test/setup.ts; byteCount=1607, lineCount=68.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "src/vite-env.d.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "424faf9241dd699dda995b367ed36665732da1e6ec1f33b2fd40394488ecac92",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of src/vite-env.d.ts; byteCount=39, lineCount=2.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "swagger.yml",
|
|
"classification": "FIRST_PARTY_DOCUMENTATION",
|
|
"auditDomain": "Documentation",
|
|
"inspectionStatus": "SEMANTICALLY_REVIEWED_WITH_FINDING",
|
|
"contentEvidence": {
|
|
"sha256": "800b2e02103b50a12f3ca294af2b526c32635cabe0b65f41fdb07c7c6ec1ff6b",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Reviewed swagger.yml; concrete elements analyzed: .",
|
|
"verifiedFindingIds": [
|
|
"DOC-001"
|
|
],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": null
|
|
},
|
|
{
|
|
"path": "tsconfig.json",
|
|
"classification": "FIRST_PARTY_CONFIGURATION",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "a9d48a003eb8b17b0d5765de18a9ff32fa9d3c54ce92ac98e5784f39c2e59584",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [
|
|
"compilerOptions",
|
|
"target",
|
|
"experimentalDecorators",
|
|
"useDefineForClassFields",
|
|
"module",
|
|
"lib",
|
|
"skipLibCheck",
|
|
"moduleResolution",
|
|
"isolatedModules",
|
|
"moduleDetection",
|
|
"allowJs",
|
|
"jsx",
|
|
"paths",
|
|
"@/*",
|
|
"allowImportingTsExtensions"
|
|
],
|
|
"symbolsReviewed": [
|
|
"compilerOptions",
|
|
"target",
|
|
"experimentalDecorators",
|
|
"useDefineForClassFields",
|
|
"module",
|
|
"lib",
|
|
"skipLibCheck",
|
|
"moduleResolution",
|
|
"isolatedModules",
|
|
"moduleDetection",
|
|
"allowJs",
|
|
"jsx",
|
|
"paths",
|
|
"@/*",
|
|
"allowImportingTsExtensions"
|
|
],
|
|
"fileSpecificObservation": "Structural review of tsconfig.json; byteCount=631, lineCount=29.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
},
|
|
{
|
|
"path": "vite.config.ts",
|
|
"classification": "FIRST_PARTY_SOURCE",
|
|
"auditDomain": "Storefront",
|
|
"inspectionStatus": "STRUCTURALLY_REVIEWED",
|
|
"contentEvidence": {
|
|
"sha256": "245a8a2c544f56a4c4a59be6e3afc77d74dd51311e0f8ca3fe0fcfb1959f979f",
|
|
"evidenceReference": "docs/audit/29-file-content-evidence.json"
|
|
},
|
|
"reviewedElements": [],
|
|
"symbolsReviewed": [],
|
|
"fileSpecificObservation": "Structural review of vite.config.ts; byteCount=1288, lineCount=44.",
|
|
"verifiedFindingIds": [],
|
|
"compilerDiagnosticIds": [],
|
|
"rejectedFindingReferences": [],
|
|
"reviewLimitations": "No file-specific semantic conclusion recorded"
|
|
}
|
|
] |