linersh 0.5.7 → 1.0.1

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.
Files changed (97) hide show
  1. package/README.md +84 -159
  2. package/bin/liner.js +89 -44
  3. package/cli-update-docs/README.md +6 -6
  4. package/cli-update-docs/SKILL.md +72 -37
  5. package/cli-update-docs/quality-check-tests.md +256 -8
  6. package/cli-update-docs/source-finding-tactics.md +140 -3
  7. package/cli-update-docs/source-quality-hierarchy.md +83 -0
  8. package/cli-update-docs/synthesis-guidance.md +19 -5
  9. package/dist/agents/artifact-validation.js +440 -0
  10. package/dist/agents/artifact-validation.js.map +1 -0
  11. package/dist/agents/candidate-longlist.js +100 -0
  12. package/dist/agents/candidate-longlist.js.map +1 -0
  13. package/dist/agents/detect.js +3 -2
  14. package/dist/agents/detect.js.map +1 -1
  15. package/dist/agents/evaluation-assembly.js +270 -0
  16. package/dist/agents/evaluation-assembly.js.map +1 -0
  17. package/dist/agents/headless-runner.js +227 -0
  18. package/dist/agents/headless-runner.js.map +1 -0
  19. package/dist/agents/jtbd-clarify.js +42 -41
  20. package/dist/agents/jtbd-clarify.js.map +1 -1
  21. package/dist/agents/models.js +6 -7
  22. package/dist/agents/models.js.map +1 -1
  23. package/dist/agents/prompts.js +220 -20
  24. package/dist/agents/prompts.js.map +1 -1
  25. package/dist/agents/runner.js +462 -21
  26. package/dist/agents/runner.js.map +1 -1
  27. package/dist/phases.js +13 -13
  28. package/dist/phases.js.map +1 -1
  29. package/dist/source-inbox.js +297 -0
  30. package/dist/source-inbox.js.map +1 -0
  31. package/dist/version.js +3 -9
  32. package/dist/version.js.map +1 -1
  33. package/dist/yaml-io.js +42 -11
  34. package/dist/yaml-io.js.map +1 -1
  35. package/package.json +26 -23
  36. package/cli-update-docs/ABOUT.md +0 -69
  37. package/cli-update-docs/AI-HANDOFF.md +0 -241
  38. package/cli-update-docs/CURATION.md +0 -261
  39. package/cli-update-docs/JOB-STORY-MIGRATION.md +0 -99
  40. package/cli-update-docs/JTBD-MASTER-PROMPT-ABOUT.md +0 -133
  41. package/cli-update-docs/JTBD-MASTER-PROMPT.md +0 -147
  42. package/cli-update-docs/LINER-MASTER.md +0 -546
  43. package/cli-update-docs/MIXTAPE-FORMAT.md +0 -398
  44. package/cli-update-docs/PLATFORM.md +0 -210
  45. package/cli-update-docs/TUI-BACKLOG.md +0 -155
  46. package/dist/App.js +0 -220
  47. package/dist/App.js.map +0 -1
  48. package/dist/colors.js +0 -132
  49. package/dist/colors.js.map +0 -1
  50. package/dist/components/Header.js +0 -15
  51. package/dist/components/Header.js.map +0 -1
  52. package/dist/components/KeyHints.js +0 -17
  53. package/dist/components/KeyHints.js.map +0 -1
  54. package/dist/components/LabeledBox.js +0 -53
  55. package/dist/components/LabeledBox.js.map +0 -1
  56. package/dist/components/NextSteps.js +0 -18
  57. package/dist/components/NextSteps.js.map +0 -1
  58. package/dist/index.js +0 -17
  59. package/dist/index.js.map +0 -1
  60. package/dist/screens/AgentSetup.js +0 -224
  61. package/dist/screens/AgentSetup.js.map +0 -1
  62. package/dist/screens/BootSplash.js +0 -163
  63. package/dist/screens/BootSplash.js.map +0 -1
  64. package/dist/screens/CompileView.js +0 -567
  65. package/dist/screens/CompileView.js.map +0 -1
  66. package/dist/screens/FramingConfirmReview.js +0 -197
  67. package/dist/screens/FramingConfirmReview.js.map +0 -1
  68. package/dist/screens/Gate1Review.js +0 -147
  69. package/dist/screens/Gate1Review.js.map +0 -1
  70. package/dist/screens/Gate2Review.js +0 -162
  71. package/dist/screens/Gate2Review.js.map +0 -1
  72. package/dist/screens/ImportPrompt.js +0 -173
  73. package/dist/screens/ImportPrompt.js.map +0 -1
  74. package/dist/screens/JsSetup.js +0 -77
  75. package/dist/screens/JsSetup.js.map +0 -1
  76. package/dist/screens/LocalFilePicker.js +0 -139
  77. package/dist/screens/LocalFilePicker.js.map +0 -1
  78. package/dist/screens/NewMixtapeWizard.js +0 -662
  79. package/dist/screens/NewMixtapeWizard.js.map +0 -1
  80. package/dist/screens/PhaseRunner.js +0 -1203
  81. package/dist/screens/PhaseRunner.js.map +0 -1
  82. package/dist/screens/ProcessManifest.js +0 -160
  83. package/dist/screens/ProcessManifest.js.map +0 -1
  84. package/dist/screens/ProjectHub.js +0 -557
  85. package/dist/screens/ProjectHub.js.map +0 -1
  86. package/dist/screens/SourceModal.js +0 -269
  87. package/dist/screens/SourceModal.js.map +0 -1
  88. package/dist/screens/TapeBrowser.js +0 -312
  89. package/dist/screens/TapeBrowser.js.map +0 -1
  90. package/dist/screens/TapeDraftReview.js +0 -444
  91. package/dist/screens/TapeDraftReview.js.map +0 -1
  92. package/dist/screens/TapeEditor.js +0 -310
  93. package/dist/screens/TapeEditor.js.map +0 -1
  94. package/dist/screens/cassette-art.js +0 -72
  95. package/dist/screens/cassette-art.js.map +0 -1
  96. package/dist/store.js +0 -10
  97. package/dist/store.js.map +0 -1
