You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(mcp): restore compliance-nudging text in 4 thin tool descriptions (QUEST-40) (#34)
Four MCP tool descriptions were trimmed during an earlier lean-pass and
lost the behavioral nudges that peer descriptions still carry. Restore
the 'before X / after Y' hints so cold agents pick the right tool by
reading the description alone.
Restored phrasing per QUEST-40 acceptance:
- guild_session_start: "before any other guild tool will work" +
"you do not need to pass project to them again"
- lore_appraise: "before storing new knowledge or spawning research
subagents"
- lore_inscribe: "that transcends the current task" (differentiates
from quest_journal, whose Long already carries the 'dies when quest
clears' counterpart)
- quest_post: "well-specced quest = no human follow-up needed to
execute it"
Totals: 156 words across the four descriptions (target >= 149, prior
135). Every tool stays under the 100-token per-tool budget gate; total
static cost still well under the 4700-token ceiling enforced by
TestDescriptionBudget. Regenerated docs/generated/{cli,mcp}.md to match.
make check clean.
Co-authored-by: Kunal Lanjewar <[email protected]>
Store knowledge that should outlive this quest. Call lore_appraise first; when the search returns entries that informed this one, pass them as informs=[IDs]to create provenance edges at write-time. Cross-project dedup and principlehygiene warnings are built in. Summary distills the durable knowledge; implementation specifics belong in the quest acceptance that called for this inscribe.
348
+
Store knowledge that transcends the current task — patterns, decisions, research that outlive the quest. Call lore_appraise first; pass informs=[IDs] for entries that informed this oneto create provenance edges at write-time. Cross-project dedup and principle-hygiene warnings are built in.
349
349
350
350
**Flags**
351
351
@@ -951,7 +951,7 @@ create a new quest
951
951
guild quest post SUBJECT... [flags]
952
952
```
953
953
954
-
Create a quest another agent can accept without human follow-up. For non-trivial quests, include rich WHY + HOW (rationale, approach, constraints) so a cold agent can execute without re-deriving context from chat. Pass spec=... to atomically attach a kind=decision lore entry with full rationale (QUEST-63).
954
+
Create a quest another agent can accept without human follow-up — well-specced quest = no human follow-up needed to execute it. Include rich WHY + HOW (rationale, approach, constraints) so a cold agent executes without re-deriving context from chat. Pass spec=... to atomically attach a kind=decision lore entry with full rationale (QUEST-63).
-[`quest_orders`](#quest_orders) — List quests currently assigned to a given agent owner.
42
-
-[`quest_post`](#quest_post) — Create a quest another agent can accept without human follow-up.
42
+
-[`quest_post`](#quest_post) — Create a quest another agent can accept without human follow-up — well-specced quest = no human follow-up needed to execute it.
43
43
-[`quest_pulse`](#quest_pulse) — Rework rate, churn rate, hot files, untested quests.
44
44
-[`quest_scroll`](#quest_scroll) — Full quest history: status, journal, timeline.
45
45
-[`quest_summon`](#quest_summon) — Reassign a quest to a named teammate agent.
46
46
-[`quest_update`](#quest_update) — Modify a quest's spec after post.
47
47
48
48
## `guild_session_start`
49
49
50
-
Call FIRST. Set the active project, load the briefing, oath, and top task, and default later guild tools to it.
50
+
Call FIRST — before any other guild tool will work. Sets the active project, loads the briefing, oath, and top task, and defaults later guild tools to it (you do not need to pass project to them again).
51
51
52
52
_no arguments_
53
53
@@ -123,7 +123,7 @@ _no arguments_
123
123
124
124
## `lore_appraise`
125
125
126
-
Search lore before researching or inscribing. Returns ranked entries with project, kind, age, and summary.
126
+
Search lore before storing new knowledge or spawning research subagents. Returns ranked entries with project, kind, age, and summary — if current results exist, use them instead of re-deriving.
127
127
128
128
_no arguments_
129
129
@@ -310,7 +310,7 @@ _no arguments_
310
310
311
311
## `lore_inscribe`
312
312
313
-
Store knowledge that should outlive this quest. Call lore_appraise first; when the search returns entries that informed this one, pass them as informs=[IDs]to create provenance edges at write-time. Cross-project dedup and principlehygiene warnings are built in. Summary distills the durable knowledge; implementation specifics belong in the quest acceptance that called for this inscribe.
313
+
Store knowledge that transcends the current task — patterns, decisions, research that outlive the quest. Call lore_appraise first; pass informs=[IDs] for entries that informed this oneto create provenance edges at write-time. Cross-project dedup and principle-hygiene warnings are built in.
314
314
315
315
_no arguments_
316
316
@@ -1175,7 +1175,7 @@ _no arguments_
1175
1175
1176
1176
## `quest_post`
1177
1177
1178
-
Create a quest another agent can accept without human follow-up. For non-trivial quests, include rich WHY + HOW (rationale, approach, constraints) so a cold agent can execute without re-deriving context from chat. Pass spec=... to atomically attach a kind=decision lore entry with full rationale (QUEST-63).
1178
+
Create a quest another agent can accept without human follow-up — well-specced quest = no human follow-up needed to execute it. Include rich WHY + HOW (rationale, approach, constraints) so a cold agent executes without re-deriving context from chat. Pass spec=... to atomically attach a kind=decision lore entry with full rationale (QUEST-63).
Copy file name to clipboardExpand all lines: internal/lore/appraise_cmd.go
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ var AppraiseCommand = &command.Command[AppraiseInput, AppraiseCmdOutput]{
29
29
CLIPath: []string{"lore", "appraise"},
30
30
CLIAliases: []string{"check"},
31
31
Short: "search lore before researching or inscribing",
32
-
Long: "Search lore before researching or inscribing. Returns ranked entries with project, kind, age, and summary.",
32
+
Long: "Search lore before storing new knowledge or spawning research subagents. Returns ranked entries with project, kind, age, and summary — if current results exist, use them instead of re-deriving.",
33
33
Args: []command.ArgSpec{
34
34
{Name: "query", Kind: command.ArgPositional, Type: command.ArgString, Required: true, Variadic: true, Help: "search query (remaining positional args joined on CLI)"},
35
35
{Name: "all_projects", Kind: command.ArgFlag, Type: command.ArgBool, Help: "search every project"},
Copy file name to clipboardExpand all lines: internal/lore/inscribe_cmd.go
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ var InscribeCommand = &command.Command[InscribeInput, InscribeCmdOutput]{
33
33
CLIPath: []string{"lore", "inscribe"},
34
34
CLIAliases: []string{"add"},
35
35
Short: "inscribe a new knowledge entry into the lore",
36
-
Long: "Store knowledge that should outlive this quest. Call lore_appraise first; when the search returns entries that informed this one, pass them as informs=[IDs] to create provenance edges at write-time. Cross-project dedup and principlehygiene warnings are built in. Summary distills the durable knowledge; implementation specifics belong in the quest acceptance that called for this inscribe.",
36
+
Long: "Store knowledge that transcends the current task — patterns, decisions, research that outlive the quest. Call lore_appraise first; pass informs=[IDs] for entries that informed this oneto create provenance edges at write-time. Cross-project dedup and principle-hygiene warnings are built in.",
Copy file name to clipboardExpand all lines: internal/quest/post_cmd.go
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -49,8 +49,8 @@ var PostCommand = &command.Command[PostInput, PostOutput]{
49
49
Name: "quest_post",
50
50
CLIPath: []string{"quest", "post"},
51
51
Short: "create a new quest",
52
-
Long: "Create a quest another agent can accept without human follow-up. "+
53
-
"For non-trivial quests, include rich WHY + HOW (rationale, approach, constraints) so a cold agent can execute without re-deriving context from chat. "+
52
+
Long: "Create a quest another agent can accept without human follow-up — well-specced quest = no human follow-up needed to execute it. "+
53
+
"Include rich WHY + HOW (rationale, approach, constraints) so a cold agent executes without re-deriving context from chat. "+
54
54
"Pass spec=... to atomically attach a kind=decision lore entry with full rationale (QUEST-63).",
0 commit comments