CI & Build / Python lint (push) Successful in 2s
CI & Build / Plugin hooks (push) Successful in 14s
CI & Build / TypeScript typecheck (push) Successful in 55s
CI & Build / integration (push) Successful in 1m1s
CI & Build / Python tests (push) Failing after 1m25s
CI & Build / Build & push image (push) Skipped
The reply is the one act no tool call marks, and it is where "let me know if it works" gets said. A new Stop hook (scribe_reply_check.sh) sends the finished reply to POST /api/plugin/reply-rules, which checks it twice: - mounted: every unopened RULE on reply.report, plus reply.ask when the reply asks a question. Deterministic. - semantic: the reply's head and tail against every rule's trigger, on a new ranked surface, reply_rule. It is the backstop for whatever the earlier arms missed. Its floor is its stop bar (default 0.80, budget 1), with its own Settings dials. The new stop_only stage records surfacing for the rule that holds and nothing else, because nothing else reached anyone. Following the operator's ruling from 456 step 8, a rule that holds blocks once, in the server's words. The hook blocks only on a reason it was given, so an unreachable instance never stops a session, and it never holds the rewrite. The ledger is the act checkpoint's own, so a rule holds a session once across both doors and the per-session cap counts both. The turn reader moved from the report check into scribe_defs.sh (scribe_turn_facts / scribe_turn_fact), so the two Stop hooks read a turn the same way. The output was checked identical on a real transcript. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
1.2 KiB
JSON
31 lines
1.2 KiB
JSON
{
|
|
"name": "scribe",
|
|
"description": "Scribe for Claude Code: connects the scribe MCP server, adds the hooks that deliver live project state and relevant records at the right moment, ships the shared client-neutral Scribe skills (using-scribe, writing-plans, reporting-back, systematic-debugging, verification, brainstorming, reusing-code, shape-accounting), and syncs your saved Scribe Processes as skills (/scribe:sync).",
|
|
"version": "2026.10.05.1630",
|
|
"author": {
|
|
"name": "Bryan Van Deusen"
|
|
},
|
|
"mcpServers": {
|
|
"scribe": {
|
|
"type": "http",
|
|
"url": "${user_config.api_endpoint}/mcp",
|
|
"headers": {
|
|
"Authorization": "Bearer ${user_config.api_token}"
|
|
}
|
|
}
|
|
},
|
|
"userConfig": {
|
|
"api_endpoint": {
|
|
"type": "string",
|
|
"title": "Scribe base URL",
|
|
"description": "Base URL of your Scribe instance, no trailing slash (e.g. https://scribe.example.com)"
|
|
},
|
|
"api_token": {
|
|
"type": "string",
|
|
"title": "Scribe API key",
|
|
"description": "An fmcp_ API key from Settings \u2192 API Keys (read scope is enough for the session-start hook; write scope to use the tools)",
|
|
"sensitive": true
|
|
}
|
|
}
|
|
}
|