Skip to content

Filesystem Layout ​

This page documents the filesystem structure inside the Docker containers.

Container Filesystem ​

PathModePurpose
/dataRead-onlyProject source files (mounted from host)
/artefactsRead-writeAll writable state and outputs
/config/system_prompt.mdRead-onlyDomain-specific system prompt
/appRead-onlyApplication code (baked into image)
/tmptmpfsTemporary files (noexec, nosuid, nodev)
/runtmpfsRuntime ephemeral storage
/opt/venvRead-onlyPython virtual environment (workers only)

/data — Project Files ​

The project data directory is mounted read-only from the host. For the Karavanke project, the structure is:

/data/
└── PID_Karavanke/
    ├── A-01_Zbirni načrt/           # Master index
    │   └── 1. Obrazci/              # Title pages, index PDFs
    ├── B-01_Predor - finalna dela/  # Tunnel final works
    │   ├── 00_Tekst/                # Specifications, kampada registry (Excel)
    │   ├── 01_Situacije/            # Site plans (PDF, DWG)
    │   ├── 02_Vzdolžni prerezi/     # Longitudinal sections
    │   ├── 03_Prečni prerezi/       # Cross sections
    │   ├── 04_Detajli/              # Detail drawings
    │   ├── 05_Armaturni načrti/     # Reinforcement plans
    │   ├── 06_Opažni načrt/         # Formwork plans
    │   └── IFC/                     # BIM models
    ├── B-02_Predor - izkop in podpiranje/  # Excavation & support
    ├── B-03_Portalna zgradba - arhitektura/
    ├── B-04_Portalna zgradba - gradbene konstrukcije/
    ├── C-01_Načrt krajinske arhitekture/
    ├── C-02_Lokacije vtočkov izkopanega materiala/
    └── C-0x_...                     # Additional disciplines

Key Files ​

FileLocationDescription
Kampada RegistryB-01_Predor - finalna dela/00_Tekst/251114_ListaKampad_Elea_zaklenjeno.xlsx640 kampadas, 69 columns, 7 sheets
Attribute CodebookB-01_Predor - finalna dela/00_Tekst/KAR_Kodna_knjiga_atributov_v2.9.xlsx592 element types + 67 enumerations
Model InventoryB-01_Predor - finalna dela/IFC/Seznam_modelov_BIM_PID.xlsx177 IFC models

/artefacts — Writable State ​

All writable state is under the artefacts directory:

/artefacts/
├── state/
│   ├── auth.db                    # User authentication database
│   ├── session_registry.db        # Session slot manager database
│   └── home/
│       └── .claude/
│           ├── .credentials.json  # Anthropic credentials
│           └── projects/          # Conversation state per project
├── sessions/
│   ├── <session-key-1>/          # Session 1 outputs
│   │   ├── betonske_plosce_volumni.csv
│   │   └── ...
│   ├── <session-key-2>/          # Session 2 outputs
│   └── pending/                  # Provisioned but not yet bound
├── conversations/
│   └── export/                   # Exported conversation data
└── logs/
    └── *.jsonl                   # Transcript logs

Session Artefacts ​

Each session gets an isolated output directory. Files generated by the agent (CSV exports, summaries, analysis results) are saved here and accessible through the web UI's file browser.

/config — Configuration ​

/config/
└── system_prompt.md              # Domain knowledge and agent behavior rules

The system prompt is mounted read-only and reloaded on each query. Edit the file on the host to update agent behavior without restarting.

Volume Mounts Summary ​

yaml
# docker-compose.yml volume mapping
volumes:
  # Project data — read-only
  - "${DATA_PATH:-../data}:/data:ro"

  # Writable state and outputs
  - "${ARTEFACTS_PATH:-./artefacts}:/artefacts"

  # System prompt — read-only
  - "${SYSTEM_PROMPT_PATH:-./config/system_prompt.md}:/config/system_prompt.md:ro"