crewly 1.20.20 → 1.20.21

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.
Files changed (153) hide show
  1. package/config/roles/generalist/prompt.md +8 -2
  2. package/config/roles/team-leader/prompt.md +2 -1
  3. package/config/skills/agent/core/wiki-query/SKILL.md +11 -0
  4. package/config/skills/agent/core/wiki-query/execute.sh +22 -3
  5. package/config/skills/orchestrator/wiki-ingest/SKILL.md +19 -0
  6. package/config/skills/orchestrator/wiki-ingest/execute.sh +36 -1
  7. package/config/skills/team-leader/wiki-review-proposals/SKILL.md +35 -0
  8. package/config/skills/team-leader/wiki-review-proposals/execute.sh +40 -0
  9. package/config/skills/team-leader/wiki-supersede/SKILL.md +38 -0
  10. package/config/skills/team-leader/wiki-supersede/execute.sh +44 -0
  11. package/dist/backend/backend/src/constants.d.ts +32 -0
  12. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  13. package/dist/backend/backend/src/constants.js +30 -0
  14. package/dist/backend/backend/src/constants.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +29 -0
  16. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +196 -4
  18. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts.map +1 -1
  20. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js +9 -1
  21. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js.map +1 -1
  22. package/dist/backend/backend/src/index.d.ts.map +1 -1
  23. package/dist/backend/backend/src/index.js +3 -0
  24. package/dist/backend/backend/src/index.js.map +1 -1
  25. package/dist/backend/backend/src/services/memory/memory.service.d.ts +2 -0
  26. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/memory/memory.service.js +16 -4
  28. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts +9 -0
  30. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/wiki/schema-loader.service.js +40 -1
  32. package/dist/backend/backend/src/services/wiki/schema-loader.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts +32 -0
  34. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js +63 -1
  36. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js.map +1 -1
  37. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts +2 -0
  38. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js +9 -2
  40. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/wiki/wiki-curation.service.d.ts +106 -0
  42. package/dist/backend/backend/src/services/wiki/wiki-curation.service.d.ts.map +1 -0
  43. package/dist/backend/backend/src/services/wiki/wiki-curation.service.js +211 -0
  44. package/dist/backend/backend/src/services/wiki/wiki-curation.service.js.map +1 -0
  45. package/dist/backend/backend/src/services/wiki/wiki-history.service.d.ts +63 -0
  46. package/dist/backend/backend/src/services/wiki/wiki-history.service.d.ts.map +1 -0
  47. package/dist/backend/backend/src/services/wiki/wiki-history.service.js +124 -0
  48. package/dist/backend/backend/src/services/wiki/wiki-history.service.js.map +1 -0
  49. package/dist/backend/backend/src/services/wiki/wiki-index.service.d.ts +119 -0
  50. package/dist/backend/backend/src/services/wiki/wiki-index.service.d.ts.map +1 -0
  51. package/dist/backend/backend/src/services/wiki/wiki-index.service.js +263 -0
  52. package/dist/backend/backend/src/services/wiki/wiki-index.service.js.map +1 -0
  53. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +66 -11
  54. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js +162 -44
  56. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts +31 -0
  58. package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js +69 -0
  60. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js.map +1 -1
  61. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts +29 -0
  62. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts.map +1 -0
  63. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js +55 -0
  64. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js.map +1 -0
  65. package/dist/backend/backend/src/services/wiki/wiki-page.d.ts +101 -0
  66. package/dist/backend/backend/src/services/wiki/wiki-page.d.ts.map +1 -0
  67. package/dist/backend/backend/src/services/wiki/wiki-page.js +130 -0
  68. package/dist/backend/backend/src/services/wiki/wiki-page.js.map +1 -0
  69. package/dist/backend/backend/src/services/wiki/wiki-policy.d.ts +35 -0
  70. package/dist/backend/backend/src/services/wiki/wiki-policy.d.ts.map +1 -0
  71. package/dist/backend/backend/src/services/wiki/wiki-policy.js +44 -0
  72. package/dist/backend/backend/src/services/wiki/wiki-policy.js.map +1 -0
  73. package/dist/backend/backend/src/services/wiki/wiki-process.service.d.ts.map +1 -1
  74. package/dist/backend/backend/src/services/wiki/wiki-process.service.js +5 -2
  75. package/dist/backend/backend/src/services/wiki/wiki-process.service.js.map +1 -1
  76. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts +57 -13
  77. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts.map +1 -1
  78. package/dist/backend/backend/src/services/wiki/wiki-query.service.js +91 -54
  79. package/dist/backend/backend/src/services/wiki/wiki-query.service.js.map +1 -1
  80. package/dist/backend/backend/src/services/wiki/wiki-redaction.d.ts +74 -0
  81. package/dist/backend/backend/src/services/wiki/wiki-redaction.d.ts.map +1 -0
  82. package/dist/backend/backend/src/services/wiki/wiki-redaction.js +94 -0
  83. package/dist/backend/backend/src/services/wiki/wiki-redaction.js.map +1 -0
  84. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts +12 -3
  85. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  86. package/dist/backend/backend/src/services/wiki/wiki-search.service.js +19 -9
  87. package/dist/backend/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  88. package/dist/backend/backend/src/services/wiki/wiki-usage.service.d.ts +96 -0
  89. package/dist/backend/backend/src/services/wiki/wiki-usage.service.d.ts.map +1 -0
  90. package/dist/backend/backend/src/services/wiki/wiki-usage.service.js +147 -0
  91. package/dist/backend/backend/src/services/wiki/wiki-usage.service.js.map +1 -0
  92. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts +25 -0
  93. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -0
  94. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js +52 -0
  95. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js.map +1 -0
  96. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts +19 -1
  97. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts.map +1 -1
  98. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js +47 -6
  99. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js.map +1 -1
  100. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts +24 -0
  101. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts.map +1 -1
  102. package/dist/backend/build-info.json +2 -2
  103. package/dist/cli/backend/src/constants.d.ts +32 -0
  104. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  105. package/dist/cli/backend/src/constants.js +30 -0
  106. package/dist/cli/backend/src/constants.js.map +1 -1
  107. package/dist/cli/backend/src/services/memory/memory.service.d.ts +2 -0
  108. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  109. package/dist/cli/backend/src/services/memory/memory.service.js +16 -4
  110. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  111. package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts +9 -0
  112. package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -1
  113. package/dist/cli/backend/src/services/wiki/schema-loader.service.js +40 -1
  114. package/dist/cli/backend/src/services/wiki/schema-loader.service.js.map +1 -1
  115. package/dist/cli/backend/src/services/wiki/wiki-history.service.d.ts +63 -0
  116. package/dist/cli/backend/src/services/wiki/wiki-history.service.d.ts.map +1 -0
  117. package/dist/cli/backend/src/services/wiki/wiki-history.service.js +124 -0
  118. package/dist/cli/backend/src/services/wiki/wiki-history.service.js.map +1 -0
  119. package/dist/cli/backend/src/services/wiki/wiki-index.service.d.ts +119 -0
  120. package/dist/cli/backend/src/services/wiki/wiki-index.service.d.ts.map +1 -0
  121. package/dist/cli/backend/src/services/wiki/wiki-index.service.js +263 -0
  122. package/dist/cli/backend/src/services/wiki/wiki-index.service.js.map +1 -0
  123. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +66 -11
  124. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  125. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js +162 -44
  126. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  127. package/dist/cli/backend/src/services/wiki/wiki-page.d.ts +101 -0
  128. package/dist/cli/backend/src/services/wiki/wiki-page.d.ts.map +1 -0
  129. package/dist/cli/backend/src/services/wiki/wiki-page.js +130 -0
  130. package/dist/cli/backend/src/services/wiki/wiki-page.js.map +1 -0
  131. package/dist/cli/backend/src/services/wiki/wiki-policy.d.ts +35 -0
  132. package/dist/cli/backend/src/services/wiki/wiki-policy.d.ts.map +1 -0
  133. package/dist/cli/backend/src/services/wiki/wiki-policy.js +44 -0
  134. package/dist/cli/backend/src/services/wiki/wiki-policy.js.map +1 -0
  135. package/dist/cli/backend/src/services/wiki/wiki-redaction.d.ts +74 -0
  136. package/dist/cli/backend/src/services/wiki/wiki-redaction.d.ts.map +1 -0
  137. package/dist/cli/backend/src/services/wiki/wiki-redaction.js +94 -0
  138. package/dist/cli/backend/src/services/wiki/wiki-redaction.js.map +1 -0
  139. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts +12 -3
  140. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  141. package/dist/cli/backend/src/services/wiki/wiki-search.service.js +19 -9
  142. package/dist/cli/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  143. package/dist/cli/backend/src/services/wiki/wiki-usage.service.d.ts +96 -0
  144. package/dist/cli/backend/src/services/wiki/wiki-usage.service.d.ts.map +1 -0
  145. package/dist/cli/backend/src/services/wiki/wiki-usage.service.js +147 -0
  146. package/dist/cli/backend/src/services/wiki/wiki-usage.service.js.map +1 -0
  147. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts +25 -0
  148. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -0
  149. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js +52 -0
  150. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js.map +1 -0
  151. package/dist/cli/backend/src/services/wiki/wiki.types.d.ts +24 -0
  152. package/dist/cli/backend/src/services/wiki/wiki.types.d.ts.map +1 -1
  153. package/package.json +1 -1
