So I created a function file (altar.mcfunction) and typed in a bunch of commands that made the function size 2kb. All my other functions were 1kb in size and could be run using minecraft:tick ,/function, and be called from other functions. only altar.mcfunction could not be called anywhere. it's contents are attached to the report. However, if I change the contents to make it 1Kb in size (I deleted everything and put in "give @p cobblestone"), I can suddenly call altar.mcfunction like the other function files and it executes the command in the function successfully.
Your function is not being recognized because it contains a syntax error. The game log will display these for you.
Specifically, the problem is with the
if score @s sneak > 0
near the end.>
is used to compare two scores, not to compare a score to a literal number. To do that, useif score @s sneak matches 1..