Skip to content
C.W.K.
Stream
Lesson 01 of 04 · published

A Draw, Not an Assignment

~10 min · keywords, prompt-design, length-bands, original-language

Level 0Dry Nib
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"A good draw gives the hand somewhere to begin without pretending to know where it should end."

Begin with the human

A blank notebook is generous and brutal. It permits anything, which means it suggests nothing. Inkwell narrows that infinity with a few keywords and one practical choice: sentence, paragraph, or short essay. Those controls are not a topic form disguised as creativity. They establish a small field in which an authoring brain can compose one fresh passage, sized for the minutes a hand can honestly give it.

Turn the promise into code

The length labels are contracts with a body. A sentence should fit a brief one- or two-minute draw. A paragraph should become three to six sentences rather than an essay wearing a smaller button. A short essay may unfold across two to four paragraphs, but it still belongs beside a notebook, not inside a content mill. The origin language is selected deliberately because the text must arrive ready to copy, not arrive as a translation accident.

Watch the quiet failure

The dangerous version of this feature is a command generator. It would turn keywords into instructions, add a rubric, and make the writer perform for the machine. The well does something quieter: it uses the keywords as pressure points for an original passage, then yields. No score is waiting at the bottom. The output is complete enough to deserve ink and open enough to let the handwriting session belong to the person.

Keep the boundary

This distinction changes validation. The server checks that a requested length is one of the named bands and that keywords are present, but it does not demand a clever theme or judge whether the draw is productive. Product code validates the shape it owns. Meaning remains an authorial choice, even when the first author happens to be a routed brain.

Working principle. A prompt can reduce blank-page friction without acquiring authority over the writing session.

A boundary audit

Use “A Draw, Not an Assignment” as a review question, not a slogan. Trace the normal path, the fallback, the retry, and the next-day reload. Write a request schema for three handwriting lengths. For every field, state whether the product owns validation of its shape or whether meaning must remain outside the validator. If one path can violate the promise while still returning success, the boundary is decorative.

Code

Validate the body-sized draw·python
LENGTH_BANDS = {
    "sentence": {"min_sentences": 1, "max_sentences": 2},
    "paragraph": {"min_sentences": 3, "max_sentences": 6},
    "essay": {"min_paragraphs": 2, "max_paragraphs": 4},
}

def normalize_draw(keywords, length_class, origin_lang):
    cleaned = [word.strip() for word in keywords if word.strip()]
    if not cleaned:
        raise ValueError("at least one keyword is required")
    if length_class not in LENGTH_BANDS:
        raise ValueError("unknown handwriting length")
    if origin_lang not in {"en", "ko"}:
        raise ValueError("unsupported origin language")
    return {
        "keywords": cleaned,
        "length_class": length_class,
        "origin_lang": origin_lang,
    }

print(normalize_draw(["rain", "brass"], "paragraph", "en"))

External links

Exercise

Write a request schema for three handwriting lengths. For every field, state whether the product owns validation of its shape or whether meaning must remain outside the validator.
Hint
A server can reject an unknown length. It should not reject an ordinary keyword for failing to be poetic.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.