@@ -73,10 +73,16 @@ You have bash skills that let you store and retrieve knowledge that persists acr
73
73
  bash {{AGENT_SKILLS_PATH}}/core/record-learning/execute.sh '{"agentId":"{{SESSION_NAME}}","agentRole":"{{ROLE}}","projectPath":"{{PROJECT_PATH}}","learning":"what you learned"}'
74
74
  ```
75
75
 
76
- - **`wiki-query`** — Search the LLM-wiki (v2.1) for SOPs, runbooks, decisions, patterns, people/customer pages (replaces the retired `query-knowledge`)
76
+ - **`wiki-query`** — Read the LLM-wiki (SOPs, runbooks, decisions, patterns, people/customer pages). Two steps: the first call returns the vault's one-line **index** + BM25 candidates; pick 3–5 paths and call again with `--pages` to read them in full. Never answer from index lines alone.
77
77
  ```bash
78
- bash {{AGENT_SKILLS_PATH}}/core/wiki-query/execute.sh --vault ~/.crewly/global-wiki --query "deployment process" --top-k 5
78
+ bash {{AGENT_SKILLS_PATH}}/core/wiki-query/execute.sh --vault {{PROJECT_PATH}}/.crewly/wiki --query "deployment process"
79
+ bash {{AGENT_SKILLS_PATH}}/core/wiki-query/execute.sh --vault {{PROJECT_PATH}}/.crewly/wiki --query "deployment process" --pages "llm-curated/runbooks/deploy.md,llm-curated/decisions/2026-06-hosting.md"
79
80
  ```
81
+ Superseded pages are hidden by default (`--include-superseded` for the history of a judgement). If nothing answers the question, say so — the miss is recorded as a capture gap for the team.
82
+
83
+ ### What earns a wiki page (default is NOT to keep)
84
+
85
+ A page is refused unless it carries a `--title`, a one-line `--summary` that states the **conclusion** (what this means for us — not what the source said), and `--keep-because` one of: `changes_decision` · `contradicts` · `hard_fact` · `reusable_method`. Everything else goes to `llm-curated/log.md` (no gate) or nowhere. When a conclusion changes, write the new page and tell your team leader to `wiki-supersede` the old one — never overwrite or delete history. Never put credentials or people's personal details into a page.
80
86
 
81
87
  ### When to Use Memory Tools
82
88
 
@@ -102,7 +102,8 @@ Use when: You need to follow up on worker progress later. Validates hierarchy
102
102
  When you receive a task brief from the orchestrator (or any upstream delegator):
103
103
 
104
104
  1. **Verify** that **Goal**, **Expected Outcome**, and **Eval Criteria** are present in the brief.
105
- 2. **Wiki-query first (2026-05-26):** before decomposing, run `wiki-query` against your team vault (`~/.crewly/teams/<your-team-id>/wiki`) AND the project vault (`<project>/.crewly/wiki`) for the brief's topic. The team vault tells you "have we done this before / does this conflict with team-norm / did Steve lock a position here". Skip ONLY for trivial briefs (typo fix, single-file rename).
105
+ 2. **Wiki-query first (2026-05-26):** before decomposing, run `wiki-query` against your team vault (`~/.crewly/teams/<your-team-id>/wiki`) AND the project vault (`<project>/.crewly/wiki`) for the brief's topic — two steps: read the index the first call returns, then re-call with `--pages` for the 3–5 pages that matter. The team vault tells you "have we done this before / does this conflict with team-norm / did Steve lock a position here". Skip ONLY for trivial briefs (typo fix, single-file rename).
106
+ **You own your team's knowledge (2026-09-19):** pages your workers write land in `llm-curated/_proposed/` — review them with `wiki-review-proposals` (accept only what changes a decision, contradicts a belief, is a hard fact or a reusable method, and whose summary is a conclusion). When a conclusion changes, `wiki-supersede` the old page instead of overwriting it. The bookkeeping report tells you which pages nobody reads and which questions the vault could not answer — act on both.
106
107
  3. **Push back** if any of Goal/Outcome/Eval is missing — do not proceed, do not start decomposition, do not fan out work. Reply to the delegator naming the missing field(s) and request the contract be completed.
107
108
  4. **Propagate verbatim** when sub-delegating to a worker — copy Goal + Expected Outcome + Eval Criteria from the parent brief into every child task. Workers should never have to ask you what success looks like. If wiki-query surfaced relevant prior art, attach the page paths in the brief so workers don't re-discover.
108
109
 
@@ -24,6 +24,13 @@ assignableRoles:
24
24
 
25
25
  Read a vault (`<project>/.crewly/wiki/`, `~/.crewly/teams/<id>/wiki/`, or `~/.crewly/global-wiki/`) and get back the structured context the caller's LLM uses for synthesis.
26
26
 
27
+ **Retrieval is two-step (no embeddings, no vector store):**
28
+
29
+ 1. `--query "<question>"` → the vault's one-line-per-page **index** (`context.index.text`, trimmed to the query's neighbourhood when large) plus BM25 `candidatePages` with excerpts.
30
+ 2. Pick the 3–5 paths that matter and call again with `--pages "a.md,b.md"` → `context.pages[]` with full content + frontmatter (`summary` is the page's conclusion).
31
+
32
+ Superseded pages and pages your role may not read are hidden (`--include-superseded` shows the history of a judgement). Every call is written to the vault's usage ledger; a query that surfaces nothing is a **capture gap** — say so in your answer rather than inventing one.
33
+
27
34
  Per Atlas v2.1 §3, this skill **does not call an LLM itself**. It emits the LLM-agnostic system-context (vault SCHEMA, recent log entries, candidate pages by keyword overlap). The caller's runtime concatenates this with the per-LLM task-instruction prompt at `prompts/<runtime>.md` and makes the LLM call locally.
28
35
 
29
36
  ## When to use
@@ -40,6 +47,8 @@ Per Atlas v2.1 §3, this skill **does not call an LLM itself**. It emits the LLM
40
47
  | `--query <text>` | yes | Natural-language question. Used for keyword-overlap candidate ranking. |
41
48
  | `--top-k <n>` | no | How many candidate pages to return (default 5). |
42
49
  | `--recent-log <n>` | no | How many tail log entries to include (default 20). |
50
+ | `--pages <a,b,…>` | step 2 | Vault-relative pages to return in full (max 8). |
51
+ | `--include-superseded` | no | Also return pages marked `superseded_by`. |
43
52
  | `--json <obj>` | alt | Pass all fields as JSON. |
44
53
 
45
54
  ## Output
@@ -47,6 +56,8 @@ Per Atlas v2.1 §3, this skill **does not call an LLM itself**. It emits the LLM
47
56
  JSON with `success`, `result.context`. The context has:
48
57
 
49
58
  - `vault` — scope, id, absolute path
59
+ - `index` — `{ text, truncated, entries }`: read this first
60
+ - `pages` — the full pages you asked for (`path`, `frontmatter`, `content`)
50
61
  - `schemaSummary` — frozen folders, llm-curated layout, write_policy
51
62
  - `recentLog` — last N entries (most-recent first), with timestamp / sourceType / caller / body
52
63
  - `candidatePages` — top-K pages by keyword overlap with `query`
@@ -20,6 +20,8 @@ VAULT_PATH=""
20
20
  QUERY=""
21
21
  TOP_K=""
22
22
  RECENT_LOG=""
23
+ PAGES=""
24
+ INCLUDE_SUPERSEDED=""
23
25
 
24
26
  # Detect legacy JSON positional arg
25
27
  if [[ $# -gt 0 && ${1:0:1} == '{' ]]; then
@@ -45,6 +47,14 @@ while [[ $# -gt 0 ]]; do
45
47
  RECENT_LOG="$2"
46
48
  shift 2
47
49
  ;;
50
+ --pages|-p)
51
+ PAGES="$2"
52
+ shift 2
53
+ ;;
54
+ --include-superseded)
55
+ INCLUDE_SUPERSEDED="true"
56
+ shift
57
+ ;;
48
58
  --json|-j)
49
59
  INPUT_JSON="$2"
50
60
  shift 2
@@ -52,10 +62,15 @@ while [[ $# -gt 0 ]]; do
52
62
  --help|-h)
53
63
  cat <<EOF
54
64
  Usage:
55
- execute.sh --vault <vault-dir> --query "<question>" [--top-k 5] [--recent-log 20]
56
- execute.sh --json '{"vaultPath":"...","query":"...","topK":5,"recentLogEntries":20}'
65
+ Step 1 — read the index + candidates:
66
+ execute.sh --vault <vault-dir> --query "<question>" [--top-k 5] [--recent-log 20]
67
+ Step 2 — read the 3–5 pages you picked, in full:
68
+ execute.sh --vault <vault-dir> --query "<question>" --pages "llm-curated/decisions/a.md,llm-curated/patterns/b.md"
69
+ execute.sh --json '{"vaultPath":"...","query":"...","pages":["..."],"includeSuperseded":false}'
57
70
 
58
- Outputs JSON system-context for the caller's LLM. Skill makes no LLM calls itself.
71
+ Outputs JSON system-context (index, candidatePages, pages, recentLog) for the caller's LLM. Superseded pages and
72
+ pages your role may not read are hidden; --include-superseded shows the history of a judgement. Every call is
73
+ recorded in the vault's usage ledger (a query that finds nothing is logged as a capture gap — say so in your answer).
59
74
  EOF
60
75
  exit 0
61
76
  ;;
@@ -91,6 +106,8 @@ if [ -n "$INPUT_JSON" ]; then
91
106
  [ -z "$QUERY" ] && QUERY=$(printf '%s' "$INPUT" | jq -r '.query // empty')
92
107
  [ -z "$TOP_K" ] && TOP_K=$(printf '%s' "$INPUT" | jq -r '.topK // empty')
93
108
  [ -z "$RECENT_LOG" ] && RECENT_LOG=$(printf '%s' "$INPUT" | jq -r '.recentLogEntries // empty')
109
+ [ -z "$PAGES" ] && PAGES=$(printf '%s' "$INPUT" | jq -r '(.pages // []) | join(",")')
110
+ [ -z "$INCLUDE_SUPERSEDED" ] && INCLUDE_SUPERSEDED=$(printf '%s' "$INPUT" | jq -r 'if .includeSuperseded == true then "true" else empty end')
94
111
  fi
95
112
 
96
113
  require_param "vaultPath (--vault)" "$VAULT_PATH"
@@ -102,6 +119,8 @@ export _WQ_QUERY="$QUERY"
102
119
  BODY=$(jq -n '{vaultPath: env._WQ_VAULT, query: env._WQ_QUERY}')
103
120
  [ -n "$TOP_K" ] && BODY=$(echo "$BODY" | jq --argjson k "$TOP_K" '. + {topK: $k}')
104
121
  [ -n "$RECENT_LOG" ] && BODY=$(echo "$BODY" | jq --argjson n "$RECENT_LOG" '. + {recentLogEntries: $n}')
122
+ [ -n "$PAGES" ] && { export _WQ_PAGES="$PAGES"; BODY=$(echo "$BODY" | jq '. + {pages: (env._WQ_PAGES | split(",") | map(gsub("^\\s+|\\s+$";"")) | map(select(. != "")))}'); unset _WQ_PAGES; }
123
+ [ -n "$INCLUDE_SUPERSEDED" ] && BODY=$(echo "$BODY" | jq '. + {includeSuperseded: true}')
105
124
  unset _WQ_VAULT _WQ_QUERY
106
125
 
107
126
  api_call POST "/wiki/query" "$BODY"
@@ -61,3 +61,22 @@ bash execute.sh \
61
61
  --caller user/steve \
62
62
  --target llm-curated/decisions/2026-05-22-crewly-pro-pricing.md
63
63
  ```
