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
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
# LINER.md Product Requirements
|
|
2
|
+
|
|
3
|
+
Status: draft
|
|
4
|
+
Date: 2026-06-14
|
|
5
|
+
Branch: `go-refactor`
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
Liner's first product promise is a focused mixtape: the right context for a
|
|
10
|
+
specific job. The next promise is a Liner project: a project folder that owns
|
|
11
|
+
that compiled corpus plus the instructions, skills, audits, impact tests, and
|
|
12
|
+
composition records that make the artifact useful over time.
|
|
13
|
+
|
|
14
|
+
`mixtape/MIXTAPE.md` remains the source bundle. It contains the curated corpus,
|
|
15
|
+
source notes, synthesis, and citations. Root-level `LINER.md` tells an external
|
|
16
|
+
AI how to think with that corpus, when to use which source, what skills are
|
|
17
|
+
available, what boundaries to respect, and how to keep the project honest as new
|
|
18
|
+
material is added.
|
|
19
|
+
|
|
20
|
+
This is not an "advisor" product in name or framing. A design-engineering
|
|
21
|
+
mixtape should not merely pretend to be a design engineer. It should behave like
|
|
22
|
+
a carefully grounded design-engineering artifact with a conscience: it has
|
|
23
|
+
stance, memory, source discipline, skills, and maintenance routines, all traced
|
|
24
|
+
back to the mixtape that created it.
|
|
25
|
+
|
|
26
|
+
## Product Thesis
|
|
27
|
+
|
|
28
|
+
A normal research bundle answers:
|
|
29
|
+
|
|
30
|
+
- What did we find?
|
|
31
|
+
- Which sources matter?
|
|
32
|
+
- What did the curator conclude?
|
|
33
|
+
|
|
34
|
+
A Liner project additionally answers:
|
|
35
|
+
|
|
36
|
+
- How should an AI use this corpus?
|
|
37
|
+
- What should it do first, second, and never?
|
|
38
|
+
- Which source should win when there is tension?
|
|
39
|
+
- What skills can it perform repeatedly?
|
|
40
|
+
- What does it know it does not know?
|
|
41
|
+
- How can it improve when the user adds a book, recording, article, or note?
|
|
42
|
+
|
|
43
|
+
The result should feel less like a static report and more like a reusable
|
|
44
|
+
working instrument.
|
|
45
|
+
|
|
46
|
+
## Goals
|
|
47
|
+
|
|
48
|
+
- Turn a compiled mixtape into an operational artifact that external agents can
|
|
49
|
+
load and use.
|
|
50
|
+
- Preserve source grounding. `LINER.md` must point back to
|
|
51
|
+
`mixtape/MIXTAPE.md`, `mixtape/tape.yaml`, source notes, and skill files.
|
|
52
|
+
- Let users keep improving a mixtape by adding books, recordings, local notes,
|
|
53
|
+
web sources, and skills.
|
|
54
|
+
- Support contradictions, cleanup, audits, Impact Tests, and composition as
|
|
55
|
+
first-class management workflows in the Go TUI.
|
|
56
|
+
- Keep the default creation path simple: compile the mixtape first, then build
|
|
57
|
+
or manage `LINER.md` as a completed-mixtape action.
|
|
58
|
+
|
|
59
|
+
## Non Goals
|
|
60
|
+
|
|
61
|
+
- Do not rename the product around "advisor."
|
|
62
|
+
- Do not silently rewrite sources, skills, or `LINER.md` without review.
|
|
63
|
+
- Do not make `LINER.md` required before the Go TUI becomes the default.
|
|
64
|
+
- Do not treat generated persona text as truth. Everything must stay grounded
|
|
65
|
+
in the mixtape's sources and curator notes.
|
|
66
|
+
- Do not build a complex database layer before Markdown/YAML artifacts prove the
|
|
67
|
+
workflow.
|
|
68
|
+
|
|
69
|
+
## Naming Model
|
|
70
|
+
|
|
71
|
+
Use these names consistently:
|
|
72
|
+
|
|
73
|
+
- `LINER.md`: root project instructions for using the corpus.
|
|
74
|
+
- `liner.yaml`: root Liner project metadata and layout marker.
|
|
75
|
+
- `mixtape/`: the compiled corpus artifact folder.
|
|
76
|
+
- `mixtape/MIXTAPE.md`: the compiled corpus and source-grounded reading packet.
|
|
77
|
+
- `mixtape/tape.yaml`: the structured source list and corpus metadata.
|
|
78
|
+
- `mixtape/synthesis.md`: the curator's distilled understanding of the corpus.
|
|
79
|
+
- `mixtape/sources/`: fetched source extracts.
|
|
80
|
+
- `mixtape/working/`: methodology working files through assembly/compile.
|
|
81
|
+
- `skills/`: reusable behaviors or methods grounded in the corpus.
|
|
82
|
+
- `working/audits/`: contradiction, alignment, and quality reports.
|
|
83
|
+
- `working/evals/`: storage path for Impact Test tasks, runs, comparisons, and
|
|
84
|
+
notes.
|
|
85
|
+
- `children/`: nested or referenced child mixtapes.
|
|
86
|
+
- `lineage.yaml`: merge/nesting history and parent-child relationships.
|
|
87
|
+
|
|
88
|
+
Avoid these as product labels:
|
|
89
|
+
|
|
90
|
+
- Advisor
|
|
91
|
+
- Agent persona
|
|
92
|
+
- Knowledge bot
|
|
93
|
+
- Chatbot
|
|
94
|
+
|
|
95
|
+
Acceptable user-facing language:
|
|
96
|
+
|
|
97
|
+
- LINER.md
|
|
98
|
+
- Project instructions
|
|
99
|
+
- Mixtape behavior
|
|
100
|
+
- Skills
|
|
101
|
+
- Source discipline
|
|
102
|
+
- Artifact with a conscience
|
|
103
|
+
- Liner project
|
|
104
|
+
|
|
105
|
+
## Core Mental Model
|
|
106
|
+
|
|
107
|
+
The Liner project is the durable folder.
|
|
108
|
+
|
|
109
|
+
`mixtape/` is the compiled corpus artifact.
|
|
110
|
+
|
|
111
|
+
`mixtape/MIXTAPE.md` is what the corpus knows.
|
|
112
|
+
|
|
113
|
+
`LINER.md` is how the project tells another AI to use that corpus.
|
|
114
|
+
|
|
115
|
+
`skills/*.md` are repeatable moves the project can perform.
|
|
116
|
+
|
|
117
|
+
Audits and Impact Tests are how the project proves it is still coherent.
|
|
118
|
+
|
|
119
|
+
Children and composition are how smaller mixtapes become a larger working
|
|
120
|
+
system without flattening every domain into one blob.
|
|
121
|
+
|
|
122
|
+
## File Structure
|
|
123
|
+
|
|
124
|
+
Target project shape:
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
design-engineering/
|
|
128
|
+
|-- liner.yaml
|
|
129
|
+
|-- LINER.md
|
|
130
|
+
|-- skills/
|
|
131
|
+
| |-- critique-interface-states.md
|
|
132
|
+
| |-- design-terminal-flow.md
|
|
133
|
+
| `-- evaluate-component-polish.md
|
|
134
|
+
|-- working/
|
|
135
|
+
| |-- audits/
|
|
136
|
+
| | |-- 2026-06-14-contradictions.md
|
|
137
|
+
| | `-- 2026-06-14-skill-corpus-alignment.md
|
|
138
|
+
| `-- evals/
|
|
139
|
+
| |-- tasksets/
|
|
140
|
+
| |-- runs/
|
|
141
|
+
| `-- summaries/
|
|
142
|
+
|-- mixtape/
|
|
143
|
+
| |-- tape.yaml
|
|
144
|
+
| |-- MIXTAPE.md
|
|
145
|
+
| |-- synthesis.md
|
|
146
|
+
| |-- sources/
|
|
147
|
+
| | |-- 01-source.md
|
|
148
|
+
| | `-- ...
|
|
149
|
+
| |-- local-sources/
|
|
150
|
+
| `-- working/
|
|
151
|
+
| |-- 01-jtbd-and-knowledge-map.md
|
|
152
|
+
| |-- 02-candidate-longlist.md
|
|
153
|
+
| |-- 03-evaluation.yaml
|
|
154
|
+
| |-- 04-quality-checks.md
|
|
155
|
+
| `-- 07-tape-draft.yaml
|
|
156
|
+
|-- children/
|
|
157
|
+
| |-- ux-specialist.yaml
|
|
158
|
+
| `-- ui-specialist.yaml
|
|
159
|
+
`-- lineage.yaml
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Legacy folders with root-level `tape.yaml`, `synthesis.md`, `MIXTAPE.md`,
|
|
163
|
+
`sources/`, `local-sources/`, and methodology `working/` remain readable. New
|
|
164
|
+
projects should use the v2 shape above.
|
|
165
|
+
|
|
166
|
+
## LINER.md Structure
|
|
167
|
+
|
|
168
|
+
Initial generated `LINER.md` should be Markdown-first:
|
|
169
|
+
|
|
170
|
+
```md
|
|
171
|
+
# Design Engineering
|
|
172
|
+
|
|
173
|
+
## Scope
|
|
174
|
+
|
|
175
|
+
What this mixtape is for, what it is not for, and the job it serves.
|
|
176
|
+
|
|
177
|
+
## Operating Stance
|
|
178
|
+
|
|
179
|
+
The few strong positions this corpus takes.
|
|
180
|
+
|
|
181
|
+
## Source Use Rules
|
|
182
|
+
|
|
183
|
+
How to load, prioritize, and cite sources from MIXTAPE.md and sources/.
|
|
184
|
+
|
|
185
|
+
## Skills
|
|
186
|
+
|
|
187
|
+
The reusable moves available in skills/.
|
|
188
|
+
|
|
189
|
+
## Conflict Rules
|
|
190
|
+
|
|
191
|
+
How to handle contradictions between source types, time periods, or child
|
|
192
|
+
mixtapes.
|
|
193
|
+
|
|
194
|
+
## Abstention Rules
|
|
195
|
+
|
|
196
|
+
When to say the corpus is insufficient.
|
|
197
|
+
|
|
198
|
+
## Maintenance Rules
|
|
199
|
+
|
|
200
|
+
How new sources, recordings, books, and notes should be incorporated.
|
|
201
|
+
|
|
202
|
+
## Impact Test Rules
|
|
203
|
+
|
|
204
|
+
How to test whether this Liner project is actually improving outputs.
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Skill Structure
|
|
208
|
+
|
|
209
|
+
Skills should begin as plain Markdown files. Avoid front matter until the product
|
|
210
|
+
needs machine routing beyond filename plus headings.
|
|
211
|
+
|
|
212
|
+
Example:
|
|
213
|
+
|
|
214
|
+
```md
|
|
215
|
+
# Critique Interface States
|
|
216
|
+
|
|
217
|
+
## Use When
|
|
218
|
+
|
|
219
|
+
The user is reviewing an app screen, flow, or component and wants design
|
|
220
|
+
engineering critique.
|
|
221
|
+
|
|
222
|
+
## Inputs
|
|
223
|
+
|
|
224
|
+
- screenshot or UI description
|
|
225
|
+
- target user and workflow
|
|
226
|
+
- known constraints
|
|
227
|
+
|
|
228
|
+
## Method
|
|
229
|
+
|
|
230
|
+
1. Identify the user's actual job in the screen.
|
|
231
|
+
2. Check hierarchy, density, feedback, state coverage, and failure modes.
|
|
232
|
+
3. Compare against source rules from MIXTAPE.md.
|
|
233
|
+
4. Produce prioritized findings, not generic polish advice.
|
|
234
|
+
|
|
235
|
+
## Source Grounding
|
|
236
|
+
|
|
237
|
+
- MIXTAPE.md section: Interaction states and feedback
|
|
238
|
+
- Source: `sources/07-charmbracelet-bubbles.md`
|
|
239
|
+
- Source: `sources/12-apple-hig-feedback.md`
|
|
240
|
+
|
|
241
|
+
## Boundaries
|
|
242
|
+
|
|
243
|
+
Do not invent platform rules that are not in the corpus. If the issue needs
|
|
244
|
+
accessibility law, ask for a relevant source or mark it as outside scope.
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Primary Use Cases
|
|
248
|
+
|
|
249
|
+
### 1. Build A Design Engineering Liner Project
|
|
250
|
+
|
|
251
|
+
The user creates a design-engineering Liner project from public sources, local notes,
|
|
252
|
+
and curated examples. After compile, Liner generates:
|
|
253
|
+
|
|
254
|
+
- `mixtape/MIXTAPE.md`
|
|
255
|
+
- `LINER.md`
|
|
256
|
+
- starter skills such as terminal-flow critique, component polish review, and
|
|
257
|
+
source-backed UI recommendation
|
|
258
|
+
|
|
259
|
+
When an external agent loads it, the agent gets not only sources but operating
|
|
260
|
+
rules for using them.
|
|
261
|
+
|
|
262
|
+
### 2. Add A Library Book
|
|
263
|
+
|
|
264
|
+
The user borrows a book, scans notes or adds chapter summaries, and imports them
|
|
265
|
+
as local sources.
|
|
266
|
+
|
|
267
|
+
Expected behavior:
|
|
268
|
+
|
|
269
|
+
1. TUI ingests the new material.
|
|
270
|
+
2. Liner classifies where the source fits.
|
|
271
|
+
3. Liner proposes changes to source notes, synthesis, `LINER.md`, and skills.
|
|
272
|
+
4. User reviews diffs.
|
|
273
|
+
5. Audit file records what changed and why.
|
|
274
|
+
|
|
275
|
+
### 3. Add A Recording Or Idea Dump
|
|
276
|
+
|
|
277
|
+
The user records thoughts after a project review.
|
|
278
|
+
|
|
279
|
+
Expected behavior:
|
|
280
|
+
|
|
281
|
+
1. Recording transcript is added as a local source.
|
|
282
|
+
2. Liner extracts claims, examples, and open questions.
|
|
283
|
+
3. Liner marks which claims are curator notes versus sourced facts.
|
|
284
|
+
4. `LINER.md` maintenance rules decide whether the recording should become a
|
|
285
|
+
skill update, a source note, or a new impact-test task.
|
|
286
|
+
|
|
287
|
+
### 4. Clean Up Contradictions
|
|
288
|
+
|
|
289
|
+
The user asks the TUI to find inconsistencies between skills and corpus.
|
|
290
|
+
|
|
291
|
+
Expected behavior:
|
|
292
|
+
|
|
293
|
+
1. Agent writes `working/audits/<date>-contradictions.md`.
|
|
294
|
+
2. TUI shows findings in a table:
|
|
295
|
+
- conflict
|
|
296
|
+
- affected skill/source
|
|
297
|
+
- recommendation
|
|
298
|
+
- confidence
|
|
299
|
+
3. User opens details.
|
|
300
|
+
4. User applies reviewed changes only.
|
|
301
|
+
5. Audit records why one source or rule won over another.
|
|
302
|
+
|
|
303
|
+
### 5. Merge Or Nest Mixtapes
|
|
304
|
+
|
|
305
|
+
The user has:
|
|
306
|
+
|
|
307
|
+
- `design-engineering`
|
|
308
|
+
- `ux-specialist`
|
|
309
|
+
- `ui-specialist`
|
|
310
|
+
|
|
311
|
+
They create `product-design` as a parent.
|
|
312
|
+
|
|
313
|
+
Default behavior should prefer nesting first:
|
|
314
|
+
|
|
315
|
+
- `product-design` references children.
|
|
316
|
+
- Child scope remains intact.
|
|
317
|
+
- Parent `LINER.md` routes tasks to children.
|
|
318
|
+
- Merge is available only when the source sets are small and non-overlapping
|
|
319
|
+
enough to stay coherent.
|
|
320
|
+
|
|
321
|
+
Example composition table:
|
|
322
|
+
|
|
323
|
+
```text
|
|
324
|
+
Child Route Status
|
|
325
|
+
ux-specialist research, flows, IA ready
|
|
326
|
+
ui-specialist hierarchy, layout, patterns ready
|
|
327
|
+
design-engineering states, systems, polish warning
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
## Go TUI Surfaces
|
|
331
|
+
|
|
332
|
+
The Go TUI should manage Liner projects after compile.
|
|
333
|
+
|
|
334
|
+
Target Project actions:
|
|
335
|
+
|
|
336
|
+
```text
|
|
337
|
+
Key Action When
|
|
338
|
+
enter Preview MIXTAPE.md compiled artifact ready
|
|
339
|
+
l Manage LINER.md project instructions
|
|
340
|
+
k Skills reusable methods
|
|
341
|
+
a Audits contradictions and alignment
|
|
342
|
+
e Impact Tests compare output quality
|
|
343
|
+
m Compose merge or nest child mixtapes
|
|
344
|
+
c Recompile explicit rebuild
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Use tables for management:
|
|
348
|
+
|
|
349
|
+
- source inventory
|
|
350
|
+
- skills list
|
|
351
|
+
- audit findings
|
|
352
|
+
- impact-test variants
|
|
353
|
+
- child mixtapes
|
|
354
|
+
|
|
355
|
+
Use viewports for:
|
|
356
|
+
|
|
357
|
+
- `LINER.md`
|
|
358
|
+
- skill bodies
|
|
359
|
+
- audit reports
|
|
360
|
+
- impact-test outputs
|
|
361
|
+
|
|
362
|
+
Avoid card-heavy dashboard layouts. This should feel like a workshop with a
|
|
363
|
+
clear next action.
|
|
364
|
+
|
|
365
|
+
## Generation Workflow
|
|
366
|
+
|
|
367
|
+
`LINER.md` generation should be a completed-mixtape action, not a required
|
|
368
|
+
creation phase.
|
|
369
|
+
|
|
370
|
+
Flow:
|
|
371
|
+
|
|
372
|
+
```text
|
|
373
|
+
Project
|
|
374
|
+
-> Manage LINER.md
|
|
375
|
+
-> Generate LINER.md
|
|
376
|
+
-> Review proposed LINER.md
|
|
377
|
+
-> Accept / edit / discard
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Inputs:
|
|
381
|
+
|
|
382
|
+
- `mixtape/MIXTAPE.md`
|
|
383
|
+
- `mixtape/synthesis.md`
|
|
384
|
+
- `mixtape/tape.yaml`
|
|
385
|
+
- source notes and kinds
|
|
386
|
+
- `mixtape/working/04-quality-checks.md`
|
|
387
|
+
|
|
388
|
+
Outputs:
|
|
389
|
+
|
|
390
|
+
- `LINER.md`
|
|
391
|
+
- optional starter `skills/*.md`
|
|
392
|
+
- `working/audits/<date>-liner-md-generation.md`
|
|
393
|
+
|
|
394
|
+
Review rules:
|
|
395
|
+
|
|
396
|
+
- Generated files are proposed first.
|
|
397
|
+
- User can open files in editor.
|
|
398
|
+
- Accept writes files.
|
|
399
|
+
- Discard removes draft files.
|
|
400
|
+
- Audit explains the decisions and limitations.
|
|
401
|
+
|
|
402
|
+
## Audit Requirements
|
|
403
|
+
|
|
404
|
+
Initial audits:
|
|
405
|
+
|
|
406
|
+
1. Contradiction audit.
|
|
407
|
+
2. Skill-corpus alignment audit.
|
|
408
|
+
3. Source-note quality audit.
|
|
409
|
+
|
|
410
|
+
Contradiction audit should find:
|
|
411
|
+
|
|
412
|
+
- two skills giving incompatible instructions
|
|
413
|
+
- a skill that contradicts source hierarchy
|
|
414
|
+
- source notes that overstate what a source supports
|
|
415
|
+
- parent and child mixtapes with conflicting scope
|
|
416
|
+
|
|
417
|
+
Skill-corpus alignment should check:
|
|
418
|
+
|
|
419
|
+
- every skill points to at least one source or section
|
|
420
|
+
- skill boundaries are explicit
|
|
421
|
+
- skill method does not exceed the corpus
|
|
422
|
+
- old skills are marked stale when sources change materially
|
|
423
|
+
|
|
424
|
+
Source-note quality should check:
|
|
425
|
+
|
|
426
|
+
- notes say what to read for
|
|
427
|
+
- notes name the bar the source sets
|
|
428
|
+
- notes flag limitations or scope boundaries
|
|
429
|
+
- notes distinguish curator stance from source claim
|
|
430
|
+
|
|
431
|
+
## Impact Test Requirements
|
|
432
|
+
|
|
433
|
+
Start local and simple.
|
|
434
|
+
|
|
435
|
+
Variants:
|
|
436
|
+
|
|
437
|
+
- no project files
|
|
438
|
+
- `MIXTAPE.md` only
|
|
439
|
+
- `MIXTAPE.md + LINER.md`
|
|
440
|
+
- `MIXTAPE.md + LINER.md + skills/*.md`
|
|
441
|
+
|
|
442
|
+
Artifacts:
|
|
443
|
+
|
|
444
|
+
```text
|
|
445
|
+
working/evals/tasksets/
|
|
446
|
+
working/evals/runs/<timestamp>/
|
|
447
|
+
working/evals/summaries/
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
Initial scoring:
|
|
451
|
+
|
|
452
|
+
- human rubric first
|
|
453
|
+
- optional LLM judge later
|
|
454
|
+
- record qualitative notes, not just scores
|
|
455
|
+
|
|
456
|
+
Example impact-test task:
|
|
457
|
+
|
|
458
|
+
```md
|
|
459
|
+
# Impact Test Task: Terminal Flow Critique
|
|
460
|
+
|
|
461
|
+
Input: a screenshot or text description of a setup wizard.
|
|
462
|
+
|
|
463
|
+
Expected output:
|
|
464
|
+
|
|
465
|
+
- identifies the user's job
|
|
466
|
+
- finds contradictory helper text
|
|
467
|
+
- proposes a simpler linear flow
|
|
468
|
+
- cites or names the relevant source rule
|
|
469
|
+
- avoids generic design advice
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
## Acceptance Criteria
|
|
473
|
+
|
|
474
|
+
Phase 1:
|
|
475
|
+
|
|
476
|
+
- Existing compiled project can show `LINER.md` status in Project.
|
|
477
|
+
- User can generate a draft `LINER.md`.
|
|
478
|
+
- Draft is reviewed before write.
|
|
479
|
+
- Accepted `LINER.md` is visible in a viewport.
|
|
480
|
+
- Generation writes an audit note.
|
|
481
|
+
|
|
482
|
+
Phase 2:
|
|
483
|
+
|
|
484
|
+
- User can see skills in a table.
|
|
485
|
+
- User can open, create, disable, and audit skills.
|
|
486
|
+
- Skill-corpus alignment audit detects ungrounded skills.
|
|
487
|
+
|
|
488
|
+
Phase 3:
|
|
489
|
+
|
|
490
|
+
- User can run contradiction and source-note quality audits.
|
|
491
|
+
- Findings appear in a table with inspectable report bodies.
|
|
492
|
+
- Applying changes is review-only, never silent.
|
|
493
|
+
|
|
494
|
+
Phase 4:
|
|
495
|
+
|
|
496
|
+
- User can define a tiny local impact-test taskset.
|
|
497
|
+
- User can run or prepare at least two variants from the run packet.
|
|
498
|
+
- Results are saved and summarized.
|
|
499
|
+
|
|
500
|
+
Phase 5:
|
|
501
|
+
|
|
502
|
+
- User can nest child mixtapes under a parent.
|
|
503
|
+
- Parent `LINER.md` routes tasks to children.
|
|
504
|
+
- `lineage.yaml` records composition history.
|
|
505
|
+
|
|
506
|
+
## Open Questions
|
|
507
|
+
|
|
508
|
+
1. Should `LINER.md` generation use the existing methodology skill bundle or a
|
|
509
|
+
new smaller project skill?
|
|
510
|
+
2. Should starter skills live in `skills/*.md` only, or should `LINER.md`
|
|
511
|
+
include short embedded skill summaries?
|
|
512
|
+
3. What is the minimum useful Impact Tests UI: task table only, or side-by-side
|
|
513
|
+
output comparison on day one?
|
|
514
|
+
4. When a parent mixtape nests children, should sources be copied, referenced,
|
|
515
|
+
or both?
|
|
516
|
+
5. Should external agents load `LINER.md` first, then `MIXTAPE.md`, or should
|
|
517
|
+
`LINER.md` explicitly instruct when to load deeper source files?
|
|
518
|
+
|
|
519
|
+
## Recommended First Build
|
|
520
|
+
|
|
521
|
+
Build the smallest useful loop:
|
|
522
|
+
|
|
523
|
+
1. Detect `LINER.md` on Project.
|
|
524
|
+
2. Add a `LINER.md` preview route.
|
|
525
|
+
3. Add a generate action that writes a draft file under `working/`.
|
|
526
|
+
4. Add review accept/discard.
|
|
527
|
+
5. Write one audit file explaining generation decisions.
|
|
528
|
+
|
|
529
|
+
Do not start with merge/nesting. Composition becomes valuable after individual
|
|
530
|
+
Liner projects have a stable `LINER.md` and at least one audit or
|
|
531
|
+
Impact Test loop.
|