package/dist/yaml-io.js CHANGED
@@ -8,6 +8,7 @@ const ALLOWED_TYPES = new Set([
8
8
  "youtube",
9
9
  "web",
10
10
  "local_file",
11
+ "skill",
11
12
  ]);
12
13
  const ALLOWED_PRIORITIES = new Set(["required", "optional"]);
13
14
  const ALLOWED_MODES = new Set(["quick", "methodology"]);
@@ -26,13 +27,23 @@ const ALLOWED_LOCAL_EXTENSIONS = new Set([
26
27
  ".pdf",
27
28
  ]);
28
29
  export function projectFolder(path) {
30
+ const canonical = join(path, "mixtape");
31
+ const projectMarker = join(path, "liner.yaml");
32
+ const legacyTape = join(path, "tape.yaml");
33
+ const canonicalTape = join(canonical, "tape.yaml");
34
+ const corpusPath = existsSync(projectMarker) || existsSync(canonicalTape)
35
+ ? canonical
36
+ : existsSync(legacyTape)
37
+ ? path
38
+ : canonical;
29
39
  return {
30
- path,
31
- tapePath: join(path, "tape.yaml"),
32
- synthesisPath: join(path, "synthesis.md"),
33
- mixtapePath: join(path, "MIXTAPE.md"),
34
- sourcesDir: join(path, "sources"),
35
- workingDir: join(path, "working"),
40
+ rootPath: path,
41
+ path: corpusPath,
42
+ tapePath: join(corpusPath, "tape.yaml"),
43
+ synthesisPath: join(corpusPath, "synthesis.md"),
44
+ mixtapePath: join(corpusPath, "MIXTAPE.md"),
45
+ sourcesDir: join(corpusPath, "sources"),
46
+ workingDir: join(corpusPath, "working"),
36
47
  };
37
48
  }
