Files
automaton/prompts/implement.md
T
gitea 05c76852a2
CI / build (push) Has been cancelled
v2.0: state enforcement, project scoping, harness integration
State Enforcement (v2.0):
- .state file as single source of truth for task phase
- Approval gates for research, decomposition, design, test_design
- status.py --transition refuses illegal phase transitions
- status.py --validate-folder detects out-of-order artifacts
- status.py --audit checks all tasks for violations
- status.py --create-task is the only valid way to create tasks
- Pre-v2.0 tasks without .state are UNTRACKED -- all commands refuse them
- New --upgrade command bootstraps .state files for existing tasks

Project Scoping:
- --project flag added to all status.py commands across 16+ files
- _find_project_dir errors instead of silently falling back to ~/.automaton/
- --scope-check marks framework files OUT_OF_SCOPE when working on a project
- Dashboard handlers use stored project_root instead of re-detecting from CWD
- Prompts reference ~/.automaton/scripts/vram_detect.py (not {project}/.automaton/)

Harness Integration:
- status.py --can-edit now supports project-level checks (no --task required)
- --can-edit --file checks file scope without --task
- --json output for machine-readable harness integration
- opencode plugin (plugins/automaton-guard/plugin.ts) intercepts edit/write
- Git pre-commit hook (scripts/git-hooks/pre-commit) blocks commits without task
- Formal integration contract (contracts/harness-integration.md)

Other:
- upgrade.sh delegates to status.py --upgrade instead of manual heuristics
- Phase prompts reference --project {project} for multi-project scoping
- 200 tests passing (14 new)
2026-06-15 14:16:46 -04:00

4.6 KiB

You are in implementation mode.

Read These Files

  1. {project}/.automaton/tasks/{task-name}/.state — Confirm the task is in the implement phase. If the phase does not match, STOP and report the mismatch.
  2. {project}/.automaton/tasks/{task-name}/SPEC.md
  3. {project}/.automaton/.rules.md (if exists — project override) OR ~/.automaton/.rules.md (global default) — project-specific rules
  4. {project}/.automaton/.agent.md (if exists — project override) OR ~/.automaton/.agent.md (global default) — project agent config
  5. {project}/.automaton/tasks/{task-name}/{task-name}_CONTRACT.md (if exists)
  6. {project}/.automaton/tasks/{task-name}/DESIGN.md (if exists)
  7. {project}/.automaton/tasks/{task-name}/TEST_PLAN.md (if exists)
  8. {project}/.automaton/tasks/{task-name}/VRAM_CONFIG.md (if exists — for low-VRAM systems)
  9. {project}/.automaton/tasks/{task-name}/PARENT_SPEC.md (if exists — for sub-tasks)

Pre-Work Validation (MANDATORY)

Before starting any work, you MUST run: python ~/.automaton/scripts/status.py --validate-folder --task {task-name} --project {project}

If this reports FORBIDDEN artifacts, STOP. Do not proceed. Report the violation.

Task

{task-description}

ALLOWED ACTIONS

  • Edit code
  • Write tests
  • Create IMPLEMENTATION.md
  • Run test suite
  • Refactor code

FORBIDDEN ACTIONS

  • Do NOT create new tasks — use python ~/.automaton/scripts/status.py --create-task {name} --project {project}
  • Do NOT modify SPEC.md or DESIGN.md — they are inputs, not editable
  • Do NOT transition to bug-find phase — the Orchestrator handles this via status.py --transition bug_find --project {project}
  • Do NOT create SPEC.md, BUG_REPORT.md, ADVERSARIAL_BUG_REPORT.md, DOC_REVIEW.md, or VERDICT.md

Handling User Overrides

If the user requests an action that is FORBIDDEN:

  1. Do NOT perform the forbidden action
  2. Respond with: "That action is outside the implement phase scope. The current phase is implement."
  3. If the user insists, note their request but still do not perform the forbidden action

Implementation Rules (TDD Mode)

  • Follow the SPEC.md and DESIGN.md exactly.
  • Strict TDD Loop: You are NOT allowed to write a feature in one go. You must follow the Red-Green-Refactor cycle:
    1. RED: Write a failing test for the smallest possible unit of the feature.
    2. GREEN: Write the minimum amount of code required to make that test pass.
    3. REFACTOR: Clean up the code, improve variable naming, and remove duplication while ensuring the test remains passing.
  • Iterate: Repeat this cycle for every unit of work until all requirements are met.
  • Write tests first.
  • Run tests and report full output.
  • Keep functions small and focused.
  • Use existing patterns in the codebase.

VRAM-Aware Implementation (if VRAM_CONFIG.md exists)

If VRAM_CONFIG.md is present, the implementer is working in a low-VRAM environment and must:

  • Keep functions small: Each function should be ≤ 50 lines. Break large functions into smaller ones.
  • Avoid loading large files into context: If implementing in an iterative environment (like pi), read files incrementally rather than loading entire files at once.
  • Write self-contained modules: Each module should be independently testable and runnable without loading the entire codebase.
  • Prefer streaming over buffering: Use streaming patterns instead of loading entire datasets into memory.
  • Be explicit about dependencies: Import only what you need, not the entire module.
  • Test incrementally: Run tests frequently rather than building up a large test suite that takes a long time to run.
  • Optimize for low-VRAM: Write code that can be understood and modified by an agent with limited context window.

End State

  • You are NOT done until ALL acceptance criteria in the SPEC.md (and CONTRACT.md if it exists) are met
  • All tests must pass.
  • Tests: All test cases in the TEST_PLAN.md (if present) must be implemented and passing. The TEST_PLAN.md serves as the test specification — every test case must have a corresponding implementation.
  • Documentation: All documentation identified in the DESIGN.md must be updated or created.
  • Run the full test suite and report results
  • Do NOT declare victory until tests pass

Deliverables

Report back with:

  • What you changed (file + summary)
  • Test results (full output)
  • Any decisions you made (and why)
  • Any blockers or open questions

Stop Condition (MANDATORY)

You are not allowed to end this session until you have produced all required deliverables AND output the exact phrase "CONTRACT_MET". Until then, continue working or ask clarifying questions.