| # Markdown Capability Registry |
|
|
| This directory stores composable Markdown capability cards. A card is a small |
| human-readable configuration unit with YAML front matter and operational notes. |
|
|
| Cards are intentionally separated by concern: |
|
|
| - `elements/`: target feature or object type, such as green tide, ship, oil spill, sea ice. |
| - `satellites/`: satellite/platform assumptions. |
| - `sensors/`: sensor or product type assumptions. |
| - `resolutions/`: spatial-resolution policies. |
|
|
| Extraction and training jobs should compose the cards they need instead of using |
| a single fixed class list. For example: |
|
|
| ```powershell |
| python scripts/compose_task_profile.py ` |
| --element green_tide ` |
| --satellite GF6 ` |
| --sensor PMS ` |
| --resolution 2m ` |
| --output configs/profiles/gf6_green_tide_2m.json |
| ``` |
|
|
| For already fused GF6-like products, inject a fused product card: |
|
|
| ```powershell |
| python scripts/compose_task_profile.py ` |
| --element green_tide ` |
| --satellite GF6 ` |
| --sensor PMS ` |
| --fusion FUSED_OPTICAL ` |
| --resolution 2m ` |
| --output configs/profiles/gf6_green_tide_fused_2m.json |
| ``` |
|
|
| For raw PAN+MSS products where fusion should happen tile by tile during |
| inference, inject the streaming fusion card: |
|
|
| ```powershell |
| python scripts/compose_task_profile.py ` |
| --element green_tide ` |
| --satellite GF2 ` |
| --sensor PMS ` |
| --fusion STREAM_FUSION ` |
| --resolution 2m ` |
| --output configs/profiles/gf2_green_tide_stream_fusion_2m.json |
| ``` |
|
|
| ## Card Format |
|
|
| Each card starts with YAML front matter: |
|
|
| ```markdown |
| --- |
| id: green_tide |
| type: element |
| task_types: [semantic_segmentation] |
| preferred_heads: [validity, context, semantic_segmentation] |
| label_formats: [mask, polygon] |
| --- |
|
|
| # Green Tide |
|
|
| Human-readable notes, rules, constraints, and known failure modes. |
| ``` |
| |
| The front matter is parsed by `scripts/compose_task_profile.py`. The Markdown body |
| is kept in the output profile so that training/inference logs preserve the |
| reasoning and caveats behind the selected cards. |
| |
| ## Fused Image Expression |
| |
| Fused imagery is represented as a derived observation, not as a plain |
| multispectral image and not as a boolean flag. The selected profile and dataset |
| manifest must keep a `fusion` object with: |
| |
| - `state`: `none`, `fused_product`, `runtime_fusion`, or `unknown`. |
| - `method`: known method, implementation method, or `unknown_vendor_product`. |
| - `sources`: source roles and paths such as PAN and MSS. |
| - `target_resolution_m`: output grid resolution. |
| - `native_multispectral_resolution_m`: original multispectral resolution. |
| - `persisted`: whether the fused image exists on disk. |
| - `reproducible`: whether the source data and method can reproduce it. |
| - `spectral_preservation`: known or estimated spectral preservation risk. |
| |
| This keeps GF6 supplied fused rasters, GF1/GF2 tile-wise fusion, and future |
| fusion algorithms comparable without pretending they are identical inputs. |
| |
| ## Hard Constraint |
| |
| Do not assume coastline vectors, land-mask vectors, or external GIS layers are |
| available. If a task needs land, water, invalid, or cloud handling, it must be |
| expressed as context labels, hard-negative samples, validity rules, or model |
| heads. |
| |