instar 1.3.978 → 1.3.980

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"guardPostureView.js","sourceRoot":"","sources":["../../src/monitoring/guardPostureView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardPostureView.js","sourceRoot":"","sources":["../../src/monitoring/guardPostureView.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,mBAAmB,GAGpB,MAAM,mBAAmB,CAAC;AAkB3B,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;8DAG8D;AAC9D,MAAM,CAAC,MAAM,4CAA4C,GAAG,EAAE,CAAC;AAqE/D,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU;IACjE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS;IAC5D,8EAA8E;IAC9E,4EAA4E;IAC5E,uCAAuC;IACvC,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB;IACrE,qBAAqB,EAAE,wBAAwB;CAChD,CAAC,CAAC;AACH,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB;CACtF,CAAC,CAAC;AACH,MAAM,iCAAiC,GAAqC,IAAI,GAAG,CAAC;IAClF,SAAS;IACT,SAAS;IACT,UAAU;IACV,uBAAuB;CACxB,CAAC,CAAC;AACH,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;AAExD,SAAS,MAAM,CAAC,CAAU;IACxB,OAAO,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAiBD;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,QAAwC,EAAE,GAAW;IAC/E,MAAM,IAAI,GAAG,QAAQ,EAAE,cAAc,CAAC;IACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,sBAAsB;IAC/E,MAAM,QAAQ,GAAG,QAAQ,EAAE,qBAAqB,CAAC;IACjD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC,CAAS,0BAA0B;IACnF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC,CAAc,kBAAkB;IAC3E,MAAM,WAAW,GAAG,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC;IACnD,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,aAAa,GAAG,QAAQ,EAAE,IAAI,KAAK,cAAc,CAAC;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAS,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpG,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,QAAQ,EAAE,cAAc,CAAC;IACxE,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,QAAQ,CAAC;IAE9C,2EAA2E;IAC3E,IAAI,UAA2B,CAAC;IAChC,IAAI,aAAa,EAAE,CAAC;QAClB,UAAU,GAAG,gBAAgB,CAAC;IAChC,CAAC;SAAM,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;QAChC,yEAAyE;QACzE,4EAA4E;QAC5E,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;SAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACzE,wEAAwE;QACxE,yDAAyD;QACzD,UAAU,GAAG,sBAAsB,CAAC;IACtC,CAAC;SAAM,IAAI,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;QAC5E,UAAU,GAAG,UAAU,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,2CAA2C;IAC3C,IAAI,iBAAiB,GAAkC,IAAI,CAAC;IAC5D,IAAI,aAAwC,CAAC;IAC7C,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,sEAAsE;QACtE,oDAAoD;QACpD,aAAa,GAAG,gBAAgB,CAAC;IACnC,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACzB,iBAAiB,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACvE,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACrC,iBAAiB,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YAC5C,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;gBAAE,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAAE,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5E,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ;YAAE,iBAAiB,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;IAChG,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACpC,aAAa,GAAG,cAAc,CAAC;QAC/B,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAClF,CAAC;IAED,kEAAkE;IAClE,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IACE,OAAO,CAAC,IAAI,KAAK,IAAI;QACrB,OAAO,CAAC,MAAM,CAAC,OAAO;QACtB,QAAQ,EAAE,cAAc,KAAK,SAAS,EACtC,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,UAAU,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,CAAC,CAAC,0DAA0D;QAC1E,CAAC;aAAM,IAAI,GAAG,GAAG,UAAU,GAAG,qBAAqB,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC9E,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,IAAI,QAAQ,EAAE,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACnH,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GACV,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC;IAErG,4CAA4C;IAC5C,IAAI,SAA8B,CAAC;IACnC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,MAAM,sBAAsB,GAAG,UAAU,KAAK,UAAU,CAAC;IACzD,MAAM,wBAAwB,GAAG,CAAC,sBAAsB,CAAC,CAAC,sCAAsC;IAEhG,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;SAAM,IACL,QAAQ,EAAE,aAAa,KAAK,IAAI;QAChC,OAAO,KAAK,QAAQ;QACpB,aAAa,KAAK,IAAI;QACtB,OAAO,CAAC,IAAI,KAAK,cAAc;QAC/B,KAAK,CAAC,SAAS,KAAK,KAAK,EACzB,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,wEAAwE;QACxE,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;SAAM,IACL,aAAa,KAAK,IAAI;QACtB,OAAO,CAAC,IAAI,KAAK,IAAI;QACrB,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;QAChC,wBAAwB,EACxB,CAAC;QACD,wEAAwE;QACxE,yEAAyE;QACzE,kDAAkD;QAClD,SAAS,GAAG,uBAAuB,CAAC;IACtC,CAAC;SAAM,IAAI,sBAAsB,EAAE,CAAC;QAClC,SAAS,GAAG,0BAA0B,CAAC;IACzC,CAAC;SAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QACnC,SAAS,GAAG,KAAK,CAAC;QAClB,QAAQ,GAAG,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACjF,CAAC;SAAM,IAAI,MAAM,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC5C,SAAS,GAAG,YAAY,CAAC,CAAC,mEAAmE;IAC/F,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,SAAS,GAAG,UAAU,CAAC;IACzB,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3D,SAAS,GAAG,cAAc,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,mEAAmE;QACnE,wEAAwE;QACxE,6CAA6C;QAC7C,SAAS,GAAG,eAAe,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,GAAa;QACpB,GAAG;QACH,aAAa,EAAE,aAAa,IAAI,IAAI;QACpC,cAAc,EAAE,cAAc,IAAI,IAAI;QACtC,SAAS;QACT,QAAQ;QACR,UAAU;QACV,OAAO,EAAE,iBAAiB;QAC1B,OAAO;KACR,CAAC;IACF,IAAI,aAAa;QAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;IACrD,IAAI,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAE7B,2EAA2E;IAC3E,IAAI,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC1B,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,QAAQ,CAAC,YAAY;YAAE,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,2BAA2B;QAChG,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,iBAAiB,GACrB,CAAC,SAAS,KAAK,KAAK,IAAI,QAAQ,KAAK,cAAc,CAAC,IAAI,SAAS,KAAK,YAAY,CAAC;QACrF,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,8EAA8E;gBAC9E,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAC/B,GAAG,CAAC,sBAAsB,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC7D,CAAC;iBAAM,IAAI,SAAS,KAAK,YAAY,IAAI,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC3E,+EAA+E;gBAC/E,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,4EAA4E;gBAC5E,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IASnC;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,cAAc;QAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE5F,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,aAAa,KAAK,SAAS,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;YACxD,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,cAAc,KAAK,SAAS,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;YACzD,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,cAAc,KAAK,SAAS,IAAI,QAAQ;YAAE,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QACvF,0EAA0E;QAC1E,mEAAmE;QACnE,wEAAwE;QACxE,IAAI,aAAa,KAAK,SAAS;YAAE,aAAa,GAAG,cAAc,CAAC;QAEhE,MAAM,YAAY,GAAG,QAAQ,EAAE,gBAAgB;YAC7C,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC5E,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAC/C,MAAM,CAAC,IAAI,CACT,cAAc,CAAC;YACb,GAAG;YACH,QAAQ;YACR,aAAa;YACb,cAAc;YACd,YAAY;YACZ,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,qBAAqB,EAAE,CAAC,CAAC,WAAW;YACpC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAChC,GAAG;YACH,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC;SAChD,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAkB;QAC7B,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;QACxD,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;QACxC,sBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC;QACzE,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE,EAAE,EAAE,4BAA4B,EAAE,EAAE;QACxD,sBAAsB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE;KACxD,CAAC;IACF,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,OAAO;YAAE,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,cAAc;YAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,WAAW,IAAI,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,CAAC,kBAAkB;YAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,mBAAmB;YAAE,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,cAAc;gBAAE,OAAO,CAAC,WAAW,EAAE,CAAC;gBAAC,MAAM;YAClD,KAAK,eAAe;gBAAE,OAAO,CAAC,YAAY,EAAE,CAAC;gBAAC,MAAM;YACpD,KAAK,UAAU;gBAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM;YAC1C,KAAK,YAAY;gBAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM;YAC7C,KAAK,KAAK;gBACR,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,CAAC,QAAQ,KAAK,uBAAuB;oBAAE,OAAO,CAAC,UAAU,EAAE,CAAC;;oBAC5D,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,0BAA0B;gBAAE,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBAAC,MAAM;YACzE,KAAK,SAAS;gBAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM;YACzC,KAAK,SAAS;gBAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM;YACzC,KAAK,uBAAuB;gBAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAAC,MAAM;QACrE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,eAAe,GAAG,GAAG,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IAEzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAQD,MAAM,UAAU,0BAA0B,CACxC,SAA+B,EAC/B,WAAmB;IAEnB,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM;SACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,uBAAuB,CAAC;SAC5E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,uBAAuB,GAAG,SAAS,CAAC,MAAM;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,uBAAuB,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;IAC5B,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,cAAc;QACd,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;QAC1C,uBAAuB;QACvB,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;QAChD,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,8EAA8E;QAC9E,uEAAuE;QACvE,8EAA8E;QAC9E,+EAA+E;QAC/E,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,CAAC,CAAC,4BAA4B,CAAC,MAAM;QAC/D,4BAA4B,EAAE,CAAC,GAAG,CAAC,CAAC,4BAA4B,CAAC;aAC9D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAClC,KAAK,CAAC,CAAC,EAAE,4CAA4C,CAAC;QACzD,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC;QACrD,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC;QACvD,WAAW;KACZ,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.978",
3
+ "version": "1.3.980",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-07-26T03:27:13.325Z",
5
- "instarVersion": "1.3.978",
4
+ "generatedAt": "2026-07-26T04:26:53.883Z",
5
+ "instarVersion": "1.3.980",
6
6
  "entryCount": 202,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -0,0 +1,26 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ Completed the guard-posture false-all-clear fix across machines. Capacity heartbeats now carry the full count and at most 16 sorted keys for load-bearing protections whose existing posture is `missing`, `errored`, `on-stale`, or `off-runtime-divergent`. The Machines dashboard displays that read-only result in each machine’s detail record. Existing guard classification, critical-gap membership, machine health, probe anomalies, and notifications are unchanged.
9
+
10
+ The key ceiling is explicit: today’s 13 load-bearing guards all fit, while a future larger set keeps its full count and marks a truncated sample instead of growing every 30-second heartbeat without bound.
11
+
12
+ ## What to Tell Your User
13
+
14
+ The cross-machine safety-check view now says when a machine cannot prove a critical protection, instead of letting an empty critical-gap list look like a complete all-clear. This adds detail only; it does not create another alert.
15
+
16
+ ## Summary of New Capabilities
17
+
18
+ - Machine details now show load-bearing protections that are loudly unproven.
19
+ - The frequent heartbeat carries a bounded key sample plus the complete count.
20
+
21
+ ## Evidence
22
+
23
+ - Refusal-first unit coverage failed before implementation because the heartbeat dropped the list and the fleet record did not display it.
24
+ - Unit coverage constructs an errored load-bearing guard and proves it stays out of the gap list, enters the new bounded heartbeat list, and produces exactly one existing anomaly with no second notification track.
25
+ - Integration coverage proves the fields survive heartbeat persistence and the real authenticated `/pool` route.
26
+ - End-to-end coverage opens the shipped Machines glance and requires the remote guard key in the machine record.
@@ -0,0 +1,85 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ **A response reviewer that had never run once reported a PERFECT pass rate and a status of
9
+ `healthy` — so "this has never executed" was indistinguishable from "this is working perfectly."**
10
+
11
+ `CoherenceGate.getReviewerHealth` computed `passRate = total > 0 ? passCount / total : 1` and
12
+ defaulted `status` to `'healthy'`. With zero observations the absent case defaulted **optimistic**:
13
+ a reviewer that had done nothing scored 100%, and `overallStatus` aggregated it as healthy.
14
+
15
+ `getReviewerStats` carried the same defect pointing both directions at once — `passRate: 0`
16
+ (pessimistic) for the SAME quantity about 110 lines away, plus `jsonValidityRate: 1`, claiming
17
+ perfect JSON validity from a reviewer that had never parsed a response. Two opposite defaults for one
18
+ quantity in one file is the tell that neither was reasoned about, so both sites are fixed together.
19
+
20
+ Now: rates are `null` when there are no observations (a rate over zero calls is not a rate), the
21
+ denominator always travels beside them, and a new `observationsRequired` / `insufficientEvidence`
22
+ pair states what a verdict needs. `status` gains a fourth value, `'unobserved'`, and `overallStatus`
23
+ uses the precedence `failing > degraded > unobserved > healthy` so an unknown reviewer can never
24
+ aggregate up as healthy.
25
+
26
+ **The floor gates only the optimistic conclusion.** A reviewer that errored on both of its only two
27
+ calls is still reported `'failing'`; thin evidence must never suppress bad news, only good news.
28
+ Verified before/after: never-ran went from `passRate 1, healthy` to `passRate null, unobserved`; one
29
+ passing call reports its honest rate of 1 with the verdict withheld; two-of-two errors stays
30
+ `failing`; twenty passes stays `healthy`.
31
+
32
+ This adopts a precedent the codebase already keeps rather than inventing one.
33
+ `SelfActionGovernor.checkObserveLimbo` computes the identical shape of rate and gates its criterion
34
+ on `total >= 100`, which is exactly why that expression is harmless there and was a defect here.
35
+
36
+ Two existing tests changed because they were holding the defect in place. One asserted
37
+ `overallStatus === 'healthy'` when no reviews had run, pinning it as correct behaviour. The other,
38
+ named `detects degraded status when error rate is high`, carried a comment promising to "simulate
39
+ high error rate by directly manipulating metrics" and manipulated nothing — it created a fresh gate
40
+ and asserted `'healthy'`, so despite its name it exercised the never-ran path and left the
41
+ `degraded` and `failing` branches with zero coverage while sitting green in the suite. It now
42
+ performs the simulation its own comment described, and both branches are covered.
43
+
44
+ ## What to Tell Your User
45
+
46
+ Nothing to do, and on most installs nothing visible: the response-review pipeline is off by default,
47
+ so its health endpoints already answer "not enabled."
48
+
49
+ Where it does run, the health view is now honest about what it does not know. A reviewer that has not
50
+ been exercised yet shows as **unobserved** with its observation count, rather than as a flawless
51
+ 100%. Read that as "nothing is wrong and nothing is known yet" — it is deliberately not an alarm.
52
+ Genuine problems are still reported as promptly as before, including on very few observations.
53
+
54
+ ## Summary of New Capabilities
55
+
56
+ - Reviewer health distinguishes "no observations yet" from "healthy": rates report `null` rather than
57
+ an invented default, the denominator travels beside every rate, and `unobserved` is a first-class
58
+ status that can never aggregate up as healthy.
59
+ - The observation floor gates only the optimistic verdict, so a failing reviewer is still reported as
60
+ failing on as few as two observations.
61
+
62
+ ## Evidence
63
+
64
+ **Reproduction (before):** construct the gate with reviewers registered and call
65
+ `getReviewerHealth()` without running a single review. Observed: `passRate: 1`, `status: 'healthy'`,
66
+ `overallStatus: 'healthy'` — a perfect score from zero observations. `getReviewerStats()` on the same
67
+ gate: `passRate: 0`, `jsonValidityRate: 1` (the same quantity defaulting the opposite way, and
68
+ perfect JSON validity from a reviewer that had never parsed a response).
69
+
70
+ **Observed after,** same four scenarios run against the built code:
71
+
72
+ | scenario | before | after |
73
+ |---|---|---|
74
+ | never ran (0 obs) | `passRate 1`, `healthy` | `passRate null`, `errorRate null`, `unobserved`, `insufficientEvidence true` |
75
+ | one passing call | `passRate 1`, `healthy` | `passRate 1` (honest), verdict withheld → `unobserved` |
76
+ | errored on both of 2 calls | `failing` | `failing` — unchanged, bad news not suppressed |
77
+ | 20 passes | `healthy` | `healthy` — unchanged, no false alarm |
78
+ | `getReviewerStats`, 0 obs | `passRate 0`, `jsonValidityRate 1` | every rate `null`, `insufficientEvidence true` |
79
+
80
+ **Tests:** `tests/unit/CoherenceGateCanary.test.ts` — never-ran refused a healthy verdict and reports
81
+ no rate; thin evidence reports its real rate but withholds the verdict; thin evidence still reports
82
+ `failing`; sufficient evidence reports `healthy` unchanged; `overallStatus` never aggregates an
83
+ unobserved reviewer as healthy; `degraded` and `failing` thresholds now genuinely exercised (they had
84
+ **zero** coverage before — the test named for them manipulated no metrics); `getReviewerStats`
85
+ reports null rates rather than zeros or a perfect score. 37 tests pass across the two affected files.
@@ -0,0 +1,44 @@
1
+ # Fleet guard-posture completeness — Plain-English Overview
2
+
3
+ > The one-line version: every machine now carries a bounded list of load-bearing protections it cannot currently prove, and the fleet view displays that list without creating another alarm.
4
+
5
+ ## The problem in one breath
6
+
7
+ The local guard readout already distinguishes two different questions: which critical protections are silently unguarded, and which critical protections are loudly unproven because their posture is missing, errored, stale, or contradicted by runtime state. The compact heartbeat omitted the second answer. That meant the cross-machine view could still show an empty critical-gap list and be mistaken for a complete all-clear even though the sending machine had explicitly found a load-bearing protection it could not prove.
8
+
9
+ ## What already exists
10
+
11
+ - **Local guard inventory** — names load-bearing guards in the four existing unproven posture classes while leaving them out of the silent-gap class.
12
+ - **Guard posture alarms** — raise the existing missing, errored, stale, or runtime-divergent anomaly. They deliberately do not raise a second load-bearing-gap alarm for the same guard.
13
+ - **Machine heartbeat and pool view** — carry a compact guard-posture block from each machine and retain its last known value for a dark peer.
14
+ - **Machines dashboard** — reads the pool response and opens a per-machine detail record.
15
+
16
+ ## What this adds
17
+
18
+ The heartbeat gains a full count and a bounded key sample for load-bearing protections whose existing posture cannot currently prove protection. The producer sorts the keys and sends at most 16 of them. Sixteen covers all 13 load-bearing guards in today’s manifest, and the uncapped count remains present if the manifest later grows past the key ceiling, so truncation is visible rather than becoming another false all-clear.
19
+
20
+ The machine detail record displays the count and the keys received from that machine. If the count is larger than the key sample, it says how many keys are shown. This is the actual reader for the new wire field; it prevents the fix from stopping at a decorative payload that no operator surface consumes.
21
+
22
+ ## The new pieces
23
+
24
+ - **Bounded heartbeat projection** — copies the already-derived unproven list into a count plus at most 16 deterministic keys. It cannot classify a guard, change a gap, or trigger an action.
25
+ - **Fleet detail rendering** — displays “Load-bearing protection unproven” inside the existing machine record. It does not change the machine headline, attention tile, warning tone, or notification path.
26
+ - **Durable semantic comparison** — treats the new count and key sample as meaningful heartbeat state, so a changed sample persists even when the older aggregate posture counts happen to remain equal.
27
+
28
+ ## The safeguards
29
+
30
+ **Prevents double-alarming.** The peer probe continues to ignore the new fields. A load-bearing errored guard still produces exactly one existing errored anomaly and no load-bearing-gap episode or fleet notification.
31
+
32
+ **Prevents classification drift.** The local effective-state precedence, `loadBearingGap` membership, gap keys, and machine-health calculation are unchanged. The new fields are a read-only projection of an existing list.
33
+
34
+ **Prevents heartbeat growth from becoming open-ended.** At most 16 key strings ride each 30-second heartbeat. The full count travels independently, so a future seventeenth key is omitted from the sample but not from the truth.
35
+
36
+ **Refuses a decorative wire field.** Unit coverage pins the producer, bound, and no-second-alarm rule. Integration coverage carries the fields through durable pool state and the real `/pool` route. End-to-end coverage opens the shipped Machines glance and requires the remote key to appear in the machine record.
37
+
38
+ ## What ships when
39
+
40
+ This is one additive patch completing the same guard-read-surface item as the local summary. Older peers and consumers remain compatible because the two wire members are optional on read; upgraded senders always emit both.
41
+
42
+ ## What you actually need to decide
43
+
44
+ Does this patch complete the cross-machine read without changing any existing guard classification, anomaly, notification, or fleet-health decision?
@@ -0,0 +1,137 @@
1
+ # Side-Effects Review — Fleet guard-posture completeness
2
+
3
+ **Version / slug:** `guard-heartbeat-unproven-summary`
4
+ **Date:** `2026-07-25`
5
+ **Author:** `Instar Agent (instar-codey)`
6
+ **Second-pass reviewer:** `heartbeat_guard_review`
7
+
8
+ ## Summary of the change
9
+
10
+ `src/monitoring/guardPostureView.ts` projects the existing `loadBearingUninspectableKeys` summary into the capacity heartbeat as a full `loadBearingUninspectable` count plus at most 16 sorted keys. `src/core/types.ts` adds the optional wire members, and `src/core/GuardPostureStore.ts` includes them in write-on-change semantic equality. `dashboard/glance.js` displays the received count and keys in the existing per-machine Layer-3 record. No guard row, gap membership, anomaly, attention item, notification, machine-health calculation, or placement decision changes.
11
+
12
+ ## Decision-point inventory
13
+
14
+ No block/allow or actuation decision point is added or modified.
15
+
16
+ - `buildHeartbeatPostureBlock` — **modify** — adds a bounded read-only projection of an existing summary list.
17
+ - `GuardPostureStore.postureSemanticsEqual` — **modify** — recognizes changes to the new wire fields for persistence; it does not decide posture or liveness.
18
+ - `machineRecordNode` — **modify** — displays received data at Layer 3 only.
19
+ - `GuardPostureProbe` — **pass-through** — deliberately unchanged; it continues to alarm only the pre-existing posture and gap classes.
20
+ - `guardPostureProblems` / `machineNeedsAttention` — **pass-through** — deliberately unchanged; the new field cannot alter fleet health or attention classification.
21
+
22
+ ---
23
+
24
+ ## 1. Over-block
25
+
26
+ No block/allow surface — over-block not applicable. The producer accepts every existing inventory, and older heartbeat payloads without the optional fields remain valid.
27
+
28
+ ---
29
+
30
+ ## 2. Under-block
31
+
32
+ The 16-key sample can omit individual keys if the load-bearing manifest grows beyond 16, but the full count makes that truncation explicit and the dashboard says how many keys are shown. Today’s manifest contains 13 load-bearing guards, so every current key fits.
33
+
34
+ One adjacent persistence limitation was observed and left unchanged: `GuardPostureStore.postureSemanticsEqual` does not compare the three older `loadBearingGapKeys`, `loadBearingSoakingKeys`, or `loadBearingAcceptedKeys` lists. Live in-memory posture still updates before the equality check, but a keys-only change to one of those older lists may not be written for restart recovery when every compared count stays equal. This PR compares only the two new fields required for its own durable wiring. The adjacent finding is reported to Echo and is neither fixed nor filed here.
35
+
36
+ By instruction, the field name retains the earlier `Uninspectable` wording even though `off-runtime-divergent` is more precisely “inspected but unproven.” The code comment and operator label use “cannot prove protection” / “unproven,” preserving wire compatibility without a behavior-free rename.
37
+
38
+ ---
39
+
40
+ ## 3. Level-of-abstraction fit
41
+
42
+ The projection belongs in `buildHeartbeatPostureBlock`, which already translates the complete local inventory into the compact wire shape. It reuses the canonical list instead of re-deriving posture in the heartbeat or dashboard. The 16-key clamp is a transport bound, not a posture heuristic. Display belongs in the existing machine record because `/pool` is the fleet heartbeat consumer and that record already renders the machine’s guard counts.
43
+
44
+ ---
45
+
46
+ ## 4. Signal vs authority compliance
47
+
48
+ **Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
49
+
50
+ **Does this change hold blocking authority with brittle logic?**
51
+
52
+ - [ ] No — this change produces a signal consumed by an existing smart gate.
53
+ - [x] No — this change has no block/allow surface.
54
+ - [ ] Yes — but the logic is a smart gate with full conversational context (LLM-backed with recent history or equivalent).
55
+ - [ ] ⚠️ Yes, with brittle logic — STOP. Reshape the design.
56
+
57
+ The new heartbeat members can only describe already-derived state. Neither the store nor the dashboard can enable, disable, suppress, alarm, notify, place, or authorize anything from them. Existing authorities receive byte-for-byte equivalent inputs because the probe does not read the new members.
58
+
59
+ ---
60
+
61
+ ## 4b. Judgment-point check (Judgment Within Floors standard)
62
+
63
+ No new static heuristic is added at a competing-signals decision point. Membership comes from the existing closed list. The number 16 is an explicit transport ceiling over a deterministic sample, paired with an uncapped count; it does not decide whether protection is healthy.
64
+
65
+ ---
66
+
67
+ ## 5. Interactions
68
+
69
+ - **Shadowing:** none. Posture classification and summary assembly complete before heartbeat projection. The dashboard reads the result after pool ingestion.
70
+ - **Double-fire:** structurally prevented. No new call to `emitAttention`, `createAttentionItem`, notification code, or probe evaluator exists. The peer refusal test presents `errored: 1` together with the new key and obtains exactly one existing acute episode and no load-bearing episode.
71
+ - **Races:** no new concurrent state is introduced. `MachinePoolRegistry` already replaces its in-memory posture on each beat; the store’s existing synchronous write-on-change path receives two more compared fields.
72
+ - **Feedback loops:** none. `/pool` and the Machines glance are read surfaces. The displayed value is never fed into guard evaluation, machine health, routing, placement, or messaging.
73
+ - **Compatibility:** the wire fields are optional for old persisted records and old peers. The renderer falls back to the key-array length when a transitional payload has keys but no count and refuses to display a count smaller than the keys actually present.
74
+ - **Payload:** the new list is sorted and sliced to 16. The full count is one number; there is no unbounded free text.
75
+
76
+ ---
77
+
78
+ ## 6. External surfaces
79
+
80
+ Authenticated `/pool` callers receive two additive optional members inside each machine’s existing `guardPosture` block. The Machines dashboard displays them in the existing machine detail record. No response status, authentication rule, peer URL, external-service call, Telegram/Slack message, attention item, or notification changes.
81
+
82
+ The persisted `guard-posture-peers.json` may contain the two additive fields after an upgraded heartbeat. Old records deserialize because the fields are optional; rollback ignores the extra JSON members.
83
+
84
+ No operator-facing action is added. The surface is diagnostic only: there is no grant, approval, destructive operation, or laptop-only workflow.
85
+
86
+ ---
87
+
88
+ ## 6b. Operator-surface quality (Operator-Surface Quality standard)
89
+
90
+ 1. **Leads with the primary action?** There is no action. The new answer appears directly in the already-open machine record beside its other safety-check facts; it is not hidden behind another toggle.
91
+ 2. **Zero raw internals as primary content?** The plain label is “Load-bearing protection unproven.” Guard keys are supporting identifiers after the human-readable count, not headline or tile content.
92
+ 3. **Destructive actions de-emphasized?** No destructive or constructive control is added.
93
+ 4. **Plain language + phone width?** The label is plain language and the existing record value style uses `overflow-wrap: anywhere`, so long guard keys wrap instead of forcing horizontal scroll. The change adds no table or fixed-width element. Unit, integration, and end-to-end DOM tests open the real Layer-3 record and require the count/key text; the existing phone-width record layout and tap targets are unchanged.
94
+
95
+ ---
96
+
97
+ ## 7. Multi-machine posture (Cross-Machine Coherence)
98
+
99
+ **Posture: replicated via heartbeat.** Each machine derives its own machine-local guard truth and includes the bounded projection in its normal capacity heartbeat. `MachinePoolRegistry` receives it, `GuardPostureStore` retains the last known value for a dark peer, `GET /pool` returns it, and the Machines glance displays it with that machine’s identity.
100
+
101
+ It emits no user-facing notice, so one-voice gating is not needed. It adds no new store or topic-bound state; it extends the existing per-machine posture record. It generates no URLs. The peer probe deliberately ignores the field, preventing a per-machine multiplication of notices.
102
+
103
+ ---
104
+
105
+ ## 8. Rollback cost
106
+
107
+ Revert the two wire members, producer projection, semantic comparison, dashboard row, and tests, then ship a patch. Existing persisted JSON may retain unknown additive members, which older code ignores. There is no schema migration, database cleanup, agent reset, user notification, or classification repair.
108
+
109
+ ---
110
+
111
+ ## Conclusion
112
+
113
+ The change completes the second read surface without creating a second behavioral system. The heartbeat is explicitly bounded, the count preserves truth under truncation, the fleet reader displays the field, and all existing authority paths remain unchanged. Refusal-first tests pin the errored guard’s exclusion from `loadBearingGapKeys`, inclusion in the new list, exactly one existing anomaly with no notification track, the 16-key ceiling, persistence, real `/pool` exposure, and end-to-end display.
114
+
115
+ ---
116
+
117
+ ## Second-pass review (required: guard-related change)
118
+
119
+ **Reviewer:** `heartbeat_guard_review`
120
+
121
+ **Independent read of the artifact:** Concur with the review: the errored load-bearing guard remains outside `loadBearingGapKeys`; the heartbeat adds only an honest full count plus a deterministic 16-key sorted sample; probe, notification, and machine-health decision paths do not consume the new fields; persistence and the real `/pool` → Machines record path are wired; and the focused unit/integration/e2e suite passes 98/98 with direct refusal assertions for field omission, count dishonesty, cap removal, persistence loss, and display loss. I found no inaccurate artifact claim or adjacent scope drift requiring rework.
122
+
123
+ ---
124
+
125
+ ## Evidence pointers
126
+
127
+ - Before implementation, the focused unit suite failed three assertions: the heartbeat count/list were absent and the machine record omitted the load-bearing-unproven row.
128
+ - Unit: 67/67 across producer, probe refusal, and dashboard drill-down suites.
129
+ - Integration: 26/26 across heartbeat persistence, real `/pool`, and Machines glance wiring.
130
+ - E2E: 5/5 in the shipped jargon-belt Machines lifecycle.
131
+ - Static/build: `npm run lint` and `npm run build` pass without threshold changes.
132
+
133
+ ---
134
+
135
+ ## Class-Closure Declaration (display-only mirror)
136
+
137
+ No agent-authored-artifact defect and no self-triggered controller change — not applicable.
@@ -0,0 +1,152 @@
1
+ # Side-Effects Review — a reviewer that never ran reported a PERFECT pass rate
2
+
3
+ **Version / slug:** `reviewer-health-unobserved`
4
+ **Date:** `2026-07-26`
5
+ **Author:** `Echo (instar-dev agent)`
6
+ **Second-pass reviewer:** `author-applied lenses — see Phase 5 note (reduced independence, disclosed)`
7
+
8
+ ## Summary of the change
9
+
10
+ `CoherenceGate.getReviewerHealth()` computed `passRate = total > 0 ? passCount/total : 1`
11
+ and defaulted `status` to `'healthy'`. With zero observations a reviewer that had **never
12
+ executed once** therefore reported a perfect pass rate and a healthy status, and
13
+ `overallStatus` aggregated it as healthy. The absence of information rendered identically
14
+ to the presence of good information.
15
+
16
+ `getReviewerStats()` carried the same defect pointing both directions at once: `passRate: 0`
17
+ (pessimistic) for the SAME quantity ~110 lines away, and `jsonValidityRate: 1` — claiming
18
+ perfect JSON validity from a reviewer that had never parsed a response. Two opposite
19
+ defaults for one quantity in one file is the tell that neither was reasoned about.
20
+
21
+ After: rates are `null` at zero observations, the denominator is always present, `status`
22
+ gains `'unobserved'`, and a minimum-observation floor (5) gates **only** the optimistic
23
+ conclusion.
24
+
25
+ ## Decision-point inventory
26
+
27
+ | point | classification | note |
28
+ |---|---|---|
29
+ | `status` per reviewer | `invariant` | Deterministic thresholds on measured rates. No competing signals; the only change is that the optimistic branch now requires evidence. |
30
+ | `overallStatus` aggregation | `invariant` | Fixed precedence `failing > degraded > unobserved > healthy`. |
31
+ | `REVIEWER_HEALTH_MIN_OBSERVATIONS` | `invariant` | A constant floor, not a judgment. Adopts the `total >= 100` precedent in `SelfActionGovernor.checkObserveLimbo`; smaller (5) because this surface reports continuously rather than gating a one-way promotion. |
32
+
33
+ ## 1. Over-block
34
+
35
+ **What legitimate inputs does this change reject that it shouldn't?**
36
+
37
+ Nothing is blocked — this is a read surface with no gating authority (verified: the only
38
+ consumer of `getReviewerHealth` is `routes.ts` serving `GET /review/health`).
39
+
40
+ The nearest analogue to over-blocking is **withholding a healthy verdict from a reviewer
41
+ that deserves one**. Bounded: 1–4 observations report `status: 'unobserved'` with the real
42
+ rate still visible, so a reader loses the label and keeps the data. At 5+ observations the
43
+ verdict returns. Demonstrated: 20 passes → `'healthy'`, unchanged from before.
44
+
45
+ ## 2. Under-block
46
+
47
+ **What failure modes does this still miss?**
48
+
49
+ - The floor is a count, not a confidence interval. 5 passes out of 5 reports `'healthy'`
50
+ though a real interval would still be wide. Deliberate: this is a health display, and
51
+ the previous state was infinitely worse (0 observations → healthy).
52
+ - `jsonParseErrors > total * 0.3` remains reachable at low `total`. Left as-is: it errs
53
+ toward *degraded*, which is the safe direction, and widening this change to re-derive
54
+ every threshold would exceed the finding.
55
+ - Sibling sites in the same audit class are NOT fixed here and are recorded rather than
56
+ silently dropped: `dashboardInsightCollectors.ts:57` (`overallErrorRate → 0`, rendered
57
+ `Error rate: 0%`) is a real display-class instance; `OrgIntentDriftAnalyzer`,
58
+ `IntentDriftDetector`, `FeatureRegistry`, `ScenarioPack`, `GrowthMilestoneAnalyst` and
59
+ `escalation-resolution` are unexamined. The class is NOT closed.
60
+
61
+ ## 3. Level-of-abstraction fit
62
+
63
+ **Is this at the right layer?**
64
+
65
+ Yes. The defect is in how these two methods report their own metrics, so the fix belongs in
66
+ them. A shared "rate with provenance" helper was considered and rejected as premature: the
67
+ sibling instances have not been read yet, and inventing an abstraction over one confirmed
68
+ and one probable instance would be the "six mechanisms from one bad early choice" mistake
69
+ the registry spec's own review caught.
70
+
71
+ ## 4. Signal vs authority compliance
72
+
73
+ **Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
74
+
75
+ **Does this change hold blocking authority with brittle logic?**
76
+
77
+ No. Pure reporting, zero authority: no branch of either method blocks, delays, or alters
78
+ any message, and neither is consulted by any decision path. The change makes the surface
79
+ *less* likely to mislead a human reading it. There is no new failure mode where a
80
+ misclassification denies anything, because nothing is denied.
81
+
82
+ ## 4b. Judgment-point check (Judgment Within Floors standard)
83
+
84
+ No judgment point is introduced. Every branch is a deterministic comparison on counted
85
+ observations, and the new floor is a constant. The one asymmetry is deliberate and stated
86
+ in code: the floor gates the optimistic conclusion only, so thin evidence can never
87
+ suppress a genuine failure (errored on both of 2 calls → still `'failing'`).
88
+
89
+ ## 5. Interactions
90
+
91
+ - `getHealthDashboard()` consumes `stats.summary`, **not** `stats.reviewers`, so the
92
+ nullable rates do not reach it. Verified by reading the method.
93
+ - `getHealthDashboard()` already computed `reviewerCoverage` — "has this reviewer run?" —
94
+ as a separate boolean. The information needed to avoid this defect was already being
95
+ computed in the same class; the health surfaces just did not use it.
96
+ - `routes.ts:31285` and `:31367` JSON-serialise the results. `null` serialises cleanly.
97
+ No consumer performs arithmetic or `toFixed` on these fields (checked).
98
+ - No persistence, no migration, no config: these values are computed per call from
99
+ in-memory counters.
100
+
101
+ ## 6. External surfaces
102
+
103
+ `GET /review/health` and `GET /review/stats` response shapes change: rates may be `null`,
104
+ `status` may be `'unobserved'`, and three fields are added (`errorRate`,
105
+ `observationsRequired`, `insufficientEvidence`). On installs where the response-review
106
+ pipeline is disabled — including this one — both routes already return `501`, so the live
107
+ blast radius here is nil. Any consumer must already handle `501`, and a `null` rate is
108
+ strictly more honest than the `1` it replaces.
109
+
110
+ ## 6b. Operator-surface quality
111
+
112
+ An operator asking "is my outbound review pipeline healthy?" previously received a
113
+ confident yes from a pipeline that had never run. They now receive `unobserved` with the
114
+ observation count beside it, which is answerable rather than misleading. `'unobserved'` is
115
+ deliberately not an alarm word: nothing is wrong, nothing is known yet.
116
+
117
+ ## 7. Multi-machine posture (Cross-Machine Coherence)
118
+
119
+ **Posture: `unified` by construction — no new state.** These are derived reads over
120
+ per-process in-memory counters that already existed. Each machine reports its own
121
+ reviewers' observations, which is correct: a reviewer's execution count is a property of
122
+ the process that ran it. No replication path is needed because nothing is stored, and no
123
+ `machine-local-justification` marker is required because no new machine-local state is
124
+ introduced.
125
+
126
+ ## 8. Rollback cost
127
+
128
+ Trivial and self-contained: revert one commit touching one source file and one test file.
129
+ No migration, no persisted state, no config key, nothing to unwind. A consumer written
130
+ against the new shape sees the old shape again, and the old shape's failure mode is the
131
+ one documented above.
132
+
133
+ ## Phase 5 — Second-pass review (independent reviewer subagent)
134
+
135
+ **Disclosure, per Truthful Provenance:** no independent reviewer subagent was spawned.
136
+ A standing instruction in this session prohibits spawning subagents unless the operator
137
+ requests it, so the review lenses (over-block, under-block, abstraction fit, signal-vs-
138
+ authority, interactions, multi-machine) were applied by the author. That is **reduced
139
+ independence** and is recorded as such rather than presented as a concurring second pass.
140
+
141
+ What author-applied review actually caught and changed:
142
+
143
+ 1. An initial draft treated `total === 0` and `0 < total < 5` as one state. Splitting them
144
+ mattered: at `total > 0` the rate is real data worth showing, and only the *verdict*
145
+ needs withholding. Hence `passRate` is `null` only at zero, never at "few".
146
+ 2. The first design gated all three branches on the floor, which would have **suppressed a
147
+ genuine failure** on thin evidence — recreating the same defect pointing the other way.
148
+ Corrected so the floor gates optimism only.
149
+ 3. The consumer check was run rather than assumed, which is what established that
150
+ `getHealthDashboard` reads `stats.summary` and is unaffected. An earlier claim in this
151
+ session that this surface "gates the enforcement flip" was **disproven** by the same
152
+ check and withdrawn: `getReviewerHealth` has exactly one consumer, the route.