runlist 0.94.1 → 0.94.2

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
@@ -46,14 +46,13 @@ Stage filters, grouping and editing are included. Optional grepmax semantic
46
46
  controls are experimental; live retrieval depends on a compatible external
47
47
  provider. Local chat and push are deferred.
48
48
 
49
- The previous Apple Silicon GUI was **0.94.0-rc.1**, signed and accepted by Apple.
50
- Its public installers have been withdrawn during a privacy cleanup. A clean
51
- replacement has not yet been built. Existing installations can still be opened.
52
- The desktop app is separate from CLI 0.94.1,
49
+ The Apple Silicon GUI is **[0.94.1](https://github.com/reowens/runlist/releases/tag/desktop-v0.94.1)**,
50
+ signed, accepted by Apple and stapled. It replaces the installers withdrawn
51
+ during the privacy cleanup. The desktop app is separate from CLI 0.94.1,
53
52
  which includes optional plan-filing checks and the owner-written product yardstick,
54
53
  corrected hub-category inheritance, updates for every saved Claude plugin scope,
55
54
  and `runlist desktop install`.
56
- Updating the CLI does not replace the GUI's bundled engine; this GUI reports 0.94.0-rc.1.
55
+ Updating the CLI does not replace the GUI's bundled engine; this GUI reports 0.94.1.
57
56
  Earlier development packages and their qualification results are historical;
58
57
  see the [desktop validation record](desktop/VALIDATION.md).
59
58
 
@@ -85,7 +84,7 @@ Deferred work awaiting selection:
85
84
  older distributions, real-version upgrades, fresh/minimum-version and Intel
86
85
  Macs, plus native rendering, focus, accessibility and whole-window memory.
87
86
 
88
- Mac GUI downloads are temporarily unavailable pending a clean replacement.
87
+ Mac GUI 0.94.1 is available from the [desktop release](https://github.com/reowens/runlist/releases/tag/desktop-v0.94.1).
89
88
  CLI 0.94.1 includes the optional product yardstick.
90
89
  The supported desktop
91
90
  release is Apple Silicon macOS 13.5 or newer. Broader platform work and
@@ -96,11 +95,11 @@ command-line tools. The published Node.js CLI remains cross-platform.
96
95
 
97
96
  ### Optional desktop GUI
98
97
 
99
- The CLI works on its own. Public GUI downloads are temporarily unavailable
100
- during a privacy cleanup; a clean replacement has not yet been built. On an
101
- Apple Silicon Mac (macOS 13.5 or newer), open an existing installation with:
98
+ The CLI works on its own. On an Apple Silicon Mac (macOS 13.5 or newer),
99
+ install the optional GUI and open it with:
102
100
 
103
101
  ```bash
102
+ runlist desktop install
104
103
  runlist desktop
105
104
  ```
106
105
 
@@ -110,8 +109,8 @@ without opening it. The app bundles its runtime and reads local files through
110
109
  private pipes, with no listening server. Choose your checkout folder in the app.
111
110
  No checkout configuration is loaded by these CLI commands.
112
111
 
113
- The GUI is versioned separately from the CLI. There is currently no public Mac
114
- installer available to `runlist desktop install`.
112
+ The GUI is versioned separately from the CLI. `runlist desktop install` selects
113
+ the public Mac 0.94.1 installer.
115
114
  Windows, Linux and Intel Mac GUI downloads are not yet available through this
116
115
  command. An existing app is kept as-is. To replace it using a downloaded signed
117
116
  DMG, quit Runlist and run:
@@ -274,7 +273,7 @@ needs no installed Node, browser access link or listening server. CLI 0.92.0 pro
274
273
  The GUI remains optional:
275
274
 
276
275
  ```bash
277
- runlist desktop install # requires an available public installer
276
+ runlist desktop install # install the public Mac GUI
278
277
  runlist desktop # open the installed GUI
279
278
  runlist desktop install --from /path/to/Runlist.dmg # install a local signed DMG
280
279
  ```
@@ -283,12 +282,11 @@ The installer currently supports Apple Silicon Macs. It verifies the published
283
282
  download checksum, Runlist developer signature and Apple approval, and installs
284
283
  without opening the app. An existing app is kept unless `--from` supplies a
285
284
  replacement; replacement keeps a rollback copy. `--dry-run` uses no network and
286
- changes no files. Public Mac downloads have been withdrawn during a privacy
287
- cleanup; a clean replacement is pending. `--from` still works with a local
288
- approved installer. These commands ship
285
+ changes no files. The public Mac 0.94.1 download replaces the withdrawn
286
+ installers. These commands ship
289
287
  in [CLI 0.92.0](https://github.com/reowens/runlist/releases/tag/v0.92.0) and can also
290
288
  be used from this checkout as `node bin/runlist.mjs desktop …`. The GUI remains
291
- separately versioned at **0.94.0-rc.1**; npm installation does not download it.
289
+ separately versioned at **0.94.1**; npm installation does not download it.
292
290
 
293
291
  The optional browser document app is available from this source checkout (unreleased):
294
292
 
@@ -830,14 +828,14 @@ local model or server. GUI controls are implemented in the source checkout:
830
828
  Product goal shows the saved statement, delivery and assessment, with reviewed
831
829
  Serves/Clear/Close/Fold actions and retained recovery. Structured plans display
832
830
  the comparison with an explanation when assessment changes are unavailable.
833
- These controls are included in the public desktop package 0.94.0-rc.1;
831
+ These controls are included in the public desktop package 0.94.1;
834
832
  updating the CLI alone does not replace an existing app.
835
833
 
836
834
  ### Plan Homes And Filing Checks
837
835
 
838
836
  This policy is available in CLI 0.93.0. From a source checkout, invoke the
839
837
  commands below as `node bin/runlist.mjs …`. The separately versioned GUI
840
- 0.94.0-rc.1 also includes a read-only Filing view. The correction
838
+ The desktop app also includes a read-only Filing view. The correction
841
839
  for category inheritance from status-less hub indexes is included in CLI
842
840
  0.93.1.
843
841
 
@@ -882,7 +880,7 @@ is labeled and suppresses absence/uniqueness findings. Path/type-scoped output
882
880
  keeps the full hub/ancestor evidence while reporting only selected plans.
883
881
  The source checkout also includes a read-only Filing view: open it to scan,
884
882
  filter 50-plan pages, and inspect exact hub rows in 20-row evidence pages. Saved
885
- edits invalidate the report. This view is included in public desktop package 0.94.0-rc.1.
883
+ edits invalidate the report. This view is included in public desktop package 0.94.1.
886
884
  The policy is off when `filing` is unset, false, or `{ enabled: false }`.
887
885
  It can replace a repository's older “any link counts” coverage script once
888
886
  that repository enables it and retires its custom check.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runlist",
3
- "version": "0.94.1",
3
+ "version": "0.94.2",
4
4
  "description": "CLI for managing markdown documents with YAML frontmatter — index, query, validate, graph, export, lifecycle, and AI summaries.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runlist-codex",
3
- "version": "0.94.1",
3
+ "version": "0.94.2",
4
4
  "description": "Runlist workflow skill, session orientation, and tool guard for Codex",
5
5
  "author": {
6
6
  "name": "Reo Owens"
package/src/hub.mjs CHANGED
@@ -25,6 +25,10 @@ export function isCoordinationHub(doc) {
25
25
  // use to promote a roadmap above the Runlists section; here a roadmap counts as
26
26
  // a coordination hub so all the existing held-out plumbing covers it for free.
27
27
  if (doc.executionMode === 'coordination' || doc.executionMode === 'roadmap') return true;
28
+ // Any other declared `execution_mode` has answered: the name is only a fallback
29
+ // for hubs that predate the field, so a plan ABOUT runlists that declares
30
+ // `implementation` stays a plan. Same rule as the slug nudge in validate.mjs.
31
+ if (doc.executionMode) return false;
28
32
  const base = (doc.path.split('/').pop() || '').replace(/\.md$/, '');
29
33
  return base === 'runlist' || base.endsWith('-runlist');
30
34
  }
@@ -0,0 +1,19 @@
1
+ // Neutral publication checks; no private vocabulary or credentials.
2
+ export const PRIVATE_ROOT = /^(?:docs|\.runlist|\.dotmd|\.gmax|\.claude\/logs|desktop\/releases)(?:\/|$)/;
3
+ export const CREDENTIAL_FILE = /(?:^|\/)(?:\.env(?:\..*)?|\.npmrc|[^/]*\.(?:pem|p12|pfx|key))$/;
4
+
5
+
6
+ export function inspectBaselineText(text, file) {
7
+ const findings = [];
8
+ const fixture = /^(?:test|desktop\/test)\//.test(file);
9
+ for (const [index, line] of text.split('\n').entries()) {
10
+ const paths = line.match(/\/(?:Users|home)\/[a-z0-9._-]+/g) ?? [];
11
+ if (paths.some(value => !fixture || !/\/(?:test|me|u|user|example)$/i.test(value))) {
12
+ findings.push({ file, line: index + 1, category: 'personal absolute path' });
13
+ }
14
+ if (file.endsWith('.json') && !fixture && /"email"\s*:/.test(line)) {
15
+ findings.push({ file, line: index + 1, category: 'contact address in public metadata' });
16
+ }
17
+ }
18
+ return findings;
19
+ }
package/src/validate.mjs CHANGED
@@ -540,6 +540,7 @@ export function checkRoadmapHubExecutionMode(docs, config) {
540
540
  if (!d) return false;
541
541
  if (d.executionMode === 'coordination' || d.executionMode === 'roadmap') return true;
542
542
  if (Array.isArray(d.refFields?.runlist) && d.refFields.runlist.length > 0) return true;
543
+ if (d.executionMode) return false;
543
544
  const b = (d.path.split('/').pop() || '').replace(/\.md$/, '');
544
545
  return b === 'runlist' || b.endsWith('-runlist');
545
546
  };