feat(config): add self-reference test coverage
feat(config): adapt exceptions to better Ruby conventions (uses fail to raise a runtime error)