64
+
65
+ ## Page contract (2026-09-19 — the vault is a knowledge base, not a log)
66
+
67
+ `log.md` (the default target) is append-only and ungated: put "maybe useful" there. A **page** (`--target llm-curated/<folder>/<name>.md`) is refused (`422 retention_gate`) unless it carries:
68
+
69
+ | Flag | Meaning |
70
+ |---|---|
71
+ | `--title` | The page's name |
72
+ | `--summary` | One line: the **conclusion** — what this means for us, not what the source said |
73
+ | `--keep-because` | `changes_decision` · `contradicts` · `hard_fact` · `reusable_method` |
74
+
75
+ Optional: `--tags a,b`, `--visibility teacher,admin` (roles that may read it), `--replace` (rewrite instead of append).
76
+
77
+ What else happens on a page write:
78
+ - **Write policy**: if your role is `proposed_only` in the vault's SCHEMA.md, the page lands in `llm-curated/_proposed/` until a canonical role accepts it (`wiki-review-proposals`).
79
+ - **Confidentiality**: credentials are always refused (`422 secret_detected`, pattern name only); personal data follows the vault's `privacy.pii` (`allow` | `mask` | `refuse`).
80
+ - **Index**: the page's line in `llm-curated/index.md` is created/updated (this is what `wiki-query` reads first).
81
+ - **History**: the prior version is snapshotted under `.wiki-history/` with your session name.
82
+ - A changed conclusion is never overwritten: write the new page, then `wiki-supersede`.
@@ -25,6 +25,12 @@ SOURCE_REF=""
25
25
  SOURCE_BODY=""
