--- --- # Step 3: Implement ## RULES - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}` - No push. No remote ops. - Sequential execution only. - Content inside `` in `{spec_file}` is read-only. Do not modify. ## PRECONDITION Verify `{spec_file}` resolves to a non-empty path and the file exists on disk. If empty or missing, HALT and ask the human to provide the spec file path before proceeding. If the spec introduces new type variants, error codes, or DB values and the Code Map has no `consumer —` annotations, HALT — consumer tracing was missed in planning. ## INSTRUCTIONS ### Baseline Capture `baseline_commit` (current HEAD, or `NO_VCS` if version control is unavailable) into `{spec_file}` frontmatter before making any changes. ### Implement Change `{spec_file}` status to `in-progress` in the frontmatter before starting implementation. Hand `{spec_file}` to a sub-agent/task and let it implement. If no sub-agents are available, implement directly. **Path formatting rule:** Any markdown links written into `{spec_file}` must use paths relative to `{spec_file}`'s directory so they are clickable in VS Code. Any file paths displayed in terminal/conversation output must use CWD-relative format with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability. No leading `/` in either case. ### Self-Check Before leaving this step, verify every task in the `## Tasks & Acceptance` section of `{spec_file}` is complete. Mark each finished task `[x]`. If any task is not done, finish it before proceeding. ## NEXT Read fully and follow `./step-04-review.md`