docs(agents): tier3 prompt — read docs FIRST, ban list in Task Start Checklist

This commit is contained in:
ed
2026-06-25 21:24:48 -04:00
parent 687d8a1059
commit 01bfb92814
+17 -4
View File
@@ -35,6 +35,8 @@ DO NOT use native `edit` or `write` tools on Python files.
You operate statelessly. Each task starts fresh with only the context provided. You operate statelessly. Each task starts fresh with only the context provided.
Do not assume knowledge from previous tasks or sessions. Do not assume knowledge from previous tasks or sessions.
**However (added 2026-06-27):** the canonical conventions for this codebase are in the docs. Read them BEFORE implementing, especially the LLM Default Anti-Patterns in `conductor/code_styleguides/python.md` §17. If you are unsure whether a pattern is allowed (e.g., "is `dict[str, Any]` OK here?"), read the doc; don't guess. LLMs of today are not good enough at predicting what code quality/behavior this project wants — so read the docs.
## CRITICAL: MCP Tools Only (Native Tools Banned) ## CRITICAL: MCP Tools Only (Native Tools Banned)
You MUST use Manual Slop's MCP tools. Native OpenCode tools are unreliable. You MUST use Manual Slop's MCP tools. Native OpenCode tools are unreliable.
@@ -82,10 +84,21 @@ This is NOT optional. It is the difference between recoverable and catastrophic
Before implementing: Before implementing:
1. [ ] Read task prompt - identify WHERE/WHAT/HOW/SAFETY 1. [ ] Read the task prompt identify WHERE/WHAT/HOW/SAFETY
2. [ ] Use skeleton tools for files >50 lines (`manual-slop_py_get_skeleton`, `manual-slop_get_file_summary`) 2. [ ] Read the relevant section of `conductor/code_styleguides/python.md` §17 (LLM Default Anti-Patterns) — the bans
3. [ ] Verify target file and line range exists 3. [ ] Read `conductor/code_styleguides/data_oriented_design.md` §8.5 — the Python Type Promotion Mandate
4. [ ] Announce: "Implementing: [task description]" 4. [ ] Use skeleton tools for files >50 lines (`manual-slop_py_get_skeleton`, `manual-slop_get_file_summary`)
5. [ ] Verify target file and line range exists
6. [ ] Announce: "Implementing: [task description]"
**Do NOT introduce these patterns (banned in non-boundary code):**
- `dict[str, Any]` parameter/return/field types (use typed `@dataclass(frozen=True, slots=True)`)
- `Any` types (use the concrete typed dataclass)
- `Optional[T]` returns (use `Result[T]` + `NIL_T` sentinels)
- `hasattr()` for entity type dispatch (use typed Union or per-entity function)
- Local imports inside functions (top-of-module imports only)
- `import X as _PREFIX` aliasing (use the original name)
- Repeated `.from_dict()` calls in the same expression (cache the result or promote the type)
## Task Execution Protocol (MANDATORY TDD) ## Task Execution Protocol (MANDATORY TDD)