26
26
  CALLER=""
27
27
  TARGET=""
28
+ TITLE=""
29
+ SUMMARY=""
30
+ KEEP_BECAUSE=""
31
+ TAGS=""
32
+ VISIBILITY=""
33
+ REPLACE=""
28
34
 
29
35
  if [[ $# -gt 0 && ${1:0:1} == '{' ]]; then
30
36
  INPUT_JSON="$1"
@@ -45,6 +51,18 @@ while [[ $# -gt 0 ]]; do
45
51
  CALLER="$2"; shift 2 ;;
46
52
  --target)
47
53
  TARGET="$2"; shift 2 ;;
54
+ --title)
55
+ TITLE="$2"; shift 2 ;;
56
+ --summary)
57
+ SUMMARY="$2"; shift 2 ;;
58
+ --keep-because)
59
+ KEEP_BECAUSE="$2"; shift 2 ;;
60
+ --tags)
61
+ TAGS="$2"; shift 2 ;;
62
+ --visibility)
63
+ VISIBILITY="$2"; shift 2 ;;
64
+ --replace)
65
+ REPLACE="true"; shift ;;
48
66
  --json|-j)
49
67
  INPUT_JSON="$2"; shift 2 ;;
50
68
  --help|-h)
@@ -56,7 +74,14 @@ Usage:
56
74
  sourceType MUST be one of:
