scriveno 2.0.5 → 2.0.6

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/aihxp/scriveno/actions/workflows/ci.yml/badge.svg)](https://github.com/aihxp/scriveno/actions/workflows/ci.yml)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
5
- [![Version](https://img.shields.io/badge/version-2.0.5-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-2.0.6-blue)](CHANGELOG.md)
6
6
  [![npm](https://img.shields.io/npm/v/scriveno.svg)](https://www.npmjs.com/package/scriveno)
7
7
  [![Downloads](https://img.shields.io/npm/dm/scriveno.svg)](https://www.npmjs.com/package/scriveno)
8
8
 
@@ -203,11 +203,11 @@ Scriveno currently ships installer targets for these AI tooling environments:
203
203
 
204
204
  ## Status
205
205
 
206
- **Version:** 2.0.5
206
+ **Version:** 2.0.6
207
207
 
208
- Scriveno's core command surface is stable across 112 commands, 50 work types, and 11 installer targets. The current repo baseline includes shipped planning milestones through `v2.0 Publishing Cover Packaging`, plus the creative-context, record-store, branching-next, runtime-sync, adaptive concierge, human-first writing-safeguard, authenticity-diagnostic, and domain-grilling work through `2.0.5`. See [Shipped Assets](docs/shipped-assets.md) for the canonical asset inventory and [Runtime Support](docs/runtime-support.md) for the runtime compatibility matrix.
208
+ Scriveno's core command surface is stable across 112 commands, 50 work types, and 11 installer targets. The current repo baseline includes shipped planning milestones through `v2.0 Publishing Cover Packaging`, plus the creative-context, record-store, branching-next, runtime-sync, adaptive concierge, human-first writing-safeguard, authenticity-diagnostic, domain-grilling, and installer-marker cleanup work through `2.0.6`. See [Shipped Assets](docs/shipped-assets.md) for the canonical asset inventory and [Runtime Support](docs/runtime-support.md) for the runtime compatibility matrix.
209
209
 
210
- Version `2.0.5` publishes Scriveno under the package name `scriveno`, so the current install command is `npx scriveno@latest`. The older `scriveno-cli` package name remains historical; new docs and package metadata now point at `scriveno`. See [CHANGELOG](CHANGELOG.md) for the full list and [docs/release-notes.md](docs/release-notes.md) for the public-facing summary.
210
+ Version `2.0.6` publishes Scriveno under the package name `scriveno`, so the current install command is `npx scriveno@latest`. The older `scriveno-cli` package name is historical and was unpublished during the rename, so npm cannot attach a deprecation notice to it while it has no active registry record. The older `scriven-cli` package remains on npm only as a deprecated legacy name that points users to `scriveno`. Do not treat either legacy package name as active unless a deliberate compatibility shim is republished. See [CHANGELOG](CHANGELOG.md) for the full list and [docs/release-notes.md](docs/release-notes.md) for the public-facing summary.
211
211
 
212
212
  Package history is tracked in [CHANGELOG.md](CHANGELOG.md), and the public-facing summary for this release is in [docs/release-notes.md](docs/release-notes.md).
213
213
 
package/bin/install.js CHANGED
@@ -686,7 +686,7 @@ function rewriteInstalledCommandRefs(content, transform) {
686
686
  }
687
687
 
688
688
  function markInstalledCommand(content, runtimeKey, commandRef, sourcePath) {
689
- const marker = `<!-- scriveno-cli-installed-command runtime:${runtimeKey} command:${commandRef} source:${sourcePath} -->`;
689
+ const marker = `<!-- scriveno-installed-command runtime:${runtimeKey} command:${commandRef} source:${sourcePath} -->`;
690
690
  return insertMarkerComment(content, marker);
691
691
  }
692
692
 
@@ -708,7 +708,7 @@ function generateCodexCommandContent(entry, sourceContent) {
708
708
  function isScrivenoInstalledCommandFile(filePath) {
709
709
  if (!fs.existsSync(filePath)) return false;
710
710
  const content = fs.readFileSync(filePath, 'utf8');
711
- return content.includes('scriveno-cli-installed-command');
711
+ return content.includes('scriveno-installed-command') || content.includes('scriveno-cli-installed-command');
712
712
  }
713
713
 
714
714
  function cleanFlatCommandFiles(commandsDir, currentFileNames, legacyDirs = []) {
@@ -754,7 +754,7 @@ function cleanFlatCommandFiles(commandsDir, currentFileNames, legacyDirs = []) {
754
754
  function writeInstalledCommandManifest(commandsDir, runtimeKey, fileNames) {
755
755
  const manifestPath = path.join(commandsDir, '.scriveno-installed.json');
756
756
  const manifest = {
757
- installer: 'scriveno-cli',
757
+ installer: 'scriveno',
758
758
  version: VERSION,
759
759
  runtime: runtimeKey,
760
760
  files: fileNames,
@@ -1194,7 +1194,7 @@ function cleanCodexSkillDirs(skillsDir, currentSkillNames) {
1194
1194
  function writeCodexSkillManifest(skillsDir, skillNames) {
1195
1195
  const manifestPath = path.join(skillsDir, '.scriveno-installed.json');
1196
1196
  const manifest = {
1197
- installer: 'scriveno-cli',
1197
+ installer: 'scriveno',
1198
1198
  version: VERSION,
1199
1199
  skills: skillNames,
1200
1200
  generated_at: new Date().toISOString(),
@@ -69,7 +69,7 @@ Always create `RECORD.md` from `templates/RECORD.md` without renaming it. It is
69
69
  Write `.manuscript/config.json` by starting from `templates/config.json` and filling the project-specific values. The generated config must include the shared settings blocks that later commands read:
70
70
  ```json
71
71
  {
72
- "scriveno_version": "2.0.5",
72
+ "scriveno_version": "2.0.6",
73
73
  "work_type": "<chosen>",
74
74
  "group": "<group>",
75
75
  "command_unit": "<unit>",
@@ -32,7 +32,7 @@ If you cannot find a Scriveno source root, stop and explain that `/scr:sync` nee
32
32
 
33
33
  1. Locate the Scriveno source root:
34
34
  - First, check the current working directory and its parents for `package.json` with `"name": "scriveno"` or legacy `"name": "scriveno-cli"` plus `bin/install.js`.
35
- - If running from an installed command copy that contains a `scriveno-cli-installed-command` marker, derive the source root from that marker's `source:` path.
35
+ - If running from an installed command copy that contains a `scriveno-installed-command` marker, derive the source root from that marker's `source:` path. Older `scriveno-cli-installed-command` markers are accepted as legacy input only.
36
36
  - If neither works, stop with the prerequisite message above.
37
37
  2. Read `package.json` from the source root and report the source version.
38
38
  3. Detect target runtimes:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./constraints.schema.json",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "Scriveno constraint system: work types, command availability, exports, and dependencies. Every command checks this file at runtime.",
5
5
  "_notes": {
6
6
  "sacred_keys": "Sacred subcommands live at commands/scr/sacred/<name>.md and run as /scr:sacred:<name>. Their CONSTRAINTS keys use the sacred:<name> form so /scr:help can render the runnable slash-command path directly. The sacred-numbering-format entry is a separate flat command (commands/scr/sacred-numbering-format.md) that surfaces the active tradition's numbering format. It used to be named sacred-verse-numbering, which collided with sacred:verse-numbering at install time -- both flattened to scr-sacred-verse-numbering. Renamed in v1.6.x; the installer now refuses to install when two sources share a flat skill name."
@@ -57,7 +57,7 @@ When a writer runs `/scr:new-work`, Scriveno creates `.manuscript/config.json`.
57
57
 
58
58
  ```json
59
59
  {
60
- "scriveno_version": "2.0.5",
60
+ "scriveno_version": "2.0.6",
61
61
  "work_type": "<chosen>",
62
62
  "group": "<group>",
63
63
  "command_unit": "<unit>",
@@ -2,6 +2,34 @@
2
2
 
3
3
  This document is the public-facing summary of what changed between package releases. For package history, see the root [CHANGELOG](../CHANGELOG.md).
4
4
 
5
+ ## 2.0.6 - 2026-05-15
6
+
7
+ ### What changed
8
+
9
+ - New installed command files now use the `scriveno-installed-command` ownership marker.
10
+ - New installed manifests now record `installer: "scriveno"`.
11
+ - Existing installs that still contain the older `scriveno-cli-installed-command` marker remain supported for cleanup and sync detection.
12
+ - `/scr:sync` now documents the current marker and treats the older marker as compatibility-only input.
13
+ - Package and shipped metadata are aligned on `2.0.6`.
14
+
15
+ ### Why it matters
16
+
17
+ This finishes the visible package rename for new runtime installs. Writers still install with `npx scriveno@latest`, and freshly generated local metadata now matches that package name without breaking older installed command surfaces.
18
+
19
+ ### Affected areas
20
+
21
+ - installer-generated command markers
22
+ - installed runtime manifests
23
+ - `/scr:sync` guidance
24
+ - README, changelog, release notes, and version metadata
25
+ - regression tests for package-name compatibility
26
+
27
+ ### Verification
28
+
29
+ - `npm test`
30
+ - `npm run pack:check`
31
+ - `git diff --check`
32
+
5
33
  ## 2.0.5 - 2026-05-15
6
34
 
7
35
  ### What changed
@@ -11,6 +39,8 @@ This document is the public-facing summary of what changed between package relea
11
39
  - The package executable remains `scriveno`, so the installer behavior and command surfaces are unchanged after installation.
12
40
  - `/scr:sync` now recognizes both the new source package name `scriveno` and the legacy package name `scriveno-cli` when locating a local source checkout.
13
41
  - Package and shipped metadata are aligned on `2.0.5`.
42
+ - The older `scriveno-cli` package name was unpublished during the rename, so npm cannot show a deprecation notice for it unless a compatibility shim is republished under that name.
43
+ - The older `scriven-cli` package name remains on npm as a deprecated legacy package and now points users to `npx scriveno@latest`.
14
44
 
15
45
  ### Why it matters
16
46
 
@@ -18,6 +48,8 @@ The package name now matches the product name. This removes the extra `-cli` suf
18
48
 
19
49
  Existing installed runtime surfaces do not need to change immediately. The old installed-command marker remains stable so local sync and compatibility checks can keep recognizing prior installs.
20
50
 
51
+ For contributors: treat `scriveno` as the only active npm package name. Do not assume `scriveno-cli` can be deprecated in place while it remains unpublished, and do not revive `scriven-cli` except for a deliberate compatibility transition.
52
+
21
53
  ### Affected areas
22
54
 
23
55
  - npm package metadata
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scriveno",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "Spec-driven creative writing, publishing, and translation pipeline for AI coding agents. From blank page to published book.",
5
5
  "bin": {
6
6
  "scriveno": "bin/install.js"
@@ -1,5 +1,5 @@
1
1
  {
2
- "scriveno_version": "2.0.5",
2
+ "scriveno_version": "2.0.6",
3
3
  "work_type": "",
4
4
  "group": "",
5
5
  "command_unit": "",