Design notes#

Three deliberate choices: markdown as the only source of truth, a local search index for curation, and no unattended bulk write into Jira.

  • Markdown is canonical

    Jira is a publication surface. convert emits wiki markup for paste-in or one-shot jira-comment; import-jira only writes review drafts under corpus/imports/ until promote.

  • Tantivy BM25 for curation

    Search and near-duplicate discovery fit a local inverted index better than a hand-rolled store — with Jaccard as a second opinion on pairs.

  • Review before migrate

    Quality checks encode the meeting rule: shared snell prefix only, valid front matter, team-generic closings — gate the library before Jira. CI runs check and in-process Harper on published responses.

What canonic does not do#

  • It does not bulk-sync the whole library into Jira (jira-comment is one file → one issue, human-gated).

  • It does not auto-publish imports: drafts stay under corpus/imports/ until a human runs promote after check.

  • It does not replace human judgment on which answer is the team standard.

  • It does not call paid Marketplace or JSM canned-response admin APIs.

Citation#

See CITATION.cff, or use GitHub’s “Cite this repository” button.

License#

MIT — see LICENSE in the repository root.

Building this site#

./docs/build.sh
# open docs/build/index.html