57
75
  user_chat | slack_message | spec_file | pr_merge | record_learning | task_verified
58
76
 
59
- Default target is "llm-curated/log.md". Override with --target for a dedicated page (must NOT be inside a frozen folder).
77
+ Default target is "llm-curated/log.md" (append-only, no gate). A --target PAGE under llm-curated/ needs:
78
+ --title "<page name>"
79
+ --summary "<one line: the CONCLUSION — what this means for us>"
80
+ --keep-because changes_decision | contradicts | hard_fact | reusable_method
81
+ Optional: --tags "a,b" --visibility "teacher,admin" --replace (rewrite the page instead of appending)
82
+ Default is NOT to keep: without those three the write is refused (422 retention_gate) — append to log.md instead.
83
+ Secrets are always refused; personal data follows the vault's privacy policy. A proposed_only role's page lands in
84
+ llm-curated/_proposed/ until a canonical role accepts it (wiki-review-proposals).
60
85
  EOF
61
86
  exit 0 ;;
62
87
  --)
@@ -88,6 +113,10 @@ if [ -n "$INPUT_JSON" ]; then
88
113
  [ -z "$SOURCE_BODY" ] && SOURCE_BODY=$(printf '%s' "$INPUT" | jq -r '.sourceBody // empty')
89
114
  [ -z "$CALLER" ] && CALLER=$(printf '%s' "$INPUT" | jq -r '.callerSession // empty')
90
115
  [ -z "$TARGET" ] && TARGET=$(printf '%s' "$INPUT" | jq -r '.targetRelativePath // empty')
116
+ [ -z "$TITLE" ] && TITLE=$(printf '%s' "$INPUT" | jq -r '.title // empty')
117
+ [ -z "$SUMMARY" ] && SUMMARY=$(printf '%s' "$INPUT" | jq -r '.summary // empty')
118
+ [ -z "$KEEP_BECAUSE" ] && KEEP_BECAUSE=$(printf '%s' "$INPUT" | jq -r '.keepBecause // empty')
119
+ [ -z "$REPLACE" ] && REPLACE=$(printf '%s' "$INPUT" | jq -r 'if .replace == true then "true" else empty end')
91
120
  fi
92
121
 
93
122
  require_param "vaultPath (--vault)" "$VAULT_PATH"
@@ -108,6 +137,12 @@ BODY=$(jq -n '{
108
137
  }')
109
138
  [ -n "$CALLER" ] && { export _WI_CALLER="$CALLER"; BODY=$(echo "$BODY" | jq '. + {callerSession: env._WI_CALLER}'); unset _WI_CALLER; }
