# PURPOSE

This document describes how documentation in this folder should be organized and supersedes any other instructions.

# FOLDERS

## ARCHITECTURE

The architecture folder should contain documentation reflecting the current design of the system and should be updated at the end of each release to ensure it is current.

## DECISIONS

This folder contains any architectural decisions, documented as ADRs.

- Format: `ADR-NNN-brief-title.md` (numbered sequentially)
- Create an ADR when making architectural decisions, choosing between technical approaches, or establishing patterns

## DESIGN

This folder is used by the architect to document implementation designs to be handed off to the developer. These designs should be sorted into subfolders reflecting the semantic version number of the release in question (e.g., `v1.0.0/`, `v1.1.1/`).

All developer interaction belongs in the appropriate version subfolder:
- Implementation designs and specifications
- Developer questions to the architect
- Architect responses
- Implementation reports (format: `YYYY-MM-DD-description.md`)
- Implementation reviews

## PROJECTPLAN

This folder contains documents relating to the future state of the project. There should be a single BACKLOG.md file that lists future features by priority as well as bugs (which are assumed to be high priority). Items in this file can have one of the following priorities:

- Critical - Items that break existing functionality
- High
- Medium
- Low

In addition to the backlog file each version should have a folder named for its semantic version with a RELEASE.md file which lists the features and bugs to be addressed in that release.

## STANDARDS

Includes any standards written by the architect that the developer needs to reference during development. Any deprecated standards should be moved to the DEPRECATED subfolder when appropriate.

# WHERE TO FIND DOCUMENTATION

- **Before implementing a feature**: Check `decisions/` for relevant ADRs and `design/{version}/` for specifications
- **Understanding system architecture**: Start with `architecture/`
- **Coding guidelines**: See `standards/`
- **Past implementation context**: Review `design/{version}/` for similar work
- **Project roadmap and scope**: Refer to `projectplan/`

# KEY REFERENCES

- **Architecture**: `architecture/`
- **Coding Standards**: `standards/python-coding-standards.md`
- **Testing**: `standards/testing-checklist.md`
- **Project Backlog**: `projectplan/BACKLOG.md`
