@principles/core 1.240.20 → 1.241.0
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.
- package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js +46 -0
- package/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js.map +1 -1
- package/dist/runtime-v2/diagnostician/diag-distiller-output.d.ts +2 -0
- package/dist/runtime-v2/diagnostician/diag-distiller-output.d.ts.map +1 -1
- package/dist/runtime-v2/diagnostician/diag-distiller-output.js +29 -2
- package/dist/runtime-v2/diagnostician/diag-distiller-output.js.map +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts +15 -0
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts.map +1 -0
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js +90 -0
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js.map +1 -0
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +6 -0
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.d.ts +11 -0
- package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.js +124 -0
- package/dist/runtime-v2/internalization/__tests__/artifact-content-hash.property.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.d.ts +12 -0
- package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.js +253 -0
- package/dist/runtime-v2/internalization/__tests__/artifact-summary.property.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.js +279 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-toggle-characterization.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts +22 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js +92 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.d.ts +165 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.js +657 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.d.ts +22 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.js +229 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike-fixtures.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js +1039 -0
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts +22 -0
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js +280 -0
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts +25 -0
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js +413 -0
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.d.ts +12 -0
- package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.js +176 -0
- package/dist/runtime-v2/internalization/__tests__/summary-freshness.property.test.js.map +1 -0
- package/dist/runtime-v2/internalization/artifact-content-hash.d.ts +19 -0
- package/dist/runtime-v2/internalization/artifact-content-hash.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/artifact-content-hash.js +116 -0
- package/dist/runtime-v2/internalization/artifact-content-hash.js.map +1 -0
- package/dist/runtime-v2/internalization/artifact-summary.d.ts +106 -0
- package/dist/runtime-v2/internalization/artifact-summary.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/artifact-summary.js +331 -0
- package/dist/runtime-v2/internalization/artifact-summary.js.map +1 -0
- package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.js +29 -1
- package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts +60 -0
- package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/attach-summary-envelope.js +126 -0
- package/dist/runtime-v2/internalization/attach-summary-envelope.js.map +1 -0
- package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.js +20 -2
- package/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js +6 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.js +25 -1
- package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts +9 -1
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.js +28 -6
- package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +35 -2
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.js +25 -1
- package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.js +23 -1
- package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.d.ts +30 -0
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.js +106 -0
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/dist/runtime-v2/runner/peer-runner-types.d.ts +19 -0
- package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
- package/dist/runtime-v2/store/commit/diagnostician-committer.d.ts +15 -0
- package/dist/runtime-v2/store/commit/diagnostician-committer.d.ts.map +1 -1
- package/dist/runtime-v2/store/commit/diagnostician-committer.js +19 -1
- package/dist/runtime-v2/store/commit/diagnostician-committer.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-freshness.property.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/internalization/__tests__/summary-freshness.property.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAe,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,gCAAgC,GAGjC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,GAAW,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnF,gGAAgG;AAChG,MAAM,iBAAiB;IACrB,KAAK,GAAG,CAAC,CAAC;IAEV,eAAe;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;CACF;AAED,SAAS,WAAW;IAClB,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;QACjC,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,WAAoB;IACnC,OAAO;QACL,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC;QACpD,OAAO,EAAE,WAAW,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAElI,QAAQ,CAAC,4EAA4E,EAAE,GAAG,EAAE;IAC1F,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CACT,iBAAiB,EACjB,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EACzC,gBAAgB,EAChB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;YAChD,+DAA+D;YAC/D,8DAA8D;YAC9D,iEAAiE;YACjE,4DAA4D;YAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;YACzB,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBACrE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,uBAAuB;aAChC,CAAC,CAAC;QACL,CAAC,CACF,EACD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YAC/B,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YAClD,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/C,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;YACzB,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,uBAAuB;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YACrE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;YACpD,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,uBAAuB;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,GAAG,EAAE;QACpG,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YAC/B,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,OAAO,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;YAC/E,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,gCAAgC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5E,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;QAC5F,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,gCAAgC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACzD,gCAAgC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACvF,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QAChG,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;YACnG,mEAAmE;YACnE,qEAAqE;YACrE,mEAAmE;YACnE,+DAA+D;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,kBAAkB,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAC7E,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5F,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QACjG,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE;YACxG,kEAAkE;YAClE,kEAAkE;YAClE,iEAAiE;YACjE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,cAAc,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;YAChG,MAAM,iBAAiB,GAAY,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC3E,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/E,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2GAA2G,EAAE,GAAG,EAAE;QACnH,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;QAC5F,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,uEAAuE;YACvE,iEAAiE;YACjE,uEAAuE;YACvE,cAAc;YACd,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 0 — canonical serialization and content hashing (design §6.1, PR 1 /
|
|
3
|
+
* task 3.6).
|
|
4
|
+
*
|
|
5
|
+
* Pure logic only: no I/O. In particular this module does NOT import
|
|
6
|
+
* `node:crypto` — the hash algorithm is injected by the caller (plugin
|
|
7
|
+
* layer), keeping this file free of the `io-seam-registry.json` obligation
|
|
8
|
+
* (`antipattern-core-io`).
|
|
9
|
+
*/
|
|
10
|
+
/** Hash function injected by the caller (e.g. `node:crypto`'s sha256, hex-encoded). */
|
|
11
|
+
export type HashFn = (input: string) => string;
|
|
12
|
+
/** 256 KB. Content beyond this size only has its prefix hashed (documented limitation). */
|
|
13
|
+
export declare const CANONICAL_JSON_MAX_CHARS = 262144;
|
|
14
|
+
export declare function canonicalStringify(value: unknown): {
|
|
15
|
+
readonly text: string;
|
|
16
|
+
readonly truncated: boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare function computeContentHash(value: unknown, hash: HashFn): string;
|
|
19
|
+
//# sourceMappingURL=artifact-content-hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-content-hash.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artifact-content-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,uFAAuF;AACvF,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAE/C,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,SAAU,CAAC;AA+FhD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAOzG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 0 — canonical serialization and content hashing (design §6.1, PR 1 /
|
|
3
|
+
* task 3.6).
|
|
4
|
+
*
|
|
5
|
+
* Pure logic only: no I/O. In particular this module does NOT import
|
|
6
|
+
* `node:crypto` — the hash algorithm is injected by the caller (plugin
|
|
7
|
+
* layer), keeping this file free of the `io-seam-registry.json` obligation
|
|
8
|
+
* (`antipattern-core-io`).
|
|
9
|
+
*/
|
|
10
|
+
/** 256 KB. Content beyond this size only has its prefix hashed (documented limitation). */
|
|
11
|
+
export const CANONICAL_JSON_MAX_CHARS = 262_144;
|
|
12
|
+
const TRUNCATION_MARKER = '…[canonical-json-truncated]';
|
|
13
|
+
/**
|
|
14
|
+
* Stable serialization: object keys are sorted lexicographically at every
|
|
15
|
+
* level so that key-insertion-order differences never change the result.
|
|
16
|
+
* Arrays keep their original order (order is semantically meaningful there).
|
|
17
|
+
*
|
|
18
|
+
* Postcondition: the same input always yields the same string; truncation
|
|
19
|
+
* (when the result would exceed `CANONICAL_JSON_MAX_CHARS`) happens at a
|
|
20
|
+
* deterministic position and is explicitly marked — never silent (rc-9).
|
|
21
|
+
*
|
|
22
|
+
* Known limitation: content beyond `CANONICAL_JSON_MAX_CHARS` only has its
|
|
23
|
+
* prefix participate in the hash, so staleness detection on such oversized
|
|
24
|
+
* content only observes prefix changes. This is a documented trade-off, not
|
|
25
|
+
* a silently-accepted gap.
|
|
26
|
+
*/
|
|
27
|
+
// ── Stable JSON serialization ────────────────────────────────────────────────
|
|
28
|
+
/**
|
|
29
|
+
* Deterministic JSON.stringify replacement: sorts object keys, handles
|
|
30
|
+
* cycles and non-JSON-safe values (functions, undefined, symbols) the same
|
|
31
|
+
* way JSON.stringify would (dropped from objects, `null` inside arrays),
|
|
32
|
+
* and never throws on values JSON.stringify would reject (BigInt, circular
|
|
33
|
+
* references) — instead renders an explicit placeholder.
|
|
34
|
+
*/
|
|
35
|
+
function stableStringify(value, seen = new WeakSet()) {
|
|
36
|
+
if (value === null)
|
|
37
|
+
return 'null';
|
|
38
|
+
const type = typeof value;
|
|
39
|
+
if (type === 'string')
|
|
40
|
+
return JSON.stringify(value);
|
|
41
|
+
if (type === 'number')
|
|
42
|
+
return Number.isFinite(value) ? String(value) : 'null';
|
|
43
|
+
if (type === 'boolean')
|
|
44
|
+
return String(value);
|
|
45
|
+
if (type === 'bigint')
|
|
46
|
+
return JSON.stringify(`${String(value)}n`);
|
|
47
|
+
if (type === 'undefined' || type === 'function' || type === 'symbol')
|
|
48
|
+
return 'null';
|
|
49
|
+
if (Array.isArray(value)) {
|
|
50
|
+
if (seen.has(value))
|
|
51
|
+
return '"[Circular]"';
|
|
52
|
+
seen.add(value);
|
|
53
|
+
const items = value.map((entry) => stableStringify(entry, seen));
|
|
54
|
+
seen.delete(value);
|
|
55
|
+
return `[${items.join(',')}]`;
|
|
56
|
+
}
|
|
57
|
+
if (value instanceof Date) {
|
|
58
|
+
return JSON.stringify(Number.isNaN(value.getTime()) ? null : value.toISOString());
|
|
59
|
+
}
|
|
60
|
+
if (value instanceof Map) {
|
|
61
|
+
if (seen.has(value))
|
|
62
|
+
return '"[Circular]"';
|
|
63
|
+
seen.add(value);
|
|
64
|
+
const entries = [...value.entries()]
|
|
65
|
+
.map(([k, v]) => [String(k), v])
|
|
66
|
+
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
|
|
67
|
+
const body = entries.map(([k, v]) => `${JSON.stringify(k)}:${stableStringify(v, seen)}`).join(',');
|
|
68
|
+
seen.delete(value);
|
|
69
|
+
return `{${body}}`;
|
|
70
|
+
}
|
|
71
|
+
if (value instanceof Set) {
|
|
72
|
+
if (seen.has(value))
|
|
73
|
+
return '"[Circular]"';
|
|
74
|
+
seen.add(value);
|
|
75
|
+
const items = [...value.values()].map((entry) => stableStringify(entry, seen));
|
|
76
|
+
seen.delete(value);
|
|
77
|
+
return `[${items.join(',')}]`;
|
|
78
|
+
}
|
|
79
|
+
if (type === 'object') {
|
|
80
|
+
const obj = value;
|
|
81
|
+
if (seen.has(obj))
|
|
82
|
+
return '"[Circular]"';
|
|
83
|
+
seen.add(obj);
|
|
84
|
+
const keys = Object.keys(obj).sort((a, b) => (a < b ? -1 : a > b ? 1 : 0));
|
|
85
|
+
const parts = [];
|
|
86
|
+
for (const key of keys) {
|
|
87
|
+
const serialized = stableStringify(obj[key], seen);
|
|
88
|
+
// Mirror JSON.stringify's own behaviour: keys whose value serializes to
|
|
89
|
+
// undefined-equivalent (function/undefined/symbol) are simply omitted,
|
|
90
|
+
// not rendered as "key":null. stableStringify already renders those as
|
|
91
|
+
// 'null', so detect the pre-serialization type here directly.
|
|
92
|
+
const rawValue = obj[key];
|
|
93
|
+
const rawType = typeof rawValue;
|
|
94
|
+
if (rawValue === undefined || rawType === 'function' || rawType === 'symbol') {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
parts.push(`${JSON.stringify(key)}:${serialized}`);
|
|
98
|
+
}
|
|
99
|
+
seen.delete(obj);
|
|
100
|
+
return `{${parts.join(',')}}`;
|
|
101
|
+
}
|
|
102
|
+
// Unreachable for the standard JS type set, but never throw (defensive).
|
|
103
|
+
return '"[Unserializable]"';
|
|
104
|
+
}
|
|
105
|
+
export function canonicalStringify(value) {
|
|
106
|
+
const text = stableStringify(value);
|
|
107
|
+
if (text.length <= CANONICAL_JSON_MAX_CHARS) {
|
|
108
|
+
return { text, truncated: false };
|
|
109
|
+
}
|
|
110
|
+
const prefixLen = CANONICAL_JSON_MAX_CHARS - TRUNCATION_MARKER.length;
|
|
111
|
+
return { text: `${text.slice(0, Math.max(0, prefixLen))}${TRUNCATION_MARKER}`, truncated: true };
|
|
112
|
+
}
|
|
113
|
+
export function computeContentHash(value, hash) {
|
|
114
|
+
return hash(canonicalStringify(value).text);
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=artifact-content-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-content-hash.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artifact-content-hash.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 0 — ArtifactSummary derivation (design §6.1, PR 1 / task 3.2).
|
|
3
|
+
*
|
|
4
|
+
* Pure logic only: no I/O, no fs, no DB, no network. Follows the Core vs
|
|
5
|
+
* Plugin boundary (AGENTS.md `antipattern-core-io`).
|
|
6
|
+
*
|
|
7
|
+
* `deriveArtifactSummary` derives a small, deterministic, size-bounded
|
|
8
|
+
* `ArtifactSummary` from a runner's already-validated structured output.
|
|
9
|
+
* It never inspects raw prompt text, never calls an LLM, and never widens
|
|
10
|
+
* any output schema, validator, or prompt — the summary is a read-only
|
|
11
|
+
* projection of fields the production validator has already accepted
|
|
12
|
+
* (design §4.1, Requirement 1.7 / 1.15).
|
|
13
|
+
*
|
|
14
|
+
* rc-1 / rc-2: `validatedOutput` is received as `unknown` and narrowed only
|
|
15
|
+
* via `typeof` / `Array.isArray` — never via `as` casts.
|
|
16
|
+
* rc-5: object keys are read with `Object.hasOwn`, not `in` (ERR-013 — `in`
|
|
17
|
+
* would match inherited properties like `toString`/`constructor`).
|
|
18
|
+
* rc-9: every field the mapping table cannot resolve is recorded in
|
|
19
|
+
* `omittedFields`, never silently dropped.
|
|
20
|
+
*
|
|
21
|
+
* The per-stage field mapping mirrors the mapping already exercised (and
|
|
22
|
+
* gated) in `__tests__/progressive-disclosure-spike.test.ts` for the three
|
|
23
|
+
* diagnostic stages — that mapping went through the real Phase 0 LLM value
|
|
24
|
+
* -validation gate (four rounds), so this implementation intentionally
|
|
25
|
+
* matches it rather than inventing a second, divergent mapping.
|
|
26
|
+
*/
|
|
27
|
+
import { type HashFn } from './artifact-content-hash.js';
|
|
28
|
+
/**
|
|
29
|
+
* 8 kinds: 3 diagnostic stages + 5 peer stages.
|
|
30
|
+
* The three diagnostic stages only participate in writer-side summary and
|
|
31
|
+
* forwarding (design §4.7.1) — they do not own a `ContextManifest`.
|
|
32
|
+
*/
|
|
33
|
+
export type SummaryRunnerKind = 'diag_rootcause' | 'diag_distiller' | 'diag_router' | 'dreamer' | 'philosopher' | 'scribe' | 'artificer' | 'evaluator';
|
|
34
|
+
export declare const SUMMARY_RUNNER_KINDS: readonly SummaryRunnerKind[];
|
|
35
|
+
export declare const ARTIFACT_SUMMARY_SCHEMA_VERSION: 1;
|
|
36
|
+
export declare const SUMMARY_HEADLINE_MAX_CHARS = 200;
|
|
37
|
+
export declare const SUMMARY_FIELD_MAX_CHARS = 600;
|
|
38
|
+
/** Self-summary: deterministic derivation, never contains newly-generated LLM content. */
|
|
39
|
+
export interface ArtifactSummary {
|
|
40
|
+
readonly schemaVersion: typeof ARTIFACT_SUMMARY_SCHEMA_VERSION;
|
|
41
|
+
readonly runnerKind: SummaryRunnerKind;
|
|
42
|
+
/** tier0: single-line headline, length <= SUMMARY_HEADLINE_MAX_CHARS. */
|
|
43
|
+
readonly headline: string;
|
|
44
|
+
/** tier1: structured field extraction, stable key names (design §6.6 manifest field paths). */
|
|
45
|
+
readonly fields: Readonly<Record<string, string>>;
|
|
46
|
+
/** Derivation source, always 'structured_output' — reserved for future source kinds. */
|
|
47
|
+
readonly derivedFrom: 'structured_output';
|
|
48
|
+
/** Fields skipped during derivation (missing/empty) — rc-9: degradation must carry a reason. */
|
|
49
|
+
readonly omittedFields: readonly string[];
|
|
50
|
+
}
|
|
51
|
+
/** Direct-predecessor reference: exactly one level, no recursion. */
|
|
52
|
+
export interface PredecessorSummaryRef {
|
|
53
|
+
readonly artifactId: string;
|
|
54
|
+
readonly runnerKind: SummaryRunnerKind;
|
|
55
|
+
/** Hash of the predecessor's canonical contentJson, used for staleness detection. */
|
|
56
|
+
readonly contentHash: string;
|
|
57
|
+
readonly summary: ArtifactSummary;
|
|
58
|
+
}
|
|
59
|
+
/** Additive envelope merged into an artifact's contentJson (all fields optional). */
|
|
60
|
+
export interface ArtifactSummaryEnvelope {
|
|
61
|
+
readonly summary: ArtifactSummary;
|
|
62
|
+
readonly predecessorSummary?: PredecessorSummaryRef;
|
|
63
|
+
}
|
|
64
|
+
export type DeriveSummaryFailureReason = 'unsupported_runner_kind' | 'output_not_object' | 'no_derivable_field';
|
|
65
|
+
export type DeriveSummaryResult = {
|
|
66
|
+
readonly ok: true;
|
|
67
|
+
readonly value: ArtifactSummary;
|
|
68
|
+
} | {
|
|
69
|
+
readonly ok: false;
|
|
70
|
+
readonly reason: DeriveSummaryFailureReason;
|
|
71
|
+
readonly detail: string;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Pure function. Input is a runner's own already-validated output, but is
|
|
75
|
+
* still treated as `unknown` (rc-1) and read via `Object.hasOwn` (rc-5).
|
|
76
|
+
*
|
|
77
|
+
* Preconditions: `runnerKind` belongs to `SummaryRunnerKind`.
|
|
78
|
+
* Postconditions:
|
|
79
|
+
* - never throws (writer paths must not fail because of summary derivation)
|
|
80
|
+
* - `ok === true` implies `headline.length <= SUMMARY_HEADLINE_MAX_CHARS`
|
|
81
|
+
* and every `fields` value has `length <= SUMMARY_FIELD_MAX_CHARS`
|
|
82
|
+
* - identical input always produces byte-identical output (determinism,
|
|
83
|
+
* supports golden replay)
|
|
84
|
+
* - `ok === false` carries a `reason`; the caller must emit a degradation
|
|
85
|
+
* event (rc-9)
|
|
86
|
+
*/
|
|
87
|
+
export declare function deriveArtifactSummary(runnerKind: SummaryRunnerKind, validatedOutput: unknown): DeriveSummaryResult;
|
|
88
|
+
export type SummaryFreshness = {
|
|
89
|
+
readonly fresh: true;
|
|
90
|
+
} | {
|
|
91
|
+
readonly fresh: false;
|
|
92
|
+
readonly reason: 'content_hash_mismatch' | 'predecessor_missing';
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Freshness is judged solely by content-hash comparison — `updatedAt` is
|
|
96
|
+
* never read (Requirements 3.2 / 3.9): a pending→validated timestamp
|
|
97
|
+
* refresh must not be mistaken for a content change.
|
|
98
|
+
*
|
|
99
|
+
* No artifact-store read happens here — `loadedPredecessorContentJson` must
|
|
100
|
+
* already be in memory (it is the same object `buildContext` loaded for the
|
|
101
|
+
* current runner invocation, design F3). `hash` is the same injected
|
|
102
|
+
* `HashFn` used by `computeContentHash` (core does not import
|
|
103
|
+
* `node:crypto`, `antipattern-core-io`).
|
|
104
|
+
*/
|
|
105
|
+
export declare function checkPredecessorSummaryFreshness(ref: PredecessorSummaryRef | undefined, loadedPredecessorContentJson: unknown | undefined, hash: HashFn): SummaryFreshness;
|
|
106
|
+
//# sourceMappingURL=artifact-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-summary.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artifact-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAI7E;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,aAAa,GACb,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAEhB,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EASnD,CAAC;AAEX,eAAO,MAAM,+BAA+B,EAAG,CAAU,CAAC;AAC1D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,+BAA+B,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,wFAAwF;IACxF,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,gGAAgG;IAChG,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAED,qFAAqF;AACrF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;CACrD;AAED,MAAM,MAAM,0BAA0B,GAClC,yBAAyB,GACzB,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GACtD;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAwON;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,OAAO,GACvB,mBAAmB,CAqDrB;AAID,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,qBAAqB,CAAA;CAAE,CAAC;AAEhG;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,qBAAqB,GAAG,SAAS,EACtC,4BAA4B,EAAE,OAAO,GAAG,SAAS,EACjD,IAAI,EAAE,MAAM,GACX,gBAAgB,CAQlB"}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 0 — ArtifactSummary derivation (design §6.1, PR 1 / task 3.2).
|
|
3
|
+
*
|
|
4
|
+
* Pure logic only: no I/O, no fs, no DB, no network. Follows the Core vs
|
|
5
|
+
* Plugin boundary (AGENTS.md `antipattern-core-io`).
|
|
6
|
+
*
|
|
7
|
+
* `deriveArtifactSummary` derives a small, deterministic, size-bounded
|
|
8
|
+
* `ArtifactSummary` from a runner's already-validated structured output.
|
|
9
|
+
* It never inspects raw prompt text, never calls an LLM, and never widens
|
|
10
|
+
* any output schema, validator, or prompt — the summary is a read-only
|
|
11
|
+
* projection of fields the production validator has already accepted
|
|
12
|
+
* (design §4.1, Requirement 1.7 / 1.15).
|
|
13
|
+
*
|
|
14
|
+
* rc-1 / rc-2: `validatedOutput` is received as `unknown` and narrowed only
|
|
15
|
+
* via `typeof` / `Array.isArray` — never via `as` casts.
|
|
16
|
+
* rc-5: object keys are read with `Object.hasOwn`, not `in` (ERR-013 — `in`
|
|
17
|
+
* would match inherited properties like `toString`/`constructor`).
|
|
18
|
+
* rc-9: every field the mapping table cannot resolve is recorded in
|
|
19
|
+
* `omittedFields`, never silently dropped.
|
|
20
|
+
*
|
|
21
|
+
* The per-stage field mapping mirrors the mapping already exercised (and
|
|
22
|
+
* gated) in `__tests__/progressive-disclosure-spike.test.ts` for the three
|
|
23
|
+
* diagnostic stages — that mapping went through the real Phase 0 LLM value
|
|
24
|
+
* -validation gate (four rounds), so this implementation intentionally
|
|
25
|
+
* matches it rather than inventing a second, divergent mapping.
|
|
26
|
+
*/
|
|
27
|
+
import { computeContentHash } from './artifact-content-hash.js';
|
|
28
|
+
export const SUMMARY_RUNNER_KINDS = [
|
|
29
|
+
'diag_rootcause',
|
|
30
|
+
'diag_distiller',
|
|
31
|
+
'diag_router',
|
|
32
|
+
'dreamer',
|
|
33
|
+
'philosopher',
|
|
34
|
+
'scribe',
|
|
35
|
+
'artificer',
|
|
36
|
+
'evaluator',
|
|
37
|
+
];
|
|
38
|
+
export const ARTIFACT_SUMMARY_SCHEMA_VERSION = 1;
|
|
39
|
+
export const SUMMARY_HEADLINE_MAX_CHARS = 200;
|
|
40
|
+
export const SUMMARY_FIELD_MAX_CHARS = 600;
|
|
41
|
+
// ── Runtime guards (rc-1 / rc-2 / rc-5) ─────────────────────────────────────
|
|
42
|
+
function isRecord(value) {
|
|
43
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
44
|
+
}
|
|
45
|
+
function isSummaryRunnerKind(value) {
|
|
46
|
+
return SUMMARY_RUNNER_KINDS.includes(value);
|
|
47
|
+
}
|
|
48
|
+
/** Reads a non-empty string field by own-property key (rc-5). Empty/whitespace-only counts as absent. */
|
|
49
|
+
function readString(source, key) {
|
|
50
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
51
|
+
return null;
|
|
52
|
+
const value = source[key];
|
|
53
|
+
if (typeof value !== 'string')
|
|
54
|
+
return null;
|
|
55
|
+
const trimmed = value.trim();
|
|
56
|
+
return trimmed === '' ? null : value;
|
|
57
|
+
}
|
|
58
|
+
function readRecord(source, key) {
|
|
59
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
60
|
+
return null;
|
|
61
|
+
const value = source[key];
|
|
62
|
+
return isRecord(value) ? value : null;
|
|
63
|
+
}
|
|
64
|
+
function readArray(source, key) {
|
|
65
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
66
|
+
return null;
|
|
67
|
+
const value = source[key];
|
|
68
|
+
return Array.isArray(value) ? value : null;
|
|
69
|
+
}
|
|
70
|
+
/** rc-4: validate every array element's type before joining. */
|
|
71
|
+
function readStringList(source, key) {
|
|
72
|
+
const list = readArray(source, key);
|
|
73
|
+
if (list === null)
|
|
74
|
+
return null;
|
|
75
|
+
const strings = list.filter((entry) => typeof entry === 'string' && entry.trim() !== '');
|
|
76
|
+
return strings.length === 0 ? null : strings.join(' / ');
|
|
77
|
+
}
|
|
78
|
+
/** Reads a finite number field and renders it as a string (rc-1: no blind `as number`). */
|
|
79
|
+
function readNumberAsString(source, key) {
|
|
80
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
81
|
+
return null;
|
|
82
|
+
const value = source[key];
|
|
83
|
+
return typeof value === 'number' && Number.isFinite(value) ? String(value) : null;
|
|
84
|
+
}
|
|
85
|
+
/** Reads a boolean field and renders it as a string. */
|
|
86
|
+
function readBooleanAsString(source, key) {
|
|
87
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
88
|
+
return null;
|
|
89
|
+
const value = source[key];
|
|
90
|
+
return typeof value === 'boolean' ? String(value) : null;
|
|
91
|
+
}
|
|
92
|
+
// ── Deterministic text shaping ───────────────────────────────────────────────
|
|
93
|
+
function clamp(text, max) {
|
|
94
|
+
return text.length <= max ? text : `${text.slice(0, max - 1)}…`;
|
|
95
|
+
}
|
|
96
|
+
/** First sentence: bounded at the first CJK/ASCII sentence terminator, else the whole (clamped) text. */
|
|
97
|
+
function firstSentence(text) {
|
|
98
|
+
const match = /^[\s\S]*?[。;;.]/.exec(text);
|
|
99
|
+
const sentence = match?.[0] ?? text;
|
|
100
|
+
return clamp(sentence.trim(), SUMMARY_HEADLINE_MAX_CHARS);
|
|
101
|
+
}
|
|
102
|
+
/** Deterministic composition for headlines built from more than one field (e.g. "verdict + count"). */
|
|
103
|
+
function composeHeadline(parts) {
|
|
104
|
+
const nonEmpty = parts.filter((part) => part !== null && part.trim() !== '');
|
|
105
|
+
return nonEmpty.length === 0 ? null : clamp(nonEmpty.join('; '), SUMMARY_HEADLINE_MAX_CHARS);
|
|
106
|
+
}
|
|
107
|
+
function resolveDiagRootCause(output) {
|
|
108
|
+
const rootCause = readString(output, 'rootCause');
|
|
109
|
+
return {
|
|
110
|
+
headlineSource: rootCause === null ? null : firstSentence(rootCause),
|
|
111
|
+
resolved: {
|
|
112
|
+
rootSymptom: readString(output, 'summary'),
|
|
113
|
+
category: readString(output, 'rootCauseCategory'),
|
|
114
|
+
// DiagRootCauseOutputV1 has no severity-equivalent field → omitted (Requirement 1.13).
|
|
115
|
+
severity: null,
|
|
116
|
+
rootCause,
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function resolveDiagDistiller(output) {
|
|
121
|
+
const abstractedPrinciple = readString(output, 'abstractedPrinciple');
|
|
122
|
+
return {
|
|
123
|
+
headlineSource: abstractedPrinciple === null ? null : firstSentence(abstractedPrinciple),
|
|
124
|
+
resolved: {
|
|
125
|
+
// DiagDistillerOutputV1 has no literal "rootCause" field; `rationale`
|
|
126
|
+
// ("why this principle addresses the root cause") is the closest
|
|
127
|
+
// semantically-corresponding textual field (Requirement 1.13).
|
|
128
|
+
rootCause: readString(output, 'rationale'),
|
|
129
|
+
// No affectedComponents / severity equivalent in this stage's schema → omitted.
|
|
130
|
+
affectedComponents: null,
|
|
131
|
+
category: readString(output, 'scope'),
|
|
132
|
+
severity: null,
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function resolveDiagRouter(output) {
|
|
137
|
+
const summary = readString(output, 'summary');
|
|
138
|
+
const violated = readArray(output, 'violatedPrinciples') ?? [];
|
|
139
|
+
const violatedIds = violated
|
|
140
|
+
.map((entry) => readString(entry, 'principleId'))
|
|
141
|
+
.filter((id) => id !== null);
|
|
142
|
+
const recommendations = readArray(output, 'recommendations') ?? [];
|
|
143
|
+
const firstRecommendationKind = recommendations.length > 0 ? readString(recommendations[0], 'kind') : null;
|
|
144
|
+
return {
|
|
145
|
+
headlineSource: composeHeadline([summary, firstRecommendationKind]),
|
|
146
|
+
resolved: {
|
|
147
|
+
rootCause: readString(output, 'rootCause'),
|
|
148
|
+
affectedComponents: violatedIds.length > 0 ? violatedIds.join(' / ') : null,
|
|
149
|
+
rootSymptom: summary,
|
|
150
|
+
category: firstRecommendationKind,
|
|
151
|
+
// DiagnosticianOutputV1 has no severity-equivalent field → omitted.
|
|
152
|
+
severity: null,
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function resolveDreamer(output) {
|
|
157
|
+
const candidates = readArray(output, 'candidates') ?? [];
|
|
158
|
+
const firstCandidate = candidates.length > 0 ? candidates[0] : null;
|
|
159
|
+
const betterDecision = readString(firstCandidate, 'betterDecision');
|
|
160
|
+
return {
|
|
161
|
+
headlineSource: betterDecision === null ? null : firstSentence(betterDecision),
|
|
162
|
+
resolved: {
|
|
163
|
+
badDecision: readString(firstCandidate, 'badDecision'),
|
|
164
|
+
betterDecision,
|
|
165
|
+
rationale: readString(firstCandidate, 'rationale'),
|
|
166
|
+
riskLevel: readString(firstCandidate, 'riskLevel'),
|
|
167
|
+
strategicPerspective: readString(firstCandidate, 'strategicPerspective'),
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function resolvePhilosopher(output) {
|
|
172
|
+
const principleCandidate = readRecord(output, 'principleCandidate');
|
|
173
|
+
const title = readString(principleCandidate, 'title');
|
|
174
|
+
return {
|
|
175
|
+
headlineSource: title,
|
|
176
|
+
resolved: {
|
|
177
|
+
thesis: readString(output, 'thesis'),
|
|
178
|
+
principleTitle: title,
|
|
179
|
+
principleScope: readString(principleCandidate, 'scope'),
|
|
180
|
+
principleConfidence: readNumberAsString(principleCandidate, 'confidence'),
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function resolveScribe(output) {
|
|
185
|
+
const principleDraft = readRecord(output, 'principleDraft');
|
|
186
|
+
const statement = readString(principleDraft, 'statement');
|
|
187
|
+
return {
|
|
188
|
+
headlineSource: statement === null ? null : firstSentence(statement),
|
|
189
|
+
resolved: {
|
|
190
|
+
principleText: statement,
|
|
191
|
+
scope: readStringList(principleDraft, 'applicability'),
|
|
192
|
+
exceptions: readStringList(principleDraft, 'antiPatterns'),
|
|
193
|
+
},
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
function resolveArtificer(output) {
|
|
197
|
+
// ArtificerRuleOutput has no literal "changed files" / "API surface" field.
|
|
198
|
+
// `affectedTools` (list of tool names the rule affects) and
|
|
199
|
+
// `implementationSummary` are the closest semantically-corresponding
|
|
200
|
+
// fields (Requirement 1.13) — the real `implementationCode` is a tier2
|
|
201
|
+
// raw field and intentionally excluded from the summary.
|
|
202
|
+
const affectedTools = readStringList(output, 'affectedTools');
|
|
203
|
+
const implementationSummary = readString(output, 'implementationSummary');
|
|
204
|
+
const toolCount = readArray(output, 'affectedTools')?.length ?? null;
|
|
205
|
+
return {
|
|
206
|
+
headlineSource: composeHeadline([
|
|
207
|
+
toolCount !== null ? `${toolCount} affected tools` : null,
|
|
208
|
+
implementationSummary === null ? null : firstSentence(implementationSummary),
|
|
209
|
+
]),
|
|
210
|
+
resolved: {
|
|
211
|
+
changedFiles: affectedTools,
|
|
212
|
+
apiSurface: implementationSummary,
|
|
213
|
+
risks: readStringList(output, 'risks'),
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
function resolveEvaluator(output) {
|
|
218
|
+
const evaluation = readRecord(output, 'evaluation');
|
|
219
|
+
const decision = readString(evaluation, 'decision');
|
|
220
|
+
const concerns = readArray(evaluation, 'concerns');
|
|
221
|
+
const concernCount = concerns === null ? null : String(concerns.length);
|
|
222
|
+
const codeReview = readRecord(output, 'codeReview');
|
|
223
|
+
const intentConsistency = readRecord(codeReview, 'intentConsistency');
|
|
224
|
+
return {
|
|
225
|
+
headlineSource: composeHeadline([
|
|
226
|
+
decision === null ? null : `verdict=${decision}`,
|
|
227
|
+
concernCount === null ? null : `concerns=${concernCount}`,
|
|
228
|
+
]),
|
|
229
|
+
resolved: {
|
|
230
|
+
verdict: decision,
|
|
231
|
+
concernCount,
|
|
232
|
+
intentConsistency: readBooleanAsString(intentConsistency, 'aligned'),
|
|
233
|
+
},
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
const STAGE_RESOLVERS = {
|
|
237
|
+
diag_rootcause: resolveDiagRootCause,
|
|
238
|
+
diag_distiller: resolveDiagDistiller,
|
|
239
|
+
diag_router: resolveDiagRouter,
|
|
240
|
+
dreamer: resolveDreamer,
|
|
241
|
+
philosopher: resolvePhilosopher,
|
|
242
|
+
scribe: resolveScribe,
|
|
243
|
+
artificer: resolveArtificer,
|
|
244
|
+
evaluator: resolveEvaluator,
|
|
245
|
+
};
|
|
246
|
+
// ── Public API ───────────────────────────────────────────────────────────────
|
|
247
|
+
/**
|
|
248
|
+
* Pure function. Input is a runner's own already-validated output, but is
|
|
249
|
+
* still treated as `unknown` (rc-1) and read via `Object.hasOwn` (rc-5).
|
|
250
|
+
*
|
|
251
|
+
* Preconditions: `runnerKind` belongs to `SummaryRunnerKind`.
|
|
252
|
+
* Postconditions:
|
|
253
|
+
* - never throws (writer paths must not fail because of summary derivation)
|
|
254
|
+
* - `ok === true` implies `headline.length <= SUMMARY_HEADLINE_MAX_CHARS`
|
|
255
|
+
* and every `fields` value has `length <= SUMMARY_FIELD_MAX_CHARS`
|
|
256
|
+
* - identical input always produces byte-identical output (determinism,
|
|
257
|
+
* supports golden replay)
|
|
258
|
+
* - `ok === false` carries a `reason`; the caller must emit a degradation
|
|
259
|
+
* event (rc-9)
|
|
260
|
+
*/
|
|
261
|
+
export function deriveArtifactSummary(runnerKind, validatedOutput) {
|
|
262
|
+
if (!isSummaryRunnerKind(runnerKind)) {
|
|
263
|
+
return {
|
|
264
|
+
ok: false,
|
|
265
|
+
reason: 'unsupported_runner_kind',
|
|
266
|
+
detail: `Unsupported SummaryRunnerKind: ${String(runnerKind)}`,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
if (!isRecord(validatedOutput)) {
|
|
270
|
+
return {
|
|
271
|
+
ok: false,
|
|
272
|
+
reason: 'output_not_object',
|
|
273
|
+
detail: `validatedOutput for runnerKind "${runnerKind}" is not a non-null object`,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
const resolve = STAGE_RESOLVERS[runnerKind];
|
|
277
|
+
const { headlineSource, resolved } = resolve(validatedOutput);
|
|
278
|
+
const fields = {};
|
|
279
|
+
const omittedFields = [];
|
|
280
|
+
for (const [key, value] of Object.entries(resolved)) {
|
|
281
|
+
if (value !== null) {
|
|
282
|
+
fields[key] = clamp(value, SUMMARY_FIELD_MAX_CHARS);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
omittedFields.push(key);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
if (headlineSource === null && Object.keys(fields).length === 0) {
|
|
289
|
+
return {
|
|
290
|
+
ok: false,
|
|
291
|
+
reason: 'no_derivable_field',
|
|
292
|
+
detail: `No derivable headline or field for runnerKind "${runnerKind}" from the given output`,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
ok: true,
|
|
297
|
+
value: {
|
|
298
|
+
schemaVersion: ARTIFACT_SUMMARY_SCHEMA_VERSION,
|
|
299
|
+
runnerKind,
|
|
300
|
+
// Clamped here (not trusted to each resolver) so the documented
|
|
301
|
+
// `headline.length <= SUMMARY_HEADLINE_MAX_CHARS` postcondition holds
|
|
302
|
+
// even if a resolver passes through a raw field (e.g. philosopher's
|
|
303
|
+
// `principleCandidate.title`) without an intermediate `firstSentence`.
|
|
304
|
+
headline: headlineSource === null ? '' : clamp(headlineSource, SUMMARY_HEADLINE_MAX_CHARS),
|
|
305
|
+
fields,
|
|
306
|
+
derivedFrom: 'structured_output',
|
|
307
|
+
omittedFields,
|
|
308
|
+
},
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Freshness is judged solely by content-hash comparison — `updatedAt` is
|
|
313
|
+
* never read (Requirements 3.2 / 3.9): a pending→validated timestamp
|
|
314
|
+
* refresh must not be mistaken for a content change.
|
|
315
|
+
*
|
|
316
|
+
* No artifact-store read happens here — `loadedPredecessorContentJson` must
|
|
317
|
+
* already be in memory (it is the same object `buildContext` loaded for the
|
|
318
|
+
* current runner invocation, design F3). `hash` is the same injected
|
|
319
|
+
* `HashFn` used by `computeContentHash` (core does not import
|
|
320
|
+
* `node:crypto`, `antipattern-core-io`).
|
|
321
|
+
*/
|
|
322
|
+
export function checkPredecessorSummaryFreshness(ref, loadedPredecessorContentJson, hash) {
|
|
323
|
+
if (ref === undefined || loadedPredecessorContentJson === undefined) {
|
|
324
|
+
return { fresh: false, reason: 'predecessor_missing' };
|
|
325
|
+
}
|
|
326
|
+
const actualHash = computeContentHash(loadedPredecessorContentJson, hash);
|
|
327
|
+
return actualHash === ref.contentHash
|
|
328
|
+
? { fresh: true }
|
|
329
|
+
: { fresh: false, reason: 'content_hash_mismatch' };
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=artifact-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-summary.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artifact-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAkB,KAAK,eAAe,EAAqB,MAAM,wBAAwB,CAAC;AAEjG,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGrG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
|