There is no g(halt). What should that be? g doesn't process any input.
f(x) = x is stupid. The desired functiion f that is capable of resolving the halt problem on any function, does not process it's argument that simple. It tales functions as its argument, not its result. In terms of programming f would be designated as:
f(function x) -> bool
so obviously the result of f can't be its input. You are screwing around with items without knowing their meaning. Typically for an engineer, but deadly in science.