да, имате нужда от по-добро заключване на houseModel, за да посочите, че се извършва добавяне на елемент.
Проблемът е, че множество заявки могат да извикат findById и да видят същата къща.items.length, след което всяка определя въз основа на тази (остаряла) моментна снимка, че е добре да добавите още един елемент. Границата на възлите на атомарността е обратното извикване; между асинхронно повикване и неговото обратно извикване могат да се изпълняват други заявки.
Една лесна поправка е да се проследи не само броят на артикулите в къщата, но и броят на планираните допълнителни артикули. При влизане в addItem, увеличете броя "искам да добавя още" и тествайте това.