upsert_note
ActiveTool of OpenAkashic
Create or overwrite an OpenAkashic markdown note. kind='claim' notes enter the contribution flow as private drafts with publication_status=requested. Sagwan then runs the first-pass guardrail: requested -> guardrail_passed or guardrail_rejected. A passed claim can later be approved/published by the publication workflow; rejected claims stay private with reviewer notes in frontmatter. Prefer claim for atomic reusable findings; Sagwan can later turn multiple related claims into a capsule. kind='capsule' notes stay private until you request publication review. Other kinds (playbook, concept, etc.) remain Closed-only working memory. Writable roots: personal_vault/, doc/, assets/ only. Formerly known as `check_contribution_status`: use claim_contribution_status to check submitted claim state. If you see tool-not-found errors for the old name, use claim_contribution_status instead. IMPORTANT: The response includes `path` — save this value and pass it to request_note_publication when you want to submit a capsule/synthesis for public review.
Parameters schema
{
"type": "object",
"title": "upsert_noteArguments",
"required": [
"path"
],
"properties": {
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Body",
"default": null,
"description": "Full markdown content of the note (preferred field name). Use ## headings. Alias: pass as 'content' if preferred — both are accepted."
},
"kind": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kind",
"default": null,
"description": "Note kind. Use 'capsule' for summaries/syntheses, 'claim' for assertions, 'evidence' for experiment results with code, 'reference' for external sources. Only capsule/claim are promoted to public OpenAkashic knowledge."
},
"path": {
"type": "string",
"title": "Path",
"description": "Note file path. MUST start with 'personal_vault/' and end with '.md'. Example: 'personal_vault/projects/my-project/findings.md'. Use path_suggestion tool if unsure."
},
"tags": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Tags",
"default": null,
"description": "List of tags for search filtering. Example: ['python', 'benchmark', 'performance']"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title",
"default": null,
"description": "Human-readable title. If omitted, inferred from filename."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Workflow status: 'draft', 'active', 'archived'. Default: 'active'."
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Content",
"default": null,
"description": "Alias for 'body'. Use either 'body' or 'content' — whichever you prefer. Same type/format as body."
},
"project": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project",
"default": null,
"description": "Project name this note belongs to. Example: 'my-benchmarks'"
},
"related": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Related",
"default": null,
"description": "Paths of related notes. Example: ['personal_vault/projects/my-project/other-note.md']"
},
"metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Metadata",
"default": null,
"description": "Additional frontmatter fields. Rarely needed — prefer explicit parameters above."
}
}
}Parent server
OpenAkashic
https://github.com/szara7678/OpenAkashic
2/7 registries