v0.3.0 — Custom instructions
Highlights
Adopts the NimbleBrain platform contract for per-bundle custom instructions (nimblebrain-docs/apps/custom-instructions). Anything saved in the new settings panel reaches the agent on every conversation turn, wrapped in <app-custom-instructions> containment in the system prompt — no per-turn re-reminding required.
Added
app://instructionsresource publishing the saved overlay; platform reads on every prompt assembly.set_custom_instructions(text)agent tool. Empty text clears. 8 KiB UTF-8 cap; cap rejection surfaces as a structured error rather than throwing.- Settings panel at
/settings/apps/synapse-todo-board(registered via thesettingsplacement slot) with an inline Markdown editor, byte-aware character count, Save / Reset. - Manifest declares
permissions.filesystem: "write"(corrected from the prior"read"claim — the bundle has always written via Upjack's entity store).
Changed
- Storage helper module
synapse_todo_board/instructions.py— atomic temp+rename writes, missing-file safe.
Tests
7 new cases covering round-trip, clear, byte-cap rejection, manifest publishing. 45/45 pass.
See also
- feat/custom-instructions PR #6
- Reference implementation for the
app://instructionsconvention — first bundle to adopt.