@design-intelligence/ghost 0.21.0 → 0.22.1

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.
Files changed (129) hide show
  1. package/README.md +47 -33
  2. package/dist/commands/fingerprint-commands.d.ts.map +1 -1
  3. package/dist/commands/fingerprint-commands.js +1 -6
  4. package/dist/commands/fingerprint-commands.js.map +1 -1
  5. package/dist/commands/gather-command.d.ts.map +1 -1
  6. package/dist/commands/gather-command.js +26 -30
  7. package/dist/commands/gather-command.js.map +1 -1
  8. package/dist/commands/init-command.d.ts.map +1 -1
  9. package/dist/commands/init-command.js +1 -6
  10. package/dist/commands/init-command.js.map +1 -1
  11. package/dist/commands/pull-command.d.ts.map +1 -1
  12. package/dist/commands/pull-command.js +12 -19
  13. package/dist/commands/pull-command.js.map +1 -1
  14. package/dist/commands/pulse-command.js +1 -10
  15. package/dist/commands/pulse-command.js.map +1 -1
  16. package/dist/ghost-core/catalog/assemble.d.ts +0 -4
  17. package/dist/ghost-core/catalog/assemble.d.ts.map +1 -1
  18. package/dist/ghost-core/catalog/assemble.js +0 -10
  19. package/dist/ghost-core/catalog/assemble.js.map +1 -1
  20. package/dist/ghost-core/catalog/index.d.ts +1 -1
  21. package/dist/ghost-core/catalog/index.d.ts.map +1 -1
  22. package/dist/ghost-core/catalog/index.js +1 -1
  23. package/dist/ghost-core/catalog/index.js.map +1 -1
  24. package/dist/ghost-core/catalog/menu.d.ts +1 -11
  25. package/dist/ghost-core/catalog/menu.d.ts.map +1 -1
  26. package/dist/ghost-core/catalog/menu.js +1 -6
  27. package/dist/ghost-core/catalog/menu.js.map +1 -1
  28. package/dist/ghost-core/catalog/types.d.ts +0 -6
  29. package/dist/ghost-core/catalog/types.d.ts.map +1 -1
  30. package/dist/ghost-core/glossary.d.ts +0 -13
  31. package/dist/ghost-core/glossary.d.ts.map +1 -1
  32. package/dist/ghost-core/glossary.js +0 -7
  33. package/dist/ghost-core/glossary.js.map +1 -1
  34. package/dist/ghost-core/index.d.ts +2 -2
  35. package/dist/ghost-core/index.d.ts.map +1 -1
  36. package/dist/ghost-core/index.js +1 -1
  37. package/dist/ghost-core/index.js.map +1 -1
  38. package/dist/ghost-core/node/serialize.d.ts +2 -2
  39. package/dist/ghost-core/node/serialize.d.ts.map +1 -1
  40. package/dist/ghost-core/node/serialize.js +4 -2
  41. package/dist/ghost-core/node/serialize.js.map +1 -1
  42. package/dist/ghost-core/package-manifest.d.ts +7 -0
  43. package/dist/ghost-core/package-manifest.d.ts.map +1 -1
  44. package/dist/ghost-core/package-manifest.js +10 -0
  45. package/dist/ghost-core/package-manifest.js.map +1 -1
  46. package/dist/init-payloads/median/median-tells.md +25 -25
  47. package/dist/init-payloads/skeleton/brand.md +22 -0
  48. package/dist/init-payloads/skeleton/context.conversation.md +24 -0
  49. package/dist/init-payloads/skeleton/foundation.color.md +39 -0
  50. package/dist/init-payloads/skeleton/foundation.composition.md +30 -0
  51. package/dist/init-payloads/skeleton/foundation.controls.md +29 -0
  52. package/dist/init-payloads/skeleton/foundation.layout.md +45 -0
  53. package/dist/init-payloads/skeleton/foundation.motion.md +34 -0
  54. package/dist/init-payloads/skeleton/foundation.type.md +44 -0
  55. package/dist/init-payloads/skeleton/foundation.voice.md +29 -0
  56. package/dist/init-payloads/skeleton/glossary.md +27 -32
  57. package/dist/init-payloads/vessel-light/anti-goal.tells.md +5 -4
  58. package/dist/init-payloads/vessel-light/checks/shape-matches-job.md +43 -0
  59. package/dist/init-payloads/vessel-light/glossary.md +0 -1
  60. package/dist/init-payloads/vessel-light/grammar.color-roles.md +2 -2
  61. package/dist/init-payloads/vessel-light/grammar.deletion.md +35 -0
  62. package/dist/init-payloads/vessel-light/grammar.hierarchy.md +13 -3
  63. package/dist/init-payloads/vessel-light/grammar.job.md +54 -0
  64. package/dist/init-payloads/vessel-light/index.md +20 -24
  65. package/dist/init-payloads/vessel-light/manifest.yml +1 -0
  66. package/dist/init-payloads/vessel-light/materials/primitives.css +15 -52
  67. package/dist/init-payloads/vessel-light/materials/ref/composition.editorial.html +12 -7
  68. package/dist/init-payloads/vessel-light/materials/ref/composition.overlay.html +8 -2
  69. package/dist/init-payloads/vessel-light/materials/ref/composition.table.html +3 -3
  70. package/dist/init-payloads/vessel-light/materials/tokens.css +27 -78
  71. package/dist/init-payloads/vessel-light/signature.temperature.md +7 -0
  72. package/dist/init-payloads/vessel-light/signature.type.md +6 -5
  73. package/dist/observability-events.d.ts +0 -3
  74. package/dist/observability-events.d.ts.map +1 -1
  75. package/dist/observability-events.js.map +1 -1
  76. package/dist/review/resolve.d.ts +1 -2
  77. package/dist/review/resolve.d.ts.map +1 -1
  78. package/dist/review/resolve.js +4 -5
  79. package/dist/review/resolve.js.map +1 -1
  80. package/dist/review/review-packet.d.ts +0 -1
  81. package/dist/review/review-packet.d.ts.map +1 -1
  82. package/dist/review/review-packet.js +0 -19
  83. package/dist/review/review-packet.js.map +1 -1
  84. package/dist/scan/check-files.d.ts.map +1 -1
  85. package/dist/scan/check-files.js +0 -15
  86. package/dist/scan/check-files.js.map +1 -1
  87. package/dist/scan/check-scaffold.js +2 -2
  88. package/dist/scan/check-scaffold.js.map +1 -1
  89. package/dist/scan/fingerprint-package-lint.d.ts +8 -0
  90. package/dist/scan/fingerprint-package-lint.d.ts.map +1 -0
  91. package/dist/scan/fingerprint-package-lint.js +284 -0
  92. package/dist/scan/fingerprint-package-lint.js.map +1 -0
  93. package/dist/scan/fingerprint-package-loader.d.ts.map +1 -1
  94. package/dist/scan/fingerprint-package-loader.js +2 -29
  95. package/dist/scan/fingerprint-package-loader.js.map +1 -1
  96. package/dist/scan/fingerprint-package.d.ts +9 -7
  97. package/dist/scan/fingerprint-package.d.ts.map +1 -1
  98. package/dist/scan/fingerprint-package.js +18 -231
  99. package/dist/scan/fingerprint-package.js.map +1 -1
  100. package/dist/scan/node-files.d.ts.map +1 -1
  101. package/dist/scan/node-files.js +1 -3
  102. package/dist/scan/node-files.js.map +1 -1
  103. package/dist/scan/templates.d.ts.map +1 -1
  104. package/dist/scan/templates.js +43 -35
  105. package/dist/scan/templates.js.map +1 -1
  106. package/dist/skill-bundle/SKILL.md +15 -13
  107. package/dist/skill-bundle/references/adapting-a-starter.md +62 -60
  108. package/dist/skill-bundle/references/authoring-scenarios.md +6 -8
  109. package/dist/skill-bundle/references/brief.md +5 -6
  110. package/dist/skill-bundle/references/capture.md +47 -36
  111. package/dist/skill-bundle/references/concrete-tiers.md +95 -0
  112. package/dist/skill-bundle/references/recall.md +6 -12
  113. package/dist/skill-bundle/references/schema.md +15 -24
  114. package/dist/skill-bundle/references/self-check.md +2 -2
  115. package/dist/skill-bundle/references/steering-audit.md +7 -10
  116. package/package.json +1 -1
  117. package/dist/init-payloads/skeleton/grammar.color-roles.md +0 -26
  118. package/dist/init-payloads/skeleton/grammar.conversation.md +0 -23
  119. package/dist/init-payloads/skeleton/grammar.hierarchy.md +0 -39
  120. package/dist/init-payloads/skeleton/grammar.motion.md +0 -24
  121. package/dist/init-payloads/skeleton/grammar.rhythm.md +0 -23
  122. package/dist/init-payloads/skeleton/grammar.surfaces.md +0 -26
  123. package/dist/init-payloads/skeleton/index.md +0 -27
  124. package/dist/init-payloads/skeleton/signature.palette.md +0 -24
  125. package/dist/init-payloads/skeleton/signature.shape.md +0 -19
  126. package/dist/init-payloads/skeleton/signature.temperature.md +0 -20
  127. package/dist/init-payloads/skeleton/signature.type.md +0 -22
  128. package/dist/skill-bundle/references/wild.md +0 -30
  129. /package/dist/init-payloads/median/{anti-goal.median.md → cliche.median.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"review-packet.js","sourceRoot":"","sources":["../../src/review/review-packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAsB,eAAe,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAsB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA0C7C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAqC,EACrC,QAAgB,EAChB,UAAoC,EAAE;IAEtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,CAC9B,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,MAAM,EAClB,QAAQ,EACR;QACE,QAAQ,EAAE,MAAM,cAAc,CAAC,GAAG,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;QACrD,YAAY,EAAE,mBAAmB;KAClC,CACF,CAAC;IAEF,MAAM,aAAa,GAAyB,UAAU,CAAC,aAAa,CAAC,GAAG,CACtE,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CACzD,CAAC;IAEF,MAAM,UAAU,GAAyB,UAAU,CAAC,UAAU,CAAC,GAAG,CAChE,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CACzD,CAAC;IAEF,MAAM,MAAM,GAAkB,MAAM,OAAO,CAAC,GAAG,CAC7C,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;QAClD,MAAM,KAAK,GACT,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,YAAY,KAAK,SAAS;YACvD,CAAC,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE;gBAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;gBACjC,SAAS,EAAE,OAAO,CAAC,cAAc;aAClC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;YACnC,QAAQ,EACN,KAAK,EAAE,UAAU;iBACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;iBACvD,MAAM,CAAC,CAAC,GAAG,EAAwB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE;YAC9D,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;QACtC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9D,aAAa;QACb,UAAU;QACV,MAAM;QACN,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAAqC,EACrC,OAA4D;IAE5D,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAqB,CAAC;IAC3E,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,EAAE,IAAI,CAAC,IAAI;QAChB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,gBAAgB,EAAE,OAAO,CAAC,QAAQ;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,GAAG,CAAC,IAAI,CACN,uEAAuE,EACvE,qEAAqE,EACrE,2EAA2E,EAC3E,uEAAuE,EACvE,2EAA2E,EAC3E,yCAAyC,EACzC,EAAE,CACH,CAAC;IAEF,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,WAAW;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB;gBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC;YAC1E,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,WAAW;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB;gBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC;YAC1E,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CACN,cAAc,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxE,CAAC;YACF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,OAAO,KAAK,SAAS;gBACzB,CAAC,CAAC,+BAA+B,IAAI,EAAE;gBACvC,CAAC,CAAC,iEAAiE,IAAI,EAAE,EAC3E,EAAE,CACH,CAAC;YACF,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC5B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACtC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC9B,IAAI,QAAQ,CAAC,OAAO;wBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CACN,8EAA8E,EAC9E,gBAAgB,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,EACvC,gBAAgB,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAChG,WAAW,EACX,KAAK,EACL,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAC5B,KAAK,EACL,WAAW,EACX,KAAK,EACL,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAC5B,KAAK,EACL,EAAE,CACH,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;YAChE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChC,GAAG,CAAC,IAAI,CACN,6EAA6E,EAC7E,2EAA2E,CAC5E,CAAC;IACF,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"review-packet.js","sourceRoot":"","sources":["../../src/review/review-packet.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-files.d.ts","sourceRoot":"","sources":["../../src/scan/check-files.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,aAAa,CAAC;AAErB,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAOzC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,kBAAkB,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA4D3B"}
1
+ {"version":3,"file":"check-files.d.ts","sourceRoot":"","sources":["../../src/scan/check-files.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,aAAa,CAAC;AAErB,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAIzC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,kBAAkB,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA0D3B"}
@@ -3,8 +3,6 @@ import { basename, join } from "node:path";
3
3
  import { lintGhostCheck, loadGhostCheck, parseCheckMarkdown, } from "#ghost-core";
4
4
  /** Reserved package-root directory holding review checks. */
5
5
  export const GHOST_CHECKS_DIR = "checks";
6
- /** Pre-flat location for checks; detected only to warn on stale packages. */
7
- const LEGACY_HAUNTS_DIR = "haunts";
8
6
  const CHECK_ID_PATTERN = /^[a-z0-9][a-z0-9._-]*$/;
9
7
  /**
10
8
  * Load the optional flat `.ghost/checks/` directory. Checks are feed-back
@@ -13,7 +11,6 @@ const CHECK_ID_PATTERN = /^[a-z0-9][a-z0-9._-]*$/;
13
11
  export async function loadCheckFiles(packageDir) {
14
12
  const checks = new Map();
15
13
  const invalid = [];
16
- await detectLegacyHauntsDir(packageDir, invalid);
17
14
  const checksDir = join(packageDir, GHOST_CHECKS_DIR);
18
15
  let entries;
19
16
  try {
@@ -65,18 +62,6 @@ export async function loadCheckFiles(packageDir) {
65
62
  }
66
63
  return { hasChecksDir: true, checks, invalid };
67
64
  }
68
- async function detectLegacyHauntsDir(packageDir, invalid) {
69
- try {
70
- await readdir(join(packageDir, LEGACY_HAUNTS_DIR));
71
- }
72
- catch {
73
- return;
74
- }
75
- invalid.push({
76
- file: LEGACY_HAUNTS_DIR,
77
- message: "the haunts/ directory is no longer supported; move haunts/checks/*.md to checks/ and delete haunts/",
78
- });
79
- }
80
65
  function referencesFromFrontmatter(frontmatter) {
81
66
  if (frontmatter === null)
82
67
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"check-files.js","sourceRoot":"","sources":["../../src/scan/check-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-files.js","sourceRoot":"","sources":["../../src/scan/check-files.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,12 @@ export async function addChecksDir(packageDir) {
26
26
  const written = [];
27
27
  const skipped = [];
28
28
  await mkdir(checksDir, { recursive: true });
29
- if (await exists(join(packageDir, "anti-goal.median.md"))) {
29
+ if (await exists(join(packageDir, "cliche.median.md"))) {
30
30
  await writeFile(join(checksDir, MEDIAN_TELLS_FILENAME), await loadPayloadFile("median", MEDIAN_TELLS_FILENAME), "utf-8");
31
31
  written.push(MEDIAN_TELLS_FILENAME);
32
32
  }
33
33
  else {
34
- skipped.push(`${MEDIAN_TELLS_FILENAME} (no anti-goal.median node)`);
34
+ skipped.push(`${MEDIAN_TELLS_FILENAME} (no cliche.median node)`);
35
35
  }
36
36
  await writeFile(join(checksDir, EXAMPLE_CHECK_FILENAME), EXAMPLE_CHECK_CONTENT, "utf-8");
37
37
  written.push(EXAMPLE_CHECK_FILENAME);
@@ -1 +1 @@
1
- {"version":3,"file":"check-scaffold.js","sourceRoot":"","sources":["../../src/scan/check-scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEhD,MAAM,qBAAqB,GAAG;;;;;;;;;;;CAW7B,CAAC;AAQF,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,6BAA6B,SAAS,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,SAAS,CACb,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EACtC,MAAM,eAAe,CAAC,QAAQ,EAAE,qBAAqB,CAAC,EACtD,OAAO,CACR,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,6BAA6B,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,SAAS,CACb,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EACvC,qBAAqB,EACrB,OAAO,CACR,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAErC,OAAO;QACL,GAAG,EAAE,SAAS;QACd,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"check-scaffold.js","sourceRoot":"","sources":["../../src/scan/check-scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEhD,MAAM,qBAAqB,GAAG;;;;;;;;;;;CAW7B,CAAC;AAQF,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,6BAA6B,SAAS,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,CACb,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EACtC,MAAM,eAAe,CAAC,QAAQ,EAAE,qBAAqB,CAAC,EACtD,OAAO,CACR,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,0BAA0B,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,SAAS,CACb,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EACvC,qBAAqB,EACrB,OAAO,CACR,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAErC,OAAO;QACL,GAAG,EAAE,SAAS;QACd,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { LintReport } from "./lint.js";
2
+ /**
3
+ * `validate` for a package: artifact shape, per-node validity, and the
4
+ * deterministic kind-prefix lint enabled by glossary.md. The catalog is flat;
5
+ * loading collects malformed nodes so they can be surfaced as structured issues.
6
+ */
7
+ export declare function lintFingerprintPackage(dirArg: string | undefined, cwd?: string): Promise<LintReport>;
8
+ //# sourceMappingURL=fingerprint-package-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint-package-lint.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,OAAO,CAAC,UAAU,CAAC,CA4DrB"}
@@ -0,0 +1,284 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { relative, resolve } from "node:path";
3
+ import { classifyMaterialLocator, closestIds, expandLocalMaterialLocator, extractSkeletonSections, listBundledMaterialFiles, materialLocatorClaimsPath, parseGlossary, parseSourceRef, sliceNodeSection, } from "#ghost-core";
4
+ import { isMissingPathError } from "../internal/fs.js";
5
+ import { GHOST_GLOSSARY_FILENAME, GHOST_MATERIALS_DIR } from "./constants.js";
6
+ import { resolveFingerprintPackage, } from "./fingerprint-package.js";
7
+ import { lintFingerprintPackageManifest, loadFingerprintPackage, } from "./fingerprint-package-loader.js";
8
+ import { resolveGitRoot } from "./package-paths.js";
9
+ /**
10
+ * `validate` for a package: artifact shape, per-node validity, and the
11
+ * deterministic kind-prefix lint enabled by glossary.md. The catalog is flat;
12
+ * loading collects malformed nodes so they can be surfaced as structured issues.
13
+ */
14
+ export async function lintFingerprintPackage(dirArg, cwd = process.cwd()) {
15
+ const paths = resolveFingerprintPackage(dirArg, cwd);
16
+ const issues = [];
17
+ const manifestRaw = await readRequired(paths.manifest, "manifest.yml", issues);
18
+ if (manifestRaw !== undefined) {
19
+ // shape pass: manifest well-formed.
20
+ const beforeManifestErrors = issues.filter((issue) => issue.severity === "error").length;
21
+ lintFingerprintPackageManifest(manifestRaw, issues);
22
+ const manifestHasErrors = issues.filter((issue) => issue.severity === "error").length >
23
+ beforeManifestErrors;
24
+ if (manifestHasErrors)
25
+ return finalize(issues);
26
+ // catalog pass: load + validate the node catalog.
27
+ try {
28
+ const { manifest, catalog, checks, invalid, invalidChecks } = await loadFingerprintPackage(paths);
29
+ // node pass: a node that failed its own schema was skipped while loading
30
+ // the catalog; surface it here so a malformed node is loud, not silent.
31
+ issues.push(...invalid.map((entry) => ({
32
+ severity: "error",
33
+ rule: "node-invalid",
34
+ message: entry.message,
35
+ path: entry.file,
36
+ })));
37
+ issues.push(...invalidChecks.map((entry) => ({
38
+ severity: "error",
39
+ rule: "check-invalid",
40
+ message: entry.message,
41
+ path: entry.file,
42
+ })));
43
+ await lintGlossary(paths.glossary, issues);
44
+ lintCover(manifest.cover, catalog, issues);
45
+ await lintKindPrefixes(paths, catalog, issues);
46
+ lintNodeDescriptions(catalog, issues);
47
+ lintSkeletonSections(catalog, issues);
48
+ await lintMaterialLocators(paths, catalog, issues, cwd);
49
+ lintCheckReferences(catalog, checks, issues);
50
+ }
51
+ catch (err) {
52
+ issues.push({
53
+ severity: "error",
54
+ rule: "package-catalog-invalid",
55
+ message: err instanceof Error ? err.message : String(err),
56
+ path: ".ghost",
57
+ });
58
+ }
59
+ }
60
+ return finalize(issues);
61
+ }
62
+ async function lintGlossary(glossaryPath, issues) {
63
+ let raw;
64
+ try {
65
+ raw = await readFile(glossaryPath, "utf-8");
66
+ }
67
+ catch (err) {
68
+ if (isMissingPathError(err))
69
+ return;
70
+ throw err;
71
+ }
72
+ const result = parseGlossary(raw);
73
+ if (result.glossary !== null)
74
+ return;
75
+ issues.push(...result.errors.map((message) => ({
76
+ severity: "error",
77
+ rule: "glossary-invalid",
78
+ message,
79
+ path: GHOST_GLOSSARY_FILENAME,
80
+ })));
81
+ }
82
+ function lintCover(coverId, catalog, issues) {
83
+ if (coverId === undefined) {
84
+ issues.push({
85
+ severity: "warning",
86
+ rule: "cover-undeclared",
87
+ message: 'no cover declared in manifest.yml — fingerprints steer better with one node guaranteed in context; add "cover: <node-id>"',
88
+ path: "manifest.yml.cover",
89
+ });
90
+ return;
91
+ }
92
+ const cover = catalog.nodes.get(coverId);
93
+ if (cover === undefined) {
94
+ issues.push({
95
+ severity: "error",
96
+ rule: "cover-missing",
97
+ message: `manifest cover "${coverId}" does not match any node`,
98
+ path: "manifest.yml.cover",
99
+ });
100
+ return;
101
+ }
102
+ const bytes = Buffer.byteLength(cover.body, "utf-8");
103
+ if (bytes > 1500) {
104
+ issues.push({
105
+ severity: "warning",
106
+ rule: "cover-oversized",
107
+ message: `cover node "${coverId}" body is ${bytes} bytes — the cover is a one-screen budget; element-scoped rules belong in foundation chapters`,
108
+ path: `${coverId}.md`,
109
+ });
110
+ }
111
+ }
112
+ async function lintKindPrefixes(paths, catalog, issues) {
113
+ const declaredKinds = await readDeclaredGlossaryKinds(paths.glossary);
114
+ if (declaredKinds === undefined)
115
+ return;
116
+ const declared = new Set(declaredKinds);
117
+ for (const node of catalog.nodes.values()) {
118
+ if (node.kind === undefined || declared.has(node.kind))
119
+ continue;
120
+ const suggestions = closestIds(node.kind, declaredKinds, 1);
121
+ const suggestion = suggestions[0];
122
+ issues.push({
123
+ severity: "warning",
124
+ rule: "kind-undeclared",
125
+ message: `Kind prefix \`${node.kind}\` is not declared in ${GHOST_GLOSSARY_FILENAME}.` +
126
+ (suggestion === undefined
127
+ ? " Drop the prefix if this node has no kind."
128
+ : ` Did you mean \`${suggestion}\`? Drop the prefix if this node has no kind.`),
129
+ path: `${node.id}.md`,
130
+ });
131
+ }
132
+ }
133
+ /**
134
+ * The `description` is a node's entire retrieval payload: `gather` lists it as
135
+ * the text the agent selects against. A node without one renders as a bare id
136
+ * and is effectively invisible to selection, so `validate` makes that loud.
137
+ * Warning, not error: an undescribed node is legal, just undiscoverable.
138
+ */
139
+ function lintNodeDescriptions(catalog, issues) {
140
+ for (const node of catalog.nodes.values()) {
141
+ if (node.description !== undefined && node.description.trim().length > 0) {
142
+ continue;
143
+ }
144
+ issues.push({
145
+ severity: "warning",
146
+ rule: "node-description-missing",
147
+ message: "node has no `description`, so `gather` lists it as a bare id the agent cannot select against; add a one-line description of what this truth is and when to pull it",
148
+ path: `${node.id}.md`,
149
+ });
150
+ }
151
+ }
152
+ function lintSkeletonSections(catalog, issues) {
153
+ for (const node of catalog.nodes.values()) {
154
+ const sections = extractSkeletonSections(node.body);
155
+ for (const section of sections) {
156
+ if (section.fences.length === 1)
157
+ continue;
158
+ issues.push({
159
+ severity: "warning",
160
+ rule: "skeleton-fence-count",
161
+ message: "## Skeleton section should contain exactly one fenced block; pull will emit all found skeleton fences",
162
+ path: `${node.id}.md`,
163
+ });
164
+ }
165
+ }
166
+ }
167
+ async function lintMaterialLocators(paths, catalog, issues, cwd) {
168
+ const repoRoot = await resolveGitRoot(cwd);
169
+ const options = {
170
+ repoRoot,
171
+ packageDir: paths.packageDir,
172
+ materialsDir: GHOST_MATERIALS_DIR,
173
+ };
174
+ const claimedLocators = [];
175
+ for (const node of catalog.nodes.values()) {
176
+ for (const locator of node.materials ?? []) {
177
+ if (classifyMaterialLocator(locator).kind === "url")
178
+ continue;
179
+ claimedLocators.push(locator);
180
+ const expanded = await expandLocalMaterialLocator(locator, options, {
181
+ cap: Number.POSITIVE_INFINITY,
182
+ });
183
+ if (expanded.matches.length > 0)
184
+ continue;
185
+ issues.push({
186
+ severity: "warning",
187
+ rule: "material-locator-dead",
188
+ message: `material locator '${locator}' matches no local files`,
189
+ path: `${node.id}.md.materials`,
190
+ });
191
+ }
192
+ }
193
+ const bundledFiles = await listBundledMaterialFiles(options);
194
+ for (const file of bundledFiles) {
195
+ const claimed = claimedLocators.some((locator) => materialLocatorClaimsPath(locator, file, options));
196
+ if (claimed)
197
+ continue;
198
+ issues.push({
199
+ severity: "warning",
200
+ rule: "material-orphaned",
201
+ message: "bundled material is not claimed by any node `materials` locator",
202
+ path: toPackageRelative(file, repoRoot, paths.packageDir),
203
+ });
204
+ }
205
+ }
206
+ function toPackageRelative(repoRelativePath, repoRoot, packageDir) {
207
+ const packageRelative = relative(packageDir, resolve(repoRoot, repoRelativePath))
208
+ .replace(/\\/g, "/")
209
+ .replace(/^\.\//, "");
210
+ return packageRelative.startsWith("../") ? repoRelativePath : packageRelative;
211
+ }
212
+ function lintCheckReferences(catalog, checks, issues) {
213
+ for (const check of checks.values()) {
214
+ for (const raw of check.references) {
215
+ const parsed = parseSourceRef(raw);
216
+ if (parsed === null) {
217
+ issues.push({
218
+ severity: "error",
219
+ rule: "check-reference-malformed",
220
+ message: `check reference '${raw}' is not a node id with optional '> Heading' anchor`,
221
+ path: `checks/${check.id}.md.references`,
222
+ });
223
+ continue;
224
+ }
225
+ const node = catalog.nodes.get(parsed.nodeId);
226
+ if (node === undefined) {
227
+ issues.push({
228
+ severity: "warning",
229
+ rule: "check-reference-unresolved",
230
+ message: `check reference '${raw}' does not resolve to a fingerprint node — if you pruned this rule from the node, delete its paired flag in the check too`,
231
+ path: `checks/${check.id}.md.references`,
232
+ });
233
+ continue;
234
+ }
235
+ if (parsed.heading !== undefined &&
236
+ sliceNodeSection(node.body, parsed.heading) === null) {
237
+ issues.push({
238
+ severity: "warning",
239
+ rule: "check-reference-heading-missing",
240
+ message: `check reference '${raw}' names a heading that was not found — if you pruned this rule from the node, delete its paired flag in the check too`,
241
+ path: `checks/${check.id}.md.references`,
242
+ });
243
+ }
244
+ }
245
+ }
246
+ }
247
+ async function readDeclaredGlossaryKinds(glossaryPath) {
248
+ let raw;
249
+ try {
250
+ raw = await readFile(glossaryPath, "utf-8");
251
+ }
252
+ catch (err) {
253
+ if (isMissingPathError(err))
254
+ return undefined;
255
+ throw err;
256
+ }
257
+ const result = parseGlossary(raw);
258
+ if (result.glossary === null)
259
+ return [];
260
+ return result.glossary.frontmatter.kinds.map((kind) => kind.name);
261
+ }
262
+ async function readRequired(path, label, issues) {
263
+ try {
264
+ return await readFile(path, "utf-8");
265
+ }
266
+ catch {
267
+ issues.push({
268
+ severity: "error",
269
+ rule: "package-artifact-missing",
270
+ message: `Fingerprint package is missing ${label}.`,
271
+ path: label,
272
+ });
273
+ return undefined;
274
+ }
275
+ }
276
+ function finalize(issues) {
277
+ return {
278
+ issues,
279
+ errors: issues.filter((issue) => issue.severity === "error").length,
280
+ warnings: issues.filter((issue) => issue.severity === "warning").length,
281
+ info: issues.filter((issue) => issue.severity === "info").length,
282
+ };
283
+ }
284
+ //# sourceMappingURL=fingerprint-package-lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint-package-lint.js","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint-package-loader.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package-loader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAmCnC;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,EAAE,GAClB,IAAI,CAkBN"}
1
+ {"version":3,"file":"fingerprint-package-loader.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package-loader.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CA8BnC;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,EAAE,GAClB,IAAI,CAkBN"}
@@ -1,6 +1,6 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import { parse as parseYaml } from "yaml";
3
- import { assembleCatalog, GhostFingerprintPackageManifestSchema, parseGlossary, UsageError, } from "#ghost-core";
3
+ import { assembleCatalog, GhostFingerprintPackageManifestSchema, UsageError, } from "#ghost-core";
4
4
  import { isMissingPathError } from "../internal/fs.js";
5
5
  import { loadCheckFiles } from "./check-files.js";
6
6
  import { loadNodeFiles } from "./node-files.js";
@@ -21,12 +21,7 @@ export async function loadFingerprintPackage(paths) {
21
21
  // Per-node schema failures are collected as `invalid`.
22
22
  const { nodes: placedNodes, invalid } = await loadNodeFiles(paths.packageDir);
23
23
  const checkFiles = await loadCheckFiles(paths.packageDir);
24
- const postureKinds = await readPostureGlossaryKinds(paths.glossary);
25
- const catalog = assembleCatalog({
26
- placedNodes,
27
- wildKinds: postureKinds.wild,
28
- guardKinds: postureKinds.guard,
29
- });
24
+ const catalog = assembleCatalog({ placedNodes });
30
25
  return {
31
26
  manifest,
32
27
  manifestRaw,
@@ -54,28 +49,6 @@ export function lintFingerprintPackageManifest(raw, issues) {
54
49
  return;
55
50
  }
56
51
  }
57
- async function readPostureGlossaryKinds(glossaryPath) {
58
- let raw;
59
- try {
60
- raw = await readFile(glossaryPath, "utf-8");
61
- }
62
- catch (err) {
63
- if (isMissingPathError(err))
64
- return { wild: [], guard: [] };
65
- throw err;
66
- }
67
- const result = parseGlossary(raw);
68
- if (result.glossary === null)
69
- return { wild: [], guard: [] };
70
- return {
71
- wild: result.glossary.kinds
72
- .filter((kind) => kind.posture === "wild")
73
- .map((kind) => kind.name),
74
- guard: result.glossary.kinds
75
- .filter((kind) => kind.posture === "guard")
76
- .map((kind) => kind.name),
77
- };
78
- }
79
52
  function parseManifest(raw, label) {
80
53
  const parsed = parseYamlStrict(raw, label);
81
54
  return GhostFingerprintPackageManifestSchema.parse(parsed);
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint-package-loader.js","sourceRoot":"","sources":["../../src/scan/fingerprint-package-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint-package-loader.js","sourceRoot":"","sources":["../../src/scan/fingerprint-package-loader.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type GhostCatalog, type GhostFingerprintPackageManifest } from "#ghost-core";
2
2
  import type { LoadedCheck } from "./check-files.js";
3
3
  import { loadFingerprintPackage } from "./fingerprint-package-loader.js";
4
- import type { LintReport } from "./lint.js";
4
+ export { lintFingerprintPackage } from "./fingerprint-package-lint.js";
5
5
  export { loadFingerprintPackage };
6
6
  export interface FingerprintPackagePaths {
7
7
  dir: string;
@@ -53,12 +53,14 @@ export interface InitFingerprintPackageResult {
53
53
  /** Package-relative paths of the files the template wrote. */
54
54
  written: string[];
55
55
  }
56
- export declare function resolveFingerprintPackage(dirArg: string | undefined, cwd?: string): FingerprintPackagePaths;
57
- export declare function initFingerprintPackage(dirArg: string | undefined, cwd?: string, options?: InitFingerprintPackageOptions): Promise<InitFingerprintPackageResult>;
58
56
  /**
59
- * `validate` for a package: artifact shape, per-node validity, and the
60
- * deterministic kind-prefix lint enabled by glossary.md. The catalog is flat;
61
- * loading collects malformed nodes so they can be surfaced as structured issues.
57
+ * Resolve the fingerprint package directory. `dirArg` (an explicit
58
+ * `--package <dir>`) always wins and is used exactly as given — it may be
59
+ * absolute or relative, unlike `GHOST_PACKAGE_DIR`. When `dirArg` is
60
+ * omitted, `GHOST_PACKAGE_DIR` is honored so every command — not just `init`
61
+ * and `validate` — respects a host-configured package location. Falls back
62
+ * to the default `.ghost` when neither is set.
62
63
  */
63
- export declare function lintFingerprintPackage(dirArg: string | undefined, cwd?: string): Promise<LintReport>;
64
+ export declare function resolveFingerprintPackage(dirArg: string | undefined, cwd?: string): FingerprintPackagePaths;
65
+ export declare function initFingerprintPackage(dirArg: string | undefined, cwd?: string, options?: InitFingerprintPackageOptions): Promise<InitFingerprintPackageResult>;
64
66
  //# sourceMappingURL=fingerprint-package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint-package.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,+BAA+B,EAOrC,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD,OAAO,EAEL,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAWvD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,EAAE,YAAY,CAAC;IACtB,mEAAmE;IACnE,YAAY,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,4CAA4C;IAC5C,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,6BAA6B;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,uBAAuB,CAAC;IAC/B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,uBAAuB,CAYzB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,EACnB,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,4BAA4B,CAAC,CAiDvC;AA4CD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,OAAO,CAAC,UAAU,CAAC,CA0DrB"}
1
+ {"version":3,"file":"fingerprint-package.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,+BAA+B,EAErC,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAazE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,EAAE,YAAY,CAAC;IACtB,mEAAmE;IACnE,YAAY,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,4CAA4C;IAC5C,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,6BAA6B;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,uBAAuB,CAAC;IAC/B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,uBAAuB,CAYzB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,EACnB,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,4BAA4B,CAAC,CAiDvC"}