feed-the-machine 1.7.11 → 1.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -290,6 +290,47 @@ Skip this step if:
|
|
|
290
290
|
- The session context already contains recently loaded task state (within 15 minutes)
|
|
291
291
|
- The request is purely local with no operational relevance (e.g., pure code edits)
|
|
292
292
|
|
|
293
|
+
## Playbook Lookup (MANDATORY before any external system operation)
|
|
294
|
+
|
|
295
|
+
**Before executing any operation on an external system (Freshservice, Okta, Jira, Trelica, S3, etc.), check for an existing playbook.** This is not optional. Playbooks encode hard-won lessons — API quirks, encoding requirements, field types that can't be updated, correct endpoint paths. Skipping this step means repeating every mistake the playbook was written to prevent.
|
|
296
|
+
|
|
297
|
+
**Step 1: Check brain.py playbooks.**
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
python3 ~/.claude/skills/ftm/bin/brain.py --playbook-match "[describe the operation]" --playbook-match-source freshservice
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
If a match returns with confidence > 0.2, read the full playbook before proceeding.
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
python3 ~/.claude/skills/ftm/bin/brain.py --playbook-list
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Also list all playbooks and scan names — sometimes the match query misses a relevant one.
|
|
310
|
+
|
|
311
|
+
**Step 2: Check repo-local playbooks.**
|
|
312
|
+
|
|
313
|
+
```
|
|
314
|
+
ls docs/playbooks/ 2>/dev/null
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
If the current repo has a `docs/playbooks/` directory, scan it for files matching the target system. Read any relevant playbook before writing a single line of code.
|
|
318
|
+
|
|
319
|
+
**Step 3: Check blackboard experiences.**
|
|
320
|
+
|
|
321
|
+
Read `experiences/index.json` and filter by tags matching the target system. Load matching experience files and check for `code_patterns` and `api_gotchas` fields.
|
|
322
|
+
|
|
323
|
+
**What playbooks prevent:**
|
|
324
|
+
- Using raw HTML when Freshservice requires entity-encoded HTML (`html.escape()`)
|
|
325
|
+
- Trying to PUT on `service_catalog/items/{internal_id}` when the correct path is `service-catalog/items/{display_id}`
|
|
326
|
+
- Including `custom_lookup_bigint` fields in API updates (they're admin-UI-only)
|
|
327
|
+
- Deleting and recreating resources when an in-place update works
|
|
328
|
+
- Repeating 10+ failed API calls to discover what the playbook already documents
|
|
329
|
+
|
|
330
|
+
**The April 2026 Braintrust incident**: A playbook existed (`docs/playbooks/freshservice-service-catalog-item.md`), the blackboard had the lesson ("FS rich text tables require html.escape()"), and a brain.py playbook (`fs-hide-catalog-el`) was available. None were consulted. The result: 15+ failed API attempts, accidental creation of duplicate fields, then destructive deletion of two catalog items breaking S3 workflow automation.
|
|
331
|
+
|
|
332
|
+
**If no playbook exists** and the operation succeeds after trial-and-error, the auto-playbook hook should trigger. If it doesn't, proactively invoke ftm-capture to save the working pattern.
|
|
333
|
+
|
|
293
334
|
## Orient Synthesis
|
|
294
335
|
|
|
295
336
|
Before leaving Orient, silently synthesize all signals into one internal picture:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "feed-the-machine",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.12",
|
|
4
4
|
"description": "A brain upgrade for Claude Code — 26 skills that teach it how to think before acting, remember across conversations, debug like a war room, run plans on autopilot with agent teams, and get second opinions from GPT & Gemini. Plus 15 hooks that automate the boring stuff.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "kkudumu",
|