@panaversity/ksor 0.0.46 → 0.0.48

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,34 @@
1
1
  # @panaversity/ksor
2
2
 
3
+ ## 0.0.48
4
+
5
+ ### Patch Changes
6
+
7
+ - 4883d2c: A document page gives its text 16px more room: the horizontal padding drops
8
+ from 32px to 24px. The reading measure itself is unchanged — widening it was
9
+ tried and reverted, because measuring what the column already is showed it is
10
+ wider than the comment beside it claimed, not narrower.
11
+
12
+ ## 0.0.47
13
+
14
+ ### Patch Changes
15
+
16
+ - 00c99da: **The intake interview asks its three questions in the owner's words.** The
17
+ previous wording was precise and unanswerable: question 1 asked the owner to
18
+ finish "when someone here disagrees with this corpus, the corpus wins about
19
+ ___", which is not a sentence unless you already know the ledger analogy the
20
+ README uses, and then explained what the answer would be used for inside the
21
+ question itself. An owner reported being unable to tell what it wanted at all.
22
+
23
+ Now: "What is this knowledge base about?", "What is close to that, but not part
24
+ of it?", and "Who signs off on a document, and who can take one down?" — each
25
+ with one too-vague example and one specific enough, and nothing about
26
+ `instance.md` or the MCP surface in the question. The reasoning that used to sit
27
+ inside the questions moved below them, where it explains the design to whoever
28
+ maintains the skill instead of blocking the person answering.
29
+
30
+ Nothing about what gets written changed.
31
+
3
32
  ## 0.0.46
4
33
 
5
34
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panaversity/ksor",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "description": "Knowledge System of Record — compile governed markdown into a static site for people and an MCP server for AI agents, with citations and measured abstention.",
5
5
  "keywords": [
6
6
  "abstention",
@@ -14,32 +14,55 @@ question at a time, and write down what they actually say.
14
14
 
15
15
  ## Ask THREE questions, one at a time
16
16
 
17
- Seven questions is where this skill used to start, and it did not survive
18
- contact: an agent running it decided five were too many, defaulted them, and
19
- reported "answered: all seven" including the one that decides who may
20
- approve a document. A process the tool executing it shortcuts is too long.
21
-
22
- So three are asked, and they are the three that cannot be defaulted:
23
-
24
- 1. **Scope** "What should this record be the _final word_ on? Finish the
25
- sentence: when someone here disagrees with this corpus, the corpus wins
26
- about ___."
27
- 2. **Boundary** — "What is just _outside_ that — the near-miss topics people
28
- will ask about here that the record should refuse rather than guess at?"
29
- 3. **Authority** "Who may approve a document for publication, and who may
30
- withdraw one?"
31
-
32
- Scope and Boundary are asked because the abstention gate is meaningless
33
- without an edge: a record authoritative for everything has no outside, so an
34
- agent asked something the owner never wrote about reaches for its training
35
- instead of declining. Authority is asked because a governance act names its
36
- actor and the tool never guesses one — the scaffold ships `human:you` in
37
- both authority lists, and a placeholder that survives this conversation is a
38
- person who was never there.
39
-
40
- Follow up until each is concrete. "Our engineering docs" is not yet an
41
- answer; "our leave, expense and conduct policies the current ones, not
42
- historical versions" is.
17
+ Ask them in the OWNER's words, not this project's. The vocabulary on this page
18
+ record, corpus, abstention, governance act is precise and it is ours; an
19
+ owner meeting it for the first time in a question cannot answer, and says so
20
+ (reported 2026-08-26, against the wording these replaced: "the corpus wins
21
+ about ___" asked them to complete a sentence that is not English unless you
22
+ already know the ledger analogy).
23
+
24
+ Ask exactly this much. Do not explain what the answer will be used for inside
25
+ the question that is what made the last version unanswerable.
26
+
27
+ ---
28
+
29
+ **1 of 3 What is this knowledge base about?**
30
+
31
+ > Be specific enough that I would know what does NOT belong in it.
32
+ >
33
+ > Too vague: "our engineering docs" I still could not tell what to leave out.
34
+ > Specific enough: "our leave, expense and conduct policies, current versions
35
+ > only."
36
+
37
+ ---
38
+
39
+ **2 of 3 — What is close to that, but not part of it?**
40
+
41
+ > Things people will ask this and it should NOT answer. A confident wrong
42
+ > answer is worse than "I do not cover that."
43
+ >
44
+ > For the policies example: "not salaries, not individual HR cases, not last
45
+ > year's versions."
46
+
47
+ ---
48
+
49
+ **3 of 3 — Who signs off on a document, and who can take one down?**
50
+
51
+ > Names or handles, not job titles. If it is just you, say so.
52
+
53
+ ---
54
+
55
+ Follow up until each is concrete, but follow up in their words too: "what would
56
+ someone actually ask this?" gets further than "name the boundary".
57
+
58
+ **Why these three and no others.** The first two give the record an EDGE, and
59
+ the abstention gate is meaningless without one: a knowledge base that is
60
+ authoritative for everything has no outside, so an agent asked something the
61
+ owner never wrote about reaches for its training instead of declining. The
62
+ third cannot be guessed at all — the scaffold ships `human:you` in both
63
+ authority lists, and a placeholder that survives this conversation is a person
64
+ who was never there. Everything else has a sane default, and defaults are
65
+ stated rather than asked.
43
66
 
44
67
  ## Then STATE the defaults; do not ask them
45
68
 
@@ -14,32 +14,55 @@ question at a time, and write down what they actually say.
14
14
 
15
15
  ## Ask THREE questions, one at a time
16
16
 
17
- Seven questions is where this skill used to start, and it did not survive
18
- contact: an agent running it decided five were too many, defaulted them, and
19
- reported "answered: all seven" including the one that decides who may
20
- approve a document. A process the tool executing it shortcuts is too long.
21
-
22
- So three are asked, and they are the three that cannot be defaulted:
23
-
24
- 1. **Scope** "What should this record be the _final word_ on? Finish the
25
- sentence: when someone here disagrees with this corpus, the corpus wins
26
- about ___."
27
- 2. **Boundary** — "What is just _outside_ that — the near-miss topics people
28
- will ask about here that the record should refuse rather than guess at?"
29
- 3. **Authority** "Who may approve a document for publication, and who may
30
- withdraw one?"
31
-
32
- Scope and Boundary are asked because the abstention gate is meaningless
33
- without an edge: a record authoritative for everything has no outside, so an
34
- agent asked something the owner never wrote about reaches for its training
35
- instead of declining. Authority is asked because a governance act names its
36
- actor and the tool never guesses one — the scaffold ships `human:you` in
37
- both authority lists, and a placeholder that survives this conversation is a
38
- person who was never there.
39
-
40
- Follow up until each is concrete. "Our engineering docs" is not yet an
41
- answer; "our leave, expense and conduct policies the current ones, not
42
- historical versions" is.
17
+ Ask them in the OWNER's words, not this project's. The vocabulary on this page
18
+ record, corpus, abstention, governance act is precise and it is ours; an
19
+ owner meeting it for the first time in a question cannot answer, and says so
20
+ (reported 2026-08-26, against the wording these replaced: "the corpus wins
21
+ about ___" asked them to complete a sentence that is not English unless you
22
+ already know the ledger analogy).
23
+
24
+ Ask exactly this much. Do not explain what the answer will be used for inside
25
+ the question that is what made the last version unanswerable.
26
+
27
+ ---
28
+
29
+ **1 of 3 What is this knowledge base about?**
30
+
31
+ > Be specific enough that I would know what does NOT belong in it.
32
+ >
33
+ > Too vague: "our engineering docs" I still could not tell what to leave out.
34
+ > Specific enough: "our leave, expense and conduct policies, current versions
35
+ > only."
36
+
37
+ ---
38
+
39
+ **2 of 3 — What is close to that, but not part of it?**
40
+
41
+ > Things people will ask this and it should NOT answer. A confident wrong
42
+ > answer is worse than "I do not cover that."
43
+ >
44
+ > For the policies example: "not salaries, not individual HR cases, not last
45
+ > year's versions."
46
+
47
+ ---
48
+
49
+ **3 of 3 — Who signs off on a document, and who can take one down?**
50
+
51
+ > Names or handles, not job titles. If it is just you, say so.
52
+
53
+ ---
54
+
55
+ Follow up until each is concrete, but follow up in their words too: "what would
56
+ someone actually ask this?" gets further than "name the boundary".
57
+
58
+ **Why these three and no others.** The first two give the record an EDGE, and
59
+ the abstention gate is meaningless without one: a knowledge base that is
60
+ authoritative for everything has no outside, so an agent asked something the
61
+ owner never wrote about reaches for its training instead of declining. The
62
+ third cannot be guessed at all — the scaffold ships `human:you` in both
63
+ authority lists, and a placeholder that survives this conversation is a person
64
+ who was never there. Everything else has a sane default, and defaults are
65
+ stated rather than asked.
43
66
 
44
67
  ## Then STATE the defaults; do not ask them
45
68
 
@@ -228,20 +228,37 @@
228
228
  }
