NamespacedProjectRepository.create() called session.flush() but never
session.commit(), so projects created via "agents project create" were
invisible to subsequent "agents project list" invocations that open a
separate session.
Changes:
- Replace flush() with commit() in NamespacedProjectRepository.create()
- Add finally: session.close() guard for proper session lifecycle
- Update flush-error mock helpers to also set commit.side_effect so
error-handling tests work regardless of flush vs commit
- Add 4 Behave BDD regression scenarios (tagged @tdd @bug589)
- Add Robot Framework integration smoke tests
- Add ASV benchmarks for create-then-list round-trip
Closes: #589