5 Commits

Author SHA1 Message Date
darthrubik 11073a12c8 Update CONTRIBUTING.md to clarify test flag policy
Clarify that test flags should be minimal hooks into internal
functionality, not contain test logic. All test logic (assertions,
validation) belongs in Bash test scripts in tests/.

This addresses the ambiguity mentioned in issue 109 regarding
the distinction between test hooks in main.cpp and test scripts.
2026-05-30 14:20:05 -05:00
darthrubik 43a7db9d96 docs: add error handling rules to CONTRIBUTING.md
Add a new Error Handling section documenting the project's error handling
conventions using std::expected:

- JSON parsing must use parse_json_safely()
- JSON deserialization must use json_to<T>()
- No try/catch blocks — handle std::expected explicitly
- No new exceptions allowed
- Error handling uses std::expected<T, std::string> exclusively
- Library code returns std::expected; expect_or_exit() for top-level code only

Also update C++ version requirement from C++20 to C++23 in Prerequisites.

Fixes: #53
2026-05-27 17:48:07 -05:00
darthrubik f813b156c4 New contribution guidelines 2026-05-27 15:08:15 -05:00
darthrubik 20dd58e6d4 Updating contributing.md 2026-05-21 16:20:54 -05:00
darthrubik 07f12b359f Adding contributing guidelines 2026-05-19 16:18:59 -05:00