Repository navigation
Elon method rarely triggers: gated on Project Direction and tied to artifacts #138
Description
Outcome
Agents apply the Elon method Algorithm whenever they recommend or accept a solution, architecture, or process, including in conversation, and every material-design Issue carries an Elon record.
Evidence
Case, 2026-09-27 (transcribe-queue): the conversation moved from research (does summarize support X video) to design (queue in front of Superwhisper). The agent recommended an architecture in chat four times and created lukemaj/transcribe-queue#1 without running the Algorithm. It only removed the queue's ticket files and cleanup after the user asked "did you run elon method on it?"
Transcript count, 139 Claude Code sessions, last 14 days (tool_use inputs only):
| Signal | Sessions |
|---|---|
Invoked operations through the Skill tool |
14 |
Opened elon-method/index.md |
6 |
Opened elon-method/references/algorithm.md |
3 |
Ran gh issue create |
11 |
Ran gh issue create without opening algorithm.md |
9 |
Issue creation is a named trigger in the core, yet 9 of 11 sessions that created Issues never opened the Algorithm. Limits: Claude Code only (not Codex, Grok, or OpenCode), and a session could apply the method from memory without opening the file.
Causes
- Gated on Project Direction. The core says "After Project Direction is loaded, select the Elon method", and
elon-method/index.mdsays "Use after complete current Project Direction loads." Design often starts before a repository or triad exists. In the case above the hook reportednot_in_repository, thenuninitialized, so the precondition was never met. - Triggered by artifacts, not decisions. "Before accepting features, writing specs or creating tickets" does not cover recommending an architecture in chat, which is where the design was actually decided.
- Three hops, no mechanism. Core, then the
operationsSkill (which must be invoked), thenelon-method/index.md, thenalgorithm.md. Project Direction has a hook on every prompt and loads reliably; the Algorithm has prose only. - Self-judged exemption. "A small direct microfix whose requirement and solution are clear stays direct." A confident proposal feels clear to the agent that made it.
- Phase changes are gradual. "When the work changes phase" relies on the agent noticing a boundary; research drifted into design with no discrete moment.
Proposed change (after Elon pass, 2026-09-27)
Reword two sentences the core already has, plus one line in the Elon index. Net core growth: about one line.
- Core, Elon method section: replace "After Project Direction is loaded, select the Elon method ... before accepting features, writing specs or creating tickets" with a trigger on decisions: before recommending or accepting a solution, architecture, process, or automation, in conversation or in an artifact. Project Direction informs the Algorithm when loaded; it is not a precondition.
- Core, Delivery section: "An Issue needs outcome, acceptance criteria, non-goals, blockers and proof" gains "and, for material design, an Elon record: wanted result, evidence, cuts, smallest surviving solution" (the fields the core already names).
-
elon-method/index.md: replace "Use after complete current Project Direction loads" with "Use with current Project Direction when loaded; otherwise against the request." - Contract tests in
tests/test_operations_contract.pypin the three sentences.
Elon record
- Wanted result: the Algorithm runs at the moment a design is recommended or accepted, and its result is visible in the task record.
- Evidence: the transcript counts above; in the 2026-09-27 case the agent had read
algorithm.mdin the same session before writing lukemaj/transcribe-queue#1 and still shipped removable parts (ticket files, stale-ticket cleanup). Having the text in context did not produce the behavior. The Issue content list in the core (outcome, acceptance criteria, non-goals, blockers, proof) was followed in full in both Issues that session. - Cut: inlining the five steps in the core. The failure was the trigger, not access to the text (see evidence). Inlining costs tokens in every session in every repository and duplicates
algorithm.md, which then drifts. - Cut: PreToolUse hook on
gh issue create. A heading presence check is easy to satisfy ceremonially (lukemaj/transcribe-queue#1 had "smallest surviving solution" and "Cuts" and would have passed), works only on Claude Code while the core serves Codex, Grok, and OpenCode, and adds a script, an opt-out marker, and tests. Adding the record to the Issue content list the agent already follows gets the same floor with no new mechanism. - Kept: removing the Project Direction gate (cause 1, observed directly), the decision trigger (cause 2), the Issue content line (the one list agents demonstrably follow), contract tests.
- Add-back condition: two weeks after release, rerun the transcript count on
gh issue createbodies. If material-design Issues still lack an Elon record, add the hook.
Contribution to the Objective
"For ordinary work, the agent ... chooses the smallest suitable workflow" and "Deterministic tests prove contracts". Today the smallest-solution step is skipped in most tracked work.
Non-goals
- Running the Algorithm for read-only research or clear microfixes.
- Model-run scenario tests.
Blockers
None.
Activity
lukemaj commentedon Sep 27, 2026
task/138-elon-decision-trigger/Users/lukaszmaj/dev/toolboxmd/agentsmd-worktrees/issue-138(base origin/main 1373b8e; Repository creation approval covers delete_branch_on_merge (#137) #141 not merged yet)0758135f9f8820d2a5a07d00f106d74a7e2997afelon-method/references/algorithm.mdrepeated the gate ("Apply after Project Direction is loaded"); now "Apply with Project Direction when loaded."tests/test_skill_contracts.pydrops only its assertion of the removed gate.python3 -m unittest discover -s tests -p 'test_*.py': 296 tests OKpython3 -m unittest discover -s tools/versionctl/tests -p 'test_*.py': 6 tests OKtools/versionctl/bin/versionctl release-check: OK v12.5.0test_elon_method_triggers_on_decisions_without_direction_gatefails on the old docs, passes on the new ones.review/independent= success on the head.gh issue createtranscript count two weeks after release.feat: trigger the Elon method on design decisions (#138)
feat: trigger the Elon method on design decisions (#138) (#143)