@dreamteamer/knowledge 0.0.0-stage → 0.2.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/README.md CHANGED
@@ -1,3 +1,39 @@
1
- # Temporary Holding Version
1
+ # @dreamteamer/knowledge
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Optional knowledge capture and synthesis for personal or shared workspaces. No records or
4
+ machine-specific configuration are shipped.
5
+
6
+ ```sh
7
+ npm install @dreamteamer/knowledge @dreamteamer/companies @dreamteamer/meetings @dreamteamer/assets @dreamteamer/contacts @dreamteamer/users
8
+ ```
9
+
10
+ `dt install @dreamteamer/knowledge` brings the same set: knowledge depends on `@dreamteamer/companies`
11
+ (a brief's `companies`) and `@dreamteamer/meetings` (a brief's `meetings`), and those on theirs. A
12
+ workspace on `@dreamteamer/core` already has them. Engine >=0.49.0 is required. On install the engine
13
+ places the three collections in a Knowledge folder of the workspace's `nav.yaml`, unless it already
14
+ places them. `working-with-knowledge` routes requests among:
15
+
16
+ - `blurbs`: raw thoughts, preserving `raw_input` separately from interpreted content; draft → digested.
17
+ - `briefs`: reader-facing documents with audience, purpose and sources; draft/final editorial state.
18
+ - `meta-analyses`: cross-record, cross-domain period synthesis with evidence coverage and a regeneration prompt.
19
+
20
+ Meeting preps and transcript-grounded meeting critiques remain in `@dreamteamer/meeting-docs`. A collection's presence
21
+ never authorizes publication, cross-repository sharing or automatic task creation.
22
+
23
+ ## Existing local schemas
24
+
25
+ This package preserves dated IDs and the `meta-analysis` filename suffix. It preserves title vs
26
+ name, field names and statuses of the source schema family. It is not an automatic migration.
27
+ Before enabling it in an existing workspace:
28
+
29
+ 1. Back up the workspace and record a hash inventory of its data files.
30
+ 2. Compare all local fields, ID patterns, storage paths/suffixes and statuses with this package.
31
+ A same-name local full definition collides; don't leave both active.
32
+ 3. On a disposable copy, replace matching local full schemas with this module, leaving custom
33
+ display choices as overlays. Run compile and check against the unchanged records.
34
+ 4. Investigate every validation failure. Do not rename, drop fields or rewrite records to silence
35
+ it. Verify hashes unchanged and representative source references still resolve.
36
+ 5. Adopt only after review. Keep the old configuration for rollback; no data deletion is required.
37
+
38
+ The earlier unreleased personal-workspace prototype used different semantics and identifiers.
39
+ Its records, if any were created for a local experiment, need explicit mapping, not a blind switch.
package/UPDATING.md ADDED
@@ -0,0 +1,26 @@
1
+ # Updating @dreamteamer/knowledge
2
+
3
+ One section per release, newest first. Each says what you have to **do** in a workspace that
4
+ installs this module.
5
+
6
+ ```bash
7
+ npx dreamteamer update @dreamteamer/knowledge
8
+ npx dreamteamer check
9
+ ```
10
+
11
+ ---
12
+
13
+ ## 0.2.0 — knowledge depends on companies and meetings, not core (CR-dt-008) — engine 0.49.0
14
+
15
+ knowledge's `dependencies` are `@dreamteamer/companies` and `@dreamteamer/meetings`, the two modules
16
+ whose collections a brief points at, with strict `peerDependencies` floors (`>=0.1.3`, `>=0.3.1`); it no
17
+ longer depends on `@dreamteamer/core`, which is a module preset from core 0.12.0. A workspace on core
18
+ 0.12.0 already has both. Without core: `dt install @dreamteamer/knowledge` brings them and theirs.
19
+
20
+ knowledge ships `nav.yaml`: on install the engine places `blurbs`, `briefs` and `meta-analyses` in a
21
+ Knowledge folder of the workspace's `nav.yaml`, only where the file does not name them yet. Nothing in
22
+ the records changes.
23
+
24
+ ## 0.1.0
25
+
26
+ First release.
@@ -0,0 +1,48 @@
1
+ name: blurbs
2
+ description: >-
3
+ A raw thought captured before its destination is known. Digest it later into a task, document or
4
+ other record; do not mistake an idea for a commitment.
5
+ use_when: >-
6
+ A raw thought captured before its destination is known. Digest it later into a task, document or
7
+ other record; do not mistake an idea for a commitment.
8
+ storage:
9
+ path: data/blurbs
10
+ format: md
11
+ ids:
12
+ from: '{{ created | date }}--{{ name | slug }}'
13
+ pattern: ^\d{4}-\d{2}-\d{2}--[a-z0-9-]+$
14
+ fields:
15
+ name:
16
+ type: string
17
+ description: A short title for finding the thought again.
18
+ required: true
19
+ status:
20
+ type: string
21
+ description: draft is raw; digested means it has been processed into its intended outcome.
22
+ default: draft
23
+ enum:
24
+ - draft
25
+ - digested
26
+ tags:
27
+ type: string
28
+ many: true
29
+ pattern: ^[a-z0-9]+(-[a-z0-9]+)*(:[a-z0-9]+(-[a-z0-9]+)*)?$
30
+ description: Free labels, lowercase and hyphenated, optionally key:value with no space around the colon.
31
+ raw_input:
32
+ type: markdown
33
+ description: >-
34
+ Verbatim user-provided input, kept separate from interpretation. Never reconstruct an exact
35
+ quote from memory.
36
+ content:
37
+ type: markdown
38
+ body: true
39
+ description: Working interpretation or organization of the thought; older records may contain only this.
40
+ display:
41
+ nav:
42
+ icon: symbol-snippet
43
+ list:
44
+ columns:
45
+ - name
46
+ - status
47
+ - last_modified
48
+ - tags
@@ -0,0 +1,94 @@
1
+ name: briefs
2
+ description: >-
3
+ A document prepared for a reader: a deck outline, positioning thesis, progress report or
4
+ reference. Use meeting-preps instead when preparing for one specific meeting.
5
+ use_when: >-
6
+ A document prepared for a reader: a deck outline, positioning thesis, progress report or
7
+ reference. Use meeting-preps instead when preparing for one specific meeting.
8
+ storage:
9
+ path: data/briefs
10
+ format: md
11
+ ids:
12
+ from: '{{ created | date }}--{{ name | slug }}'
13
+ pattern: ^\d{4}-\d{2}-\d{2}--[a-z0-9-]+$
14
+ fields:
15
+ name:
16
+ type: string
17
+ description: Document title.
18
+ date:
19
+ type: date
20
+ description: Date the document covers or is written for.
21
+ company:
22
+ type: companies
23
+ description: Company this document concerns, when relevant.
24
+ meeting:
25
+ type: meetings
26
+ description: Related meeting, not a substitute for meeting-preps.
27
+ person:
28
+ type: string
29
+ description: Subject person when not represented by a contact record.
30
+ projects:
31
+ type: string
32
+ description: Project or workstream labels.
33
+ many: true
34
+ language:
35
+ type: string
36
+ description: Language of the document.
37
+ audience:
38
+ type: string
39
+ description: Who will read this document.
40
+ purpose:
41
+ type: string
42
+ description: What the document should help its reader do.
43
+ description:
44
+ type: string
45
+ description: One-line summary.
46
+ sources:
47
+ type: string
48
+ description: Source record references or provenance paths; preserve original source locations.
49
+ many: true
50
+ content:
51
+ type: markdown
52
+ body: true
53
+ description: The document itself.
54
+ status:
55
+ type: string
56
+ description: Editorial state, not publication permission.
57
+ enum:
58
+ - draft
59
+ - final
60
+ author:
61
+ type: string
62
+ description: The agent that wrote this record; absent when a person wrote it.
63
+ creation_context:
64
+ type: string
65
+ description: Why and how this record was produced, including important uncertainty.
66
+ source:
67
+ type: string
68
+ title: Information source
69
+ description: Where the information came from, such as a record reference, file path or URL.
70
+ confidence:
71
+ type: string
72
+ description: Confidence in this record.
73
+ default: normal
74
+ enum:
75
+ - low
76
+ - normal
77
+ - high
78
+ display:
79
+ nav:
80
+ icon: file-text
81
+ list:
82
+ columns:
83
+ - name
84
+ - last_modified
85
+ - date
86
+ - company
87
+ - status
88
+ form:
89
+ sections:
90
+ - title: Brief
91
+ fields: [name, date, company, meeting, person, projects, language, audience, purpose, description, sources, content, status]
92
+ - title: Provenance
93
+ fields: [author, creation_context, source, confidence]
94
+ collapsed: true
@@ -0,0 +1,69 @@
1
+ name: meta-analyses
2
+ description: >-
3
+ Cross-record synthesis over a period: recurring patterns, themes, blind spots and strategy. May
4
+ combine thought captures, documents, sessions and meeting analyses; not a replacement for
5
+ transcript-grounded meeting critique.
6
+ use_when: >-
7
+ Cross-record synthesis over a period: recurring patterns, themes, blind spots and strategy. May
8
+ combine thought captures, documents, sessions and meeting analyses; not a replacement for
9
+ transcript-grounded meeting critique.
10
+ storage:
11
+ path: data/meta-analyses
12
+ format: md
13
+ suffix: meta-analysis
14
+ ids:
15
+ from: '{{ created | date }}--{{ title | slug }}'
16
+ pattern: ^\d{4}-\d{2}-\d{2}--[a-z0-9-]+$
17
+ fields:
18
+ title:
19
+ type: string
20
+ description: The synthesis title, ideally the claim it makes.
21
+ required: true
22
+ content:
23
+ type: markdown
24
+ body: true
25
+ description: >-
26
+ Synthesis with evidence, interpretations, counterexamples and limitations clearly
27
+ distinguished.
28
+ description:
29
+ type: string
30
+ description: One-line finding.
31
+ period_start:
32
+ type: date
33
+ description: First date included.
34
+ period_end:
35
+ type: date
36
+ description: Last date included.
37
+ sources_description:
38
+ type: string
39
+ description: What was actually read, how selected, and which coverage gaps remain.
40
+ sources_count:
41
+ type: integer
42
+ description: Count of records actually read, not merely discovered.
43
+ sources_token_count:
44
+ type: integer
45
+ description: Text volume read in tokens; identify any estimation method in sources_description.
46
+ author:
47
+ type: string
48
+ description: The agent that wrote this record; absent when a person wrote it.
49
+ creation_context:
50
+ type: string
51
+ description: Why and how this record was produced, including important uncertainty.
52
+ prompt:
53
+ type: string
54
+ description: Self-contained regeneration instructions identifying scope and sources, never credentials.
55
+ tags:
56
+ type: string
57
+ many: true
58
+ pattern: ^[a-z0-9]+(-[a-z0-9]+)*(:[a-z0-9]+(-[a-z0-9]+)*)?$
59
+ description: Free labels, lowercase and hyphenated, optionally key:value with no space around the colon.
60
+ display:
61
+ nav:
62
+ icon: notebook
63
+ list:
64
+ columns:
65
+ - title
66
+ - period_start
67
+ - period_end
68
+ - sources_count
69
+ singular: meta-analysis
package/nav.yaml ADDED
@@ -0,0 +1,5 @@
1
+ # knowledge's shipped nav fragment: its three collections in one Knowledge folder, placed on install only
2
+ # where the workspace's nav.yaml does not name them yet.
3
+ tree:
4
+ - folder: Knowledge
5
+ items: [blurbs, briefs, meta-analyses]
package/package.json CHANGED
@@ -1,6 +1,38 @@
1
1
  {
2
2
  "name": "@dreamteamer/knowledge",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.2.0",
4
+ "description": "Optional raw thought capture, reader-facing briefs and cross-record synthesis for dreamteamer workspaces.",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/dreamteamer/dreamteamer-modules.git",
10
+ "directory": "modules/knowledge"
11
+ },
12
+ "keywords": [
13
+ "dreamteamer",
14
+ "dreamteamer-module",
15
+ "knowledge"
16
+ ],
17
+ "files": [
18
+ "README.md",
19
+ "UPDATING.md",
20
+ "nav.yaml",
21
+ "collections",
22
+ "skills"
23
+ ],
24
+ "peerDependencies": {
25
+ "@dreamteamer/companies": ">=0.1.3",
26
+ "@dreamteamer/meetings": ">=0.3.1"
27
+ },
28
+ "dreamteamer": {
29
+ "title": "Knowledge",
30
+ "description": "Capture raw thoughts, prepare reader-facing briefs and synthesize evidence across records and periods. Optional knowledge schemas and procedures; ships no personal records.",
31
+ "engine": ">=0.49.0",
32
+ "nav": "nav.yaml",
33
+ "dependencies": [
34
+ "@dreamteamer/companies",
35
+ "@dreamteamer/meetings"
36
+ ]
37
+ }
38
+ }
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: working-with-knowledge
3
+ description: Capture a raw thought for later digestion, prepare a general reader-facing brief, or synthesize patterns across a period of mixed workspace records. Uses blurbs, briefs and meta-analyses. For preparation or transcript-grounded critique of specific meetings, use the meeting skills instead.
4
+ ---
5
+
6
+ # Working with knowledge
7
+
8
+ Load `using-dreamteamer` and the target collection's compiled descriptor first. Use the workspace
9
+ CLI to read/write records. Update an existing record when the request continues it; a new title
10
+ is not by itself evidence of a new document. These collections do not grant sharing permission.
11
+
12
+ ## Capture and digest a thought
13
+
14
+ Use `blurbs` when an idea is worth keeping but has no established destination yet. Store the
15
+ user-provided wording in `raw_input` without editing it, with interpretation in `content`.
16
+ For an older record with no raw_input, do not manufacture a verbatim original from its content.
17
+
18
+ A request to capture a thought is not a request to implement it or generate tasks. Leave it
19
+ `draft`. When asked to digest it, identify the intended outcome (document, task, design or
20
+ retained insight), preserve the original, create or update that outcome within the authorized
21
+ scope, and link it in the blurb body. Set `digested` only after that outcome exists or the owner
22
+ explicitly chooses no further action. Re-running digestion should follow that link rather than
23
+ create duplicates. Do not automatically create tasks from possibilities mentioned in a thought.
24
+
25
+ ## Prepare a document for a reader
26
+
27
+ Use `briefs` for a report, deck outline, thesis or reference someone will act on. Use
28
+ `meeting-preps` for one upcoming meeting and an R&D collection for its formal lifecycle.
29
+ Capture `audience` and `purpose` from the request; resolve an important ambiguity before writing.
30
+ Read the relevant sources, retain their references in `sources`, and separate sourced facts from
31
+ interpretation and open questions. The content can be in the requested language.
32
+
33
+ `final` means the document is finished for its intended use, not that it has been sent or approved
34
+ for publication. Writing a brief does not authorize contacting its audience or publishing it.
35
+
36
+ ## Synthesize patterns across a period
37
+
38
+ Use `meta-analyses` when the question is what recurs across sources, not just how one call went.
39
+ Sources may include briefs, thought captures, meeting analyses, project documents and authorized
40
+ session or message records. Reuse `meeting-analyses` for a transcript-grounded critique of an arc
41
+ of calls; don't duplicate it merely because several meetings are involved.
42
+
43
+ 1. Inspect the previous relevant synthesis and its scope. For “since last time,” use its coverage
44
+ end, not its file timestamp. State any overlap or gap; ask when ambiguity changes the scope.
45
+ 2. Inventory permitted sources in the agreed period. Exclude restricted/private material outside
46
+ the authorized scope; do not treat repository accessibility as permission to redistribute it.
47
+ 3. Read selected evidence, including contradictory examples. For meeting claims, inspect the raw
48
+ transcript and speaker/ASR caveats as needed; summaries are not verbatim evidence.
49
+ 4. Write patterns supported by traceable source links, distinguish fact, inference and advice,
50
+ and state counterexamples, missing sources and attribution limits.
51
+ 5. Record actual coverage in `sources_description`, `sources_count` and the period fields.
52
+ Count records read, not search hits. Leave token count absent unless measured or explicitly
53
+ estimated with the method stated. `prompt` should reproduce scope and method, not contain
54
+ secrets or imply authorization to read a source that is no longer permitted.
55
+
56
+ Recommendations remain in the analysis. Creating tasks, changing project records or transferring
57
+ material to other repositories is a separate deliberate step under the owner's instructions.