@creator-notes/cnotes 0.26.0 → 0.29.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.
@@ -0,0 +1,267 @@
1
+ # The CreatorNotes humanizer
2
+
3
+ Load this before you draft, audit, or rewrite **audience-facing prose** that will
4
+ be saved to CreatorNotes: pre-reads, workshop notes, strategy notes, public
5
+ drafts, Slack messages, canvas orientation banners, and the prose body of typed
6
+ notes. Its job is to remove generic model habits so text lands as a real human
7
+ author wrote it, **without corrupting meaning or erasing a legitimate voice**.
8
+
9
+ Two things this is NOT:
10
+ - It is not a truth checker. The model cannot verify a claim is correct; it can
11
+ only flag the three defects listed under [The three verifiable flags](#the-three-verifiable-flags).
12
+ - It is not a personal-voice generator. Removing slop creates a quality *floor*.
13
+ A person's voice is a separate, optional layer (see [Two layers](#two-layers-quality-floor-and-personal-voice)).
14
+
15
+ ---
16
+
17
+ ## First decide: does this text get touched at all?
18
+
19
+ Classify the task before editing a single word. Getting this gate right matters
20
+ more than any word-level fix, because the failure that hurts is rewriting
21
+ something that should have been left alone.
22
+
23
+ **Apply the humanizer automatically** — agent-generated prose meant for a reader:
24
+ pre-reads, Slack messages, strategy prose, workshop notes, public drafts, and
25
+ canvas banners an agent wrote.
26
+
27
+ **Audit first, change only on evidence** — existing authored material: decision
28
+ records, reference guides, and any note carrying many relationships or
29
+ measurements. Read it, list the specific problems, and revise only the notes with
30
+ real defects. Most audits should change *some* notes and leave others untouched.
31
+
32
+ **Never rewrite silently** — raw capture where the words are the evidence: raw
33
+ transcripts, voice memos, customer quotes, source evidence, legal text, and
34
+ human-authored material where the voice itself is the record. Store these
35
+ unchanged. If a reader needs a clean version, humanize the *derived artifact*,
36
+ never the source.
37
+
38
+ **Override language wins over all of the above.** If the user says any of these,
39
+ follow the instruction and stop:
40
+ - "Save this as raw capture. Do not humanize it." → store verbatim.
41
+ - "Audit X for AI writing. Do not change anything." → report only, no writes.
42
+ - "Humanize X. Preserve timings, links and questions." → rewrite with the named
43
+ things held fixed.
44
+ - "Rewrite this in my personal voice." → apply a voice card on top of the floor.
45
+ - "Use the neutral / company voice." → no personal voice, shared-artifact tone.
46
+
47
+ ---
48
+
49
+ ## The four modes
50
+
51
+ | Mode | What you do |
52
+ |---|---|
53
+ | **Draft cleanly** | Author new prose already free of slop — the audit is baked into the first draft, not bolted on. |
54
+ | **Audit only** | Report defects with locations and no edits. Hand the nuanced findings to the user. |
55
+ | **Rewrite with preservation** | Fix the flagged prose while the preservation gate holds every fact, number, ID, and link fixed. |
56
+ | **Match a voice card** | Apply an optional personal or company voice on top of the clean floor. |
57
+
58
+ Default to **Draft cleanly** for new prose and **Audit only** for existing
59
+ material. Only rewrite existing notes once an audit has named the specific defect.
60
+
61
+ ---
62
+
63
+ ## The workflow
64
+
65
+ ### New agent-generated prose (draft → audit → preserve → save)
66
+
67
+ 1. **Draft for meaning** and the note-type rubric (`cnotes types show <Type>`).
68
+ Own the outline yourself before filling it in — see [Structural slop](#structural-slop-own-your-outline).
69
+ 2. **Run the anti-slop audit** against the kill-list and moves below.
70
+ 3. **Remove high-confidence pattern clusters, not isolated words.** A single
71
+ flagged word in otherwise clean prose is usually a false positive. A *cluster*
72
+ (hype adjective + filler verb + rule-of-three in the same paragraph) is real slop.
73
+ 4. **Run the preservation check** — verify nothing in the [preservation gate](#the-preservation-gate)
74
+ changed.
75
+ 5. **Save** with a `# h1` title and readable relationship-mention titles.
76
+
77
+ ### Existing notes and canvases (audit → select → version → verify)
78
+
79
+ 1. Read the canvas digest (`cnotes canvas digest <id>`) and the note bodies.
80
+ 2. **Audit only.** Identify notes with clear problems; leave clean notes alone.
81
+ 3. Create a new version (`cnotes versions create`) **only** for the selected notes,
82
+ with a change description saying what you fixed.
83
+ 4. Replace affected canvas richtext banners separately (text elements have no
84
+ version history — remove and re-add).
85
+ 5. **Verify** numbers, names, IDs, links, mention titles, tables, uncertainty,
86
+ and canvas layout survived unchanged.
87
+
88
+ ---
89
+
90
+ ## The anti-slop audit
91
+
92
+ Slop is a bundle of habits, not a list of words. Scrub the vocabulary and a
93
+ symmetrical skeleton still reads machine-built. Fix both.
94
+
95
+ ### The one rule under all of these
96
+
97
+ When you catch a hit, **do not swap it for a quieter synonym** — a calmer slop
98
+ word is still slop. Replace it with one of three things:
99
+ - a **concrete noun** (the graph, the version, the transcript),
100
+ - a **number with its baseline** ("nine minutes to ninety seconds on the
101
+ two-thousand-file repo"),
102
+ - an **active verb that names the behavior** ("re-indexes on every edit", "links
103
+ each claim to its evidence").
104
+
105
+ If you cannot make the line concrete, the line has no claim. Cut it.
106
+
107
+ ### Words — cut on sight
108
+
109
+ **A. Hype / greatness adjectives** (grade us instead of describing behavior):
110
+ powerful, seamless, robust, scalable, cutting-edge, revolutionary, game-changer,
111
+ innovative, world-class, best-in-class, effortless, magical, intuitive
112
+ (self-claimed). *Fix:* state the behavior.
113
+
114
+ **B. AI-slop verbs and nouns** (filler the model reaches for): delve, leverage,
115
+ harness, unlock, unleash, supercharge, streamline, elevate, empower, foster,
116
+ tapestry, journey, landscape, ecosystem, realm, synergy, paradigm shift.
117
+ *Fix:* name the action or the thing.
118
+
119
+ **C. Slop connective tissue** (announces a transition, carries no information —
120
+ delete the phrase, keep the sentence): furthermore, moreover, additionally, in
121
+ conclusion, it is important to note, it is worth noting, needless to say, aims to
122
+ (→ present-tense verb), when it comes to (→ the subject itself), at the end of the
123
+ day, in today's fast-paced world.
124
+
125
+ **D. Category cliches** (name the outcome and the pain, not the category): second
126
+ brain, PKM, note-taking app, knowledge base, all-in-one workspace, digital brain,
127
+ smart notes, AI notes, AI-powered notes, "X alternative".
128
+
129
+ **E. Personal-ban tics** (our own recurring habits): actually, simply, just (as
130
+ filler), really (as intensifier), might, perhaps, kind of, thrilled, excited.
131
+
132
+ ### Moves — a sentence can pass every word check and still be slop
133
+
134
+ | Banned move | Do instead |
135
+ |---|---|
136
+ | Em dashes in user-facing prose | rewrite the sentence; split it or use a period |
137
+ | Comparison framing ("unlike X", "the only X that") | state what we do; name a shared category truth, no rival |
138
+ | Absolutes (everyone, nobody, always, the only) | state the specific case and let it stand |
139
+ | Antithesis template ("not just X, it is Y") | make the affirmative claim once |
140
+ | Negation-reversal with a clipped echo ("X was not the bottleneck. Y was.") | state the claim by consequence, not as a "Not X. Y." flip |
141
+ | Rule-of-three triples ("Focused. Aligned. Measurable.") | one claim that carries its own weight |
142
+ | Throat-clearing openers ("a thread on", "I want to share") | open with the problem or the payoff |
143
+ | Thread-bro formatting ("1/", "follow for more") | write as prose with a standalone first line |
144
+ | Engagement bait ("comment YES", "drop a fire emoji") | end on the value, not the ask |
145
+ | Numbers with no baseline, date, or source | pair every number with its baseline and where it came from |
146
+ | Both-sides hedge-seesaw presented as a view | commit to a stance and name its cost |
147
+ | Exclamation points in feature copy | a period; the usefulness is the news |
148
+
149
+ ### Structural slop — own your outline
150
+
151
+ Structure is the deeper tell than vocabulary. A tidy intro, three even sections,
152
+ and a balanced conclusion pattern-match to generated text even after every banned
153
+ word is gone. Write the spine yourself, then let the draft fill inside it. If the
154
+ skeleton is symmetrical, break the symmetry before you touch the words.
155
+
156
+ ### Watch the over-correction
157
+
158
+ Humanizing fixes meaning and structure. Do not thesaurus-swap a banned word for a
159
+ near-synonym (that trades one tell for another), and do not manufacture fake
160
+ casualness in place of formal prose that was doing real work. Rewrite the sentence
161
+ around the load-bearing fact, or leave it.
162
+
163
+ ---
164
+
165
+ ## The three verifiable flags
166
+
167
+ These are the only defects a model can flag **without knowing whether the claim is
168
+ true**. A precise-sounding but unsourced number passes every linter, so do not
169
+ pretend to grade truth or calibration. Flag these three, and pair every
170
+ concreteness check with a source check:
171
+
172
+ 1. **Unredeemed abstraction** — a comparative or magnitude word (better, faster,
173
+ bigger, significant, most, many, soon, a lot) with no number, unit, baseline,
174
+ and date. Demand the operand: better on which metric, from what baseline to
175
+ what target, by when.
176
+ 2. **Missing falsifier** — on an empirical or decision claim, no statable "this is
177
+ wrong if X by date D."
178
+ 3. **Naked claim** — a load-bearing claim with no linked Fact, Test, or Metric
179
+ (no supporting relationship mention).
180
+
181
+ Surface these as questions for the author, not as silent rewrites — forcing a
182
+ number where none exists only mints fake precision.
183
+
184
+ ---
185
+
186
+ ## The preservation gate
187
+
188
+ Before saving any rewrite, confirm none of these changed. Each row is a real way
189
+ humanization corrupts a note:
190
+
191
+ - **Numbers, dates, names** — identical to the source.
192
+ - **Negations, uncertainty, scope** — "not", "only", "up to", "we think",
193
+ "in some cases" carry meaning; do not drop or invert them.
194
+ - **Legal / technical qualifiers** — a hedge that is a legal or technical
195
+ constraint is not slop. Keep it.
196
+ - **Checklists and structured writing** — deliberate structure is not slop.
197
+ Do not flatten a checklist into a paragraph.
198
+ - **Relationship mentions** — titles and links intact. `[NOTE-12: Title](relationship:type)`
199
+ must keep both the display ID and a readable title; never strip a mention to
200
+ bare text or drop its link.
201
+ - **Tables and layout** — tables, columns, and canvas placement survive.
202
+ - **Voice as evidence** — a customer quote or raw memo keeps its original wording.
203
+
204
+ When in doubt, keep it and flag it in **Audit only** mode rather than rewriting.
205
+
206
+ ---
207
+
208
+ ## Two layers: quality floor and personal voice
209
+
210
+ Removing slop creates a shared **quality floor**. It does not create a person's
211
+ voice. Keep the two separate.
212
+
213
+ ### The shared quality floor (always)
214
+
215
+ The anti-slop audit above. Applies to everyone and every genre. It removes
216
+ corporate fog, fake contrasts, forced triads, and chatbot residue.
217
+
218
+ ### Optional personal voice cards (only when asked)
219
+
220
+ A voice card is a **local**, **genre-specific** profile built from writing the
221
+ author chose. One universal "sound like me" profile is too blunt: a Slack message,
222
+ a strategy note, a public article, and a technical spec should not sound
223
+ identical. A card can capture directness, sentence rhythm, formality, humour,
224
+ preferred vocabulary, spelling, punctuation, heading style, and how strongly the
225
+ author states opinions. Store it locally by default; share only when the author
226
+ chooses. Never impose one person's voice on every user.
227
+
228
+ ### Shared artifacts use a neutral or company voice
229
+
230
+ Company-facing documents use a **neutral CreatorNotes voice or a company voice**,
231
+ not an individual's profile. When the author is the team, write in a steady first
232
+ person: attach each opinion to the specific decision or failure that produced it,
233
+ so credibility comes from the work, not from adjectives. A bolt-on "I personally
234
+ believe" in front of a generic claim still reads synthetic — the first person has
235
+ to carry a real detail (a number, a named workflow, a decision and what it cost),
236
+ or cut both the "I" and the claim.
237
+
238
+ ---
239
+
240
+ ## CreatorNotes mechanics (deterministic — always apply)
241
+
242
+ These are objective and never need judgment. Enforce them on every write:
243
+
244
+ - **Canvas titles** use the middle dot `·` (U+00B7) as a separator, never an
245
+ em dash or en dash.
246
+ - **Every note starts with a `# h1`** heading — it becomes the title.
247
+ - **Relationship mentions include a readable title**: `[NOTE-123: Title](relationship:type)`,
248
+ never bare `NOTE-123`.
249
+ - **No mention syntax inside canvas richtext or list descriptions** — it corrupts
250
+ the card. Reference notes there as plain display IDs ("see RISK-64").
251
+ - **Richtext stays card-sized** — at most ~3 sentences, one heading; distinct
252
+ items are N typed notes, not a wall of text.
253
+ - **No placeholder or artifact tokens** — "lorem ipsum", "TODO", "[insert X]",
254
+ "as an AI language model", or leftover template markers never ship in saved prose.
255
+ - **Valid mention syntax and live links** — no broken links, no malformed mentions.
256
+
257
+ ---
258
+
259
+ ## Restraint is the most important behavior
260
+
261
+ The measure of a good pass is not the number of edits. It is the willingness to
262
+ leave clean notes alone. A selective pass that fixes the three genuinely-slopped
263
+ notes and leaves nine good ones untouched is a success. A pass that rewrites every
264
+ note because a detector word appeared somewhere is the failure this whole
265
+ reference exists to prevent.
266
+
267
+ If a note already reads as a real person wrote it, do nothing.