Files

195 lines
19 KiB
Plaintext

1|<mxfile host="Electron">
2| <diagram name="Workflow - Modelo Organizacao" id="elohOo-F_ihNlNyifD_3">
3| <mxGraphModel dx="1178" dy="733" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="960" math="0" shadow="0">
4| <root>
5| <mxCell id="0" />
6| <mxCell id="1" parent="0" />
7| <mxCell id="3" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fontStyle=1;fontFamily=Helvetica;fontColor=#FBBF24;" value="F1: Iniciação de Projecto" vertex="1">
8| <mxGeometry height="30" width="280" x="60" y="30" as="geometry" />
9| </mxCell>
10| <mxCell id="4" parent="1" style="rounded=1;arcSize=12;fillColor=none;strokeColor=#FBBF24;strokeWidth=1;dashed=1;dashPattern=8 4;fontFamily=Helvetica;" value="" vertex="1">
11| <mxGeometry height="130" width="920" x="40" y="20" as="geometry" />
12| </mxCell>
13| <mxCell id="5" parent="1" style="rounded=1;arcSize=8;fillColor=#1E293B;strokeColor=#94A3B8;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="Novo Projecto" vertex="1">
14| <mxGeometry height="50" width="110" x="60" y="65" as="geometry" />
15| </mxCell>
16| <mxCell id="6" parent="1" style="rounded=1;arcSize=8;fillColor=#082B44;strokeColor=#22D3EE;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="desk.project + AGENTS.md" vertex="1">
17| <mxGeometry height="50" width="130" x="220" y="65" as="geometry" />
18| </mxCell>
19| <mxCell id="7" parent="1" style="rounded=1;arcSize=8;fillColor=#082B44;strokeColor=#22D3EE;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="docs/PLANS/ + docs/SPECS/" vertex="1">
20| <mxGeometry height="50" width="140" x="400" y="65" as="geometry" />
21| </mxCell>
22| <mxCell id="8" parent="1" style="rounded=1;arcSize=8;fillColor=#2D0A13;strokeColor=#FB7185;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;dashed=1;dashPattern=4 3;" value="validate-structure.sh" vertex="1">
23| <mxGeometry height="56" width="140" x="590" y="62" as="geometry" />
24| </mxCell>
25| <mxCell id="9" parent="1" style="rounded=1;arcSize=8;fillColor=#0A4E3B;strokeColor=#34D399;fontColor=#FFFFFF;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="CONFORME" vertex="1">
26| <mxGeometry height="50" width="110" x="790" y="65" as="geometry" />
27| </mxCell>
28| <mxCell id="10" edge="1" parent="1" source="5" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="6" value="">
29| <mxGeometry relative="1" as="geometry" />
30| </mxCell>
31| <mxCell id="11" edge="1" parent="1" source="6" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="7" value="">
32| <mxGeometry relative="1" as="geometry" />
33| </mxCell>
34| <mxCell id="12" edge="1" parent="1" source="7" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="8" value="">
35| <mxGeometry relative="1" as="geometry" />
36| </mxCell>
37| <mxCell id="13" edge="1" parent="1" source="8" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="9" value="">
38| <mxGeometry relative="1" as="geometry" />
39| </mxCell>
40| <mxCell id="14" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=8;fontFamily=Helvetica;fontColor=#FB7185;" value="FALHA" vertex="1">
41| <mxGeometry height="16" width="60" x="630" y="128" as="geometry" />
42| </mxCell>
43| <mxCell id="15" edge="1" parent="1" source="8" style="endArrow=classic;endFill=1;strokeColor=#FB7185;strokeWidth=1;rounded=1;dashed=1;dashPattern=4 3;exitX=0.5;exitY=1;entryX=0.5;entryY=1;" target="6" value="">
44| <mxGeometry relative="1" as="geometry" />
45| </mxCell>
46| <mxCell id="16" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fontStyle=1;fontFamily=Helvetica;fontColor=#34D399;" value="F2: Sessão de Trabalho (PDCA)" vertex="1">
47| <mxGeometry height="30" width="340" x="60" y="180" as="geometry" />
48| </mxCell>
49| <mxCell id="17" parent="1" style="rounded=1;arcSize=12;fillColor=none;strokeColor=#34D399;strokeWidth=1;dashed=1;dashPattern=8 4;fontFamily=Helvetica;" value="" vertex="1">
50| <mxGeometry height="160" width="920" x="40" y="170" as="geometry" />
51| </mxCell>
52| <mxCell id="18" parent="1" style="rounded=1;arcSize=8;fillColor=#082B44;strokeColor=#22D3EE;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="1. PLAN&#xa;Carregar contexto AGENTS.md&#xa;+ MEMORY.md + CARL" vertex="1">
53| <mxGeometry height="60" width="150" x="60" y="220" as="geometry" />
54| </mxCell>
55| <mxCell id="19" parent="1" style="rounded=1;arcSize=8;fillColor=#0A4E3B;strokeColor=#34D399;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="2. DO&#xa;Executar MCPs&#xa;Procurar dados reais" vertex="1">
56| <mxGeometry height="60" width="140" x="260" y="220" as="geometry" />
57| </mxCell>
58| <mxCell id="20" parent="1" style="rounded=1;arcSize=8;fillColor=#2D0A13;strokeColor=#FB7185;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;dashed=1;dashPattern=4 3;" value="3. CHECK&#xa;validate-structure.sh&#xa;Testes / Quality Gate" vertex="1">
59| <mxGeometry height="64" width="150" x="450" y="218" as="geometry" />
60| </mxCell>
61| <mxCell id="21" parent="1" style="rounded=1;arcSize=8;fillColor=#4C1D95;strokeColor=#A78BFA;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="4. ACT&#xa;REGISTAR MEMORY.md&#xa;+ CRM" vertex="1">
62| <mxGeometry height="60" width="140" x="660" y="220" as="geometry" />
63| </mxCell>
64| <mxCell id="22" parent="1" style="ellipse;fillColor=#0A4E3B;strokeColor=#34D399;fontColor=#34D399;fontSize=12;fontStyle=1;fontFamily=Helvetica;" value="OK" vertex="1">
65| <mxGeometry height="40" width="46" x="850" y="230" as="geometry" />
66| </mxCell>
67| <mxCell id="23" edge="1" parent="1" source="18" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="19" value="">
68| <mxGeometry relative="1" as="geometry" />
69| </mxCell>
70| <mxCell id="24" edge="1" parent="1" source="19" style="endArrow=classic;endFill=1;strokeColor=#34D399;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="20" value="">
71| <mxGeometry relative="1" as="geometry" />
72| </mxCell>
73| <mxCell id="25" edge="1" parent="1" source="20" style="endArrow=classic;endFill=1;strokeColor=#FB7185;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="21" value="">
74| <mxGeometry relative="1" as="geometry" />
75| </mxCell>
76| <mxCell id="26" edge="1" parent="1" source="21" style="endArrow=classic;endFill=1;strokeColor=#A78BFA;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="22" value="">
77| <mxGeometry relative="1" as="geometry" />
78| </mxCell>
79| <mxCell id="27" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=8;fontFamily=Helvetica;fontColor=#FB7185;" value="FALHA — corrigir" vertex="1">
80| <mxGeometry height="16" width="100" x="490" y="300" as="geometry" />
81| </mxCell>
82| <mxCell id="28" edge="1" parent="1" source="20" style="endArrow=classic;endFill=1;strokeColor=#FB7185;strokeWidth=1;rounded=1;dashed=1;dashPattern=4 3;exitX=0.5;exitY=1;entryX=0.5;entryY=1;" target="19" value="">
83| <mxGeometry relative="1" as="geometry" />
84| </mxCell>
85| <mxCell id="29" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fontStyle=1;fontFamily=Helvetica;fontColor=#A78BFA;" value="F3: Separação de Responsabilidades" vertex="1">
86| <mxGeometry height="30" width="340" x="60" y="370" as="geometry" />
87| </mxCell>
88| <mxCell id="30" parent="1" style="rounded=1;arcSize=12;fillColor=none;strokeColor=#A78BFA;strokeWidth=1;dashed=1;dashPattern=8 4;fontFamily=Helvetica;" value="" vertex="1">
89| <mxGeometry height="160" width="920" x="40" y="360" as="geometry" />
90| </mxCell>
91| <mxCell id="31" parent="1" style="rounded=1;arcSize=6;fillColor=#881337;strokeColor=#FB7185;fontColor=#FB7185;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="DESK CRM" vertex="1">
92| <mxGeometry height="24" width="260" x="60" y="400" as="geometry" />
93| </mxCell>
94| <mxCell id="32" parent="1" style="rounded=1;arcSize=6;fillColor=#1A0A0E;strokeColor=#FB7185;fontColor=#94A3B8;fontSize=8;fontFamily=Helvetica;align=left;verticalAlign=top;whiteSpace=wrap;" value=" Contentor de Tempo e Custos • Task Master (poucas, por projecto) • Timer — registo de horas • Comentários — visibilidade" vertex="1">
95| <mxGeometry height="80" width="260" x="60" y="424" as="geometry" />
96| </mxCell>
97| <mxCell id="33" parent="1" style="rounded=1;arcSize=6;fillColor=#0A4E3B;strokeColor=#34D399;fontColor=#34D399;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="GITEA / REPO" vertex="1">
98| <mxGeometry height="24" width="260" x="370" y="400" as="geometry" />
99| </mxCell>
100| <mxCell id="34" parent="1" style="rounded=1;arcSize=6;fillColor=#0A1F0F;strokeColor=#34D399;fontColor=#94A3B8;fontSize=8;fontFamily=Helvetica;align=left;verticalAlign=top;whiteSpace=wrap;" value=" Oficina Técnica • Código, branches, PRs • Issues — detalhe técnico • Milestones + CI/CD" vertex="1">
101| <mxGeometry height="80" width="260" x="370" y="424" as="geometry" />
102| </mxCell>
103| <mxCell id="35" parent="1" style="rounded=1;arcSize=6;fillColor=#3D2800;strokeColor=#FBBF24;fontColor=#FBBF24;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="HUB OBSIDIAN 06-Operacoes/" vertex="1">
104| <mxGeometry height="24" width="260" x="680" y="400" as="geometry" />
105| </mxCell>
106| <mxCell id="36" parent="1" style="rounded=1;arcSize=6;fillColor=#0F2D0A;strokeColor=#FBBF24;fontColor=#94A3B8;fontSize=8;fontFamily=Helvetica;align=left;verticalAlign=top;whiteSpace=wrap;" value=" Fonte de Verdade Centralizada • Procedimentos (PROC-*) • Quick References (QR-*) • Runbooks — troubleshooting" vertex="1">
107| <mxGeometry height="80" width="260" x="680" y="424" as="geometry" />
108| </mxCell>
109| <mxCell id="37" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fontStyle=1;fontFamily=Helvetica;fontColor=#FB7185;" value="F4: Ecossistema de Governança" vertex="1">
110| <mxGeometry height="30" width="300" x="60" y="560" as="geometry" />
111| </mxCell>
112| <mxCell id="38" parent="1" style="rounded=1;arcSize=12;fillColor=none;strokeColor=#FB7185;strokeWidth=1;dashed=1;dashPattern=8 4;fontFamily=Helvetica;" value="" vertex="1">
113| <mxGeometry height="150" width="920" x="40" y="550" as="geometry" />
114| </mxCell>
115| <mxCell id="39" parent="1" style="rounded=1;arcSize=8;fillColor=#4C1D95;strokeColor=#A78BFA;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="CARL MODELO-ORGANIZACAO" vertex="1">
116| <mxGeometry height="50" width="160" x="60" y="600" as="geometry" />
117| </mxCell>
118| <mxCell id="40" parent="1" style="rounded=1;arcSize=8;fillColor=#082B44;strokeColor=#22D3EE;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="ESTRUTURA.md" vertex="1">
119| <mxGeometry height="50" width="140" x="270" y="600" as="geometry" />
120| </mxCell>
121| <mxCell id="41" parent="1" style="rounded=1;arcSize=8;fillColor=#082B44;strokeColor=#22D3EE;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="AGENTS.md" vertex="1">
122| <mxGeometry height="50" width="130" x="460" y="600" as="geometry" />
123| </mxCell>
124| <mxCell id="42" parent="1" style="rounded=1;arcSize=8;fillColor=#2D0A13;strokeColor=#FB7185;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;dashed=1;dashPattern=4 3;" value="validate-structure.sh" vertex="1">
125| <mxGeometry height="54" width="140" x="640" y="598" as="geometry" />
126| </mxCell>
127| <mxCell id="43" parent="1" style="rounded=1;arcSize=8;fillColor=#0A4E3B;strokeColor=#34D399;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" value="MEMORY.md" vertex="1">
128| <mxGeometry height="50" width="110" x="830" y="600" as="geometry" />
129| </mxCell>
130| <mxCell id="44" edge="1" parent="1" source="39" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="40" value="">
131| <mxGeometry relative="1" as="geometry" />
132| </mxCell>
133| <mxCell id="45" edge="1" parent="1" source="40" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="41" value="">
134| <mxGeometry relative="1" as="geometry" />
135| </mxCell>
136| <mxCell id="46" edge="1" parent="1" source="41" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="42" value="">
137| <mxGeometry relative="1" as="geometry" />
138| </mxCell>
139| <mxCell id="47" edge="1" parent="1" source="42" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="43" value="">
140| <mxGeometry relative="1" as="geometry" />
141| </mxCell>
142| <mxCell id="48" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=8;fontFamily=Helvetica;fontColor=#FB7185;" value="AGENTS.md referencia CARL" vertex="1">
143| <mxGeometry height="16" width="140" x="510" y="665" as="geometry" />
144| </mxCell>
145| <mxCell id="49" edge="1" parent="1" source="41" style="endArrow=classic;endFill=1;strokeColor=#FB7185;strokeWidth=1;rounded=1;dashed=1;dashPattern=4 3;exitX=0.5;exitY=1;entryX=0.5;entryY=1;" target="39" value="">
146| <mxGeometry relative="1" as="geometry" />
147| </mxCell>
148| <!-- ===== SECTION 5: DEPLOY ===== -->
<mxCell id="50" value="F5: Deploy para Produção" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fontStyle=1;fontFamily=Helvetica;fontColor=#34D399;" vertex="1" parent="1">
<mxGeometry x="60" y="730" width="300" height="30" as="geometry"/>
</mxCell>
<mxCell id="51" value="" style="rounded=1;arcSize=12;fillColor=none;strokeColor=#34D399;strokeWidth=1;dashed=1;dashPattern=8 4;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="40" y="720" width="920" height="150" as="geometry"/>
</mxCell>
<mxCell id="52" value="Feature Branch" style="rounded=1;arcSize=8;fillColor=#1E293B;strokeColor=#94A3B8;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="60" y="760" width="100" height="50" as="geometry"/>
</mxCell>
<mxCell id="53" value="CI (lint + testes + segurança)" style="rounded=1;arcSize=8;fillColor=#082B44;strokeColor=#22D3EE;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="210" y="760" width="130" height="50" as="geometry"/>
</mxCell>
<mxCell id="54" value="" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="52" target="53">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="55" value="PR → Merge (branch protection)" style="rounded=1;arcSize=8;fillColor=#082B44;strokeColor=#22D3EE;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="390" y="760" width="150" height="50" as="geometry"/>
</mxCell>
<mxCell id="56" value="" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="53" target="55">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="57" value="Deploy Automático" style="rounded=1;arcSize=8;fillColor=#0A4E3B;strokeColor=#34D399;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="590" y="760" width="120" height="50" as="geometry"/>
</mxCell>
<mxCell id="58" value="" style="endArrow=classic;endFill=1;strokeColor=#22D3EE;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="55" target="57">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="59" value="Validar + Smoke Tests" style="rounded=1;arcSize=8;fillColor=#2D0A13;strokeColor=#FB7185;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;dashed=1;dashPattern=4 3;" vertex="1" parent="1">
<mxGeometry x="760" y="758" width="150" height="54" as="geometry"/>
</mxCell>
<mxCell id="60" value="" style="endArrow=classic;endFill=1;strokeColor=#34D399;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="57" target="59">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="61" value="Deploy Guard (CI verde)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=8;fontFamily=Helvetica;fontColor=#FB7185;" vertex="1" parent="1">
<mxGeometry x="430" y="830" width="140" height="16" as="geometry"/>
</mxCell>
<mxCell id="62" value="REGRA: nunca deployar sobre CI vermelho" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=8;fontStyle=2;fontFamily=Helvetica;fontColor=#FB7185;" vertex="1" parent="1">
<mxGeometry x="630" y="830" width="200" height="16" as="geometry"/>
</mxCell>
<mxCell id="63" value="Rollback Plan" style="rounded=1;arcSize=8;fillColor=#4C1D95;strokeColor=#A78BFA;fontColor=#FFFFFF;fontSize=9;fontStyle=1;fontFamily=Helvetica;" vertex="1" parent="1">
<mxGeometry x="60" y="830" width="120" height="24" as="geometry"/>
</mxCell>
</root>
149| </mxGraphModel>
150| </diagram>
151|</mxfile>
152|