linersh 0.5.6 → 1.0.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.
- package/README.md +65 -165
- package/bin/liner.js +82 -44
- package/cli-update-docs/ABOUT.md +16 -16
- package/cli-update-docs/AI-HANDOFF.md +62 -190
- package/cli-update-docs/CURATION.md +48 -19
- package/cli-update-docs/JTBD-MASTER-PROMPT-ABOUT.md +9 -12
- package/cli-update-docs/JTBD-MASTER-PROMPT.md +1 -1
- package/cli-update-docs/LINER-MASTER.md +77 -63
- package/cli-update-docs/LINER-MD-PRD.md +531 -0
- package/cli-update-docs/MIXTAPE-FORMAT.md +76 -44
- package/cli-update-docs/PLATFORM.md +47 -46
- package/cli-update-docs/README.md +6 -6
- package/cli-update-docs/SKILL.md +72 -37
- package/cli-update-docs/TUI-BACKLOG.md +205 -26
- package/cli-update-docs/quality-check-tests.md +256 -8
- package/cli-update-docs/source-finding-tactics.md +140 -3
- package/cli-update-docs/source-quality-hierarchy.md +83 -0
- package/cli-update-docs/synthesis-guidance.md +19 -5
- package/dist/agents/artifact-validation.js +440 -0
- package/dist/agents/artifact-validation.js.map +1 -0
- package/dist/agents/candidate-longlist.js +100 -0
- package/dist/agents/candidate-longlist.js.map +1 -0
- package/dist/agents/detect.js +3 -2
- package/dist/agents/detect.js.map +1 -1
- package/dist/agents/evaluation-assembly.js +270 -0
- package/dist/agents/evaluation-assembly.js.map +1 -0
- package/dist/agents/headless-runner.js +227 -0
- package/dist/agents/headless-runner.js.map +1 -0
- package/dist/agents/jtbd-clarify.js +42 -41
- package/dist/agents/jtbd-clarify.js.map +1 -1
- package/dist/agents/models.js +6 -7
- package/dist/agents/models.js.map +1 -1
- package/dist/agents/prompts.js +220 -20
- package/dist/agents/prompts.js.map +1 -1
- package/dist/agents/runner.js +462 -21
- package/dist/agents/runner.js.map +1 -1
- package/dist/phases.js +13 -13
- package/dist/phases.js.map +1 -1
- package/dist/source-inbox.js +297 -0
- package/dist/source-inbox.js.map +1 -0
- package/dist/version.js +3 -9
- package/dist/version.js.map +1 -1
- package/dist/yaml-io.js +42 -11
- package/dist/yaml-io.js.map +1 -1
- package/package.json +26 -23
- package/cli-update-docs/JOB-STORY-MIGRATION.md +0 -99
- package/dist/App.js +0 -220
- package/dist/App.js.map +0 -1
- package/dist/colors.js +0 -132
- package/dist/colors.js.map +0 -1
- package/dist/components/Header.js +0 -15
- package/dist/components/Header.js.map +0 -1
- package/dist/components/KeyHints.js +0 -17
- package/dist/components/KeyHints.js.map +0 -1
- package/dist/components/LabeledBox.js +0 -53
- package/dist/components/LabeledBox.js.map +0 -1
- package/dist/components/NextSteps.js +0 -18
- package/dist/components/NextSteps.js.map +0 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +0 -1
- package/dist/screens/AgentSetup.js +0 -224
- package/dist/screens/AgentSetup.js.map +0 -1
- package/dist/screens/BootSplash.js +0 -163
- package/dist/screens/BootSplash.js.map +0 -1
- package/dist/screens/CompileView.js +0 -567
- package/dist/screens/CompileView.js.map +0 -1
- package/dist/screens/FramingConfirmReview.js +0 -197
- package/dist/screens/FramingConfirmReview.js.map +0 -1
- package/dist/screens/Gate1Review.js +0 -147
- package/dist/screens/Gate1Review.js.map +0 -1
- package/dist/screens/Gate2Review.js +0 -162
- package/dist/screens/Gate2Review.js.map +0 -1
- package/dist/screens/ImportPrompt.js +0 -173
- package/dist/screens/ImportPrompt.js.map +0 -1
- package/dist/screens/JsSetup.js +0 -77
- package/dist/screens/JsSetup.js.map +0 -1
- package/dist/screens/LocalFilePicker.js +0 -139
- package/dist/screens/LocalFilePicker.js.map +0 -1
- package/dist/screens/NewMixtapeWizard.js +0 -662
- package/dist/screens/NewMixtapeWizard.js.map +0 -1
- package/dist/screens/PhaseRunner.js +0 -1203
- package/dist/screens/PhaseRunner.js.map +0 -1
- package/dist/screens/ProcessManifest.js +0 -160
- package/dist/screens/ProcessManifest.js.map +0 -1
- package/dist/screens/ProjectHub.js +0 -557
- package/dist/screens/ProjectHub.js.map +0 -1
- package/dist/screens/SourceModal.js +0 -269
- package/dist/screens/SourceModal.js.map +0 -1
- package/dist/screens/TapeBrowser.js +0 -312
- package/dist/screens/TapeBrowser.js.map +0 -1
- package/dist/screens/TapeDraftReview.js +0 -444
- package/dist/screens/TapeDraftReview.js.map +0 -1
- package/dist/screens/TapeEditor.js +0 -310
- package/dist/screens/TapeEditor.js.map +0 -1
- package/dist/screens/cassette-art.js +0 -72
- package/dist/screens/cassette-art.js.map +0 -1
- package/dist/store.js +0 -10
- package/dist/store.js.map +0 -1
|
@@ -2,11 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Loaded by the `curating-mixtapes` skill at the start of Phase 5 (Quality checks).
|
|
4
4
|
|
|
5
|
-
This file describes the
|
|
5
|
+
This file describes the core-action test and the eight standard tests every
|
|
6
|
+
mixtape should pass before moving to synthesis. Apply them deliberately, in
|
|
7
|
+
this order. Write findings to `working/04-quality-checks.md`.
|
|
6
8
|
|
|
7
9
|
Phase 5 is the methodology's correction for single-pass curation. The first four phases work forward — frame, find, fetch, evaluate. Phase 5 works backward — looking at the whole keep-pile and asking what's wrong with it. The two passes do different work. If you skip this phase, the mixtape's blind spots ship with the mixtape.
|
|
8
10
|
|
|
9
|
-
The framing-gap
|
|
11
|
+
The framing-gap and source-role tests are the highest-leverage checks and the ones most curators skip.
|
|
12
|
+
|
|
13
|
+
## Automated-run budget
|
|
14
|
+
|
|
15
|
+
When Phase 5 is running inside the TUI or another automated Liner flow, it must stay bounded. Treat it as an audit over `working/03-evaluation.yaml`, not as a second open-ended discovery phase.
|
|
16
|
+
|
|
17
|
+
- Classify existing kept/trim sources before searching. If a source is missing `kind`, infer it from title, URL/source type, section, rating, and curator note, then update `working/03-evaluation.yaml`.
|
|
18
|
+
- Missing `kind` metadata is not itself a corpus gap. It becomes a source-kind gap only after every existing kept/trim source has a kind and the distribution still has a zero column.
|
|
19
|
+
- Use at most one search pass for any one missing perspective.
|
|
20
|
+
- Use at most one source-kind backfill search total.
|
|
21
|
+
- Do not exceed four external search/fetch attempts across the whole Quality phase. If the budget is spent, stop searching, document the gap or defense, and write `working/04-quality-checks.md`.
|
|
22
|
+
- On resume after a paused/cancelled Quality run, do not continue a search loop. Use the evidence already gathered, repair weak curator notes from existing evidence, and close the artifact.
|
|
23
|
+
- If a material source-role gap remains after the bounded audit, write `working/05-operating-fit-audit.md` with `status: improvement_recommended` instead of declaring the corpus ready with a limitation. Liner will offer a focused improvement pass or let the user skip for now.
|
|
10
24
|
|
|
11
25
|
---
|
|
12
26
|
|
|
@@ -16,12 +30,56 @@ Before running the tests, gather the inputs in one place:
|
|
|
16
30
|
|
|
17
31
|
- The JTBD (from `working/01-jtbd-and-knowledge-map.md`)
|
|
18
32
|
- The knowledge map (same file)
|
|
33
|
+
- The required source roles (same file)
|
|
19
34
|
- The kept and trim sources from `working/03-evaluation.yaml` — titles, sections, ratings, rationales, and the drafted curator notes
|
|
20
35
|
|
|
21
36
|
Read these together. The tests are about how the corpus *as a whole* serves the JTBD. You can't run them well by looking at sources one at a time.
|
|
22
37
|
|
|
23
38
|
---
|
|
24
39
|
|
|
40
|
+
## Test 0 — The core-action fit test
|
|
41
|
+
|
|
42
|
+
Name the exact action in the JTBD. Then ask whether the kept sources directly
|
|
43
|
+
teach or demonstrate that action, or merely orbit it.
|
|
44
|
+
|
|
45
|
+
This test exists because coverage can pass while the job still fails. A corpus
|
|
46
|
+
for "turn moodboards into HTML interface concepts" can technically cover
|
|
47
|
+
"visual hierarchy," "design systems," "CSS layout," and "process," yet still
|
|
48
|
+
miss the action of reading visual references, extracting transferable qualities,
|
|
49
|
+
and creating a new interface direction.
|
|
50
|
+
|
|
51
|
+
### How to run it
|
|
52
|
+
|
|
53
|
+
1. Quote or paraphrase the JTBD's core action in `working/04-quality-checks.md`.
|
|
54
|
+
2. Count kept sources by `jtbd_fit`: `direct / bridge / background`.
|
|
55
|
+
3. If older entries lack `jtbd_fit`, infer it from title, rationale, note, and
|
|
56
|
+
section, then update `working/03-evaluation.yaml`.
|
|
57
|
+
4. List which kept sources are direct. A healthy action-oriented mixtape needs
|
|
58
|
+
at least two direct sources, and each central knowledge-map section needs
|
|
59
|
+
either one direct source or a written reason why bridge coverage is enough.
|
|
60
|
+
5. For curator-named anchors, say whether you retrieved rationale/process
|
|
61
|
+
evidence or only a homepage/gallery/metadata pointer.
|
|
62
|
+
|
|
63
|
+
If direct coverage is weak, take one action:
|
|
64
|
+
|
|
65
|
+
- Backfill direct sources within the Phase 5 search budget, or
|
|
66
|
+
- Document the gap and recommend re-running Candidate discovery with
|
|
67
|
+
action-specific search terms.
|
|
68
|
+
|
|
69
|
+
### Required output
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
## Test 0 — Core-action fit
|
|
73
|
+
|
|
74
|
+
Core action: [verb phrase from JTBD]
|
|
75
|
+
Distribution: X direct / Y bridge / Z background
|
|
76
|
+
Direct sources: [Source titles]
|
|
77
|
+
Finding: [pass / weak coverage / gap]
|
|
78
|
+
Action: [kept, backfilled, or documented rerun recommendation]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
25
83
|
## Test 1 — The redundancy test
|
|
26
84
|
|
|
27
85
|
Read each kept source's role in the mixtape. Are any two sources making essentially the same point?
|
|
@@ -75,7 +133,7 @@ Step back from individual sources. Is there a major perspective on this topic mi
|
|
|
75
133
|
|
|
76
134
|
If yes, the framing was too narrow. Expand the knowledge map and return to Phase 2.
|
|
77
135
|
|
|
78
|
-
**This test is the highest-leverage of the
|
|
136
|
+
**This test is the highest-leverage of the six and the one most curators skip.** Single-pass curation tends to produce mixtapes that are well-covered within one narrow framing. The framing-gap test catches what the first four phases couldn't see.
|
|
79
137
|
|
|
80
138
|
### How to run it (required steps, in order)
|
|
81
139
|
|
|
@@ -150,7 +208,7 @@ Imbalance is not a failure. A 7-principle / 2-prescription / 1-reference / 0-exa
|
|
|
150
208
|
|
|
151
209
|
> *Kinds audit: 7 principle / 9 prescription / 5 example / 0 reference. Accepted: this JTBD is about voice and microcopy, not architectural conventions. No reference source is needed because the synthesis doesn't make authority claims that would require backing.*
|
|
152
210
|
|
|
153
|
-
If the zero isn't defensible,
|
|
211
|
+
If the zero isn't defensible, first make sure every existing kept/trim source has been assigned a kind. Only then run one source-kind backfill search before shipping. The same rule as Test 4(a) applies: search for the role the kind plays (an authoritative spec, an opinionated essay, a tight rule-set, a worked example), not for the topic generically.
|
|
154
212
|
|
|
155
213
|
### Required output
|
|
156
214
|
|
|
@@ -166,14 +224,190 @@ Distribution: X reference / Y principle / Z prescription / W example
|
|
|
166
224
|
|
|
167
225
|
---
|
|
168
226
|
|
|
227
|
+
## Test 6 — Note-quality smell test
|
|
228
|
+
|
|
229
|
+
Read every kept/trim source note in `working/03-evaluation.yaml`. The note is the consuming AI's instruction for how to weight and use that source. A source with a vague note is a bookmark, not curation.
|
|
230
|
+
|
|
231
|
+
A useful curator note must do three jobs:
|
|
232
|
+
|
|
233
|
+
- **Use cue:** tell the AI how to read or apply the source.
|
|
234
|
+
- **Value/bar:** name the concrete value, standard, or quality bar the source contributes.
|
|
235
|
+
- **Boundary:** name one limitation, scope boundary, or reason not to over-weight it.
|
|
236
|
+
|
|
237
|
+
Thin notes often look like "useful background," "good overview," or "skim for examples." They may be true, but they do not tell the AI what to do with the source. Repair them before synthesis by updating `working/03-evaluation.yaml`; do not search or fetch just to improve note prose. Use the already gathered title, rationale, source type, section, rating, and partial content.
|
|
238
|
+
|
|
239
|
+
### Required output
|
|
240
|
+
|
|
241
|
+
`working/04-quality-checks.md` must include a Test 6 section like this:
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
## Test 6 — Note-quality
|
|
245
|
+
|
|
246
|
+
Checked: N kept/trim notes
|
|
247
|
+
Repaired: M notes
|
|
248
|
+
|
|
249
|
+
- Source/title/URL — repaired missing boundary; note now names [scope].
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
If no notes were repaired, write one sentence explaining why the notes already carry a use cue, value/bar, and limitation.
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Test 7 — Source-role fit
|
|
257
|
+
|
|
258
|
+
This test asks whether the corpus has the evidence roles the future AI actually
|
|
259
|
+
needs. It catches the failure mode where a source list technically covers every
|
|
260
|
+
section and every source `kind`, but still cannot do the job well.
|
|
261
|
+
|
|
262
|
+
Source roles are capability-specific evidence jobs named in the Capability
|
|
263
|
+
Brief. They are not source `kind`s and not section labels. A source can be an
|
|
264
|
+
`example` kind without satisfying the required "worked high-craft case study"
|
|
265
|
+
role if the fetched content is only a homepage, gallery index, or shallow
|
|
266
|
+
portfolio blurb. A source can be a `reference` kind without satisfying the
|
|
267
|
+
required "medical authority" role if it is a secondary explainer instead of a
|
|
268
|
+
primary clinical or institutional source.
|
|
269
|
+
|
|
270
|
+
### How to run it
|
|
271
|
+
|
|
272
|
+
1. Read `working/01-jtbd-and-knowledge-map.md` and copy the Required source
|
|
273
|
+
roles from the Capability Brief into `working/04-quality-checks.md`.
|
|
274
|
+
2. If the project was framed before Required source roles existed, infer 4–7
|
|
275
|
+
roles from the core action and write them into the quality report before
|
|
276
|
+
scoring coverage.
|
|
277
|
+
3. For each role, count kept/trim sources whose fetched evidence actually
|
|
278
|
+
satisfies that role. Count by content, not by title, URL, section, or generic
|
|
279
|
+
kind.
|
|
280
|
+
4. Compare coverage to the minimum named in the Capability Brief. If no minimum
|
|
281
|
+
was named, use these defaults:
|
|
282
|
+
- 2 strong sources for ordinary required roles.
|
|
283
|
+
- 3 substantive worked examples/case studies when the capability depends on
|
|
284
|
+
taste, visual output, craft judgment, or recognizing quality.
|
|
285
|
+
- primary/official sources for legal, medical, financial, or safety-sensitive
|
|
286
|
+
authority roles.
|
|
287
|
+
5. A material role with weak coverage must either be improved within the Phase 5
|
|
288
|
+
budget or written to `working/05-operating-fit-audit.md` with
|
|
289
|
+
`status: improvement_recommended`.
|
|
290
|
+
|
|
291
|
+
"Light but not absent" is not a pass for a required source role. It is a weak
|
|
292
|
+
coverage finding.
|
|
293
|
+
|
|
294
|
+
### Required output
|
|
295
|
+
|
|
296
|
+
`working/04-quality-checks.md` must include:
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
## Test 7 — Source-role fit
|
|
300
|
+
|
|
301
|
+
Required roles:
|
|
302
|
+
- Core-action method — minimum: 2; current: 3; status: pass; evidence: [Source titles]
|
|
303
|
+
- Worked craft examples — minimum: 3; current: 1; status: weak; evidence: [Source title]
|
|
304
|
+
|
|
305
|
+
Action: [kept / backfilled / wrote working/05-operating-fit-audit.md]
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
If a required role is missing or weak, take one of three actions:
|
|
309
|
+
|
|
310
|
+
- **Backfill now.** Search for the role directly, add a verified candidate, evaluate it, and update the keep-list.
|
|
311
|
+
- **Document the limitation.** If credible sources are unavailable, write a concrete limitation and what custom source the curator should add.
|
|
312
|
+
- **Narrow the capability claim.** If the role is not actually needed, update the Capability Brief and Required source roles so Phase 1 tells the truth.
|
|
313
|
+
|
|
314
|
+
Do not leave a missing required role as "covered by the overall corpus." That is exactly how generic-looking mixtapes pass while still failing the user's job.
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Test 8 — Capability-pattern fit
|
|
319
|
+
|
|
320
|
+
Some capabilities have a specialized evidence contract beyond generic source
|
|
321
|
+
roles. Phase 1 should name these as `Capability pattern: ...` in the Capability
|
|
322
|
+
Brief. Test 8 asks whether the final keep-list still satisfies that pattern, or
|
|
323
|
+
whether the corpus drifted into a generic topic pack.
|
|
324
|
+
|
|
325
|
+
If no capability pattern was named, write:
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
## Test 8 — Capability-pattern fit
|
|
329
|
+
|
|
330
|
+
Pattern: none
|
|
331
|
+
Finding: pass. No specialized capability pattern was named in the Capability Brief.
|
|
332
|
+
Action: none.
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Do not invent a pattern in Phase 5 just to make the test look busy. If Phase 1
|
|
336
|
+
clearly missed a pattern and the omission affects corpus quality, document that
|
|
337
|
+
as a framing gap and write an operating-fit audit.
|
|
338
|
+
|
|
339
|
+
### Reference-translation pattern
|
|
340
|
+
|
|
341
|
+
Use this section when the Capability Brief says `Capability pattern:
|
|
342
|
+
reference-translation`, or when Phase 1 should have named it because the job
|
|
343
|
+
involves images, moodboards, visual references, inspiration, examples, style,
|
|
344
|
+
art direction, or translating one medium/domain into another output.
|
|
345
|
+
|
|
346
|
+
This pattern fails when a corpus becomes mostly about the target output medium.
|
|
347
|
+
For example, an art-direction-to-web mixtape can pass ordinary "web design"
|
|
348
|
+
coverage while still failing the real job: reading paintings, architecture,
|
|
349
|
+
photos, posters, sports identity, or other references and translating their
|
|
350
|
+
underlying qualities into product-design language.
|
|
351
|
+
|
|
352
|
+
Run four checks:
|
|
353
|
+
|
|
354
|
+
1. **Input/reference-domain coverage.** Count substantive kept/trim sources from
|
|
355
|
+
at least two input/reference domains outside the target output medium. Count
|
|
356
|
+
by content evidence, not by passing mention. For web/UI targets, CSS,
|
|
357
|
+
accessibility, token, component, and design-system docs do not count here.
|
|
358
|
+
2. **Translation-method coverage.** Count direct kept/trim sources that teach or
|
|
359
|
+
demonstrate the move from source qualities to target decisions. Generic
|
|
360
|
+
inspiration galleries, moodboard primers without translation, and target
|
|
361
|
+
mechanics do not count.
|
|
362
|
+
3. **Caller-handoff coverage.** Confirm the corpus supports a concrete runtime
|
|
363
|
+
output shape: observations, interpretation, carry-forward rules, product or
|
|
364
|
+
implementation vocabulary, constraints, avoid-list, validation checks, and
|
|
365
|
+
clarification questions.
|
|
366
|
+
4. **Constraint balance.** Confirm target-medium constraints are present when
|
|
367
|
+
needed but do not outnumber and replace the direct reference-reading and
|
|
368
|
+
translation evidence in the core action.
|
|
369
|
+
|
|
370
|
+
Default minimums for reference-translation:
|
|
371
|
+
|
|
372
|
+
- At least 2 distinct input/reference domains outside the target output medium.
|
|
373
|
+
- At least 3 substantive direct sources from those input/reference domains or
|
|
374
|
+
from cross-domain translation examples.
|
|
375
|
+
- At least 2 direct translation-method sources.
|
|
376
|
+
- At least 1 handoff/template/vocabulary source that shows how to make the
|
|
377
|
+
translation executable for the caller.
|
|
378
|
+
|
|
379
|
+
If any minimum is weak or missing, write `working/05-operating-fit-audit.md` with
|
|
380
|
+
`status: improvement_recommended`. Do not pass the corpus because general design,
|
|
381
|
+
implementation, accessibility, or platform sources are strong.
|
|
382
|
+
|
|
383
|
+
### Required output
|
|
384
|
+
|
|
385
|
+
`working/04-quality-checks.md` must include:
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
## Test 8 — Capability-pattern fit
|
|
389
|
+
|
|
390
|
+
Pattern: reference-translation
|
|
391
|
+
Input/reference domains: [domain A: sources], [domain B: sources]
|
|
392
|
+
Translation-method sources: [source titles]
|
|
393
|
+
Caller-handoff sources: [source titles]
|
|
394
|
+
Constraint balance: [pass / weak / gap]
|
|
395
|
+
Finding: [pass / weak coverage / gap]
|
|
396
|
+
Action: [kept / backfilled / wrote working/05-operating-fit-audit.md]
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
169
401
|
## What to do when a test fails
|
|
170
402
|
|
|
171
403
|
Don't paper over failures. The point of running the tests is to find problems while they're still cheap to fix.
|
|
172
404
|
|
|
173
405
|
- **Redundancy fails:** drop the weaker source, update `working/03-evaluation.yaml` to reflect the change, document the decision in `working/04-quality-checks.md`.
|
|
174
|
-
- **Coverage fails:** return to Phase 2 for the missing section. Fetch new candidates. Evaluate them. Come back to Phase 5 and re-run all
|
|
406
|
+
- **Coverage fails:** return to Phase 2 for the missing section. Fetch new candidates. Evaluate them. Come back to Phase 5 and re-run all eight tests on the new keep-list.
|
|
175
407
|
- **Disagreement fails:** find one strong dissenting source. Fetch it. Evaluate it. Add it to the keep-list with a note that names its role as counterpoint.
|
|
176
|
-
- **Framing-gap fails:** this is the expensive one. Expand the knowledge map. Return to Phase 2. Find candidates for the new sections. Fetch, evaluate. Come back to Phase 5 with a substantially revised keep-list and re-run all
|
|
408
|
+
- **Framing-gap fails:** this is the expensive one. Expand the knowledge map. Return to Phase 2. Find candidates for the new sections. Fetch, evaluate. Come back to Phase 5 with a substantially revised keep-list and re-run all eight tests.
|
|
409
|
+
- **Note-quality fails:** rewrite weak notes in `working/03-evaluation.yaml` so each one carries a use cue, value/bar, and boundary. Do this from existing evidence; do not open a new search loop.
|
|
410
|
+
- **Source-role fit fails / Operating-fit fails:** write `working/05-operating-fit-audit.md` with the missing source role, why it matters, concrete search lanes for an improvement pass, and a short list of custom sources the user could add if public research remains thin.
|
|
177
411
|
|
|
178
412
|
Each backtrack is a sign the methodology is working, not failing. The first four phases produced a corpus that worked from one angle; Phase 5 found the angle that wasn't covered. Better to find it here than in the empirical test (Phase 8) or — worse — silently, when the mixtape is in use.
|
|
179
413
|
|
|
@@ -181,7 +415,21 @@ Each backtrack is a sign the methodology is working, not failing. The first four
|
|
|
181
415
|
|
|
182
416
|
## Output: `working/04-quality-checks.md`
|
|
183
417
|
|
|
184
|
-
Document each test, the finding, and the action taken. Even tests that passed without changes should be noted — "redundancy test: no redundant sources found." The working notes are part of the methodology; they show what work was actually done.
|
|
418
|
+
Document each test, the finding, and the action taken. Even tests that passed without changes should be noted — "core-action fit: 4 direct sources; no backfill" or "redundancy test: no redundant sources found." The working notes are part of the methodology; they show what work was actually done.
|
|
419
|
+
|
|
420
|
+
If an improvement pass is recommended, also write `working/05-operating-fit-audit.md`:
|
|
421
|
+
|
|
422
|
+
```yaml
|
|
423
|
+
status: improvement_recommended
|
|
424
|
+
gap: The missing source role or weak evidence role.
|
|
425
|
+
why_it_matters: Why this gap would hurt a future AI agent using the corpus.
|
|
426
|
+
recommended_pass:
|
|
427
|
+
- Search lane or source type Liner should look for.
|
|
428
|
+
- Search lane or source type Liner should look for.
|
|
429
|
+
user_can_add:
|
|
430
|
+
- Concrete custom source the user could add if web research stays thin.
|
|
431
|
+
skip_note: What remains weaker if the user skips for now.
|
|
432
|
+
```
|
|
185
433
|
|
|
186
434
|
> TODO: Insert a sample `working/04-quality-checks.md` from the Cowork synthesis. The full structure with each test, the finding, and the resulting action is the most useful worked example in this file.
|
|
187
435
|
|
|
@@ -191,6 +439,6 @@ Document each test, the finding, and the action taken. Even tests that passed wi
|
|
|
191
439
|
|
|
192
440
|
Phase 5 benefits from running with fresh attention. The first four phases build up a mental model of the corpus that biases how you see it — you remember why you kept each source, which makes redundancy easier to miss; you remember the candidate searches you ran, which makes the framing-gap easier to miss.
|
|
193
441
|
|
|
194
|
-
If the conversation has been long, consider starting a separate chat with just the JTBD, the knowledge map, and the kept-source list (titles + notes only, no source content). Run the
|
|
442
|
+
If the conversation has been long, consider starting a separate chat with just the JTBD, the knowledge map, the required source roles, and the kept-source list (titles + notes only, no source content). Run the quality tests there. The fresh chat doesn't carry the gathering pass's biases.
|
|
195
443
|
|
|
196
444
|
This is optional, not required by the methodology. Mention the option to the curator. Quick mode users may prefer to continue in the same conversation for speed; methodology mode users often benefit from the reset.
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Loaded by the `curating-mixtapes` skill at the start of Phase 2 (Candidate discovery).
|
|
4
4
|
|
|
5
|
-
This file describes
|
|
5
|
+
This file describes tactics that produce better candidates than generic search. When you reach Phase 2, work through the relevant tactics — not all of them for every mixtape, but enough that the candidate pool covers the knowledge map and required source roles from multiple angles.
|
|
6
6
|
|
|
7
|
-
The goal of Phase 2 is recall, not precision. You're producing two to four times the eventual kept count. You will cut in Phase 4. Casting wide here is the methodology working as designed.
|
|
7
|
+
The goal of Phase 2 is recall, not precision. You're producing roughly two to four times the eventual kept count, but the real stop condition is coverage of the required source roles and capability-pattern lanes. You will cut in Phase 4. Casting wide here is the methodology working as designed.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -91,9 +91,146 @@ This tactic is structurally related to the framing-gap test in Phase 5, but earl
|
|
|
91
91
|
|
|
92
92
|
---
|
|
93
93
|
|
|
94
|
+
## 7. Search for the core action and the curator anchors
|
|
95
|
+
|
|
96
|
+
A good candidate list is not just "sources about the topic." It must contain
|
|
97
|
+
sources that help the consuming AI do the job.
|
|
98
|
+
|
|
99
|
+
Start by extracting the JTBD's core action. Examples:
|
|
100
|
+
|
|
101
|
+
- "translate moodboards into UI"
|
|
102
|
+
- "turn bug reports into reproduction steps"
|
|
103
|
+
- "write grant narratives from research evidence"
|
|
104
|
+
|
|
105
|
+
Then search for candidate URLs that might directly teach, demonstrate, or argue
|
|
106
|
+
for that action. Bridge candidates are allowed, but they cannot carry the corpus
|
|
107
|
+
by themselves. For a moodboard-to-interface mixtape, CSS layout, design tokens,
|
|
108
|
+
and design systems are bridge leads: useful after a direction exists, but not
|
|
109
|
+
enough to teach how to read images, extract mood, or create a new interface
|
|
110
|
+
artifact. The keep/drop decision still happens only after the content is fetched
|
|
111
|
+
and read.
|
|
112
|
+
|
|
113
|
+
When the curator names a person, studio, product, software tool, YouTube
|
|
114
|
+
channel, or site they like, deepen the anchor. Search for their case studies,
|
|
115
|
+
interviews, talks, process notes, docs, essays, videos, and worked examples.
|
|
116
|
+
Do not stop at the homepage, gallery index, or crawler metadata unless that is
|
|
117
|
+
the only readable evidence available. If it is only a pointer, say so in the
|
|
118
|
+
candidate reason.
|
|
119
|
+
|
|
120
|
+
For visual-output jobs, deliberately search for visual and worked-example
|
|
121
|
+
evidence: image-heavy case studies, moodboard breakdowns, design rationale,
|
|
122
|
+
portfolio projects with process, talks, and videos. A source list made mostly
|
|
123
|
+
of UX primers, CSS references, and design-system docs is probably under-serving
|
|
124
|
+
the job even if every knowledge-map section has a source.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 8. Fill required source roles, not just sections
|
|
129
|
+
|
|
130
|
+
The Capability Brief should name **Required source roles**: the jobs the corpus
|
|
131
|
+
needs sources to perform for the future AI. These are not the same as source
|
|
132
|
+
`kind` (`reference / principle / prescription / example`) and not the same as
|
|
133
|
+
knowledge-map sections.
|
|
134
|
+
|
|
135
|
+
Examples:
|
|
136
|
+
|
|
137
|
+
- "core-action method" — sources that teach the exact action the agent must do
|
|
138
|
+
- "worked examples / case studies" — sources that show good output, process, or taste
|
|
139
|
+
- "domain authority" — primary/official sources the agent can cite for accuracy
|
|
140
|
+
- "implementation constraints" — specs, APIs, platform docs, safety limits, or production rules
|
|
141
|
+
- "critique / validation" — sources that help judge whether output is good
|
|
142
|
+
- "dissent / alternate stance" — sources that prevent one-frame bias
|
|
143
|
+
- "domain data" — keyword data, epidemiology, market signals, legal text, or other evidence specific to the niche
|
|
144
|
+
|
|
145
|
+
When you build the long-list, make sure every required role has candidates. A
|
|
146
|
+
populated section is not enough if a required role is thin. For a visual-output
|
|
147
|
+
mixtape, two dozen UX/design-system articles do not substitute for worked
|
|
148
|
+
visual/craft examples with rationale. For a medical SEO mixtape, SEO practice
|
|
149
|
+
articles do not substitute for authoritative medical sources and domain-specific
|
|
150
|
+
keyword or patient-language evidence.
|
|
151
|
+
|
|
152
|
+
**How to apply:** For each required source role, search until you have 3–6
|
|
153
|
+
plausible candidates or until it is clear public sources are thin. In the
|
|
154
|
+
candidate reason, name the role the source might satisfy. If you cannot find
|
|
155
|
+
credible candidates for a required role, write a "Role gaps" note in
|
|
156
|
+
`working/02-candidate-longlist.md` so Quality can recommend a focused
|
|
157
|
+
improvement pass instead of quietly accepting weak coverage.
|
|
158
|
+
|
|
159
|
+
Candidate count should fall out of the role plan:
|
|
160
|
+
|
|
161
|
+
- Narrow, single-domain projects may need fewer than 20 candidates.
|
|
162
|
+
- Ordinary projects usually land around 20–35 candidates.
|
|
163
|
+
- Broad, multi-domain, or `reference-translation` projects may need 40–60
|
|
164
|
+
candidates because each source domain and translation lane needs its own
|
|
165
|
+
candidate pool.
|
|
166
|
+
|
|
167
|
+
Do not pad the list to hit a number. Do not stop at a number when a material
|
|
168
|
+
role is still empty. Stop when every required role has credible candidates, the
|
|
169
|
+
knowledge map is covered, and any capability-pattern lanes named in Phase 1 have
|
|
170
|
+
enough evidence to evaluate.
|
|
171
|
+
|
|
172
|
+
Good candidate notes should say which role the source might serve:
|
|
173
|
+
|
|
174
|
+
- `source role: canonical method` — teaches the process the AI should follow
|
|
175
|
+
- `source role: domain authority` — grounds claims in a credible source
|
|
176
|
+
- `source role: applied example` — shows what good looks like in context
|
|
177
|
+
- `source role: boundary / risk` — prevents harmful or misleading output
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 9. Build a source ecology for reference-translation jobs
|
|
182
|
+
|
|
183
|
+
Some mixtapes are not just about a topic. They ask a future agent to read inputs
|
|
184
|
+
from one world and turn them into outputs in another. Common examples:
|
|
185
|
+
|
|
186
|
+
- images, moodboards, art direction, visual references, or style examples into a
|
|
187
|
+
product/interface brief
|
|
188
|
+
- screenshots, bug reports, logs, or user complaints into engineering actions
|
|
189
|
+
- research evidence, interview notes, or case studies into a narrative or plan
|
|
190
|
+
|
|
191
|
+
These are **reference-translation** capabilities. Their candidate pool needs a
|
|
192
|
+
source ecology, not a stack of sources from the final output medium.
|
|
193
|
+
|
|
194
|
+
For visual/reference work, search at least these lanes:
|
|
195
|
+
|
|
196
|
+
- **Input/reference-domain interpretation:** how practitioners read the source
|
|
197
|
+
worlds themselves, such as art, photography, architecture, interiors, posters,
|
|
198
|
+
editorial design, fashion, packaging, sports/media identity, film, or product
|
|
199
|
+
imagery.
|
|
200
|
+
- **Translation methods:** sources that show how observed qualities become new
|
|
201
|
+
decisions: design-language extraction, style tiles, creative direction,
|
|
202
|
+
case-study rationale, annotated redesigns, or critique.
|
|
203
|
+
- **Target-output constraints:** the platform/output realities that the final
|
|
204
|
+
work must survive, such as web responsiveness, accessibility, motion safety,
|
|
205
|
+
design systems, typography, or implementation mechanics.
|
|
206
|
+
- **Caller handoff language:** brief formats, vocabulary, do/don't lists,
|
|
207
|
+
validation checks, and clarification patterns that make the result executable
|
|
208
|
+
by another designer, engineer, or AI agent.
|
|
209
|
+
|
|
210
|
+
For an art-direction-to-web mixtape, CSS references, design-token specs, and
|
|
211
|
+
accessibility docs are valuable bridge sources. They are not substitutes for
|
|
212
|
+
visual-culture sources that teach the agent how to look, compare, interpret, and
|
|
213
|
+
translate. A candidate list made mostly of web-craft sources should include a
|
|
214
|
+
"Role gaps" note and keep searching for the missing input/reference domains.
|
|
215
|
+
|
|
216
|
+
**How to apply:** Before writing `working/02-candidate-longlist.md`, add a short
|
|
217
|
+
"Reference-translation source ecology" note to your own scratchpad or the
|
|
218
|
+
long-list: target output medium, input/reference domains represented, translation
|
|
219
|
+
method candidates, handoff candidates, and bridge/constraint candidates. If the
|
|
220
|
+
input/reference domains are thin, search those domains directly instead of doing
|
|
221
|
+
another generic target-output search. Do not stop at the ordinary 20–35 candidate
|
|
222
|
+
range if the ecology is still missing a source world the future agent must learn
|
|
223
|
+
to interpret.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
94
227
|
## What not to do
|
|
95
228
|
|
|
96
229
|
- **Don't rely on generic search alone.** The first page of search results is what your audience could also find. The point of curation is to surface what they couldn't.
|
|
97
230
|
- **Don't accept candidates without verifying URLs.** AI hallucinates plausible-looking URLs. Web-fetch every URL before it goes on the long-list. A 404 candidate is worse than a missing one.
|
|
98
|
-
- **Don't filter at Phase 2.** That's Phase 4's job. If a source might be useful, it goes on the long-list. Quality decisions come after fetching and reading.
|
|
231
|
+
- **Don't filter at Phase 2.** That's Phase 4's job. If a source might be useful, it goes on the long-list. Quality decisions come after fetching and reading. A URL is a lead, not evidence that the content is any good.
|
|
99
232
|
- **Don't over-research one section while leaving others empty.** Walk the knowledge map. Each section should have a reasonable candidate pool before you go deep on any one section.
|
|
233
|
+
- **Don't let adjacency satisfy the JTBD.** A CSS reference is not an art-direction source just because the final artifact is HTML. A process article is not a writing source just because the writer needs a process. Label these as bridge candidates unless they directly teach the core action.
|
|
234
|
+
- **Don't collapse reference-translation work into the output medium.** If the future agent must translate paintings, photos, architecture, sports identity, or moodboards into a product direction, the candidate pool needs sources from those source worlds and from the translation move. Output-medium craft docs are necessary constraints, not the whole corpus.
|
|
235
|
+
- **Don't let "not absent" pass a required role.** If a required role is material to the future AI's job, thin coverage should trigger backfill or an improvement-pass recommendation.
|
|
236
|
+
- **Don't treat source roles as decorative.** A section can look populated while a required evidence role is absent. That is still a corpus gap.
|
|
@@ -6,6 +6,8 @@ This file describes how to rank sources, what to avoid, and the patterns to watc
|
|
|
6
6
|
|
|
7
7
|
The goal of Phase 4 is honest assessment against the JTBD. Not breadth. Not completeness. Not even fairness to every source. *Does this source help the consuming AI do the JTBD better?* If yes, keep it. If partially, trim it. If no, drop it.
|
|
8
8
|
|
|
9
|
+
A URL is only a lead. The source is the readable content. Do not keep or trim a candidate from its URL, title, search snippet, crawler metadata, or your memory of the source. Keep/trim decisions require source evidence.
|
|
10
|
+
|
|
9
11
|
---
|
|
10
12
|
|
|
11
13
|
## Source-quality hierarchy
|
|
@@ -75,6 +77,76 @@ For each fetched source, decide one of: kept, trim, dropped. Rate kept and trim
|
|
|
75
77
|
|
|
76
78
|
If you find yourself rating most sources 4–5, you're under-discriminating. The point of evaluation is to discriminate.
|
|
77
79
|
|
|
80
|
+
## Evidence fields
|
|
81
|
+
|
|
82
|
+
Every kept or trimmed source must include these fields in `working/03-evaluation.yaml`:
|
|
83
|
+
|
|
84
|
+
- `fetch_status: readable | partial` — `readable` means the substantive article, transcript, PDF body, or local content was retrieved. `partial` means enough real source content was retrieved to judge, such as an abstract plus substantial excerpt.
|
|
85
|
+
- `content_quality: high | medium` — `high` means dense, distinctive, and directly useful; `medium` means useful but selective. If the content is shallow, generic, AI-generated, SEO filler, a homepage/gallery without rationale, or a low-density transcript, drop it.
|
|
86
|
+
- `evidence:` — at least two bullets naming source-specific claims, examples, sections, methods, transcript moments, or limitations actually seen in the content.
|
|
87
|
+
|
|
88
|
+
`metadata_only` and `unavailable` candidates must be dropped. They can remain in the evaluation file as evaluated candidates, but they must not enter `tape.yaml` as normal corpus sources.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## JTBD-fit labels
|
|
93
|
+
|
|
94
|
+
Every kept or trimmed source must also get a `jtbd_fit` label. This prevents
|
|
95
|
+
topic adjacency from passing as source quality.
|
|
96
|
+
|
|
97
|
+
- **direct** — the source teaches, demonstrates, or argues for the core action
|
|
98
|
+
in the JTBD.
|
|
99
|
+
- **bridge** — the source helps execute the result after the core decision is
|
|
100
|
+
made: implementation mechanics, tokens, layout, process, API references, or
|
|
101
|
+
operational constraints.
|
|
102
|
+
- **background** — broad vocabulary, primer, historical context, or generic
|
|
103
|
+
orientation.
|
|
104
|
+
|
|
105
|
+
Bridge sources are valuable, but they are not the same as direct fit. If the job
|
|
106
|
+
is "turn moodboards into HTML interface concepts," then a moodboard analysis
|
|
107
|
+
method, a studio case study with rationale, or a talk on translating visual
|
|
108
|
+
references can be direct. A CSS layout guide, token spec, or design critique
|
|
109
|
+
process is a bridge unless it specifically teaches the translation move.
|
|
110
|
+
|
|
111
|
+
For a `reference-translation` capability, use an even stricter direct-fit test:
|
|
112
|
+
the source must help the future agent interpret the input/reference domain or
|
|
113
|
+
demonstrate the translation from reference qualities into target-output
|
|
114
|
+
decisions. Target-medium mechanics, accessibility standards, design-token
|
|
115
|
+
formats, style-guide infrastructure, and implementation docs are usually bridge
|
|
116
|
+
sources. They are important, but they cannot carry the core action alone.
|
|
117
|
+
|
|
118
|
+
Background sources should rarely be marked required. A kept background source
|
|
119
|
+
needs a narrow note explaining why its vocabulary or context is worth carrying.
|
|
120
|
+
|
|
121
|
+
If a knowledge-map section contains only `bridge` or `background` sources, mark
|
|
122
|
+
that as weak coverage in the rationale or quality report and backfill a direct
|
|
123
|
+
source if the section is central to the JTBD.
|
|
124
|
+
|
|
125
|
+
Quality also checks source roles at the corpus level. `reference / principle /
|
|
126
|
+
prescription / example` is only the generic kind distribution; some projects
|
|
127
|
+
need more specific roles. A visual art-director corpus may need high-craft case
|
|
128
|
+
studies and worked image-to-interface translations. A medical SEO corpus may
|
|
129
|
+
need clinical authority, search-intent evidence, and Google guidance. If those
|
|
130
|
+
role-specific sources are missing, write an operating-fit audit and recommend a
|
|
131
|
+
focused improvement pass instead of calling the corpus ready with a limitation.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Bounded fetch fallback
|
|
136
|
+
|
|
137
|
+
Phase 4 should read enough to make honest decisions, but it must not stall on
|
|
138
|
+
unavailable content. For each candidate, try one direct fetch/read. If that
|
|
139
|
+
fails, make at most one recovery attempt: alternate transcript source, search
|
|
140
|
+
result, mirror, metadata page, or equivalent.
|
|
141
|
+
|
|
142
|
+
After two failed retrieval attempts total, stop searching for that candidate and
|
|
143
|
+
evaluate from verified metadata, the Phase 2 reason, and any partial content you
|
|
144
|
+
have. Usually that means `dropped`. If you have enough partial content to judge,
|
|
145
|
+
set `fetch_status: partial` and write the evidence bullets. If you only have
|
|
146
|
+
metadata, set the decision to `dropped`; the rationale can say the candidate
|
|
147
|
+
looked promising but was metadata-only. Every candidate still gets a decision in
|
|
148
|
+
`working/03-evaluation.yaml`; no source may keep the phase open indefinitely.
|
|
149
|
+
|
|
78
150
|
---
|
|
79
151
|
|
|
80
152
|
## Patterns to watch for
|
|
@@ -115,14 +187,25 @@ Recent does not mean better. A 2024 article that summarizes well-known points is
|
|
|
115
187
|
|
|
116
188
|
Write every candidate's decision, regardless of whether it was kept or dropped. The dropped decisions matter — they're how the working notes show that evaluation actually happened.
|
|
117
189
|
|
|
190
|
+
For large candidate sets, write decisions incrementally under `working/evaluation-decisions/` as section-sized YAML fragments. Use names like `01-foundations.yaml` and keep each fragment small enough to inspect. Liner assembles those fragments into `working/03-evaluation.yaml` in the original longlist order, so the fragment files are the durable work surface and `03-evaluation.yaml` is the canonical assembled artifact.
|
|
191
|
+
|
|
118
192
|
```yaml
|
|
119
193
|
candidates:
|
|
120
194
|
- url: https://example.com/source
|
|
121
195
|
title: Source title
|
|
122
196
|
decision: kept # kept | trim | dropped
|
|
123
197
|
rating: 5 # 1-5; required for kept and trim
|
|
198
|
+
jtbd_fit: direct # direct | bridge | background
|
|
199
|
+
fetch_status: readable # readable | partial; metadata_only/unavailable are dropped
|
|
200
|
+
content_quality: high # high | medium; low is dropped
|
|
201
|
+
evidence:
|
|
202
|
+
- Specific claim or example found in the readable source content.
|
|
203
|
+
- Specific method, constraint, result, or limitation found in the content.
|
|
124
204
|
section: foundations
|
|
125
205
|
rationale: One-sentence reason this decision was made.
|
|
206
|
+
note: >
|
|
207
|
+
Role: Why this source belongs in the corpus. Value: What it contributes
|
|
208
|
+
to the job-to-be-done. Limitations: What the source cannot prove.
|
|
126
209
|
```
|
|
127
210
|
|
|
128
211
|
For dropped sources, the rationale should name *why* dropped — "duplicates Source 4," "shallow listicle," "AI-generated," "off-topic relative to JTBD." Generic "low quality" is not useful. Be specific.
|
|
@@ -20,12 +20,24 @@ Length: **800–2000 words.** Shorter for narrow topics; longer for broader ones
|
|
|
20
20
|
|
|
21
21
|
## What goes in
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Six kinds of content earn their place in the synthesis.
|
|
24
24
|
|
|
25
25
|
### Principles or framework
|
|
26
26
|
|
|
27
27
|
The conceptual structure the curator sees in the domain. Not a definition list — a framework. "Good CLI design rests on four pillars: predictable command shape, humane errors, useful defaults, and machine-readable output." That framework, once articulated, shapes how the AI reads every source in the corpus.
|
|
28
28
|
|
|
29
|
+
### Generative rules
|
|
30
|
+
|
|
31
|
+
The rules the consuming AI should apply when it is making decisions with the mixtape. Include a `## Generative rules` section with about five imperatives. These are not summaries of sources; they are portable constraints the AI can carry into new work.
|
|
32
|
+
|
|
33
|
+
Example: "Channel discipline: stdout is for data, stderr is for humans, and exit codes mean what they say." A rule like this resolves dozens of downstream questions without the AI needing to re-open every source.
|
|
34
|
+
|
|
35
|
+
### Stances this corpus takes
|
|
36
|
+
|
|
37
|
+
The opinionated positions the mixtape wants to preserve. Include a `## Stances this corpus takes` section that names what the corpus leans toward, what it resists, and where a dissenting source should temper the rule.
|
|
38
|
+
|
|
39
|
+
This is different from the contested-questions section. Contested questions name the debate; stances state the operating answer this mixtape chooses for its JTBD.
|
|
40
|
+
|
|
29
41
|
### Contested questions
|
|
30
42
|
|
|
31
43
|
Where credible practitioners disagree, name the disagreement and where the curator stands. "There's an ongoing argument about whether CLIs should mirror existing tool conventions or break them deliberately when the underlying behaviour differs. This mixtape leans toward mirroring; sources 7 and 12 represent the dissenting view."
|
|
@@ -74,9 +86,11 @@ A typical synthesis runs:
|
|
|
74
86
|
|
|
75
87
|
1. **Opening framing** (1–2 paragraphs). What this domain is fundamentally about. The frame the curator uses to organize their understanding. Not a definition — a stance.
|
|
76
88
|
2. **The framework or principles** (2–4 paragraphs). The structure the curator sees. Named, not just described.
|
|
77
|
-
3. **
|
|
78
|
-
4. **
|
|
79
|
-
5. **
|
|
89
|
+
3. **Generative rules** (`## Generative rules`, about five imperatives). The small set of rules the consuming AI should remember and apply.
|
|
90
|
+
4. **Stances this corpus takes** (`## Stances this corpus takes`, 1–3 paragraphs or bullets). The opinionated positions and trade-offs this mixtape adopts.
|
|
91
|
+
5. **Contested questions** (1–3 paragraphs). Where credible practitioners disagree. Where the curator stands.
|
|
92
|
+
6. **Important distinctions** (1–2 paragraphs). Concepts the AI is likely to conflate without correction.
|
|
93
|
+
7. **Scope and limits** (1 short paragraph). What this mixtape covers and what it doesn't.
|
|
80
94
|
|
|
81
95
|
This is a default. Vary it when the topic warrants — some domains lead with contested questions, some with distinctions, some with a different opening move. The structure serves the content.
|
|
82
96
|
|
|
@@ -130,4 +144,4 @@ If the synthesis names source numbers ("Source 1 argues..."), it's probably synt
|
|
|
130
144
|
|
|
131
145
|
Plain markdown. No front matter. Begins with a top-level heading that matches the mixtape title (e.g., `# Mobile Design Foundations — Synthesis`). The full file gets included verbatim at the top of `MIXTAPE.md` by `liner compile`.
|
|
132
146
|
|
|
133
|
-
Write the synthesis to `synthesis.md` in the
|
|
147
|
+
Write the synthesis to `synthesis.md` in the corpus folder (`mixtape/synthesis.md` in v2 projects). Show the curator the result before declaring Phase 6 complete.
|