Skip to content

Commit a6b4b80

Browse files
author
Ryan Leckenby
committed
Clarify that trigger shape and execution-engine need are orthogonal
Stress-tested the decision rule in docs/loop-engineer-pattern.md against domains shaped opposite to the two examples (event-driven+needs-engine, scheduled+no-engine). The rule itself held, but the two existing examples happened to pair scheduled-with-engine and event-with-no-engine, which could read as the trigger determining the engine choice. Added two one-line counter-examples to break that implicit correlation.
1 parent 9dc3ee6 commit a6b4b80

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

LOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Format: `YYYY-MM-DD HH:MM | domain | one-line summary | link(s)`
88

99
## Entries
1010

11+
- 2026-06-22 16:00 | scaffold | stress-tested the orchestration/execution decision rule against opposite-shape domains (event+engine, scheduled+no-engine); rule held, fixed an implicit correlation in docs/loop-engineer-pattern.md's examples | [[docs/loop-engineer-pattern.md]]
1112
- 2026-06-22 15:00 | review-signals | added review-signals skill + skill-writing recipe; dogfooded against a synthetic signal (correctly judged "leave open," then removed) | [[.claude/skills/review-signals/SKILL.md]]
1213
- 2026-06-22 14:00 | smoke-test | dogfooded new-loop skill (scaffold verified correct, then removed — throwaway test domain) | [[.claude/skills/new-loop/SKILL.md]]
1314
- 2026-06-22 12:00 | scaffold | initial knowledge base + skills scaffolded from the loop-engineer-template pattern | [[knowledge/README.md]]

docs/loop-engineer-pattern.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,23 @@ to call and when, based on results it can't predict in advance?**
4949
Most domains will be the second kind. Reach for the Python engine when a step's tool-calling
5050
shape is genuinely open-ended, not by default.
5151

52+
**Trigger shape and execution-engine need are independent axes — don't conflate them.** The two
53+
example domains happen to pair scheduled-with-engine (`task-refinement`) and
54+
event-driven-without-engine (`dev-trigger`), which can make it look like the trigger decides the
55+
engine choice. It doesn't; they're orthogonal:
56+
57+
- **Event-driven *and* needs the engine**: an `incident-response` domain triggered by a paging
58+
webhook, whose work is "check recent deploys, query the error tracker, check related logs, form
59+
a hypothesis, maybe roll back" — an unpredictable, data-dependent number of tool calls, same as
60+
`task-refinement`'s, just woken up by an event instead of a clock.
61+
- **Scheduled *and* doesn't need the engine**: a `weekly-log-rollup` domain triggered by `/schedule`
62+
every Monday, whose work is "read every `LOG.md` line since the last rollup, summarize into one
63+
`knowledge/notes/` entry" — a fixed sequence with no open-ended tool-calling, same as
64+
`dev-trigger`'s, just woken up by a clock instead of an event.
65+
66+
Always re-ask the question in this section per domain — never infer the engine answer from the
67+
trigger answer.
68+
5269
## Putting it together: one full cycle
5370

5471
Using `task-refinement` as the example:

0 commit comments

Comments
 (0)