linersh 0.5.5 → 0.5.7
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.
|
@@ -1,28 +1,71 @@
|
|
|
1
1
|
# Liner AI Handoff
|
|
2
2
|
|
|
3
|
-
Last updated: 2026-
|
|
3
|
+
Last updated: 2026-06-01
|
|
4
4
|
|
|
5
|
-
This handoff summarizes the current Liner state after the 0.5.
|
|
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.
|
|
6
8
|
|
|
7
9
|
## Current Product State
|
|
8
10
|
|
|
9
|
-
- `linersh@0.5.
|
|
10
|
-
- The Python core
|
|
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.
|
|
11
18
|
- Platform packages are available for macOS arm64/x64, Linux arm64/x64, and Windows x64.
|
|
12
19
|
- The TUI is installed/tested locally from the packed tarball in `/tmp/liner-playwright-test`.
|
|
13
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)`.
|
|
14
22
|
|
|
15
23
|
## Important Local Paths
|
|
16
24
|
|
|
17
|
-
-
|
|
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`
|
|
18
27
|
- Original Liner project folder: `/Users/arturo/Documents/Projects/Youtube Grabber/liner`
|
|
19
28
|
- Original mixtapes folder: `/Users/arturo/Documents/Projects/Youtube Grabber/liner/mixtapes`
|
|
20
29
|
- CMD-UX copied mixtapes folder: `/Users/arturo/Documents/Projects/CMD-UX/Case Studies/mixtapes`
|
|
21
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`
|
|
22
34
|
- Tested mixtape now moved back to: `/Users/arturo/Documents/Projects/Youtube Grabber/liner/mixtapes/staff-design-engenieer`
|
|
23
35
|
|
|
24
36
|
## What Was Fixed In This Pass
|
|
25
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
|
+
|
|
26
69
|
- Skill bundle resolution for npm installs:
|
|
27
70
|
- TUI now resolves the bundled `cli-update-docs/SKILL.md` reliably from the installed package.
|
|
28
71
|
- `LINER_SKILL_PATH` can point either at the skill directory or at `SKILL.md`.
|
|
@@ -57,10 +100,15 @@ This handoff summarizes the current Liner state after the 0.5.5 TUI/testing pass
|
|
|
57
100
|
|
|
58
101
|
```sh
|
|
59
102
|
cd /tmp/liner-playwright-test
|
|
60
|
-
LINER_BIN=/Users/arturo/.codex/worktrees/
|
|
103
|
+
LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner
|
|
61
104
|
```
|
|
62
105
|
|
|
63
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.
|
|
64
112
|
- The TUI package generated `packages/tui/cli-update-docs/` during `prepack`; the canonical docs live at repo-root `cli-update-docs/`.
|
|
65
113
|
- The old root `docs/` folder was removed. `LINER-MASTER.md` now lives at `cli-update-docs/LINER-MASTER.md`.
|
|
66
114
|
- The Jhey source URL currently 404s on the live site. The useful archived version is:
|
|
@@ -74,7 +122,7 @@ https://web.archive.org/web/20250408204038id_/https://jhey.dev/cheep/rotating-ga
|
|
|
74
122
|
TUI package:
|
|
75
123
|
|
|
76
124
|
```sh
|
|
77
|
-
cd /Users/arturo/.codex/worktrees/
|
|
125
|
+
cd /Users/arturo/.codex/worktrees/7117/liner/packages/tui
|
|
78
126
|
npm run typecheck
|
|
79
127
|
npm run build
|
|
80
128
|
npm test
|
|
@@ -84,11 +132,44 @@ npm pack --json
|
|
|
84
132
|
Python suite:
|
|
85
133
|
|
|
86
134
|
```sh
|
|
87
|
-
cd /Users/arturo/.codex/worktrees/
|
|
135
|
+
cd /Users/arturo/.codex/worktrees/7117/liner
|
|
88
136
|
uv run --extra dev pytest
|
|
89
137
|
```
|
|
90
138
|
|
|
91
|
-
Result from the latest full Python run in this pass: `
|
|
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
|
+
```
|
|
92
173
|
|
|
93
174
|
## Useful Test Commands
|
|
94
175
|
|
|
@@ -96,29 +177,29 @@ Install the local TUI tarball into the scratch project:
|
|
|
96
177
|
|
|
97
178
|
```sh
|
|
98
179
|
cd /tmp/liner-playwright-test
|
|
99
|
-
npm install /
|
|
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
|
|
100
181
|
```
|
|
101
182
|
|
|
102
183
|
Run the TUI against the local Python core:
|
|
103
184
|
|
|
104
185
|
```sh
|
|
105
186
|
cd /tmp/liner-playwright-test
|
|
106
|
-
LINER_BIN=/Users/arturo/.codex/worktrees/
|
|
187
|
+
LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner
|
|
107
188
|
```
|
|
108
189
|
|
|
109
190
|
Force a fresh compile/fetch:
|
|
110
191
|
|
|
111
192
|
```sh
|
|
112
193
|
cd /tmp/liner-playwright-test
|
|
113
|
-
LINER_BIN=/Users/arturo/.codex/worktrees/
|
|
114
|
-
LINER_BIN=/Users/arturo/.codex/worktrees/
|
|
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
|
|
115
196
|
```
|
|
116
197
|
|
|
117
198
|
Run JS setup explicitly:
|
|
118
199
|
|
|
119
200
|
```sh
|
|
120
201
|
cd /tmp/liner-playwright-test
|
|
121
|
-
LINER_BIN=/Users/arturo/.codex/worktrees/
|
|
202
|
+
LINER_BIN=/Users/arturo/.codex/worktrees/7117/liner/.venv/bin/liner ./node_modules/.bin/liner setup-js --yes
|
|
122
203
|
```
|
|
123
204
|
|
|
124
205
|
Clean local state for reinstall testing:
|
|
@@ -147,8 +228,14 @@ Package-specific docs still live in `packages/tui/`:
|
|
|
147
228
|
|
|
148
229
|
## Suggested Next Work
|
|
149
230
|
|
|
150
|
-
-
|
|
151
|
-
-
|
|
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.
|
|
152
239
|
- Consider adding Wayback as an automatic fetcher tier between Playwright and agent-summary fallback.
|
|
153
240
|
- Add per-source failure actions in CompileView: open URL, drop source, retry one source.
|
|
154
241
|
- Add a regression test for completed Compile opening existing results rather than running `streamCompile`.
|
|
@@ -524,7 +524,7 @@ Liner's methodology exists to catch these before compile.
|
|
|
524
524
|
|
|
525
525
|
## Project Status
|
|
526
526
|
|
|
527
|
-
As of v0.5.5
|
|
527
|
+
As of v0.5.5:
|
|
528
528
|
|
|
529
529
|
- The Python CLI is functional.
|
|
530
530
|
- The TypeScript/Ink TUI is functional. The empirical-test phase has been removed from the driven flow — compilation is now the completion milestone (*compiled = complete*). The hub is a single summary view (status box + always-visible phase checklist), import auto-detects `.mixtape` files in the current folder, and completed/partial compiles open the existing compile result instead of rerunning by default.
|
|
@@ -26,13 +26,15 @@ The split is deliberate. Every invocation pulls SKILL.md's ~2,300 words into con
|
|
|
26
26
|
|
|
27
27
|
## Where the bundle lives
|
|
28
28
|
|
|
29
|
-
**Local testing.** Drop
|
|
29
|
+
**Local testing.** Drop this directory into `~/.claude/skills/curating-mixtapes/`. Claude Code and Claude Desktop both look there for user-installed skills. The skill fires when the user says something the description matches — "help me make a mixtape on [topic]" is the canonical trigger.
|
|
30
30
|
|
|
31
|
-
**Shipping.** The bundle lives at `
|
|
31
|
+
**Shipping.** The canonical bundle lives at repo-root `cli-update-docs/`. The TUI copies this directory into `packages/tui/cli-update-docs/` during `prepack` and ships it inside the `linersh` npm package, so end users do not need a separate skill install for TUI-driven agent phases.
|
|
32
32
|
|
|
33
|
-
**
|
|
33
|
+
**Direct skill use.** A documented copy/install flow for using the skill outside the TUI is still planned. Until then, direct local use is a developer workflow.
|
|
34
34
|
|
|
35
|
-
The
|
|
35
|
+
**TUI subprocess.** The Liner TUI bundles the skill internally and invokes it via the local Claude or Codex CLI in quick mode. The user doesn't see the skill directly; they see the TUI's wizard UI. The methodology being applied is this skill's.
|
|
36
|
+
|
|
37
|
+
The same file contents work in every location. Don't fork between a local-test version and the package-shipped version.
|
|
36
38
|
|
|
37
39
|
## Runtime requirements
|
|
38
40
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linersh",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.7",
|
|
4
4
|
"description": "Liner — interactive tape editor for building curated mixtapes (AI-consumable context bundles).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"yaml": "^2.6.1"
|
|
37
37
|
},
|
|
38
38
|
"optionalDependencies": {
|
|
39
|
-
"linersh-darwin-arm64": "0.5.
|
|
40
|
-
"linersh-darwin-x64": "0.5.
|
|
41
|
-
"linersh-linux-arm64": "0.5.
|
|
42
|
-
"linersh-linux-x64": "0.5.
|
|
43
|
-
"linersh-win32-x64": "0.5.
|
|
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"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^22.10.0",
|