229
229
 
230
230
  /* ── The reading measure ─────────────────────────────────────────────────────
231
- The shell caps the article at 900px, which at the body's 16px puts 78
232
- characters on a line (measured) half again the 45–75 that reading research
233
- and every typographic manual settle on, and the reason the page read as a
234
- slab. 46rem holds the text to 672px, about 66 characters, and the article
235
- still centres itself in the main column.
231
+ The shell caps the article at 900px, which puts far more than the 45–75 that
232
+ reading research and every typographic manual settle on a line, and is the
233
+ reason the page read as a slab. 46rem holds the text to 688px and the
234
+ article still centres itself in the main column. (The character counts this
235
+ paragraph used to give were wrong in both directions — see below.)
236
236
 
237
237
  It is also half of what stops the column moving: the other half is holding
238
238
  the table-of-contents column on every page (app/docs/[[...slug]]/page.tsx).
239
239
  Sidebar and rail are both 268px, so main is centred in the viewport and this
240
240
  measure is centred in main — the same place on a document with headings and
241
241
  one without. `data-full` is the shell's own escape hatch for a page that
242
- asked for the whole width; it keeps it. */
242
+ asked for the whole width; it keeps it.
243
+
244
+ The measure STAYS at 46rem, and the number above is corrected here rather
245
+ than trusted: asked for a wider column, the honest thing was to measure what
246
+ this one already is. Simulating the browser's own line-breaking over this
247
+ record's prose in its real font gives 89 characters at 46rem — not 66 — and
248
+ the shell's 900px gives 122, not 78. Both figures in the paragraph above
249
+ were wrong; the CONCLUSION they supported was right, and by a wider margin
250
+ than it claimed.
251
+
252
+ So widening was tried and reverted: 49rem counts 95 and 52rem counts 104,
253
+ each further from the 45–75 the research settles on, not closer. What is
254
+ left is a real gain that costs nothing — the horizontal padding drops from
255
+ 32px to 24px, which gives the text 16px more without touching the measure.
256
+
257
+ The white space either side of a bounded column on a 1728px screen is the
258
+ price of the column being bounded. It is not a bug to be tuned away. */
243
259
  #nd-page:not([data-full="true"]) {
244
260
  max-width: 46rem;
261
+ padding-inline: 1.5rem;
245
262
  }
246
263
 
247
264
  html {