MCP instruction hardening + milestone-unset #56

Merged
bvandeusen merged 4 commits from dev into main 2026-06-03 11:19:09 -04:00
Owner

Four MCP-layer changes from the 2026-06-03 governance session. All on dev, CI green on head f446573.

  • f446573 feat(mcp): proactive project bootstrapping at session start — _INSTRUCTIONS directive to find/propose or offer-create a project (always confirm). Closes scribe task #585.
  • 82d6812 feat(mcp): milestone_id=-1 clears a task's milestone in update_task (0 = leave, -1 = clear, positive = set; clearing project cascades to milestone). +4 tests. Closes scribe task #586.
  • 8c9ca45 feat(mcp): instruct agents to keep a Scribe-rules pointer in host memory when a project subscribes to a rulebook.
  • e023c21 docs(mcp): instruct agents to drive the task lifecycle (in_progress → log → done) and write landing dev-logs.

Note: the rulebook true-up (5 edits + rule #48) and stored processes #188/#190/#191 live in the scribe-dev database, not this repo — they port to prod separately, not via this merge.

🤖 Generated with Claude Code

Four MCP-layer changes from the 2026-06-03 governance session. All on `dev`, CI green on head `f446573`. - **f446573** `feat(mcp)`: proactive project bootstrapping at session start — `_INSTRUCTIONS` directive to find/propose or offer-create a project (always confirm). Closes scribe task #585. - **82d6812** `feat(mcp)`: `milestone_id=-1` clears a task's milestone in `update_task` (0 = leave, -1 = clear, positive = set; clearing project cascades to milestone). +4 tests. Closes scribe task #586. - **8c9ca45** `feat(mcp)`: instruct agents to keep a Scribe-rules pointer in host memory when a project subscribes to a rulebook. - **e023c21** `docs(mcp)`: instruct agents to drive the task lifecycle (in_progress → log → done) and write landing dev-logs. Note: the rulebook true-up (5 edits + rule #48) and stored processes #188/#190/#191 live in the scribe-dev **database**, not this repo — they port to prod separately, not via this merge. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bvandeusen added 4 commits 2026-06-03 11:19:03 -04:00
docs(mcp): instruct agents to drive task lifecycle + log work
CI & Build / Python lint (push) Successful in 2s
CI & Build / TypeScript typecheck (push) Successful in 35s
CI & Build / Python tests (push) Successful in 48s
CI & Build / Build & push image (push) Successful in 1m48s
e023c21aa1
Adds a 'keep task state honest' directive to the MCP _INSTRUCTIONS: set
in_progress on start, log progress with add_task_log as you go, set done the
moment work completes (never leave finished work at todo), and write a dated
dev-log note on the project at significant landings. Reinforced in the
update_task status docstring. App-layer + always-loaded, no rule/config needed
— closes the gap where finished work (e.g. a shipped plan) sat open because the
lifecycle was available but never prescribed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat(mcp): instruct agents to keep a Scribe-rules pointer in host memory
CI & Build / Python lint (push) Successful in 3s
CI & Build / TypeScript typecheck (push) Successful in 35s
CI & Build / Python tests (push) Successful in 1m1s
CI & Build / Build & push image (push) Successful in 1m6s
8c9ca45479
When a project subscribes to a rulebook, the agent should ensure the
host's persistent memory carries a pointer that engineering/workflow
rules live in Scribe (loaded via list_always_on_rules / enter_project),
plus a one-line note of the current project's work. Pairs with the
existing 'don't duplicate rules into memory' directive: memory holds the
pointer + project context, Scribe holds the rules.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Optional FKs on update_task previously had no way to express 'remove' —
0 meant leave-unchanged and any positive int meant set, so a milestone
(or project) could only be cleared via the web UI. Now -1 clears the FK
(NULL); clearing project_id also clears milestone_id since a milestone
can't outlive its project. update_note already NULLs on None, so the
change is confined to the tool wrapper. Closes scribe task #586.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat(mcp): proactive project bootstrapping at session start
CI & Build / Python lint (push) Successful in 3s
CI & Build / TypeScript typecheck (push) Successful in 34s
CI & Build / Python tests (push) Successful in 42s
CI & Build / Build & push image (push) Successful in 1m6s
f446573c3d
Adds an always-on _INSTRUCTIONS directive: when work touches Scribe and
no project is in scope, search for a related project and propose
enter_project (confirm first), or offer to create one (confirm name/goal
first) — never silently adopt or create. Pairs with the enter_project
handshake and the host-memory pointer directive. Closes scribe task #585.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bvandeusen merged commit 266af7870d into main 2026-06-03 11:19:09 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledScribe#56