# git_analysis/data — Behavioral Specification


**Version**: v0.1.0 | **Status**: Active | **Last Updated**: May 2026

## Purpose

Persistent output storage for `git_analysis` operations. Contains cached analysis
results and generated reports tracked in git as living documentation.

## File Schema

### `codomyrmex_description.md`

A Markdown document describing the codomyrmex repository. Generated by running
`git_analysis` tools against this repo. Contains:

- Module inventory (module name, path, description)
- Contributor statistics (author, commit count, first/last commit)
- Code churn summary (top changed files)
- Branch topology

Format: Markdown with tables. No binary content. UTF-8 encoding.

## Behavioral Constraints

1. **Tracked in git**: All files in `data/` are committed. Changes appear in `git diff`.

2. **No auto-generation on import**: The `git_analysis` module does not auto-write to
   `data/` during normal operation. Writes only occur when explicitly triggered.

3. **No binary content**: Only UTF-8 Markdown and JSON files. No `.db`, `.bin`,
   or graph database files.

4. **GitNexus graph data excluded**: The `.gitnexus/` KuzuDB graph is gitignored
   at the project root — it does NOT live in `data/`.

5. **Update frequency**: Update `codomyrmex_description.md` during documentation
   sprints, not on every analysis run.

## Retention Policy

| File | Retention | Update trigger |
|------|-----------|----------------|
| `codomyrmex_description.md` | Permanent (tracked) | Documentation sprint, major restructure |

## Anti-Patterns

- **Do not** commit raw git objects or pack files to this directory.
- **Do not** auto-commit analysis output from CI (causes noise in git history).
- **Do not** store session-specific or ephemeral analysis results here.
- **Do not** write files larger than 1MB (use external storage for large datasets).

## Navigation

- **Self**: `SPEC.md`
- **Parent**: [../README.md](../README.md)
- **Readme**: [README.md](README.md)
- **Agents**: [AGENTS.md](AGENTS.md)
- **Repository Root**: [README.md](../../../../README.md)
