Department of Vibe Code Assessment

Report Card

Student: Fabio-Rovai/open-ontologiesTerm: March 22, 2026
Grade
0
Pretty Clean

Grades by Subject

Subject
Grade
Score
Issues
Security
A
100
Dependencies
A
100
Documentation
A
100
Test Coverage
A
94
1
Code Structure
F
14
18
Error Handling
A
94
1
Share on X

Teacher's Comments

Well, Fabio, you nailed error handling, security, dependencies, and documentation so thoroughly you almost forget this is a code project, not a trophy case. But then there’s your code structure — a dumpster fire of giant files and tangled nests so deep even spelunkers would advise against it. Three files over 1,000 lines? That’s not “big picture thinking,” that’s “avoid the class because it’s easier.” Show up with manageable chunks next time and we’ll call it a win.

Error Handling:Nearly perfect — only one shrug-worthy catch block that just logs and walks away; not ideal but you mostly did the homework here.
Code Structure:Fainting from the sheer size and complexity — 3 files north of 1,000 lines and 6-level deep nesting all over the place screams “help me” in developer-speak.
Test Coverage:Surprisingly solid given the chaos, just that 27.7% test-to-source ratio trying to whisper “I tried.”
Security:Clean as a whistle — no issues, which is honestly the best surprise of the semester.
Dependencies:Looks like you resisted the temptation to pull in random libraries, so points for restraint.
Documentation:Perfect paper trail here; this is the part of your work I’d actually file and refer back to.

Areas for Improvement

(20)
high·src/main.rs

Large file (1170 lines) — this is a real problem

1170 LOC, threshold is 400
src/main.rs is 1170 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/server.rs

Large file (1224 lines) — this is a real problem

1224 LOC, threshold is 400
src/server.rs is 1224 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/tableaux.rs

Large file (1811 lines) — this is a real problem

1811 LOC, threshold is 400
src/tableaux.rs is 1811 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·studio/src/lib/mcp-client.ts:108

Catch block only logs error without handling it

catch (e) {
    console.warn('Failed to save graph to file:', e);
  }
In studio/src/lib/mcp-client.ts at line 108, the catch block only console.logs the error. Add proper error handling — return an error response, show a user-facing message, or re-throw.
medium

Low test-to-source ratio (27.7%)

30 test files, 79 source files
Test coverage is below average (27.7%). Consider adding more test coverage, especially for edge cases.
medium·benchmark/marketplace_benchmark.py

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
benchmark/marketplace_benchmark.py has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·benchmark/ontoaxiom/run_hybrid_benchmark.py

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
benchmark/ontoaxiom/run_hybrid_benchmark.py has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/align.rs

Large file (743 lines) — should probably split this

743 LOC, threshold is 400
src/align.rs is 743 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·studio/src/hooks/useChat.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
studio/src/hooks/useChat.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·studio/src-tauri/sidecars/agent/index.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
studio/src-tauri/sidecars/agent/index.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·benchmark/boro_compare.py

Large file (426 lines) — barely over threshold

426 LOC, threshold is 400
benchmark/boro_compare.py is 426 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
low·benchmark/compare.py

Large file (417 lines) — barely over threshold

417 LOC, threshold is 400
benchmark/compare.py is 417 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
low·benchmark/extension_compare.py

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
benchmark/extension_compare.py has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·benchmark/ontoaxiom/run_mcp_benchmark.py

Large file (458 lines) — barely over threshold

458 LOC, threshold is 400
benchmark/ontoaxiom/run_mcp_benchmark.py is 458 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
low·benchmark/ontoaxiom/run_rdflib_benchmark.py

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
benchmark/ontoaxiom/run_rdflib_benchmark.py has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·benchmark/vision/download_dataset.py

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
benchmark/vision/download_dataset.py has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/drift.rs

Large file (414 lines) — barely over threshold

414 LOC, threshold is 400
src/drift.rs is 414 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/ingest.rs

Large file (421 lines) — barely over threshold

421 LOC, threshold is 400
src/ingest.rs is 421 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/reason.rs

Large file (474 lines) — barely over threshold

474 LOC, threshold is 400
src/reason.rs is 474 lines long. Break it into smaller, focused modules. Each file should have one clear responsibility.
low·studio/src/components/PropertyInspector.tsx

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
studio/src/components/PropertyInspector.tsx has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.