Multimodal fusion research on StripNet+GTA-UAV proxy: - 3 independent fusion tracks: condition-aware (A), token/bottleneck (B), role-aware (C) - Shared interfaces, protocol, dataset audit, baseline benchmarks - Canonical version-chain references to vault (SPEC, ANALYSIS, TRIAGE) - Personalized task plans and decision tables for each researcher - 3 generated DOCX task assignment files with milestones and DoD checklist - Full modality dropout diagnostics and missing-modality robustness requirements - Data contract, benchmark registry, experiment tracking infrastructure Operational documents: - docs/00_project/: MERIDIAN context, protocol, repository reuse guide, experiment specification - docs/01_tasks/: Master assignment + 3 individual researcher tracks + joint integration - docs/02_references/: Core literature, version-chain bases, code maps - docs/03_codebase_guides/: Existing code snapshots from vault - scripts/: gen_task_plans.js (DOCX generation), placeholder infrastructure - vendor_reference/: Snapshots of caption_test, depth_edges_annotate, existing SOFIA/SegModel code - reports/, results/, experiments/: Shared output structure for all 3 researchers 3 DOCX files generated from gen_task_plans.js (Times New Roman 14pt, GOST format): - План_заданий_Павленко_БВ.docx (Condition-Aware track, fusion API owner) - План_заданий_Близно_МВ.docx (Token/Bottleneck track, benchmark owner) - План_заданий_Мороз_ЕС.docx (Role-Aware track, data contract owner) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
69 lines
4.0 KiB
Markdown
69 lines
4.0 KiB
Markdown
# AGENTS.md
|
||
|
||
## Проект
|
||
|
||
Задача проекта: объединить RGB, text, segmentation и geometry для cross-view geo-localization на GTA-UAV-LR с backbone StripNet-small.
|
||
|
||
## Инварианты
|
||
|
||
- Документация и отчёты пишутся на русском языке.
|
||
- Код, имена сущностей, type hints, docstrings и комментарии пишутся на английском языке.
|
||
- Python 3.10+, PyTorch 2.x, gin-config.
|
||
- Первая строка каждого Python-файла: `from __future__ import annotations`.
|
||
- Все публичные функции и классы имеют type hints и Google-style docstrings.
|
||
- Конфигурация экспериментов хранится в `in/config_files/`; не добавлять `argparse`.
|
||
- В коде не хардкодить пути к GTA-UAV, весам и output directories.
|
||
- Все экспериментальные записи должны содержать config snapshot, git commit, seed и метрики.
|
||
- Все тензорные преобразования в fusion-модулях документируются формами.
|
||
- Сравнения оформляются таблицами.
|
||
|
||
## Архитектурный контракт
|
||
|
||
- Backbone: shared StripNet-small.
|
||
- Stage channels: `[64, 128, 320, 512]`.
|
||
- Stage maps при входе 256: `[64x64, 32x32, 16x16, 8x8]`.
|
||
- Satellite geometry: CHM.
|
||
- UAV geometry: relative depth.
|
||
- Segmentation: 17 unified classes.
|
||
- Output каждой view-ветки: L2-нормированный descriptor `[B, 1024]`.
|
||
- Satellite и UAV кодируются независимо.
|
||
- Cross-view взаимодействие внутри encoder запрещено.
|
||
|
||
## Совместная работа
|
||
|
||
- Общие интерфейсы меняются только через совместное решение всех трёх сотрудников.
|
||
- Каждый fusion-вариант реализует общий API из `src/fuse_proj/models/fusion/base.py`.
|
||
- Feature branches:
|
||
- `feature/pavlenko-condition-aware`
|
||
- `feature/blizno-token-bottleneck`
|
||
- `feature/moroz-role-aware`
|
||
- `integration/fusion-benchmark`
|
||
- Обязательные взаимные ревью:
|
||
- Павленко ревьюит код Близно.
|
||
- Близно ревьюит код Мороза.
|
||
- Мороз ревьюит код Павленко.
|
||
- Нельзя создавать отдельный dataloader, loss или eval protocol для одного варианта без согласованного общего изменения.
|
||
|
||
## Документация
|
||
|
||
- Контекст системы: `docs/00_project/06_MERIDIAN_CONTEXT.md`.
|
||
- Канонические reference-документы ведутся цепочками версий: полная база в `docs/02_references/**/_version_chain/`, актуальная дельта в корне тематической папки. Читать цепочкой; при противоречии прав более поздний документ.
|
||
|
||
## Переиспользование
|
||
|
||
- `vendor_reference/` является read-only снимком.
|
||
- Источники переиспользуемого кода указаны в `docs/00_project/05_REPOSITORY_REUSE_GUIDE.md`.
|
||
- При переносе кода сохранять происхождение в module docstring.
|
||
- Не копировать датасет, веса и run outputs в git.
|
||
|
||
## Проверка перед merge
|
||
|
||
1. Unit tests проходят.
|
||
2. Shape tests проходят для batch sizes 1 и 4.
|
||
3. Выход finite и имеет форму `[B, 1024]`.
|
||
4. Норма descriptor близка к 1.
|
||
5. Satellite и UAV forward работают независимо.
|
||
6. Gin config сохраняется вместе с run.
|
||
7. Smoke run выполняется на малом subset.
|
||
8. Нет незадокументированных изменений общего protocol.
|