create-pmos 0.238.0 → 0.239.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-pmos",
3
- "version": "0.238.0",
3
+ "version": "0.239.0",
4
4
  "description": "Scaffold the PMOS portable kit — run the PMOS product-management workflow (initiative → lane-fit spec → contract → build → three gates, with work-type lanes for features, research, maintenance, incidents, and content) entirely inside your own repo, with all state as git-versioned files. Includes `workflow-sweep`, which audits the state every board derives from and separates real defects from work you simply have not done. `create-pmos workspace` also installs + launches the local Terminal Workspace GUI. No database, no network, no telemetry.",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -1,3 +1,3 @@
1
- kernel-source: pmos@96d9fef
1
+ kernel-source: pmos@9360c1e
2
2
  assembled: 2026-10-14
3
3
  mode: vendor
@@ -2,7 +2,7 @@
2
2
  type: Reference
3
3
  title: "Eval calibration log"
4
4
  description: "Append-only record of every PM override of an evaluator verdict."
5
- generated: {by: process:create-pmos, at: "2026-10-14T12:11:14Z"}
5
+ generated: {by: process:create-pmos, at: "2026-10-14T12:35:42Z"}
6
6
  status: stable
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  type: Reference
3
3
  title: "Health budgets"
4
4
  description: "Closed registry of health-budget anchors (D59), edited only by the PM."
5
- generated: {by: process:create-pmos, at: "2026-10-14T12:11:14Z"}
5
+ generated: {by: process:create-pmos, at: "2026-10-14T12:35:42Z"}
6
6
  status: stable
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  type: Reference
3
3
  title: "Discoveries and friction log"
4
4
  description: "Append-only record of what runs discovered and where the process rubbed."
5
- generated: {by: process:create-pmos, at: "2026-10-14T12:11:14Z"}
5
+ generated: {by: process:create-pmos, at: "2026-10-14T12:35:42Z"}
6
6
  status: stable
7
7
  ---
8
8
 
@@ -2,13 +2,15 @@
2
2
  type: Guide
3
3
  title: "The document sheet"
4
4
  description: "How to read a document as rich text with its outline, edit it, review the agent's proposals section by section, read the edit log, keep its Confluence and Google Doc copies in step, see the documents around it, and clear a stale document."
5
- timestamp: 2026-10-12
5
+ timestamp: 2026-10-14
6
6
  ---
7
7
 
8
8
  # The document sheet
9
9
 
10
10
  Open a document in Initiatives › Documents, in an initiative's Docs, or from Reports. The document opens in a sheet on the right. On a phone, it opens from the bottom. The segment under the title has six modes.
11
11
 
12
+ To make the sheet wider, select **Half**, **3/4** or **Whole** beside Close; **Normal** goes back to the standard width. The sheet keeps your choice in this browser and opens at that size next time. On a phone the sheet always fills the screen, so the sizes do not show.
13
+
12
14
  ## Read
13
15
 
14
16
  Read shows the document as formatted text: headings, bold, links, tables, checklists and callouts. The front matter shows as properties at the top.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pmos-workspace",
3
- "version": "0.238.0",
3
+ "version": "0.239.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pmos-workspace",
9
- "version": "0.238.0",
9
+ "version": "0.239.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@xterm/addon-fit": "^0.11.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmos-workspace",
3
- "version": "0.238.0",
3
+ "version": "0.239.0",
4
4
  "private": true,
5
5
  "description": "PMOS Terminal Workspace — local companion hosting real PTYs beside the library and gates (D62)",
6
6
  "license": "MIT",
@@ -49,6 +49,12 @@ import { mountSlide } from './slide-confirm.js';
49
49
  import { parseMd, toMd, canonMd, diffMd, toDom, fromDom, wordCounts, safeHref } from './c3-md.js';
50
50
  import { ensureReportCss, formatOf, formatView, outlineLabels, downloadsOf, printPdf, copyKindFor } from './c3-doc-formats.js';
51
51
 
52
+ /* the sheet's width (initiative c3-doc-sheet-size): Normal (780px), Half, 3/4 or Whole window, as the session, meeting and studio sheets */
53
+ const DOC_SIZE_KEY = 'pmos.workspace.c3.doc-size';
54
+ export const DOC_SIZES = [['normal', 'Normal', 'Normal'], ['half', 'Half', 'Half of the window'], ['three-quarters', '3/4', 'Three-quarters of the window'], ['whole', 'Whole', 'Whole window']];
55
+ export const docSizeOf = (v) => (DOC_SIZES.some((x) => x[0] === v) ? v : 'normal');
56
+ const docSizeStore = { get() { try { return localStorage.getItem(DOC_SIZE_KEY); } catch { return null; } }, set(v) { try { localStorage.setItem(DOC_SIZE_KEY, v); } catch { /* no storage */ } } };
57
+
52
58
  /* ── pure: sections, round trip, word diff ── */
