@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 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 npm tag when you want the current public package, and use the `next` tag when you intentionally want a development channel build:
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, with `lineage` for stable installs and `lineage-dev` for development installs. The current public package includes the CLI bridge bins for help and version checks:
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 `127.0.0.1:5197` and stores SQLite state in a stable Lineage runtime directory. `lineage-dev start` listens on `127.0.0.1:5198` and uses a separate development SQLite file. Override those defaults with `--port`, `--host`, `--db`, or `LINEAGE_HOME`:
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 dogfooding builds and `latest` for the stable public channel:
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 using npm trusted publishing and provenance. The GitHub workflow publishes new dogfood versions to `next` and new stable versions to `latest`. `release:promote-latest` is kept for authenticated local/package-owner dist-tag maintenance, but the token-free trusted publishing path uses immutable publishes instead of mutating dist-tags.
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.