# Timestamp: "2025-08-27 13:27:09 (ywatanabe)"
# File: /home/ywatanabe/proj/semantic-search-engine/mgmt/USER_PHILOSOPHY/04_ARCHITECTURE_PREDEFINED.org

* Agreed Architecture

#+BEGIN_SRC text
* External Data Storage
** Confiurations
- =config/= - Configuration YAML files

** Project Data
- =data/= - Project data files (datasets, sample data); gitignored
  
** Documentaitons
- =docs/= - Documentations for users in general
- =docs/to_claude= - Guidelines for Claude Code
- =docs/from_user= - User messages
- =docs/from_agents= - Agents can write any documents here

** Minimal Experiments
- =.dev/= - Development sandbox for miniature tests; gitignored
- But not included in final product
- Need to incorporate successful code into `src` for permanent use

** Examples
- =examples/= - For most important usages in the project
- Use =ipynb= is a better practice for rendering in GitHub
- But the user is not a notebook person but more of a person with =.py= scripts

** Makefile
- install, test-changed, test-full, coverage-html, ci-container, ci-act, ci-local,
  lint, clean, build, upload-pypi-test, upload-pypi, release, and so on
  
** Project Management Derectory
- =mgmt= for searchability
- =mgmt/00_PROJECT_DESCRIPTION_v01.org= 
- =mgmt/01_ARCHITECTURE_v01.org= 
- =mgmt/99_BULLETIN_BOARD_v01.org=
- =mgmt/AGENTS= - Agents difenitions
- =mgmt/USERPHILOSOPHY= - Compliance to follow
- =mgmt/test_results/= - Symlink to =tests/reports/=
  - =ci_container_report.json=
  - =test_report.json= - Test execution results
  - =coverage.json= - Coverage data
  - =htmlcov/= - HTML coverage reports

** pyproject.toml
No need to conventional files such as =setup.py=, =requirements.txt=, =MANIFEST.in=

** Test code
**Test files for source code**
- =tests/package-name/test_public_function_name.py=
- =tests/package-name/test__private_function_name.py=  
- =tests/package-name/test_PublicClassName.py=
- =tests/package-name/test__PrivateClassName.py=
  
**Test files except for source code**
- =tests/custom/=
  
**Scripts for running GitHub actions locally**
- =tests/github_actions/=

**Test Results Summary**
- =tests/reports/= - Natural location for test outputs
#+END_SRC

