You definitely succeeded - my nearly 8-year old loved it.
With the altar: containers are difficult, but you could anticipate someone not noticing the 2-word restriction and deal with it in on_command with something like:
: match "put _" {
: if (is_carried (s1())) {
: if (noun2_is "altar"&&is_at "stone_circle") {
: print {("You put the "+s1()+" on the altar.")} ;
: drop quiet = "true" ;
}
: else {
: print "The altar is not here." ;
}
}
: else {
: print "You are not carrying it.";
}
}
(or do the same as above but print "You only need two words in this game - just drop it" or something as the response, if you want to be strict about that).
With the typos - sorry, should have noted them as I went along. Another quick run through reveals:
(at stone circle): "in the centre of the circle, ['stands' or 'you can see'] what seems to be an altar"
and there is definitely an errant capital that I spotted somewhere but can't find it now... If I see it again, I'll let you know.