rename(547): the plugin is grimoire — manifest, MCP key, hooks, env, skills
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 14s
CI & Build / TypeScript typecheck (push) Successful in 53s
CI & Build / integration (push) Successful in 1m2s
CI & Build / Python tests (push) Failing after 1m26s
CI & Build / Build & push image (push) Skipped
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 14s
CI & Build / TypeScript typecheck (push) Successful in 53s
CI & Build / integration (push) Successful in 1m2s
CI & Build / Python tests (push) Failing after 1m26s
CI & Build / Build & push image (push) Skipped
Step 3 of the Scribe -> Grimoire rename. - Plugin `grimoire` in marketplace `grimoire-plugin`, MCP server key `grimoire`, so tools reach a session as mcp__plugin_grimoire_grimoire__*. - hooks/scribe_* -> hooks/grimoire_*, their shell functions and the TMPDIR ledgers with them; SCRIBE_URL / SCRIBE_TOKEN / SCRIBE_HOOK_DIR / SCRIBE_LEDGER_DIRS -> GRIMOIRE_*; the project marker is `.grimoire`. - skills/using-scribe -> using-grimoire, /grimoire:sync, stored processes arrive as grimoire-proc-<slug>; moment_actions names them the same way. - Migration 0124 rewrites stored skill names (rule_moments, rule_moment_judgments, moment_mappings) from scribe:/scribe-proc- to grimoire:/grimoire-proc-, so a rule mounted on a skill keeps firing. - Settings' install commands and MCP-only defaults, the docs and the tests follow. - scripts/check_plugin.py drops the smoke event for a report-check hook that has no file in plugin/hooks. Kept on purpose: the secret-sealing label, and the names that let backups written as Scribe restore and be counted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,14 +3,14 @@
|
||||
tests/test_guidance_ownership.py enforces who states each topic: every topic
|
||||
stated in full by exactly one owner, with a one-line pointer in the server's
|
||||
index. How to ask for a rule and what an empty session means are the rules
|
||||
topic, owned by using-scribe and indexed in `_INSTRUCTIONS`; the Systems
|
||||
topic, owned by using-grimoire and indexed in `_INSTRUCTIONS`; the Systems
|
||||
reflex and the snippet-recording triggers are their topics' markers, required
|
||||
on their owners.
|
||||
|
||||
WHAT STAYS HERE
|
||||
|
||||
Properties of a CLAIM rather than of who owns a topic: the index fits the
|
||||
fold; a surface that says rules bind also names what does not; using-scribe
|
||||
fold; a surface that says rules bind also names what does not; using-grimoire
|
||||
still sends a session to the reporting-back skill.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
@@ -148,7 +148,7 @@ def test_the_index_names_all_three_strengths():
|
||||
f"client receives, and a record kind it does not name is one the session "
|
||||
f"has to guess the force of — which it does by reaching for the kind it "
|
||||
f"does know. Keep it to a clause; the full statement lives on "
|
||||
f"using-scribe."
|
||||
f"using-grimoire."
|
||||
)
|
||||
|
||||
|
||||
@@ -165,18 +165,18 @@ def test_the_strength_guard_can_fail():
|
||||
# ── Reporting back ─────────────────────────────────────────────────────
|
||||
#
|
||||
# The reporting-back skill carries the shapes, but a skill only helps if it
|
||||
# fires. The reflex that sends a session to it is stated in using-scribe, and
|
||||
# fires. The reflex that sends a session to it is stated in using-grimoire, and
|
||||
# the in-band cue on update_task (`placement`, `report_back`) is the half that
|
||||
# fires on its own in every client. The server's index carries no REPORT line:
|
||||
# reporting is a mid-work stance, not a session-start practice.
|
||||
|
||||
REPORT_REFLEX = "report back in a shape the operator can read"
|
||||
REPORT_SURFACES = (
|
||||
ROOT / "plugin" / "skills" / "using-scribe" / "SKILL.md",
|
||||
ROOT / "plugin" / "skills" / "using-grimoire" / "SKILL.md",
|
||||
)
|
||||
|
||||
|
||||
def test_the_reporting_reflex_is_stated_in_using_scribe():
|
||||
def test_the_reporting_reflex_is_stated_in_using_grimoire():
|
||||
missing = []
|
||||
for path in REPORT_SURFACES:
|
||||
text = " ".join(path.read_text().split()).lower()
|
||||
|
||||
Reference in New Issue
Block a user