53
59
 
54
60
  /** Split a markdown text into sections at its headings. Each section keeps the exact text it came from, so joinDoc(splitDoc(t)) === t. */
@@ -1198,7 +1204,17 @@ export function openDocSheet({ ws, doc, mode = 'read', prompt = '', relations, o
1198
1204
  }
1199
1205
 
1200
1206
  document.addEventListener('selectionchange', keepRange);
1201
- ui = openSheet({ title: doc.name, icon: 'doc', dw: true, actions: toolsNode, body: el('div', { class: 'dpn' }), onClose: () => { S.closed = true; document.removeEventListener('selectionchange', keepRange); if (S.changed && onChanged) onChanged(); } });
1207
+ // the size control of the session and meeting sheets (Normal, Half, 3/4, Whole), remembered in this browser
1208
+ let size = docSizeOf(docSizeStore.get());
1209
+ const sizeBtns = DOC_SIZES.map(([k, label, tip]) => button({ label, variant: 'ghost', attrs: { 'aria-pressed': String(k === size), 'data-doc-size': k, title: tip, 'aria-label': tip },
1210
+ onClick: () => setSize(k) }));
1211
+ const sizeSeg = el('div', { class: 'seg ds-size', role: 'group', 'aria-label': 'Size', 'data-doc': 'size' }, ...sizeBtns);
1212
+ function setSize(k) {
1213
+ size = k; docSizeStore.set(k);
1214
+ DOC_SIZES.forEach(([x]) => ui.sheet.classList.toggle('tsz-' + x, x === k));
1215
+ sizeBtns.forEach((b) => b.setAttribute('aria-pressed', String(b.getAttribute('data-doc-size') === k)));
1216
+ }
1217
+ ui = openSheet({ title: doc.name, icon: 'doc', dw: true, cls: 'tsz-' + size, actions: [sizeSeg, toolsNode].filter(Boolean), body: el('div', { class: 'dpn' }), onClose: () => { S.closed = true; document.removeEventListener('selectionchange', keepRange); if (S.changed && onChanged) onChanged(); } });
1202
1218
  S.open = (d) => { ui.close(); if (S.openOther) S.openOther(d); else openDocSheet({ ws, doc: d, library, openGraph }); };
1203
1219
  ui.setOpener = (fn) => { S.openOther = fn; };
1204
1220
  draw();
@@ -2393,6 +2393,14 @@
2393
2393
  .c3 .cal3-msize{flex:none}
2394
2394
  .c3 .cal3-msize button{padding:4px 8px}
2395
2395
  .c3.ph .cal3-msize{display:none}
2396
+ .c3 .ds-size{flex:none}
2397
+ .c3 .ds-size button{padding:4px 8px}
2398
+ .c3.ph .ds-size{display:none}
2399
+ @media (min-width:761px){
2400
+ .c3 .sheet.dw.tsz-half,.c3 .sheet.dw.dwx.tsz-half{width:50vw}
2401
+ .c3 .sheet.dw.tsz-three-quarters,.c3 .sheet.dw.dwx.tsz-three-quarters{width:75vw}
2402
+ .c3 .sheet.dw.tsz-whole,.c3 .sheet.dw.dwx.tsz-whole{width:calc(100vw - 24px)}
2403
+ }
2396
2404
  .c3 .cal3-mcols{display:grid;gap:var(--sp-4);grid-template-columns:minmax(0,1fr);align-items:start}
2397
2405
  .c3 .cal3-mcol{display:grid;gap:var(--sp-3);min-width:0;align-content:start}
2398
2406
  @media (min-width:761px){.c3:not(.ph) .sheet.cal3-ms:not(.tsz-normal) .cal3-mcols:not(.one){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
@@ -0,0 +1,6 @@
1
+ {
2
+ "_comment": "Initiative c3-doc-sheet-size: the document sheet opens at Normal, Half, 3/4 or Whole window, remembered in this browser.",
3
+ "modules": [],
4
+ "panels": ["pm-c3-doc-sheet-size-test.js"],
5
+ "seconds": { "pm-c3-doc-sheet-size-test.js": 30 }
6
+ }