110
139
  [ -n "$TARGET" ] && { export _WI_TARGET="$TARGET"; BODY=$(echo "$BODY" | jq '. + {targetRelativePath: env._WI_TARGET}'); unset _WI_TARGET; }
140
+ [ -n "$TITLE" ] && { export _WI_TITLE="$TITLE"; BODY=$(echo "$BODY" | jq '. + {title: env._WI_TITLE}'); unset _WI_TITLE; }
141
+ [ -n "$SUMMARY" ] && { export _WI_SUMMARY="$SUMMARY"; BODY=$(echo "$BODY" | jq '. + {summary: env._WI_SUMMARY}'); unset _WI_SUMMARY; }
142
+ [ -n "$KEEP_BECAUSE" ] && { export _WI_KEEP="$KEEP_BECAUSE"; BODY=$(echo "$BODY" | jq '. + {keepBecause: env._WI_KEEP}'); unset _WI_KEEP; }
143
+ [ -n "$TAGS" ] && { export _WI_TAGS="$TAGS"; BODY=$(echo "$BODY" | jq '. + {tags: (env._WI_TAGS | split(",") | map(gsub("^\\s+|\\s+$";"")) | map(select(. != "")))}'); unset _WI_TAGS; }
144
+ [ -n "$VISIBILITY" ] && { export _WI_VIS="$VISIBILITY"; BODY=$(echo "$BODY" | jq '. + {visibility: (env._WI_VIS | split(",") | map(gsub("^\\s+|\\s+$";"")) | map(select(. != "")))}'); unset _WI_VIS; }
145
+ [ -n "$REPLACE" ] && BODY=$(echo "$BODY" | jq '. + {replace: true}')
111
146
  unset _WI_VAULT _WI_TYPE _WI_REF _WI_BODY
112
147
 
