First, you're using a totally ancient version of W.R.E.C.K. It's not even called W.R.E.C.K. yet.
There were a number of bugs fixed since 0.5.3, so you really should upgrade.
Though your current issue has nothing to do with that. Your problem is that while there might be "harkon_sword" in module_items.py, it doesn't mean there's already
itm_harkon_sword defined in ID_items.py file. It will appear there after a successful compilation, but for a compilation to succeed you shouldn't use that reference directly in module code until you successfully compile your module at least once.
You should be able to use
"itm_harkon_sword" or
itm.harkon_sword instead. The second is WRECK syntax sugar though, so it's not an option if you wish to retain compatibility with original compiler. Apart from that, remove
itm_harkon_sword from troop definition, compile once, and then you can use it normally.