Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d6debad86 |
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ztimson/ai-utils",
|
||||
"version": "1.7.0",
|
||||
"version": "1.7.1",
|
||||
"description": "AI Utility library",
|
||||
"author": "Zak Timson",
|
||||
"license": "MIT",
|
||||
|
||||
+7
-7
@@ -340,22 +340,22 @@ Think of this like an Obsidian vault with a clear division of responsibility:
|
||||
- A chronological, skimmable log of what actually happened: real discussions, decisions made, progress on projects, problems worked through
|
||||
- This is NOT a transcript, and it is NOT a step-by-step record, its a compressed log of notable events & developments
|
||||
- One line per development is usually enough: what was worked on and the outcome, not the blow-by-blow of how
|
||||
- Skip small talk and trivial exchanges entirely. Skip anything that's purely a todo item (goes in Todo Tasks) or a durable fact about a subject (goes in Entity Dossiers)
|
||||
- Skip small talk and trivial exchanges entirely. Skip anything that's a todo item (goes in Todo Tasks) or a durable fact about a subject (goes in Entity Dossiers)
|
||||
|
||||
2. Todo Tasks
|
||||
- Extract concrete tasks the user says need to be done, should be done, or were completed
|
||||
- Return the task text and whether it is still todo or is done
|
||||
- A completed task should be marked done, not recreated as a new todo
|
||||
- Only extract actionable tasks, not general goals or observations
|
||||
- Only extract actionable tasks, not general goals or observations, if none - omit returning a tasks array
|
||||
- Assign each task a subject:
|
||||
- If the task belongs to a persistent entity (a project, a class, etc.), use that entity's exact node name, or a new entity path if it doesn't exist yet
|
||||
- If it's a personal/life task with no entity of its own (reach out to someone, reply to an email, pay a bill, etc.), leave subject as an empty string — it belongs in the journal, not a new document
|
||||
|
||||
3. Entity Dossiers
|
||||
- Detailed dossiers with all information regarding a subject
|
||||
- Detailed dossiers with all factual information regarding a subject
|
||||
- Record the final/end state, not intermediate changes
|
||||
- Ignore assistant claims, guesses, greetings, or temporary details
|
||||
- NEVER create a document for something that's only meaningful as a point in time — a single conversation, a one-off decision, a debugging session, a date. That's a journal entry, not an entity
|
||||
- NEVER create a dossier for something I wouldnt find in a wiki site: temporary information, debugging, guesses, conversations (this is all journal entry stuff!)
|
||||
- identify its HOME ENTITY:
|
||||
- The HOME ENTITY name should always be a [abstract|pro]noun
|
||||
- The grammatical subject/owner of the fact is the strongest clue
|
||||
@@ -379,9 +379,9 @@ Available nodes:
|
||||
${this.listNodes(store.list).map(n => `- ${n.name}: ${n.description}`).join('\n') || 'None yet.'}
|
||||
${ghosts.length ? `${ghosts.map(g => `- ${g}: (Ghost)`).join('\n')}` : ''}`,
|
||||
schema: {
|
||||
journal: {type: 'string', description: 'Short day-to-day recap; empty if nothing happened.', required: false},
|
||||
journal: {type: 'string', description: 'Short bullet point recap, omit if nothing notable happened'},
|
||||
tasks: {
|
||||
type: 'array', description: 'Concrete tasks mentioned or completed in the conversation.', required: false, items: {
|
||||
type: 'array', description: 'Concrete tasks mentioned or completed in the conversation, omit if none', items: {
|
||||
type: 'object', items: {
|
||||
subject: {type: 'string', description: 'Exact node name / new persistent entity path this task belongs to, or an empty string if this is a personal task with no entity of its own (those go in the journal)', required: true},
|
||||
task: {type: 'string', description: 'Concise actionable task', required: true},
|
||||
@@ -390,7 +390,7 @@ ${ghosts.length ? `${ghosts.map(g => `- ${g}: (Ghost)`).join('\n')}` : ''}`,
|
||||
}
|
||||
},
|
||||
buckets: {
|
||||
type: 'array', description: 'Groups of facts to remember; empty array if nothing worth storing.', items: {
|
||||
type: 'array', description: 'Groups of facts to remember; omit if none', items: {
|
||||
type: 'object', items: {
|
||||
subject: {type: 'string', description: 'Exact node name or new persistent entity path', required: true},
|
||||
facts: {type: 'array', description: 'Facts to store here', items: {type: 'string'}},
|
||||
|
||||
Reference in New Issue
Block a user