From aec697ad7b6f14785a9abbc95fec974fd2ebb683 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 9 Mar 2026 11:25:45 -0400 Subject: [PATCH] v0.0.54 - Add cheerleader triggered skill to active config with valid admin filter and adoption entry --- README.md | 4 +- context.log.md | 134 +++++++++++++++++++++++++++++++++++++++++++++++++ src/main.h | 4 +- 3 files changed, 138 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a4f7d80..31532f9 100644 --- a/README.md +++ b/README.md @@ -53,11 +53,11 @@ Skills support context modes (`inject`, `full`, `override`) and per-skill LLM fa Didactyl will support local inference, which is very privacy preserving. Remote inference does however have it's advantages, and in those cases Didactyl supports using Bitcoin Lightning and eCash inference providers. -## Current Status — v0.0.53 +## Current Status — v0.0.54 **Active build — this project is barely working. Experiment at your own risk.** -> Last release update: v0.0.53 — Add skill_create trigger schema fields and startup cheerleader triggered skill example +> Last release update: v0.0.54 — Add cheerleader triggered skill to active config with valid admin filter and adoption entry - Connects to configured relays with auto-reconnect and relay state transition logging - Publishes configured startup events per relay as each relay becomes connected diff --git a/context.log.md b/context.log.md index b1fe7fd..67497f0 100644 --- a/context.log.md +++ b/context.log.md @@ -1,3 +1,137 @@ +```text +Context Log - not seen by model +timestamp=2026-03-09 10:41:44 +phase=direct_tool_exec +sender=8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e +model=claude-opus-4.6 +context_bytes=7399 +approx_tokens=1849 +``` + +slash=/help +result_json=AVAILABLE TOOLS +- admin_identity — Build admin identity context block from cached runtime metadata +- agent_identity — Build agent identity context block with pubkey and npub +- agent_version — Return current Didactyl version and metadata from build macros +- local_file_read — Read a local file as text from the configured working directory +- local_file_write — Write text content to a local file in the configured working directory +- local_http_fetch — Fetch HTTP(S) resources with optional method, headers, timeout, and body +- local_shell_exec — Execute a shell command and return stdout/stderr +- model_get — Get current active LLM runtime configuration (excluding API key) +- model_list — List available model IDs using provider OpenAI-compatible /models endpoint +- model_set — Update active LLM configuration and persist it to config.jsonc +- my_npub — Alias for nostr_npub: return this agent's pubkey encoded as npub bech32 +- my_pubkey — Alias for nostr_pubkey: return this agent's pubkey in hex format +- nostr_admin_contacts — Build admin contacts context block from cached kind 3 contact list +- nostr_admin_notes — Build admin notes context block from cached kind 1 notes +- nostr_admin_profile — Build admin profile context block from cached kind 0 metadata +- nostr_admin_relays — Build admin relay context block from cached kind 10002 data +- nostr_decode — Decode a Nostr bech32/nostr: URI into components +- nostr_decrypt — Decrypt NIP-44 ciphertext from a sender +- nostr_delete — Request deletion of one or more previously published events (NIP-09 kind 5) +- nostr_dm_send — Send a NIP-04 encrypted DM +- nostr_dm_send_nip17 — Send a private DM using NIP-17 gift wrap protocol +- nostr_encode — Encode a Nostr entity into nostr: URI (npub, note, nprofile, nevent, naddr) +- nostr_encrypt — Encrypt plaintext using NIP-44 for a recipient +- nostr_file_md_to_longform_post — Read a markdown file and publish it as kind 30023 longform post; defaults d-tag to lowercase filename +- nostr_list_manage — Add/remove tag tuples in replaceable list events (NIP-51 style) +- nostr_nip05_lookup — Look up or verify a NIP-05 identifier (user@domain) +- nostr_npub — Return this agent's pubkey encoded as npub bech32 +- nostr_post — Publish a Nostr event to connected relays +- nostr_post_readme — Publish README.md as kind 30023 with deterministic d tag readme.md +- nostr_profile_get — Look up a Nostr profile (kind 0 metadata) by pubkey +- nostr_pubkey — Return this agent's pubkey in hex format +- nostr_query — Query events from relays using a Nostr filter +- nostr_react — React to a Nostr event with like/dislike/emoji (NIP-25 kind 7) +- nostr_relay_info — Fetch NIP-11 relay information document +- nostr_relay_status — Get connection status and statistics for all relays +- skill_adopt — Adopt a skill by adding its address to kind 10123 adoption list +- skill_create — Create or update a skill definition as kind 31123/31124 and optionally auto-adopt it +- skill_list — List this agent's published skills, optionally filtered by scope +- skill_remove — Remove a skill address from kind 10123 adoption list +- skill_search — Search public skills by query/author and optionally rank by adoption popularity +- task_list — Build current task list context block from tasks.json +- task_manage — Manage agent short-term task memory stored in tasks.json (list/add/update/remove/clear/replace) +- tool_list — List available tools with name, description, and JSON parameter schema +- trigger_list — List active triggered skills and their runtime status + +AVAILABLE SKILLS +- long_form_note +- post_readme_to_nostr +- admin_ops + +result_markdown=AVAILABLE TOOLS +- admin_identity — Build admin identity context block from cached runtime metadata +- agent_identity — Build agent identity context block with pubkey and npub +- agent_version — Return current Didactyl version and metadata from build macros +- local_file_read — Read a local file as text from the configured working directory +- local_file_write — Write text content to a local file in the configured working directory +- local_http_fetch — Fetch HTTP(S) resources with optional method, headers, timeout, and body +- local_shell_exec — Execute a shell command and return stdout/stderr +- model_get — Get current active LLM runtime configuration (excluding API key) +- model_list — List available model IDs using provider OpenAI-compatible /models endpoint +- model_set — Update active LLM configuration and persist it to config.jsonc +- my_npub — Alias for nostr_npub: return this agent's pubkey encoded as npub bech32 +- my_pubkey — Alias for nostr_pubkey: return this agent's pubkey in hex format +- nostr_admin_contacts — Build admin contacts context block from cached kind 3 contact list +- nostr_admin_notes — Build admin notes context block from cached kind 1 notes +- nostr_admin_profile — Build admin profile context block from cached kind 0 metadata +- nostr_admin_relays — Build admin relay context block from cached kind 10002 data +- nostr_decode — Decode a Nostr bech32/nostr: URI into components +- nostr_decrypt — Decrypt NIP-44 ciphertext from a sender +- nostr_delete — Request deletion of one or more previously published events (NIP-09 kind 5) +- nostr_dm_send — Send a NIP-04 encrypted DM +- nostr_dm_send_nip17 — Send a private DM using NIP-17 gift wrap protocol +- nostr_encode — Encode a Nostr entity into nostr: URI (npub, note, nprofile, nevent, naddr) +- nostr_encrypt — Encrypt plaintext using NIP-44 for a recipient +- nostr_file_md_to_longform_post — Read a markdown file and publish it as kind 30023 longform post; defaults d-tag to lowercase filename +- nostr_list_manage — Add/remove tag tuples in replaceable list events (NIP-51 style) +- nostr_nip05_lookup — Look up or verify a NIP-05 identifier (user@domain) +- nostr_npub — Return this agent's pubkey encoded as npub bech32 +- nostr_post — Publish a Nostr event to connected relays +- nostr_post_readme — Publish README.md as kind 30023 with deterministic d tag readme.md +- nostr_profile_get — Look up a Nostr profile (kind 0 metadata) by pubkey +- nostr_pubkey — Return this agent's pubkey in hex format +- nostr_query — Query events from relays using a Nostr filter +- nostr_react — React to a Nostr event with like/dislike/emoji (NIP-25 kind 7) +- nostr_relay_info — Fetch NIP-11 relay information document +- nostr_relay_status — Get connection status and statistics for all relays +- skill_adopt — Adopt a skill by adding its address to kind 10123 adoption list +- skill_create — Create or update a skill definition as kind 31123/31124 and optionally auto-adopt it +- skill_list — List this agent's published skills, optionally filtered by scope +- skill_remove — Remove a skill address from kind 10123 adoption list +- skill_search — Search public skills by query/author and optionally rank by adoption popularity +- task_list — Build current task list context block from tasks.json +- task_manage — Manage agent short-term task memory stored in tasks.json (list/add/update/remove/clear/replace) +- tool_list — List available tools with name, description, and JSON parameter schema +- trigger_list — List active triggered skills and their runtime status + +AVAILABLE SKILLS +- long_form_note +- post_readme_to_nostr +- admin_ops + + +--- + +```text +Context Log - not seen by model +timestamp=2026-03-09 10:41:37 +phase=direct_tool_exec +sender=8ff74724ed641b3c28e5a86d7c5cbc49c37638ace8c6c38935860e7a5eedde0e +model=claude-opus-4.6 +context_bytes=130 +approx_tokens=32 +``` + +slash=/skills +result_json={"success":false,"error":"unknown tool"} +result_markdown=- **success:** false +- **error:** unknown tool + + +--- + ```text Context Log - not seen by model timestamp=2026-03-09 10:24:10 diff --git a/src/main.h b/src/main.h index f6fcaeb..765348c 100644 --- a/src/main.h +++ b/src/main.h @@ -12,8 +12,8 @@ // Using DIDACTYL_ prefix to avoid conflicts with nostr_core_lib VERSION macros #define DIDACTYL_VERSION_MAJOR 0 #define DIDACTYL_VERSION_MINOR 0 -#define DIDACTYL_VERSION_PATCH 53 -#define DIDACTYL_VERSION "v0.0.53" +#define DIDACTYL_VERSION_PATCH 54 +#define DIDACTYL_VERSION "v0.0.54" // Agent metadata #define DIDACTYL_NAME "Didactyl"