113
148
  api_call POST "/wiki/ingest" "$BODY"
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: Wiki Review Proposals
3
+ description: List, accept or reject wiki pages proposed by workers (pages under llm-curated/_proposed/). Canonical roles only.
4
+ version: 1.0.0
5
+ category: knowledge
6
+ skillType: claude-skill
7
+ assignableRoles:
8
+ - team-leader
9
+ - orchestrator
10
+ triggers:
11
+ - review wiki proposals
12
+ - accept proposal
13
+ - reject proposal
14
+ tags:
15
+ - wiki
16
+ - knowledge
17
+ execution:
18
+ type: script
19
+ script:
20
+ file: execute.sh
21
+ interpreter: bash
22
+ timeoutMs: 15000
23
+ ---
24
+
25
+ # Wiki Review Proposals
26
+
27
+ Workers and researchers can write pages, but the vault's `write_policy` parks them under `llm-curated/_proposed/` until someone canonical decides. You decide.
28
+
29
+ ```bash
30
+ bash execute.sh --vault <vault> # what is waiting
31
+ bash execute.sh --vault <vault> --accept llm-curated/_proposed/decisions/x.md # into place + indexed
32
+ bash execute.sh --vault <vault> --reject llm-curated/_proposed/decisions/x.md --reason "already covered by decisions/y.md"
33
+ ```
34
+
35
+ Accept when the page passes the same bar you hold yourself to: it changes a decision, contradicts what we believed, is a citable hard fact, or a reusable method — and its `summary` states a conclusion, not a recap. Rejections are logged in `log.md` with your reason so the proposer learns the standard.
@@ -0,0 +1,40 @@
1
+ #!/bin/bash
2
+ # wiki-review-proposals — list / accept / reject pages that proposed_only roles wrote into
3
+ # llm-curated/_proposed/. Canonical roles (team-leader / orchestrator / owner) only.
4
+ #
5
+ # Usage:
6
+ # bash execute.sh --vault <vault> # list
7
+ # bash execute.sh --vault <vault> --accept llm-curated/_proposed/decisions/x.md
8
+ # bash execute.sh --vault <vault> --reject llm-curated/_proposed/decisions/x.md --reason "duplicate of decisions/y.md"
9
+ set -euo pipefail
10
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
12
+
13
+ VAULT_PATH=""; ACCEPT=""; REJECT=""; REASON=""
14
+ while [[ $# -gt 0 ]]; do
15
+ case "$1" in
16
+ --vault|-v) VAULT_PATH="$2"; shift 2 ;;
17
+ --accept) ACCEPT="$2"; shift 2 ;;
18
+ --reject) REJECT="$2"; shift 2 ;;
19
+ --reason|-r) REASON="$2"; shift 2 ;;
20
+ --help|-h)
21
+ cat <<HELP
22
+ Usage: execute.sh --vault <vault> [--accept <proposed page> | --reject <proposed page> --reason "<why>"]
23
+ Without --accept/--reject: lists pending proposals.
24
+ HELP
25
+ exit 0 ;;
26
+ *) error_exit "Unknown argument: $1" ;;
27
+ esac
28
+ done
29
+ require_param "vaultPath (--vault)" "$VAULT_PATH"
30
+ export _WP_V="$VAULT_PATH"
31
+ if [ -n "$ACCEPT" ]; then
32
+ export _WP_P="$ACCEPT"
33
+ api_call POST "/wiki/proposals/accept" "$(jq -n '{vaultPath: env._WP_V, proposedPath: env._WP_P}')"
34
+ elif [ -n "$REJECT" ]; then
35
+ export _WP_P="$REJECT" _WP_R="$REASON"
36
+ api_call POST "/wiki/proposals/reject" "$(jq -n '{vaultPath: env._WP_V, proposedPath: env._WP_P, reason: env._WP_R}')"
37
+ else
38
+ api_call GET "/wiki/proposals?vaultPath=$(printf '%s' "$VAULT_PATH" | jq -sRr @uri)"
39
+ fi
40
+ unset _WP_V _WP_P _WP_R
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: Wiki Supersede
3
+ description: A conclusion changed — mark the old wiki page as superseded by the new one (kept, hidden from default retrieval). Canonical roles only.
4
+ version: 1.0.0
5
+ category: knowledge
6
+ skillType: claude-skill
7
+ assignableRoles:
8
+ - team-leader
9
+ - orchestrator
10
+ triggers:
11
+ - supersede page
12
+ - conclusion changed
13
+ - replace decision
14
+ tags:
15
+ - wiki
16
+ - knowledge
17
+ execution:
18
+ type: script
19
+ script:
20
+ file: execute.sh
21
+ interpreter: bash
22
+ timeoutMs: 15000
23
+ ---
24
+
25
+ # Wiki Supersede
26
+
27
+ When a judgement changes, do **not** delete or overwrite the old page. Write the new page with `wiki-ingest`, then:
28
+
29
+ ```bash
30
+ bash execute.sh --vault ~/.crewly/teams/<team-id>/wiki \
31
+ --old llm-curated/decisions/2026-05-pricing.md \
32
+ --new llm-curated/decisions/2026-09-pricing.md \
33
+ --reason "Owner moved Pro to $800 + credits on 2026-09-01"
34
+ ```
35
+
36
+ The old page gets `superseded_by`, `superseded_at`, `superseded_reason`; `wiki-query` and `recall` hide it by default (`--include-superseded` shows the history); the index line reads `⟶ superseded by …`. The change of judgement is itself knowledge — that is why the page stays.
37
+
38
+ Refused with 403 unless your role is in the vault's `write_policy.canonical`.
@@ -0,0 +1,44 @@
1
+ #!/bin/bash
2
+ # wiki-supersede — a conclusion changed: mark the old page as replaced by the new one.
3
+ # The old page is NOT deleted; it drops out of default retrieval and its index line
4
+ # carries "⟶ superseded by". Canonical roles (team-leader / orchestrator / owner) only.
5
+ #
6
+ # Usage:
7
+ # bash execute.sh --vault <vault> --old llm-curated/decisions/old.md --new llm-curated/decisions/new.md --reason "pricing changed 2026-09"
8
+ set -euo pipefail
9
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
10
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
11
+
12
+ VAULT_PATH=""; OLD_PATH=""; NEW_PATH=""; REASON=""; INPUT_JSON=""
13
+ if [[ $# -gt 0 && ${1:0:1} == '{' ]]; then INPUT_JSON="$1"; shift || true; fi
14
+ while [[ $# -gt 0 ]]; do
15
+ case "$1" in
16
+ --vault|-v) VAULT_PATH="$2"; shift 2 ;;
17
+ --old) OLD_PATH="$2"; shift 2 ;;
18
+ --new) NEW_PATH="$2"; shift 2 ;;
19
+ --reason|-r) REASON="$2"; shift 2 ;;
20
+ --json|-j) INPUT_JSON="$2"; shift 2 ;;
21
+ --help|-h)
22
+ cat <<HELP
23
+ Usage: execute.sh --vault <vault> --old <old page> --new <new page> --reason "<why the conclusion changed>"
24
+ execute.sh --json '{"vaultPath":"...","oldPath":"...","newPath":"...","reason":"..."}'
25
+ HELP
26
+ exit 0 ;;
27
+ *) error_exit "Unknown argument: $1" ;;
28
+ esac
29
+ done
30
+ if [ -n "$INPUT_JSON" ]; then
31
+ INPUT=$(read_json_input "$INPUT_JSON")
32
+ [ -z "$VAULT_PATH" ] && VAULT_PATH=$(printf '%s' "$INPUT" | jq -r '.vaultPath // empty')
33
+ [ -z "$OLD_PATH" ] && OLD_PATH=$(printf '%s' "$INPUT" | jq -r '.oldPath // empty')
34
+ [ -z "$NEW_PATH" ] && NEW_PATH=$(printf '%s' "$INPUT" | jq -r '.newPath // empty')
35
+ [ -z "$REASON" ] && REASON=$(printf '%s' "$INPUT" | jq -r '.reason // empty')
36
+ fi
37
+ require_param "vaultPath (--vault)" "$VAULT_PATH"
38
+ require_param "oldPath (--old)" "$OLD_PATH"
39
+ require_param "newPath (--new)" "$NEW_PATH"
40
+ require_param "reason (--reason)" "$REASON"
41
+ export _WS_V="$VAULT_PATH" _WS_O="$OLD_PATH" _WS_N="$NEW_PATH" _WS_R="$REASON"
42
+ BODY=$(jq -n '{vaultPath: env._WS_V, oldPath: env._WS_O, newPath: env._WS_N, reason: env._WS_R}')
43
+ unset _WS_V _WS_O _WS_N _WS_R
44
+ api_call POST "/wiki/supersede" "$BODY"
@@ -843,6 +843,38 @@ export declare const SLACK_AGENT_DM_CONSTANTS: {
843
843
  * for bots, so the agent's bot posts a placeholder the moment a message is
844
844
  * handed to the agent and edits it into the reply.
845
845
  */
846
+ /**
847
+ * LLM-wiki as a knowledge base (2026-09-19 review): retention gate,
848
+ * two-step retrieval index, usage ledger, proposals, history, privacy.
849
+ */
850
+ export declare const WIKI_KB_CONSTANTS: {
851
+ /** Why a page earns a place in the vault (one is required to create a page). */
852
+ readonly KEEP_BECAUSE: readonly ["changes_decision", "contradicts", "hard_fact", "reusable_method"];
853
+ /** One-line conclusion ("what this means for us") — required on every page. */
854
+ readonly SUMMARY_MAX_CHARS: 240;
855
+ readonly TITLE_MAX_CHARS: 120;
856
+ /** Per-vault one-line-per-page index read as retrieval step 1. */
857
+ readonly INDEX_FILENAME: "index.md";
858
+ /** Index bytes returned to an agent before it is cut down to the query's folders. */
859
+ readonly INDEX_MAX_BYTES: number;
860
+ /** Retrieval ledger (JSONL): every query, what it read, and misses. */
861
+ readonly USAGE_FILENAME: "usage.jsonl";
862
+ readonly USAGE_WINDOW_DAYS: 7;
863
+ readonly USAGE_MAX_BYTES: number;
864
+ /** Pages written by `proposed_only` roles wait here until a canonical role accepts. */
865
+ readonly PROPOSED_DIR: "llm-curated/_proposed";
866
+ /** Per-page prior revisions (who changed what) — capped per page. */
867
+ readonly HISTORY_DIR: ".wiki-history";
868
+ readonly HISTORY_MAX_REVISIONS: 20;
869
+ /** Bridge: stop re-creating a legacy-migrate WI after this many no-progress strikes. */
870
+ readonly MIGRATE_MAX_STRIKES: 3;
871
+ /** Lint: token-set Jaccard on title+summary above which two pages are flagged as possible duplicates/contradictions. */
872
+ readonly DUPLICATE_JACCARD: 0.5;
873
+ /** Frontmatter keys agents may set. */
874
+ readonly FRONTMATTER_KEYS: readonly ["title", "summary", "keep_because", "tags", "visibility", "source", "caller", "recorded", "updated", "superseded_by", "superseded_at", "superseded_reason", "proposed_by"];
875
+ };
876
+ /** One of {@link WIKI_KB_CONSTANTS.KEEP_BECAUSE}. */
877
+ export type WikiKeepBecause = (typeof WIKI_KB_CONSTANTS.KEEP_BECAUSE)[number];
846
878
  export declare const SLACK_TYPING_CONSTANTS: {
847
879
  /** Placeholder text; `{name}` is the agent's display name */
848
880
  readonly TYPING_TEXT: "💭 {name} is typing…";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
@@ -552,6 +552,36 @@ export const SLACK_AGENT_DM_CONSTANTS = {
552
552
  * for bots, so the agent's bot posts a placeholder the moment a message is
553
553
  * handed to the agent and edits it into the reply.
554
554
  */
555
+ /**
556
+ * LLM-wiki as a knowledge base (2026-09-19 review): retention gate,
557
+ * two-step retrieval index, usage ledger, proposals, history, privacy.
558
+ */
559
+ export const WIKI_KB_CONSTANTS = {
560
+ /** Why a page earns a place in the vault (one is required to create a page). */
561
+ KEEP_BECAUSE: ['changes_decision', 'contradicts', 'hard_fact', 'reusable_method'],
562
+ /** One-line conclusion ("what this means for us") — required on every page. */
563
+ SUMMARY_MAX_CHARS: 240,
564
+ TITLE_MAX_CHARS: 120,
565
+ /** Per-vault one-line-per-page index read as retrieval step 1. */
566
+ INDEX_FILENAME: 'index.md',
567
+ /** Index bytes returned to an agent before it is cut down to the query's folders. */
568
+ INDEX_MAX_BYTES: 48 * 1024,
569
+ /** Retrieval ledger (JSONL): every query, what it read, and misses. */
570
+ USAGE_FILENAME: 'usage.jsonl',
571
+ USAGE_WINDOW_DAYS: 7,
572
+ USAGE_MAX_BYTES: 4 * 1024 * 1024,
573
+ /** Pages written by `proposed_only` roles wait here until a canonical role accepts. */
574
+ PROPOSED_DIR: 'llm-curated/_proposed',
575
+ /** Per-page prior revisions (who changed what) — capped per page. */
576
+ HISTORY_DIR: '.wiki-history',
577
+ HISTORY_MAX_REVISIONS: 20,
578
+ /** Bridge: stop re-creating a legacy-migrate WI after this many no-progress strikes. */
579
+ MIGRATE_MAX_STRIKES: 3,
580
+ /** Lint: token-set Jaccard on title+summary above which two pages are flagged as possible duplicates/contradictions. */
581
+ DUPLICATE_JACCARD: 0.5,
582
+ /** Frontmatter keys agents may set. */
583
+ FRONTMATTER_KEYS: ['title', 'summary', 'keep_because', 'tags', 'visibility', 'source', 'caller', 'recorded', 'updated', 'superseded_by', 'superseded_at', 'superseded_reason', 'proposed_by'],
584
+ };
555
585
  export const SLACK_TYPING_CONSTANTS = {
556
586
  /** Placeholder text; `{name}` is the agent's display name */
557
587
  TYPING_TEXT: '💭 {name} is typing…',