38
49
  export function readSynthesisStatus(folder) {
@@ -67,7 +78,7 @@ export function writeTape(path, tape, doc) {
67
78
  }
68
79
  export function emptyTape(curator = "") {
69
80
  return {
70
- title: "New mixtape",
81
+ title: "New Liner",
71
82
  description: "",
72
83
  version: 1,
73
84
  curator,
@@ -96,7 +107,7 @@ export function validateTape(tape) {
96
107
  tape.sources?.forEach((src, i) => {
97
108
  const prefix = `sources[${i}]`;
98
109
  if (!ALLOWED_TYPES.has(src.type)) {
99
- errs.push({ field: `${prefix}.type`, message: "must be youtube, web, or local_file" });
110
+ errs.push({ field: `${prefix}.type`, message: "must be youtube, web, local_file, or skill" });
100
111
  }
101
112
  if (!ALLOWED_PRIORITIES.has(src.priority)) {
102
113
  errs.push({
@@ -113,8 +124,8 @@ export function validateTape(tape) {
113
124
  if (path.startsWith("/")) {
114
125
  errs.push({ field: `${prefix}.path`, message: "must be relative, not absolute" });
115
126
  }
116
- else if (!path.startsWith("personal/")) {
117
- errs.push({ field: `${prefix}.path`, message: "must start with personal/" });
127
+ else if (!path.startsWith("personal/") && !path.startsWith("local-sources/")) {
128
+ errs.push({ field: `${prefix}.path`, message: "must start with local-sources/ or personal/" });
118
129
  }
119
130
  else if (path.split("/").includes("..")) {
120
131
  errs.push({ field: `${prefix}.path`, message: "must not contain .. segments" });
@@ -133,6 +144,14 @@ export function validateTape(tape) {
133
144
  errs.push({ field: `${prefix}.citation`, message: "required for local_file" });
134
145
  }
135
146
  }
147
+ else if (src.type === "skill") {
148
+ if (!src.path?.trim() && !src.url?.trim()) {
149
+ errs.push({ field: `${prefix}.path`, message: "skill requires a name/path or GitHub URL" });
150
+ }
151
+ if (src.url?.trim() && !isLikelyUrl(src.url)) {
152
+ errs.push({ field: `${prefix}.url`, message: "not a valid URL" });
153
+ }
154
+ }
136
155
  else {
137
156
  // youtube / web
138
157
  if (!src.url?.trim()) {
@@ -177,6 +196,11 @@ export function detectSourceType(input) {
177
196
  lower.includes("youtube.com/shorts/")) {
178
197
  return "youtube";
179
198
  }
199
+ if (lower.includes("/skills/") ||
200
+ lower.endsWith("/skill.md") ||
201
+ lower.includes("github.com/") && lower.includes("skill")) {
202
+ return "skill";
203
+ }
180
204
  return "web";
181
205
  }
182
206
  /** Slugify a string for use as a folder name. Mirrors Python `project.slugify`. */
@@ -196,7 +220,8 @@ export function slugify(text, maxLength = 60) {
196
220
  }
197
221
  export function isProjectFolder(path) {
198
222
  try {
199
- return statSync(path).isDirectory() && existsSync(join(path, "tape.yaml"));
223
+ const folder = projectFolder(path);
224
+ return statSync(path).isDirectory() && existsSync(folder.tapePath);
200
225
  }
201
226
  catch {
202
227
  return false;
@@ -308,6 +333,12 @@ function applyTapeToDocument(doc, tape) {
308
333
  if (s.citation)
309
334
  obj["citation"] = s.citation;
310
335
  }
336
+ else if (s.type === "skill") {
337
+ if (s.path)
338
+ obj["path"] = s.path;
339
+ if (s.url)
340
+ obj["url"] = s.url;
341
+ }
311
342
  else {
312
343
  if (s.url)
313
344
  obj["url"] = s.url;
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-io.js","sourceRoot":"","sources":["../src/yaml-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yaml-io.js","sourceRoot":"","sources":["../src/yaml-io.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,54 +1,57 @@
1
1
  {
2
2
  "name": "linersh",
3
- "version": "0.5.7",
4
- "description": "Liner — interactive tape editor for building curated mixtapes (AI-consumable context bundles).",
3
+ "version": "1.0.1",
4
+ "description": "Liner — npm shim, Go TUI launcher, and headless methodology runner.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": "cmdux-sh",
8
8
  "homepage": "https://liner.sh",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/cmdux-sh/liner.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/cmdux-sh/liner/issues"
15
+ },
9
16
  "bin": {
10
17
  "liner": "bin/liner.js"
11
18
  },
12
19
  "files": [
13
- "bin/",
20
+ "bin/liner.js",
14
21
  "dist/",
15
22
  "cli-update-docs/"
16
23
  ],
17
24
  "scripts": {
18
25
  "build": "tsc",
19
- "prepack": "node scripts/copy-skill-bundle.mjs && npm run build",
20
- "prepublishOnly": "npm run typecheck && npm test && npm run build",
21
- "predev": "node scripts/unhide-venv.mjs",
22
- "dev": "tsx src/index.tsx",
26
+ "build:go": "cd ../go-tui && go build -o ../tui/bin/liner-tui ./cmd/liner-tui",
27
+ "build:package": "npm run build && npm run build:go",
28
+ "acceptance:go": "node scripts/go-tui-acceptance.mjs",
29
+ "predev:go": "node scripts/unhide-venv.mjs && npm run build:go",
30
+ "dev:go": "node bin/liner.js",
31
+ "prepack": "node scripts/copy-skill-bundle.mjs && npm run build:package",
32
+ "prepublishOnly": "npm run typecheck && npm test && npm run build:package",
33
+ "predev": "node scripts/unhide-venv.mjs && npm run build:go",
34
+ "dev": "node bin/liner.js",
23
35
  "predev:built": "node scripts/unhide-venv.mjs",
24
- "dev:built": "npm run build && node bin/liner.js",
36
+ "dev:built": "npm run build:package && node bin/liner.js",
25
37
  "start": "node bin/liner.js",
26
38
  "typecheck": "tsc --noEmit",
27
39
  "test": "vitest run"
28
40
  },
29
41
  "dependencies": {
30
- "ink": "^5.0.1",
31
- "ink-big-text": "^2.0.0",
32
- "ink-gradient": "^3.0.0",
33
- "ink-spinner": "^5.0.0",
34
- "ink-text-input": "^6.0.0",
35
- "react": "^18.3.1",
36
42
  "yaml": "^2.6.1"
37
43
  },
38
44
  "optionalDependencies": {
39
- "linersh-darwin-arm64": "0.5.7",
40
- "linersh-darwin-x64": "0.5.7",
41
- "linersh-linux-arm64": "0.5.7",
42
- "linersh-linux-x64": "0.5.7",
43
- "linersh-win32-x64": "0.5.7"
45
+ "linersh-darwin-arm64": "^0.5.7 || ^1.0.0",
46
+ "linersh-darwin-x64": "^0.5.7 || ^1.0.0",
47
+ "linersh-linux-arm64": "^0.5.7 || ^1.0.0",
48
+ "linersh-linux-x64": "^0.5.7 || ^1.0.0",
49
+ "linersh-win32-x64": "^0.5.7 || ^1.0.0"
44
50
  },
45
51
  "devDependencies": {
46
52
  "@types/node": "^22.10.0",
47
- "@types/react": "^18.3.12",
48
- "ink-testing-library": "^4.0.0",
49
- "tsx": "^4.19.2",
50
53
  "typescript": "^5.7.2",
51
- "vitest": "^2.1.8"
54
+ "vitest": "^3.2.6"
52
55
  },
53
56
  "engines": {
54
57
  "node": ">=18"
@@ -1,69 +0,0 @@
1
- # About Liner
2
-
3
- Liner is an open-source toolkit for building curated context bundles — *mixtapes* — that make AI systems more useful within a specific domain.
4
-
5
- ## The premise
6
-
7
- AI tools are bottlenecked on context, not capability. A model can produce better mobile design feedback when it has access to a thoughtful selection of platform conventions, practitioner writing, and contested perspectives than when it's relying on whatever made it into its training data. The same applies to almost any domain: the model improves dramatically when given good context, and the practical problem becomes assembling that context well.
8
-
9
- Right now, that work is invisible and manual. People paste transcripts and articles into chats one at a time. They maintain ad-hoc notes. They rebuild the same context bundle from scratch every time they switch tools. Existing platforms solve hosted use cases — NotebookLM and Claude Projects let you upload files into a sandbox — but the resulting artifact is trapped in the platform and can't be shared as a recipe.
10
-
11
- Liner treats curation as the work and produces a portable artifact.
12
-
13
- ## What Liner is
14
-
15
- Liner is several things sharing a methodology and a file format:
16
-
17
- - **A CLI** for compiling mixtape projects
18
- - **A TUI** for the multi-step authoring lifecycle
19
- - **A skill** that runs the methodology inside Claude
20
- - **An MCP server** that exposes the same functions to any agent (Claude Code, Codex, Cursor, others)
21
- - **A library** of curated mixtapes anyone can clone, fork, or run as-is
22
- - **A methodology** documented in [CURATION.md](./CURATION.md) and applied across all the above
23
-
24
- The pieces are independent. The CLI works without the TUI. The skill works without the CLI. The MCP server works in any agent host. Users pick the surface that fits their workflow.
25
-
26
- ## What a mixtape is
27
-
28
- A mixtape is a project folder containing:
29
-
30
- - A **recipe** (`tape.yaml`) — the curated list of sources with notes and sections
31
- - A **synthesis** — the curator's distilled understanding of the domain
32
- - **Source content** — extracted text from every source in the recipe
33
- - **Working notes** — the methodology's traces: JTBD, knowledge map, evaluation, quality checks
34
- - A **master file** (`MIXTAPE.md`) — the consumable artifact, with the synthesis up front and sources referenced by file
35
-
36
- The recipe is small, shareable, and recompilable. The mixtape folder is heavier, self-contained, and ready to paste into an AI conversation. The two artifacts have different sharing properties and different purposes.
37
-
38
- ## Who Liner is for
39
-
40
- Developers, designers, researchers, and AI-curious power users who feed AI tools a lot of context and want to do it better. The audience overlaps significantly with people who already use the terminal, write Markdown, and have an opinion about how AI tools should work.
41
-
42
- Liner is not aimed at users who want a polished hosted product with no setup. NotebookLM is better for that audience. Liner is aimed at people who want a portable, scriptable, forkable workflow they control.
43
-
44
- ## What makes Liner different
45
-
46
- A few decisions that distinguish Liner from adjacent tools:
47
-
48
- - **Curation is the work.** The methodology is the product, not an afterthought. Tools that auto-generate context bundles produce mediocre results because they skip the judgment step. Liner is structured around making that judgment easier.
49
- - **Portable artifacts.** Mixtape folders are plain text — YAML and Markdown. They can be edited by hand, generated by tools, shared in repositories, and forked into derivatives. Nothing is locked into a platform.
50
- - **No hosted backend.** Liner doesn't run a service. The CLI runs locally. The library is a static repository. The website is a static site. No accounts, no servers, no infrastructure that can disappear.
51
- - **Two modes, same architecture.** Quick mode runs the methodology automatically; methodology mode runs it with substantive curator involvement. Same files, same format, different intensity. The library accepts methodology-mode mixtapes; personal use is whatever the curator wants.
52
- - **Multiple surfaces, one methodology.** The same curation process applies whether the user is in the terminal, in a Claude conversation, or driving an agent. The methodology document is the source of truth; everything else implements it.
53
-
54
- ## How the pieces fit together
55
-
56
- - The **methodology** ([CURATION.md](./CURATION.md)) defines how to curate well.
57
- - The **mixtape format** ([MIXTAPE-FORMAT.md](./MIXTAPE-FORMAT.md)) defines what a mixtape folder contains and how `tape.yaml` is structured.
58
- - The **platform** ([PLATFORM.md](./PLATFORM.md)) defines how the Liner project specifically operates — the library, the contribution process, the boundaries.
59
- - The **tools** (CLI, TUI, skill, MCP server) implement the methodology and consume the format.
60
-
61
- A curator who learns the methodology can apply it with or without Liner's tools. A curator using Liner's tools can produce mixtapes that exist outside the Liner ecosystem. The methodology, the format, and the tools compose without locking into each other.
62
-
63
- ## Project status
64
-
65
- Active development. The CLI and TUI are both functional and published on npm (current release v0.5.5, Mac, Linux, and Windows x64). Both support the full v1.1 tape format — `youtube`, `web`, and `local_file` sources, with optional Playwright-backed JavaScript rendering for sites that need it (`liner setup-js`, surfaced by the TUI during onboarding and compile warnings). The TUI now treats compilation as the completion milestone and opens existing compile results instead of rerunning by default. The library is empty pending its first methodology-mode entries. The `curating-mixtapes` skill ships inside the TUI package; the MCP server is planned. Maintained as a side project — see [PLATFORM.md](./PLATFORM.md) for the maintenance contract.
66
-
67
- ## License
68
-
69
- MIT.
@@ -1,241 +0,0 @@
1
- # Liner AI Handoff
2
-
3
- Last updated: 2026-06-01
4
-
5
- This handoff summarizes the current Liner state after the 0.5.6 TUI/core release,
6
- marketing-site launch-prep pass, and 0.5.7 PDF-download hotfix prep. It
7
- is intended for any AI agent continuing the work without the full chat history.
8
-
9
- ## Current Product State
10
-
11
- - `linersh@0.5.6` is published on npm and promoted to `latest`.
12
- - The published Python core/platform packages are `0.5.6`; matching
13
- `linersh-*@0.5.6` platform packages are published on npm and promoted to
14
- `latest`.
15
- - The repo is prepared for `0.5.7` (`pyproject.toml`, `src/liner/__init__.py`,
16
- and `packages/tui/package.json`). It needs rebuilt platform packages because
17
- the Python core changed.
18
- - Platform packages are available for macOS arm64/x64, Linux arm64/x64, and Windows x64.
19
- - The TUI is installed/tested locally from the packed tarball in `/tmp/liner-playwright-test`.
20
- - The main tested mixtape is `staff-design-engenieer` (typo preserved in the folder name).
21
- - Clean npm smoke passed with `npx linersh@latest --version`: `liner 0.5.6 (tui) · 0.5.6 (core)`.
22
-
23
- ## Important Local Paths
24
-
25
- - Active repo/worktree for this thread: `/Users/arturo/.codex/worktrees/7117/liner`
26
- - Previous v0.5.5 implementation worktree: `/Users/arturo/.codex/worktrees/44f8/liner`
27
- - Original Liner project folder: `/Users/arturo/Documents/Projects/Youtube Grabber/liner`
28
- - Original mixtapes folder: `/Users/arturo/Documents/Projects/Youtube Grabber/liner/mixtapes`
29
- - CMD-UX copied mixtapes folder: `/Users/arturo/Documents/Projects/CMD-UX/Case Studies/mixtapes`
30
- - Local TUI test install: `/tmp/liner-playwright-test`
31
- - 0.5.5 release artifacts: `/tmp/liner-release-artifacts-0.5.5`
32
- - 0.5.6 release artifacts: `/tmp/liner-release-artifacts-0.5.6`
33
- - 0.5.7 release artifacts: `/tmp/liner-release-artifacts-0.5.7`
34
- - Tested mixtape now moved back to: `/Users/arturo/Documents/Projects/Youtube Grabber/liner/mixtapes/staff-design-engenieer`
35
-
36
- ## What Was Fixed In This Pass
37
-
38
- 0.5.7 PDF-download hotfix:
39
-
40
- - `.pdf` sources that first hit a JavaScript or bot-detection stub and then
41
- fall back to Playwright can make Chromium report `Page.goto: Download is
42
- starting`. Liner now captures that Playwright download and extracts it
43
- through the shared PDF helper.
44
- - Verified against the failing resume mixtape PDFs:
45
- - `TheLadders-EyeTracking-StudyC2.pdf?type=standard` -> 4,095 chars.
46
- - `Formula-for-a-Winning-Resume.pdf` -> 7,208 chars.
47
- - Full `staff-designer-resume-crafter` compile with `--no-cache` now reaches
48
- `22/24 usable sources`; the remaining failures are PAIR cookie-consent-only
49
- output and a Microsoft HAX network timeout.
50
-
51
- 0.5.6 source-extraction hardening:
52
-
53
- - Remote web PDFs are detected before HTML extraction and extracted through the
54
- shared PDF helper. This prevents raw `%PDF-` bytes from entering generated
55
- source Markdown.
56
- - Bad web cache entries are purged and refetched when they contain raw PDF
57
- bytes, stale PDF URL fallbacks, tiny soft/playwright fallback bodies, or
58
- cookie-consent-only text.
59
- - Server HTML that looks like an empty client-side app shell now raises
60
- `JsRenderingRequired`, so existing auto-fallback can try Playwright.
61
- - Cookie-consent-only output is rejected as unusable, including after Playwright
62
- rendering. This is intentionally an honest failure, not an automatic
63
- cookie-clicker.
64
- - Partial compile output now says how many source files are usable versus
65
- unavailable placeholders.
66
-
67
- 0.5.5 TUI/core release:
68
-
69
- - Skill bundle resolution for npm installs:
70
- - TUI now resolves the bundled `cli-update-docs/SKILL.md` reliably from the installed package.
71
- - `LINER_SKILL_PATH` can point either at the skill directory or at `SKILL.md`.
72
-
73
- - Playwright/JS rendering onboarding:
74
- - First-run TUI flow now asks whether to install JS rendering support after agent/model setup.
75
- - Compile results that detect missing Chromium show a `JS rendering needed` callout.
76
- - The callout says: `Some pages require headless Chromium to fetch correctly. Press j to run liner setup-js --yes (~150MB).`
77
- - Pressing `j` runs setup and retries compile.
78
-
79
- - Compile result UX:
80
- - Long source lists use an internal viewport with `↑↓` and `pgup/pgdn`.
81
- - PhaseRunner done screens use an internal viewport for the final response.
82
- - Partial compiles now count as complete when `MIXTAPE.md` is written.
83
- - The hub shows `Ready to use — compiled with warnings` when some sources failed.
84
- - Pressing Enter on completed Compile opens the existing compile result instead of fetching again.
85
- - Recompile/retry is explicit with `r` from CompileView.
86
-
87
- - Web extraction fallback:
88
- - `trafilatura` crashes are caught.
89
- - Web handlers keep useful fallback text where possible and surface a soft warning instead of raw Python errors like `'NoneType' object is not subscriptable`.
90
-
91
- - Clean reinstall:
92
- - `liner uninstall` was added to the npm shim.
93
- - It removes `~/.liner`, npm `_npx`, and Playwright Chromium cache.
94
- - It does not remove mixtape project folders.
95
-
96
- ## Known Gotchas
97
-
98
- - The tested mixtape folder is misspelled `staff-design-engenieer`; do not silently rename it unless the user asks, because existing references and copied paths use that spelling.
99
- - `LINER_BIN` matters during local testing. To test TUI changes plus local Python handler fixes, run the TUI with:
100
-
101
- ```sh
102
- cd /tmp/liner-playwright-test
103
- LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner
104
- ```
105
-
106
- - Running `./node_modules/.bin/liner` without `LINER_BIN` uses the bundled platform binary, which may not include local Python source edits until platform packages are rebuilt.
107
- - If Python source changed, publishing only the main `linersh` package is not
108
- enough. Rebuild and publish all platform packages at the same version first.
109
- - Cookie-banner auto-dismissal is not implemented in 0.5.6. The safety net is
110
- to reject cookie-only output; a future dismissal pass should keep that final
111
- rejection in place.
112
- - The TUI package generated `packages/tui/cli-update-docs/` during `prepack`; the canonical docs live at repo-root `cli-update-docs/`.
113
- - The old root `docs/` folder was removed. `LINER-MASTER.md` now lives at `cli-update-docs/LINER-MASTER.md`.
114
- - The Jhey source URL currently 404s on the live site. The useful archived version is:
115
-
116
- ```text
117
- https://web.archive.org/web/20250408204038id_/https://jhey.dev/cheep/rotating-gallery-with-css-scroll-driven-animations/
118
- ```
119
-
120
- ## Verification Already Run
121
-
122
- TUI package:
123
-
124
- ```sh
125
- cd /Users/arturo/.codex/worktrees/7117/liner/packages/tui
126
- npm run typecheck
127
- npm run build
128
- npm test
129
- npm pack --json
130
- ```
131
-
132
- Python suite:
133
-
134
- ```sh
135
- cd /Users/arturo/.codex/worktrees/7117/liner
136
- uv run --extra dev pytest
137
- ```
138
-
139
- Result from the latest full Python run in this pass: `190 passed, 1 deselected`.
140
-
141
- Release-prep verification:
142
-
143
- ```sh
144
- cd /Users/arturo/.codex/worktrees/7117/liner/packages/tui
145
- npm ci
146
- npm run typecheck
147
- npm test
148
- npm run build
149
- npm pack --dry-run
150
-
151
- cd /Users/arturo/.codex/worktrees/7117/liner
152
- python3 -m compileall -q src/liner
153
- uv run --extra dev pytest
154
- ```
155
-
156
- Results: TUI `92 passed`; Python `179 passed, 1 skipped, 1 deselected`.
157
-
158
- Platform artifact workflow:
159
-
160
- ```text
161
- Status: latest post-release-prep run is green; check `gh run list --workflow platform-bundles.yml --limit 3` if you need the current run ID.
162
- Artifacts downloaded to: /tmp/liner-release-artifacts-0.5.5
163
- Local npm bundle smoke: liner 0.5.5 (tui) · 0.5.5 (core)
164
- ```
165
-
166
- npm release smoke:
167
-
168
- ```sh
169
- rm -rf ~/.npm/_npx
170
- npx linersh@latest --version
171
- # liner 0.5.5 (tui) · 0.5.5 (core)
172
- ```
173
-
174
- ## Useful Test Commands
175
-
176
- Install the local TUI tarball into the scratch project:
177
-
178
- ```sh
179
- cd /tmp/liner-playwright-test
180
- npm install /tmp/liner-release-artifacts-0.5.5/linersh-darwin-arm64/linersh-darwin-arm64-0.5.5.tgz /tmp/liner-release-artifacts-0.5.5/linersh-tui/linersh-0.5.5.tgz
181
- ```
182
-
183
- Run the TUI against the local Python core:
184
-
185
- ```sh
186
- cd /tmp/liner-playwright-test
187
- LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner
188
- ```
189
-
190
- Force a fresh compile/fetch:
191
-
192
- ```sh
193
- cd /tmp/liner-playwright-test
194
- LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner cache clear --yes
195
- LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner
196
- ```
197
-
198
- Run JS setup explicitly:
199
-
200
- ```sh
201
- cd /tmp/liner-playwright-test
202
- LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner setup-js --yes
203
- ```
204
-
205
- Clean local state for reinstall testing:
206
-
207
- ```sh
208
- liner uninstall --yes
209
- npm uninstall -g linersh 2>/dev/null || true
210
- ```
211
-
212
- ## Documentation State
213
-
214
- Canonical docs now live in `cli-update-docs/`:
215
-
216
- - `LINER-MASTER.md` — current conceptual and technical overview.
217
- - `AI-HANDOFF.md` — this document.
218
- - `TUI-BACKLOG.md` — backlog and done log.
219
- - `MIXTAPE-FORMAT.md` — tape/mixtape format.
220
- - `CURATION.md` — methodology.
221
- - `SKILL.md` and companion files — bundled curation skill.
222
-
223
- Package-specific docs still live in `packages/tui/`:
224
-
225
- - `packages/tui/README.md`
226
- - `packages/tui/PUBLISH-CHECKLIST.md`
227
- - `packages/tui/PLATFORM-BUNDLES.md`
228
-
229
- ## Suggested Next Work
230
-
231
- - Deploy the marketing site from `marketing/site` once DNS/Vercel details are ready.
232
- - Update the public website docs and changelog for 0.5.7 after the release
233
- artifacts are ready.
234
- - Consider a conservative Playwright cookie-banner dismissal pass for common,
235
- low-risk labels, while still rejecting cookie-only output if dismissal fails.
236
- - Consider surfacing extraction mode/body length in the TUI compile details.
237
- - Consider adding `liner doctor-source <url>` or equivalent single-source
238
- diagnostics.
239
- - Consider adding Wayback as an automatic fetcher tier between Playwright and agent-summary fallback.
240
- - Add per-source failure actions in CompileView: open URL, drop source, retry one source.
241
- - Add a regression test for completed Compile opening existing results rather than running `streamCompile`.