paput-mcp 4.2.20 → 4.2.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.
|
@@ -20,7 +20,7 @@ Extract reusable knowledge candidates from the current conversation or a user-sp
|
|
|
20
20
|
3. Extract only reusable knowledge from the current conversation or the user-specified topic.
|
|
21
21
|
4. For each candidate, check semantically similar existing memos with `paput_find_similar_memos`, using the candidate title or a one-line gist as the query. Treat results with a score around 0.85 or higher as near-duplicates, and results around 0.7 to 0.85 as overlap that needs comparison against the candidate body. Use `paput_search_memo` in addition when the candidate centers on an exact name or identifier.
|
|
22
22
|
5. Apply the capture policy when deciding whether to add, reject, or ask about candidates. If no policy exists yet, use the Candidate Rules and Rejected Candidates sections below.
|
|
23
|
-
6. Keep each candidate focused on one reusable idea
|
|
23
|
+
6. Keep each candidate focused on one reusable idea. Draft the title and Markdown body first, structured to fit the content itself — do not shape the body around memo types. Classify the finalized body afterwards (see the Memo Type section), and set categories and visibility.
|
|
24
24
|
7. Self-review the candidate against the Quality Bar below. If the body is only a short summary or conclusion, enrich it before adding.
|
|
25
25
|
8. Do not add candidates that may duplicate existing memos or pending candidates. Suggest reusing or updating the existing memo or candidate instead.
|
|
26
26
|
9. If a candidate is reusable, non-duplicate, non-sensitive, not project-specific, and allowed by the capture policy, add it to pending with `paput_add_knowledge_candidates` (including `memo_type_keys`) without waiting for user approval.
|
|
@@ -43,6 +43,8 @@ Extract reusable knowledge candidates from the current conversation or a user-sp
|
|
|
43
43
|
|
|
44
44
|
Classify each candidate with one or more memo types via `memo_type_keys`. A memo can have several. This axis is what lets PaPut surface judgment and practices in the public AI summary, so classify deliberately.
|
|
45
45
|
|
|
46
|
+
Typing is a reading step, not a writing step. Classify only after the body is final, and only from what the body already says. Never add headings, criteria sections, or choice wording to the body to justify a type — if a type fits only after such an edit, the type does not fit.
|
|
47
|
+
|
|
46
48
|
- `decision`: reusable judgment criteria that do not depend on a project — why you choose one option over another, what you optimize for, what you avoid.
|
|
47
49
|
- `operation`: operating practices — observability, eval, testing, review, and improvement procedures.
|
|
48
50
|
- `principle`: a stance you have explicitly stated, generalized one level above individual decisions.
|
|
@@ -53,6 +55,7 @@ Guidance:
|
|
|
53
55
|
- Capture candidates are reusable decision criteria, procedures, or principles, so prefer `decision` / `operation` / `principle` when they fit; use `knowledge` for commodity technical know-how.
|
|
54
56
|
- `decision` / `operation` / `principle` are the primary material for the public AI summary; `knowledge` usually is not.
|
|
55
57
|
- Tagging review — do not under-label. The default failure mode is dropping a judgment memo into `knowledge` and missing `decision` / `operation` / `principle`; this is a main reason the `principle` axis stays thin. Consider the durable three FIRST and use `knowledge` only when none genuinely fit. Quick catches: a stated reason for choosing or avoiding an option → `decision`; an operating practice (how you measure, review, run, or verify) → `operation`; a generalized stance one level above a single decision → `principle`. Before finalizing `memo_type_keys`, re-read the candidate once and ask "is there a judgment here that I labeled as mere knowledge?". Do not over-correct either: `principle` needs an explicitly generalized stance, not a one-off opinion — keep it honest against the Quality Bar.
|
|
58
|
+
- Do not over-label `decision` — it requires a judgment that actually happened, recorded in the body: an option taken, an alternative rejected, or a tradeoff resolved. A criteria-style heading, or a list of options with no record of what was chosen, does not make a memo a `decision`; plain library, API, or service behavior stays `knowledge` even when written as guidance.
|
|
56
59
|
- AI-collaboration practices and stances belong here, not in the reject pile: how you structure a task or spec for an AI, your review discipline for AI-generated changes, where you verify versus trust AI output, when you delegate versus do it yourself. Capture the reusable practice as `operation` or the stated stance as `principle` — generalized so it would hold with a different AI tool, on a different project, for someone else to learn. This is the scarcest, most durable axis; do not drop it as workflow chatter.
|
|
57
60
|
- Leaving a candidate unclassified (no type) is allowed, but classifying it improves analysis and the public profile. Do not force a type when none fits.
|
|
58
61
|
|
|
@@ -87,7 +90,7 @@ Generalize one level above the prompt: keep the judgment criterion, operating pr
|
|
|
87
90
|
|
|
88
91
|
Before adding a candidate, make sure the body preserves enough reasoning for future reuse. A good candidate is not just a conclusion; it should include the relevant problem context, decision criteria, applicability conditions, tradeoffs, pitfalls, operational guidance, or verification method.
|
|
89
92
|
|
|
90
|
-
Do not force a fixed template. Include the pieces that are useful for the specific knowledge. If the body only states a conclusion or summary, enrich it before adding the candidate.
|
|
93
|
+
Do not force a fixed template. Include the pieces that are useful for the specific knowledge, and let the content decide the structure: a judgment-memo skeleton (criteria / why / pitfalls / verification headings) fits judgment candidates, not every candidate — a knowledge-centered body should follow its own natural shape. If the body only states a conclusion or summary, enrich it before adding the candidate.
|
|
91
94
|
|
|
92
95
|
Prefer generalized but concrete writing:
|
|
93
96
|
|
|
@@ -41,8 +41,10 @@ periodic catch-up. There is no separate "init" step.
|
|
|
41
41
|
using semantic search.
|
|
42
42
|
8. If reusable candidates exist, call `paput_add_knowledge_candidates` with
|
|
43
43
|
`source`, `session_id`, `source_session_updated_at`, and the candidates.
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
Draft each body first, structured to fit the content itself — do not shape
|
|
45
|
+
it around memo types. Then set `memo_type_keys` from the finalized body
|
|
46
|
+
(see Memo Type below); classify AI-collaboration practices as `operation`
|
|
47
|
+
and stances as `principle`.
|
|
46
48
|
9. If the session was reviewed but no candidates should be added, call
|
|
47
49
|
`paput_mark_processed_session` with `source`, `session_id`, and
|
|
48
50
|
`source_session_updated_at`.
|
|
@@ -77,6 +79,8 @@ tail sections first, then ask before reading more.
|
|
|
77
79
|
|
|
78
80
|
Only add technical knowledge, decision criteria, and procedures that can be reused in other projects.
|
|
79
81
|
|
|
82
|
+
Structure each candidate body to fit its content. Do not impose a judgment-memo skeleton (criteria / why / pitfalls / verification headings) on knowledge-centered candidates; let the content decide the structure.
|
|
83
|
+
|
|
80
84
|
### Capture the AI-collaboration axis
|
|
81
85
|
|
|
82
86
|
Reusable AI-collaboration practices and stances are first-class material here —
|
|
@@ -183,6 +187,15 @@ finalizing `memo_type_keys`, re-read the candidate once and ask whether there is
|
|
|
183
187
|
a judgment you labeled as mere knowledge. Do not over-correct: `principle` needs
|
|
184
188
|
an explicitly generalized stance, not a one-off opinion.
|
|
185
189
|
|
|
190
|
+
Typing is a reading step, not a writing step. Classify only after the body is
|
|
191
|
+
final, and only from what the body already says — never add headings, criteria
|
|
192
|
+
sections, or choice wording to a body to justify a type. Do not over-label
|
|
193
|
+
`decision` either: it requires a judgment that actually happened in the source
|
|
194
|
+
session, recorded in the body — an option taken, an alternative rejected, or a
|
|
195
|
+
tradeoff resolved. A criteria-style heading, or a list of options with no record
|
|
196
|
+
of what was chosen, does not make a candidate a `decision`; plain library, API,
|
|
197
|
+
or service behavior stays `knowledge` even when written as guidance.
|
|
198
|
+
|
|
186
199
|
## Notes
|
|
187
200
|
|
|
188
201
|
- Do not save directly to PaPut.
|