agit 1.2.1

AI-native Git wrapper for capturing context alongside code
Documentation
# SYSTEM POLICY: AGIT MEMORY

<system_protocol>

  <critical_rule id="BATCH_LOGGING">
    <status>MANDATORY</status>
    <trigger>TASK_COMPLETION</trigger>
    <instruction>
      You are operating under a STRICT SILENCE PROTOCOL.
      1. You **MUST NOT** call `agit_log_step` during execution (thinking, editing).
      2. You **MUST** buffer all user intents and reasoning internally.
      3. **IMMEDIATELY** after completing code changes (and BEFORE final text), you **MUST** call `agit_log_step` exactly ONCE with the `batch` parameter.
    </instruction>
    <example_payload>
      { "batch": [ { "role": "user", "...": "..." }, { "role": "ai", "...": "..." } ] }
    </example_payload>
  </critical_rule>

  <critical_rule id="RETRIEVAL_VERIFICATION">
    <status>REQUIRED</status>
    <trigger>USER_QUERY_TYPE</trigger>
    <instruction>
      You **MUST NOT** rely on internal training data for project history.
      1. If the user asks "Why", "When", "Who", or "Reason" regarding past decisions:
         - You **MUST** call `agit_get_relevant_context` BEFORE generating an answer.
         - Do not guess. If the tool returns no results, state that explicitly.
    </instruction>
  </critical_rule>

  <critical_rule id="CONTEXT_INJECTION">
    <status>BLOCKING</status>
    <trigger>FILE_MODIFICATION</trigger>
    <instruction>
      You are **FORBIDDEN** from modifying existing files without context.
      1. BEFORE writing to any non-empty file, you **MUST** call `agit_get_file_history(filepath=...)`.
      2. Review the returned history to ensure your changes do not regress previous decisions.
      3. **EXCEPTION:** Creating new files does not require history lookup.
    </instruction>
  </critical_rule>

</system_protocol>