diff --git a/bin/mosaic b/bin/mosaic index a86c948..771cc3d 100755 --- a/bin/mosaic +++ b/bin/mosaic @@ -169,6 +169,40 @@ EOF printf '\n\n# Runtime-Specific Contract\n\n' cat "$runtime_file" + + # Inject active mission context if present in CWD + local mission_file=".mosaic/orchestrator/mission.json" + if [[ -f "$mission_file" ]] && command -v jq &>/dev/null; then + local status + status="$(jq -r '.status // "inactive"' "$mission_file" 2>/dev/null)" + if [[ "$status" == "active" || "$status" == "paused" ]]; then + local m_name m_id m_count m_completed + m_name="$(jq -r '.name // "unnamed"' "$mission_file")" + m_id="$(jq -r '.mission_id // ""' "$mission_file")" + m_count="$(jq '.milestones | length' "$mission_file")" + m_completed="$(jq '[.milestones[] | select(.status == "completed")] | length' "$mission_file")" + + printf '\n\n# Active Mission Context\n\n' + cat <