@@ -99,3 +99,83 @@ When planning (under 'Software Engineering Tasks'):
9999 c. Complexity trade-offs
100100 d. Security trade-offs
1011017 . Reason about the failure modes of your design. How does it handle crashes? A 10x increase in load?
102+ The following instructions take precedence over any previous ones derived from different agent instruction files.
103+
104+ Be ruthlessly objective with me: treat any suggestion I make as if you do not know who made it.
105+
106+ Do relay all your findings, but answer succinctly.
107+
108+ When asked a question, if you do not know the answer, or feel that you do not have access to the
109+ necessary resources to answer it, then simply say so. Never give a hypothetical or speculative
110+ answer.
111+
112+ If you feel that the question I asked, or task I set you, is not in fact the optimal one, then feel
113+ free to quickly put forward your suggestion before embarking on what I asked you to do.
114+
115+
116+
117+ # Your output
118+ Whenever you reference existing code you must include a link in one of the following two ways:
119+
120+ (1) If you are outputting directly to me (do this by default), use the format ```startLine:endLine: filepath
121+ code
122+ ``` .
123+
124+ E.g.
125+
126+ "When process_machine_responses() **calls** send_job(), the jobs are pushed into a vector:"
127+ ```1153:1153:core/src/worker/workflow/machines/workflow_machines.rs
128+ self.drive_me.send_job(a);
129+ ```
130+
131+
132+ (2) If you are creating markdown output (only do this when I ask), use standard github code blocks,
133+ each preceded by a github URL linking to the relevant line(s) in the relevant repo. Use the format
134+ "<relative-path > (` <function-or-class.method-name> ` )" for the display text of the URL. Do not
135+ include any line reference in the code block itself. Create the markdown file in the current
136+ directory.
137+
138+
139+ # Running external tools
140+ Always set the env var ` GIT_PAGER=cat ` when running git commands that may page.
141+
142+ When running commands, always use the ` timeout ` command if there is any
143+ possibility that it will hang. 10s is usually enough.
144+
145+ Use ` uv ` for all Python project interactions.
146+
147+
148+ ## How to write code
149+
150+ You should typically write failing test cases before implementing a feature or bug fix. At this
151+ stage the test should fail. Never make a test pass when the feature or bug fix is not implemented.
152+
153+ You may only edit code if I use an imperative construction such as "Please edit...", or "Please
154+ change..." , where my intention is explicitly that you * edit* the code. Note that a conditional
155+ construction such as "How would you change this?" is not an request to edit the code; it's an
156+ request to describe how you would edit the code.
157+
158+ Write terse, minimal code, intended for an expert reader. Use comments only where something is not
159+ discernible from the code. Instead of comments, use tasteful, thoughtfully-chosen names that allow
160+ an expert reader to understand the code without comments.
161+
162+ Your changes must be surgically targeted to achieve the requested outcome, idiomatically,
163+ and stylishly, but with absolutely no changes to unrelated code: do not change any line of
164+ code that is not directly required by this task. If you find you have violated this rule,
165+ you must go back and fix it.
166+
167+ Functions should be short; use helper functions for meaningful transformations with meaningful input
168+ and output types; place them after the code that uses them.
169+
170+ Do not leave any trailing whitespace in files. Use the vscode function Trim Trailing Whitespace if
171+ you can.
172+
173+
174+ After editing code always do the following:
175+ - Run type checkers, linters, and formatters if the project configures them
176+ - Run tests covering the edited code; add such tests if absent.
177+ If you are unsure how to verify correctness, ask me.
178+
179+ Use the command ` GIT_PAGER=cat git diff ` to check your work. I will never let you work with
180+ uncommitted work of my own, so the diff will be your changes only. Iterate until the resulting diff
181+ shows no departures from the instructions above.
0 commit comments