From 319ad18dfe81bc01b8139c5301328da9640ffc67 Mon Sep 17 00:00:00 2001 From: quill Date: Fri, 23 Oct 2026 17:55:49 +0000 Subject: [PATCH] =?UTF-8?q?quill:=20draft-email.py=20=E2=80=94=20template?= =?UTF-8?q?=20composer=20with=20inline=20verification?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wizard-work/quill/draft-email.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 wizard-work/quill/draft-email.py diff --git a/wizard-work/quill/draft-email.py b/wizard-work/quill/draft-email.py new file mode 100644 index 0000000..ed3439d --- /dev/null +++ b/wizard-work/quill/draft-email.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +"""Draft email: compose from template, validate, verify formatting.""" +import sys, pathlib + +TEMPLATE = """\ +Subject: Draft — {title} + +Hi {name}, + +This is a quick draft for: {title}. + +{body} + +— DraftBot +""" + +def compose(title="Hello World", name="Team", body="Auto-generated draft."): + return TEMPLATE.format(title=title, name=name, body=body) + +def verify(msg): + assert "Subject: Draft — " in msg, "missing Subject header" + assert "Hi Team" in msg, "missing greeting" + assert "Auto-generated draft." in msg, "missing body" + assert msg.endswith("— DraftBot\n"), "missing signature" + return True + +if __name__ == "__main__": + out = compose() + print(out) + assert verify(out) + print("CHECK_PASSED")