sn_esm_agent would not be able to see all the records in ast_contract table. The contract table would display only few records(or no records) to them. There would not be any Security Constraint message that would be displaying.
All supported releases
There is a query business rule called Contract query for agents is preventing sn_esm_agent users from viewing all the records in the table.
User can see in the condition of the business rule, it would run the query only if the users have sn_esm_agent role.
This is an out of the box business rule. Users can either remove or modify the condition or disable the business rule for enabling sn_esm_agent to see all the records in the table.