I think you left out a line for the "destination" attributes. Also, you don't need to use the attr_ prefix within the TAS function here.  See if you can duplicate the structure from this code from Diana's 3.5 D&D sheet:  <script type="text/worker">
//
//INSERT TAS HERE
//
on('change:repeating_equipment', function(){
    TAS.repeating('equipment')
         .attrs('totalequipmentweight','totalequipmentcost','summary')   
        .fields('equipmentname','equipmentquantity','equipmentweight','equipmenttotalweight','equipmentcost','equipmenttotalcost') 
        .reduce(function(m,r){
            m.equipmentweight+=(r.F.equipmentweight*r.I.equipmentquantity);
            r.D[3].equipmenttotalweight=(r.F.equipmentweight*r.I.equipmentquantity);
            m.equipmentcost+=(r.F.equipmentcost*r.I.equipmentquantity);
            r.D[2].equipmenttotalcost=(r.F.equipmentcost*r.I.equipmentquantity);
            m.desc.push(r.equipmentname+(r.I.equipmentquantity>1 ? ' (x'+r.S.equipmentquantity+')' : ''));
            return m;
        },{equipmentweight:0,equipmentcost:0, desc: []},function(m,r,a){
            a.summary=m.desc.join(', ');
            a.D[3].totalequipmentweight=m.equipmentweight;
            a.D[2].totalequipmentcost=m.equipmentcost;
        })
        .execute(); 
}); </script> I bolded the line I think you're missing. Looking at the attrs you have, I am guessing yours would be just the one display attribute (EDIT) and the summary:  .attrs('inventory_weight', 'summary')  
 Hope this helps. I don't understand a lot of what it is doing "under the hood," but I can copy and tweak (and break and tweak, and break and tweak, and finally shout "Eureka! It works!").