@mean-weasel/lineage 0.1.1 → 0.1.3
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/CHANGELOG.md +11 -0
- package/README.md +72 -6
- package/dist/cli/lineage-dev.js +1285 -15
- package/dist/cli/lineage-dev.js.map +4 -4
- package/dist/cli/lineage.js +1285 -15
- package/dist/cli/lineage.js.map +4 -4
- package/dist/server.js +432 -26
- package/dist/server.js.map +3 -3
- package/dist/web/assets/index-CTsKYXYF.js +19 -0
- package/dist/web/index.html +1 -1
- package/fixtures/demo-project/lineage/swissifier-rich-demo.json +194 -0
- package/package.json +3 -2
- package/dist/web/assets/index-CSnGIWOr.js +0 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
- Add a managed Swissifier rich-demo media download flow that verifies the release archive and restored PNG checksums before loading the demo.
|
|
6
|
+
- Add durable local startup helpers and default Lineage CLI hosts for `lineage.localhost` and `lineage-dev.localhost`.
|
|
7
|
+
- Ship the lightweight Swissifier fixture manifest while keeping generated demo media outside git and package contents.
|
|
8
|
+
|
|
9
|
+
## 0.1.2
|
|
10
|
+
|
|
11
|
+
- Fix packaged Lineage handoff commands so copied `next`, `inspect`, and `link-child` commands run through the published package.
|
|
12
|
+
- Add packaged CLI regression coverage for custom SQLite database handoffs.
|
|
13
|
+
|
|
3
14
|
## 0.1.1
|
|
4
15
|
|
|
5
16
|
- Fix first-run demo lineage loading and catalog-root lineage workspace creation.
|
package/README.md
CHANGED
|
@@ -4,14 +4,21 @@ Lineage is a local-first workspace for reviewing creative assets, branching vari
|
|
|
4
4
|
|
|
5
5
|
## Package Channels
|
|
6
6
|
|
|
7
|
-
Lineage is packaged as `@mean-weasel/lineage`. Use the stable
|
|
7
|
+
Lineage is packaged as `@mean-weasel/lineage`. Use `latest` for the stable dogfood or production install, and use `next` when you intentionally want the development or release-candidate channel:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install -g @mean-weasel/lineage
|
|
10
|
+
npm install -g @mean-weasel/lineage@latest
|
|
11
11
|
npm install -g @mean-weasel/lineage@next
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
The stable and development channels are intended to coexist conceptually
|
|
14
|
+
The stable and development channels are intended to coexist conceptually:
|
|
15
|
+
|
|
16
|
+
- `latest` is the version you should trust for day-to-day dogfooding.
|
|
17
|
+
- `next` is the version to test before promotion.
|
|
18
|
+
- `lineage` runs with stable runtime defaults.
|
|
19
|
+
- `lineage-dev` runs with development runtime defaults.
|
|
20
|
+
|
|
21
|
+
The package includes both CLI bridge bins for help and version checks:
|
|
15
22
|
|
|
16
23
|
```bash
|
|
17
24
|
lineage --help
|
|
@@ -27,12 +34,26 @@ lineage start
|
|
|
27
34
|
lineage-dev start
|
|
28
35
|
```
|
|
29
36
|
|
|
30
|
-
By default, `lineage start` listens on `
|
|
37
|
+
By default, `lineage start` listens on `lineage.localhost:5197` and stores SQLite state in a stable Lineage runtime directory. `lineage-dev start` listens on `lineage-dev.localhost:5198` and uses a separate development SQLite file. Override those defaults with `--port`, `--host`, `--db`, or `LINEAGE_HOME`:
|
|
31
38
|
|
|
32
39
|
```bash
|
|
33
40
|
lineage start --port 6123 --db ~/.lineage/lineage.sqlite
|
|
34
41
|
```
|
|
35
42
|
|
|
43
|
+
## Codex Plugin
|
|
44
|
+
|
|
45
|
+
The versioned Codex plugin lives in `plugins/lineage-codex-plugin`. Install the
|
|
46
|
+
plugin that matches the resolved `@mean-weasel/lineage` package version with:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npx @mean-weasel/lineage-plugin-installer install --channel latest
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The installer verifies the plugin artifact checksum and rejects plugin manifests
|
|
53
|
+
whose version or `lineage.version` does not exactly match the resolved Lineage
|
|
54
|
+
package version. The plugin artifact and installer package are released from
|
|
55
|
+
this public repository.
|
|
56
|
+
|
|
36
57
|
## Local Development
|
|
37
58
|
|
|
38
59
|
```bash
|
|
@@ -43,9 +64,32 @@ npm run ci
|
|
|
43
64
|
|
|
44
65
|
`npm run dev` starts the local development server from source. `npm run ci` runs the full local verification gate.
|
|
45
66
|
|
|
67
|
+
## Command Shortcuts
|
|
68
|
+
|
|
69
|
+
The root `Makefile` provides memorable wrappers for common setup, startup, and
|
|
70
|
+
verification commands. Run `make` or `make help` to list the available targets.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
make install-prod
|
|
74
|
+
make install-plugin-prod
|
|
75
|
+
make start-prod
|
|
76
|
+
make check
|
|
77
|
+
make smoke
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The Makefile is only a convenience layer. npm scripts, the packaged CLIs, and
|
|
81
|
+
GitHub release workflows remain the source of truth for build, test, and release
|
|
82
|
+
behavior.
|
|
83
|
+
|
|
46
84
|
## Release Checks
|
|
47
85
|
|
|
48
|
-
Use `next` for
|
|
86
|
+
Use `next` for candidate builds and `latest` for the stable public channel. Check the current local, npm, and workflow state with:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm run release:status
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For local release validation:
|
|
49
93
|
|
|
50
94
|
```bash
|
|
51
95
|
npm run release:dry-run -- --tag next
|
|
@@ -54,7 +98,15 @@ npm run release:dry-run -- --tag latest
|
|
|
54
98
|
npm run release:latest
|
|
55
99
|
```
|
|
56
100
|
|
|
57
|
-
The release script verifies package metadata, changelog version coverage, public-readiness scans, install smoke, browser smoke, audit, and package contents before publishing. GitHub Actions runs CI on pull requests and `main`; publishing is manual through the Release workflow
|
|
101
|
+
The release script verifies package metadata, changelog version coverage, public-readiness scans, install smoke, browser smoke, audit, and package contents before publishing. GitHub Actions runs CI on pull requests and `main`; publishing is manual through the Release workflow.
|
|
102
|
+
|
|
103
|
+
Use the Release workflow operations this way:
|
|
104
|
+
|
|
105
|
+
- `publish-next`: publish the current package version to npm with the `next` dist-tag using trusted publishing and provenance.
|
|
106
|
+
- `promote-latest`: move the already-published `next` version to `latest` after dogfooding. This uses the repository `NPM_TOKEN` secret and refuses to promote unless npm's `next` tag points at the local package version.
|
|
107
|
+
- `publish-latest`: publish the current package version directly to `latest` using trusted publishing and provenance, reserved for cases where the version should skip the `next` channel.
|
|
108
|
+
|
|
109
|
+
The normal cadence is: bump version and changelog, merge to `main`, run `publish-next`, install or run `@mean-weasel/lineage@next`, dogfood it, then run `promote-latest`. After promotion, both npm tags point to the same version until the next development version is published to `next`.
|
|
58
110
|
|
|
59
111
|
## Demo Fixture
|
|
60
112
|
|
|
@@ -62,6 +114,20 @@ Source checkouts and installed packages include a synthetic public demo catalog
|
|
|
62
114
|
|
|
63
115
|
If you create a real `demo-project/assets/catalog.json`, that root project catalog overrides the packaged fixture. The fixture keeps S3-shaped metadata for realistic catalog structure, but default previews are generated local SVG data URLs and do not call storage.
|
|
64
116
|
|
|
117
|
+
Lineage also includes a lightweight Swissifier rich-demo manifest at `fixtures/demo-project/lineage/swissifier-rich-demo.json`. The manifest stores only synthetic metadata, checksums, graph edges, layout positions, and selected next-variation bases. It does not include generated PNG media or any local SQLite state.
|
|
118
|
+
|
|
119
|
+
To hydrate the Swissifier demo with real images, use the Demo seed menu's Swissifier `Download media` control. Lineage downloads `swissifier-rich-demo-v1.tar.gz` from the [v0.1.2 GitHub release](https://github.com/mean-weasel/lineage/releases/tag/v0.1.2), verifies the archive checksum, safely unpacks the PNGs into local scratch storage, and then verifies each PNG checksum before loading the rich demo.
|
|
120
|
+
|
|
121
|
+
For manual verification or offline restore, the expected archive checksum is:
|
|
122
|
+
|
|
123
|
+
```sh
|
|
124
|
+
shasum -a 256 swissifier-rich-demo-v1.tar.gz
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
`24edc5307d0932ddc8a151c6a8c1001a08c45075e3ae198082038c44519be0de`
|
|
128
|
+
|
|
129
|
+
The previous manual path remains available: unpack the media pack yourself, set `LINEAGE_SWISSIFIER_MEDIA_DIR` to that folder, then use the Demo seed menu to restore media and load Swissifier.
|
|
130
|
+
|
|
65
131
|
## Data And Privacy
|
|
66
132
|
|
|
67
133
|
Lineage stores local workspace state in a SQLite database on your machine. Public fixtures are synthetic and must not contain private names, credentials, presigned URLs, real customer content, private campaign data, or real media. Keep private catalogs and media outside public package fixtures.
|