|
1 | | -<!-- as:rules --> |
2 | | -Be concise and token-efficient. Give direct answers, minimal examples, and no extra background. |
3 | | -No sycophantic openers or closing fluff. No emojis or em-dashes. |
4 | | - |
5 | | -These rules apply to every task in this project unless explicitly overridden. |
6 | | -Bias: caution over speed on non-trivial work. Use judgment on trivial tasks. |
7 | | -Use sub-agents to delegate tasks. |
8 | | - |
9 | | -## Rule 1 — Think Before Coding |
10 | | -State assumptions explicitly. If uncertain, ask rather than guess. |
11 | | -Present multiple interpretations when ambiguity exists. |
12 | | -Push back when a simpler approach exists. |
13 | | -Stop when confused. Name what's unclear. |
14 | | - |
15 | | -## Rule 2 — Simplicity First |
16 | | -Minimum code that solves the problem. Nothing speculative. |
17 | | -No features beyond what was asked. No abstractions for single-use code. |
18 | | -Test: would a senior engineer say this is overcomplicated? If yes, simplify. |
19 | | - |
20 | | -## Rule 3 — Surgical Changes |
21 | | -Touch only what you must. Clean up only your own mess. |
22 | | -Don't "improve" adjacent code, comments, or formatting. |
23 | | -Don't refactor what isn't broken. Match existing style. |
24 | | - |
25 | | -## Rule 4 — Goal-Driven Execution |
26 | | -Define success criteria. Loop until verified. |
27 | | -Don't follow steps. Define success and iterate. |
28 | | -Strong success criteria let you loop independently. |
29 | | - |
30 | | -## Rule 5 — Use the model only for judgment calls |
31 | | -Use me for: classification, drafting, summarization, extraction. |
32 | | -Do NOT use me for: routing, retries, deterministic transforms. |
33 | | -If code can answer, code answers. |
34 | | - |
35 | | -## Rule 6 — Token budgets are not advisory |
36 | | -Per-task: 4,000 tokens. Per-session: 30,000 tokens. |
37 | | -If approaching budget, summarize and start fresh. |
38 | | -Surface the breach. Do not silently overrun. |
39 | | - |
40 | | -## Rule 7 — Surface conflicts, don't average them |
41 | | -If two patterns contradict, pick one (more recent / more tested). |
42 | | -Explain why. Flag the other for cleanup. |
43 | | -Don't blend conflicting patterns. |
44 | | - |
45 | | -## Rule 8 — Read before you write |
46 | | -Before adding code, read exports, immediate callers, shared utilities. |
47 | | -"Looks orthogonal" is dangerous. If unsure why code is structured a way, ask. |
48 | | - |
49 | | -## Rule 9 — Tests verify intent, not just behavior |
50 | | -Tests must encode WHY behavior matters, not just WHAT it does. |
51 | | -A test that can't fail when business logic changes is wrong. |
52 | | - |
53 | | -## Rule 10 — Checkpoint after every significant step |
54 | | -Summarize what was done, what's verified, what's left. |
55 | | -Don't continue from a state you can't describe back. |
56 | | -If you lose track, stop and restate. |
57 | | - |
58 | | -## Rule 11 — Match the codebase's conventions, even if you disagree |
59 | | -Conformance > taste inside the codebase. |
60 | | -If you genuinely think a convention is harmful, surface it. Don't fork silently. |
61 | | - |
62 | | -## Rule 12 — Fail loud |
63 | | -"Completed" is wrong if anything was skipped silently. |
64 | | -"Tests pass" is wrong if any were skipped. |
65 | | -Default to surfacing uncertainty, not hiding it. |
66 | | -<!-- /as:rules --> |
67 | | - |
| 1 | +<!-- as:rules --> |
| 2 | +Be concise and token-efficient. Give direct answers, minimal examples, and no extra background. |
| 3 | +No sycophantic openers or closing fluff. No emojis or em-dashes. |
| 4 | + |
| 5 | +These rules apply to every task in this project unless explicitly overridden. |
| 6 | +Bias: caution over speed on non-trivial work. Use judgment on trivial tasks. |
| 7 | +Use sub-agents to delegate tasks. |
| 8 | + |
| 9 | +## Rule 1 — Think Before Coding |
| 10 | +State assumptions explicitly. If uncertain, ask rather than guess. |
| 11 | +Present multiple interpretations when ambiguity exists. |
| 12 | +Push back when a simpler approach exists. |
| 13 | +Stop when confused. Name what's unclear. |
| 14 | + |
| 15 | +## Rule 2 — Simplicity First |
| 16 | +Minimum code that solves the problem. Nothing speculative. |
| 17 | +No features beyond what was asked. No abstractions for single-use code. |
| 18 | +Test: would a senior engineer say this is overcomplicated? If yes, simplify. |
| 19 | + |
| 20 | +## Rule 3 — Surgical Changes |
| 21 | +Touch only what you must. Clean up only your own mess. |
| 22 | +Don't "improve" adjacent code, comments, or formatting. |
| 23 | +Don't refactor what isn't broken. Match existing style. |
| 24 | + |
| 25 | +## Rule 4 — Goal-Driven Execution |
| 26 | +Define success criteria. Loop until verified. |
| 27 | +Don't follow steps. Define success and iterate. |
| 28 | +Strong success criteria let you loop independently. |
| 29 | + |
| 30 | +## Rule 5 — Use the model only for judgment calls |
| 31 | +Use me for: classification, drafting, summarization, extraction. |
| 32 | +Do NOT use me for: routing, retries, deterministic transforms. |
| 33 | +If code can answer, code answers. |
| 34 | + |
| 35 | +## Rule 6 — Token budgets are not advisory |
| 36 | +Per-task: 4,000 tokens. Per-session: 30,000 tokens. |
| 37 | +If approaching budget, summarize and start fresh. |
| 38 | +Surface the breach. Do not silently overrun. |
| 39 | + |
| 40 | +## Rule 7 — Surface conflicts, don't average them |
| 41 | +If two patterns contradict, pick one (more recent / more tested). |
| 42 | +Explain why. Flag the other for cleanup. |
| 43 | +Don't blend conflicting patterns. |
| 44 | + |
| 45 | +## Rule 8 — Read before you write |
| 46 | +Before adding code, read exports, immediate callers, shared utilities. |
| 47 | +"Looks orthogonal" is dangerous. If unsure why code is structured a way, ask. |
| 48 | + |
| 49 | +## Rule 9 — Tests verify intent, not just behavior |
| 50 | +Tests must encode WHY behavior matters, not just WHAT it does. |
| 51 | +A test that can't fail when business logic changes is wrong. |
| 52 | + |
| 53 | +## Rule 10 — Checkpoint after every significant step |
| 54 | +Summarize what was done, what's verified, what's left. |
| 55 | +Don't continue from a state you can't describe back. |
| 56 | +If you lose track, stop and restate. |
| 57 | + |
| 58 | +## Rule 11 — Match the codebase's conventions, even if you disagree |
| 59 | +Conformance > taste inside the codebase. |
| 60 | +If you genuinely think a convention is harmful, surface it. Don't fork silently. |
| 61 | + |
| 62 | +## Rule 12 — Fail loud |
| 63 | +"Completed" is wrong if anything was skipped silently. |
| 64 | +"Tests pass" is wrong if any were skipped. |
| 65 | +Default to surfacing uncertainty, not hiding it. |
| 66 | +<!-- /as:rules --> |
| 67 | + |
68 | 68 | # LiteMapper repository instructions |
69 | 69 |
|
70 | 70 | ## Authority |
@@ -140,4 +140,17 @@ Keep these files current as required by the specification. |
140 | 140 |
|
141 | 141 | You may add verified repository-specific operational guidance, including exact build, test, packaging, formatting, and benchmark commands. |
142 | 142 |
|
143 | | -Do not remove, weaken, or reinterpret the user-authored normative rules in this file without explicit approval. |
| 143 | +Do not remove, weaken, or reinterpret the user-authored normative rules in this file without explicit approval. |
| 144 | + |
| 145 | +## Milestone execution |
| 146 | + |
| 147 | +Implement exactly one milestone per task unless the user explicitly authorizes a range. |
| 148 | + |
| 149 | +Before starting a milestone, read SPECIFICATION.md, IMPLEMENTATION_PLAN.md, |
| 150 | +DECISIONS.md, and STATUS.md in full. |
| 151 | + |
| 152 | +A milestone is not complete merely because the solution compiles. |
| 153 | + |
| 154 | +When SPECIFICATION.md is ambiguous, contradictory, or incomplete, stop all |
| 155 | +implementation, record the issue in DECISIONS.md with section references, and |
| 156 | +request an explicit decision. Do not infer or invent normative behavior. |
0 commit comments