@shiftleftpt/sbd-toe-mcp 0.20.0-beta.47 → 0.20.0-beta.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/consumed-bundle.json +14 -13
  2. package/data/entities/proportionality.json +3 -3
  3. package/data/entities/sdlc_integration.json +2192 -176
  4. package/data/publish/indexes/canonical_chunks.jsonl +4907 -4907
  5. package/data/publish/indexes/chunk_entity_mentions.jsonl +64 -4
  6. package/data/publish/indexes/chunk_relation_hints.jsonl +5 -0
  7. package/data/publish/indexes/cross_layer_referrals.jsonl +12 -0
  8. package/data/publish/indexes/mcp_chunks.jsonl +175 -175
  9. package/data/publish/indexes/publication_manifest.json +11 -11
  10. package/data/publish/ontology/declared-absences-ledger.yaml +15 -0
  11. package/data/publish/ontology/sbdtoe-ontology.yaml +55 -4
  12. package/data/publish/overlay/framework_overlay_index.json +10 -0
  13. package/data/publish/overlay/overlay_mappings.jsonl +12 -0
  14. package/data/publish/runtime/artifact_requirements.json +22 -3
  15. package/data/publish/runtime/artifacts.json +9 -4
  16. package/data/publish/runtime/assignments.json +8138 -5688
  17. package/data/publish/runtime/controls.json +2 -1
  18. package/data/publish/runtime/decision_involvements.json +349 -41
  19. package/data/publish/runtime/deterministic_manifest.json +6 -6
  20. package/data/publish/runtime/evidence_patterns.json +53 -2
  21. package/data/publish/runtime/phases.json +10 -7
  22. package/data/publish/runtime/requirement_control_links.json +40 -2
  23. package/data/publish/runtime/requirements.json +20 -1
  24. package/data/publish/runtime/roles.json +40 -0
  25. package/data/publish/runtime/user_stories.json +100 -49
  26. package/data/publish/runtime/v1/manual_maturity_progression.jsonl +336 -336
  27. package/data/publish/runtime/v1/manual_rastreabilidade.jsonl +1105 -1105
  28. package/data/publish/runtime/v1/manual_threat_mitigation.jsonl +523 -523
  29. package/data/publish/runtime/v1/v1_manifest.json +5 -5
  30. package/data/publish/semantic/antipattern_authored_links.jsonl +31 -0
  31. package/data/publish/semantic/macro_processes.jsonl +1 -1
  32. package/data/publish/semantic/mp_edges.jsonl +1 -1
  33. package/data/publish/semantic/requirement_source_coverage.jsonl +2 -1
  34. package/data/reports/run_manifest.json +9 -9
  35. package/dist/serving/authored-antipattern-links.d.ts +20 -0
  36. package/dist/serving/authored-antipattern-links.js +109 -0
  37. package/dist/serving/authored-antipattern-links.js.map +1 -0
  38. package/dist/serving/declared-absences.d.ts +32 -1
  39. package/dist/serving/declared-absences.js +60 -9
  40. package/dist/serving/declared-absences.js.map +1 -1
  41. package/dist/tools/explain-topic.js +14 -0
  42. package/dist/tools/explain-topic.js.map +1 -1
  43. package/dist/tools/get-guide-by-role.js +28 -7
  44. package/dist/tools/get-guide-by-role.js.map +1 -1
  45. package/dist/tools/ontology-loader.d.ts +4 -0
  46. package/dist/tools/ontology-loader.js +7 -0
  47. package/dist/tools/ontology-loader.js.map +1 -1
  48. package/package.json +3 -1
@@ -308,7 +308,7 @@
308
308
  "applicable_levels_provenance": {
309
309
  "min_link_confidence": 0.8,
310
310
  "mode": "derived",
311
- "n_links": 12,
311
+ "n_links": 13,
312
312
  "source_requirement_ids": [
313
313
  "CIC-001",
314
314
  "CIC-002",
@@ -319,6 +319,7 @@
319
319
  "CIC-008",
320
320
  "CIC-009",
321
321
  "CIC-010",
322
+ "CIC-011",
322
323
  "DST-002",
323
324
  "DST-003",
324
325
  "DST-006"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifact_type": "deterministic_runtime_snapshot",
3
- "count": 164,
3
+ "count": 188,
4
4
  "entity_type": "DecisionInvolvement",
5
5
  "items": [
6
6
  {
@@ -988,11 +988,11 @@
988
988
  "source_mode": "derived"
989
989
  },
990
990
  {
991
- "anchor": "03-threat-modeling/aplicacao-lifecycle.md:369",
991
+ "anchor": "03-threat-modeling/aplicacao-lifecycle.md:379",
992
992
  "anchor_text": "| Design / Revisão | Presença de dados pessoais | Arquitetos de Software + GRC / Compliance | Antes da aprovação de design |",
993
993
  "applicable_levels": null,
994
994
  "bundle_id": "03-threat-modeling",
995
- "involvement_id": "DI-03-0369-arquitetos-software",
995
+ "involvement_id": "DI-03-0379-arquitetos-software",
996
996
  "kind": "approves",
997
997
  "refs": [],
998
998
  "role_canonical": true,
@@ -1000,11 +1000,11 @@
1000
1000
  "source_mode": "derived"
1001
1001
  },
1002
1002
  {
1003
- "anchor": "03-threat-modeling/aplicacao-lifecycle.md:369",
1003
+ "anchor": "03-threat-modeling/aplicacao-lifecycle.md:379",
1004
1004
  "anchor_text": "| Design / Revisão | Presença de dados pessoais | Arquitetos de Software + GRC / Compliance | Antes da aprovação de design |",
1005
1005
  "applicable_levels": null,
1006
1006
  "bundle_id": "03-threat-modeling",
1007
- "involvement_id": "DI-03-0369-grc-compliance",
1007
+ "involvement_id": "DI-03-0379-grc-compliance",
1008
1008
  "kind": "approves",
1009
1009
  "refs": [],
1010
1010
  "role_canonical": true,
@@ -1012,7 +1012,7 @@
1012
1012
  "source_mode": "derived"
1013
1013
  },
1014
1014
  {
1015
- "anchor": "03-threat-modeling/aplicacao-lifecycle.md:408",
1015
+ "anchor": "03-threat-modeling/aplicacao-lifecycle.md:418",
1016
1016
  "anchor_text": "| L2 | Sim | Aprovação formal por Scrum Master / Team Lead + AppSec Engineer |",
1017
1017
  "applicable_levels": {
1018
1018
  "L1": false,
@@ -1020,7 +1020,7 @@
1020
1020
  "L3": false
1021
1021
  },
1022
1022
  "bundle_id": "03-threat-modeling",
1023
- "involvement_id": "DI-03-0408-appsec-engineer",
1023
+ "involvement_id": "DI-03-0418-appsec-engineer",
1024
1024
  "kind": "approves",
1025
1025
  "refs": [],
1026
1026
  "role_canonical": true,
@@ -1028,7 +1028,7 @@
1028
1028
  "source_mode": "derived"
1029
1029
  },
1030
1030
  {
1031
- "anchor": "03-threat-modeling/aplicacao-lifecycle.md:408",
1031
+ "anchor": "03-threat-modeling/aplicacao-lifecycle.md:418",
1032
1032
  "anchor_text": "| L2 | Sim | Aprovação formal por Scrum Master / Team Lead + AppSec Engineer |",
1033
1033
  "applicable_levels": {
1034
1034
  "L1": false,
@@ -1036,7 +1036,7 @@
1036
1036
  "L3": false
1037
1037
  },
1038
1038
  "bundle_id": "03-threat-modeling",
1039
- "involvement_id": "DI-03-0408-scrum-master",
1039
+ "involvement_id": "DI-03-0418-scrum-master",
1040
1040
  "kind": "approves",
1041
1041
  "refs": [],
1042
1042
  "role_canonical": true,
@@ -1044,11 +1044,43 @@
1044
1044
  "source_mode": "derived"
1045
1045
  },
1046
1046
  {
1047
- "anchor": "03-threat-modeling/aplicacao-lifecycle.md:690",
1047
+ "anchor": "03-threat-modeling/aplicacao-lifecycle.md:424",
1048
+ "anchor_text": "| Aprovação | Conclusão da revisão de um Threat Model atualizado | Scrum Master / Team Lead + AppSec Engineer | Aprovação leve por registo simples (L1); formal (L2); formal + revisão independente (L3) |",
1049
+ "applicable_levels": {
1050
+ "L1": true,
1051
+ "L2": true,
1052
+ "L3": true
1053
+ },
1054
+ "bundle_id": "03-threat-modeling",
1055
+ "involvement_id": "DI-03-0424-appsec-engineer",
1056
+ "kind": "approves",
1057
+ "refs": [],
1058
+ "role_canonical": true,
1059
+ "role_id": "appsec-engineer",
1060
+ "source_mode": "derived"
1061
+ },
1062
+ {
1063
+ "anchor": "03-threat-modeling/aplicacao-lifecycle.md:424",
1064
+ "anchor_text": "| Aprovação | Conclusão da revisão de um Threat Model atualizado | Scrum Master / Team Lead + AppSec Engineer | Aprovação leve por registo simples (L1); formal (L2); formal + revisão independente (L3) |",
1065
+ "applicable_levels": {
1066
+ "L1": true,
1067
+ "L2": true,
1068
+ "L3": true
1069
+ },
1070
+ "bundle_id": "03-threat-modeling",
1071
+ "involvement_id": "DI-03-0424-scrum-master",
1072
+ "kind": "approves",
1073
+ "refs": [],
1074
+ "role_canonical": true,
1075
+ "role_id": "scrum-master",
1076
+ "source_mode": "derived"
1077
+ },
1078
+ {
1079
+ "anchor": "03-threat-modeling/aplicacao-lifecycle.md:710",
1048
1080
  "anchor_text": "| Risco aceite | Informal | Documentado | Formal, aprovado por AppSec Engineer e com sunset definido |",
1049
1081
  "applicable_levels": null,
1050
1082
  "bundle_id": "03-threat-modeling",
1051
- "involvement_id": "DI-03-0690-appsec-engineer",
1083
+ "involvement_id": "DI-03-0710-appsec-engineer",
1052
1084
  "kind": "approves",
1053
1085
  "refs": [],
1054
1086
  "role_canonical": true,
@@ -1562,11 +1594,11 @@
1562
1594
  "source_mode": "derived"
1563
1595
  },
1564
1596
  {
1565
- "anchor": "06-desenvolvimento-seguro/aplicacao-lifecycle.md:730",
1597
+ "anchor": "06-desenvolvimento-seguro/aplicacao-lifecycle.md:745",
1566
1598
  "anchor_text": "- [ ] *Baseline* de falsos positivos do SAST versionada e aprovada por **AppSec Engineer**",
1567
1599
  "applicable_levels": null,
1568
1600
  "bundle_id": "06-desenvolvimento-seguro",
1569
- "involvement_id": "DI-06-0730-appsec-engineer",
1601
+ "involvement_id": "DI-06-0745-appsec-engineer",
1570
1602
  "kind": "approves",
1571
1603
  "refs": [],
1572
1604
  "role_canonical": true,
@@ -1574,11 +1606,11 @@
1574
1606
  "source_mode": "derived"
1575
1607
  },
1576
1608
  {
1577
- "anchor": "06-desenvolvimento-seguro/aplicacao-lifecycle.md:740",
1609
+ "anchor": "06-desenvolvimento-seguro/aplicacao-lifecycle.md:755",
1578
1610
  "anchor_text": "| Proveniência sinalizada; SAST com baseline básica | Proveniência identificada + revisão humana para origem não interna; baseline aprovada por AppSec + thresholds por perfil | + *policy-as-code* do gate, auditoria periódica da baseline e d",
1579
1611
  "applicable_levels": null,
1580
1612
  "bundle_id": "06-desenvolvimento-seguro",
1581
- "involvement_id": "DI-06-0740-appsec-engineer",
1613
+ "involvement_id": "DI-06-0755-appsec-engineer",
1582
1614
  "kind": "approves",
1583
1615
  "refs": [],
1584
1616
  "role_canonical": true,
@@ -1706,7 +1738,19 @@
1706
1738
  "source_mode": "derived"
1707
1739
  },
1708
1740
  {
1709
- "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:330",
1741
+ "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:202",
1742
+ "anchor_text": "| Revisão | Novo tipo de artefacto não coberto pela validação atual | AppSec | Na aprovação da regra adicional versionada |",
1743
+ "applicable_levels": null,
1744
+ "bundle_id": "07-cicd-seguro",
1745
+ "involvement_id": "DI-07-0202-appsec-engineer",
1746
+ "kind": "approves",
1747
+ "refs": [],
1748
+ "role_canonical": true,
1749
+ "role_id": "appsec-engineer",
1750
+ "source_mode": "derived"
1751
+ },
1752
+ {
1753
+ "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:368",
1710
1754
  "anchor_text": "| L2 | Sim | Bloqueio High/Critical + aprovação AppSec para exceções |",
1711
1755
  "applicable_levels": {
1712
1756
  "L1": false,
@@ -1714,7 +1758,7 @@
1714
1758
  "L3": false
1715
1759
  },
1716
1760
  "bundle_id": "07-cicd-seguro",
1717
- "involvement_id": "DI-07-0330-appsec-engineer",
1761
+ "involvement_id": "DI-07-0368-appsec-engineer",
1718
1762
  "kind": "approves",
1719
1763
  "refs": [],
1720
1764
  "role_canonical": true,
@@ -1722,7 +1766,7 @@
1722
1766
  "source_mode": "derived"
1723
1767
  },
1724
1768
  {
1725
- "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:427",
1769
+ "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:484",
1726
1770
  "anchor_text": "- [ ] Aprovação dupla (AppSec + GRC) em L2/L3",
1727
1771
  "applicable_levels": {
1728
1772
  "L1": false,
@@ -1730,13 +1774,53 @@
1730
1774
  "L3": true
1731
1775
  },
1732
1776
  "bundle_id": "07-cicd-seguro",
1733
- "involvement_id": "DI-07-0427-appsec-engineer",
1777
+ "involvement_id": "DI-07-0484-appsec-engineer",
1734
1778
  "kind": "approves",
1735
1779
  "refs": [],
1736
1780
  "role_canonical": true,
1737
1781
  "role_id": "appsec-engineer",
1738
1782
  "source_mode": "derived"
1739
1783
  },
1784
+ {
1785
+ "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:502",
1786
+ "anchor_text": "| Exceção | Pedido de exceção submetido a análise | GRC / Compliance | Aprovação só com prazo, *owner* e compensações; prazo máximo definido em L2 (ex.: 60 dias) |",
1787
+ "applicable_levels": {
1788
+ "L1": false,
1789
+ "L2": true,
1790
+ "L3": false
1791
+ },
1792
+ "bundle_id": "07-cicd-seguro",
1793
+ "involvement_id": "DI-07-0502-grc-compliance",
1794
+ "kind": "approves",
1795
+ "refs": [],
1796
+ "role_canonical": true,
1797
+ "role_id": "grc-compliance",
1798
+ "source_mode": "derived"
1799
+ },
1800
+ {
1801
+ "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:719",
1802
+ "anchor_text": "| Promoção | Tentativa de promoção sem decisão formal | AppSec Engineers | Bloqueio até registo nominal de aprovação |",
1803
+ "applicable_levels": null,
1804
+ "bundle_id": "07-cicd-seguro",
1805
+ "involvement_id": "DI-07-0719-appsec-engineer",
1806
+ "kind": "approves",
1807
+ "refs": [],
1808
+ "role_canonical": true,
1809
+ "role_id": "appsec-engineer",
1810
+ "source_mode": "derived"
1811
+ },
1812
+ {
1813
+ "anchor": "07-cicd-seguro/aplicacao-lifecycle.md:803",
1814
+ "anchor_text": "| Operação | Ativação temporária de *debug* | DevOps / SRE | Aprovação prévia, janela limitada no tempo e evidência de desativação |",
1815
+ "applicable_levels": null,
1816
+ "bundle_id": "07-cicd-seguro",
1817
+ "involvement_id": "DI-07-0803-devops-sre",
1818
+ "kind": "approves",
1819
+ "refs": [],
1820
+ "role_canonical": true,
1821
+ "role_id": "devops-sre",
1822
+ "source_mode": "derived"
1823
+ },
1740
1824
  {
1741
1825
  "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:38",
1742
1826
  "anchor_text": "| Execução de `apply` | Executar apenas alterações aprovadas e assinadas | DevOps / SRE, GRC / Compliance |",
@@ -1786,7 +1870,7 @@
1786
1870
  "source_mode": "derived"
1787
1871
  },
1788
1872
  {
1789
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:252",
1873
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:273",
1790
1874
  "anchor_text": "| L3 | Sim | Whitelist + validação + SBOM + attestation e revisão AppSec; denylist ativa |",
1791
1875
  "applicable_levels": {
1792
1876
  "L1": false,
@@ -1794,7 +1878,7 @@
1794
1878
  "L3": true
1795
1879
  },
1796
1880
  "bundle_id": "08-iac-infraestrutura",
1797
- "involvement_id": "DI-08-0252-appsec-engineer",
1881
+ "involvement_id": "DI-08-0273-appsec-engineer",
1798
1882
  "kind": "approves",
1799
1883
  "refs": [],
1800
1884
  "role_canonical": true,
@@ -1802,11 +1886,11 @@
1802
1886
  "source_mode": "derived"
1803
1887
  },
1804
1888
  {
1805
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:319",
1889
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:357",
1806
1890
  "anchor_text": "- [ ] Auditoria de aprovação registada",
1807
1891
  "applicable_levels": null,
1808
1892
  "bundle_id": "08-iac-infraestrutura",
1809
- "involvement_id": "DI-08-0319-auditores",
1893
+ "involvement_id": "DI-08-0357-auditores",
1810
1894
  "kind": "approves",
1811
1895
  "refs": [],
1812
1896
  "role_canonical": true,
@@ -1814,7 +1898,55 @@
1814
1898
  "source_mode": "derived"
1815
1899
  },
1816
1900
  {
1817
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:515",
1901
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:374",
1902
+ "anchor_text": "| Desenvolvimento / Revisão | `plan` revisto sem alterações inesperadas | DevOps / SRE + AppSec Engineers | Aprovação explícita com co-sign de pelo menos dois papéis |",
1903
+ "applicable_levels": null,
1904
+ "bundle_id": "08-iac-infraestrutura",
1905
+ "involvement_id": "DI-08-0374-appsec-engineer",
1906
+ "kind": "approves",
1907
+ "refs": [],
1908
+ "role_canonical": true,
1909
+ "role_id": "appsec-engineer",
1910
+ "source_mode": "derived"
1911
+ },
1912
+ {
1913
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:374",
1914
+ "anchor_text": "| Desenvolvimento / Revisão | `plan` revisto sem alterações inesperadas | DevOps / SRE + AppSec Engineers | Aprovação explícita com co-sign de pelo menos dois papéis |",
1915
+ "applicable_levels": null,
1916
+ "bundle_id": "08-iac-infraestrutura",
1917
+ "involvement_id": "DI-08-0374-devops-sre",
1918
+ "kind": "approves",
1919
+ "refs": [],
1920
+ "role_canonical": true,
1921
+ "role_id": "devops-sre",
1922
+ "source_mode": "derived"
1923
+ },
1924
+ {
1925
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:375",
1926
+ "anchor_text": "| Deploy / Operação | `apply` agendado para ambiente crítico (staging/prod) | DevOps / SRE + AppSec Engineers | Dupla aprovação e janela de mudança antes do `apply` |",
1927
+ "applicable_levels": null,
1928
+ "bundle_id": "08-iac-infraestrutura",
1929
+ "involvement_id": "DI-08-0375-appsec-engineer",
1930
+ "kind": "approves",
1931
+ "refs": [],
1932
+ "role_canonical": true,
1933
+ "role_id": "appsec-engineer",
1934
+ "source_mode": "derived"
1935
+ },
1936
+ {
1937
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:375",
1938
+ "anchor_text": "| Deploy / Operação | `apply` agendado para ambiente crítico (staging/prod) | DevOps / SRE + AppSec Engineers | Dupla aprovação e janela de mudança antes do `apply` |",
1939
+ "applicable_levels": null,
1940
+ "bundle_id": "08-iac-infraestrutura",
1941
+ "involvement_id": "DI-08-0375-devops-sre",
1942
+ "kind": "approves",
1943
+ "refs": [],
1944
+ "role_canonical": true,
1945
+ "role_id": "devops-sre",
1946
+ "source_mode": "derived"
1947
+ },
1948
+ {
1949
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:586",
1818
1950
  "anchor_text": "| L1 | Sim | Auditoria mensal |",
1819
1951
  "applicable_levels": {
1820
1952
  "L1": true,
@@ -1822,7 +1954,7 @@
1822
1954
  "L3": false
1823
1955
  },
1824
1956
  "bundle_id": "08-iac-infraestrutura",
1825
- "involvement_id": "DI-08-0515-auditores",
1957
+ "involvement_id": "DI-08-0586-auditores",
1826
1958
  "kind": "approves",
1827
1959
  "refs": [],
1828
1960
  "role_canonical": true,
@@ -1830,7 +1962,31 @@
1830
1962
  "source_mode": "derived"
1831
1963
  },
1832
1964
  {
1833
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:583",
1965
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:594",
1966
+ "anchor_text": "| Operação | Drift crítico confirmado em `prod` | AppSec Engineers + DevOps / SRE | Tarefa de correção com aprovação antes do `apply` |",
1967
+ "applicable_levels": null,
1968
+ "bundle_id": "08-iac-infraestrutura",
1969
+ "involvement_id": "DI-08-0594-appsec-engineer",
1970
+ "kind": "approves",
1971
+ "refs": [],
1972
+ "role_canonical": true,
1973
+ "role_id": "appsec-engineer",
1974
+ "source_mode": "derived"
1975
+ },
1976
+ {
1977
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:594",
1978
+ "anchor_text": "| Operação | Drift crítico confirmado em `prod` | AppSec Engineers + DevOps / SRE | Tarefa de correção com aprovação antes do `apply` |",
1979
+ "applicable_levels": null,
1980
+ "bundle_id": "08-iac-infraestrutura",
1981
+ "involvement_id": "DI-08-0594-devops-sre",
1982
+ "kind": "approves",
1983
+ "refs": [],
1984
+ "role_canonical": true,
1985
+ "role_id": "devops-sre",
1986
+ "source_mode": "derived"
1987
+ },
1988
+ {
1989
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:666",
1834
1990
  "anchor_text": "| L2 | Sim | Aprov. PO + AppSec |",
1835
1991
  "applicable_levels": {
1836
1992
  "L1": false,
@@ -1838,7 +1994,7 @@
1838
1994
  "L3": false
1839
1995
  },
1840
1996
  "bundle_id": "08-iac-infraestrutura",
1841
- "involvement_id": "DI-08-0583-appsec-engineer",
1997
+ "involvement_id": "DI-08-0666-appsec-engineer",
1842
1998
  "kind": "approves",
1843
1999
  "refs": [],
1844
2000
  "role_canonical": true,
@@ -1846,7 +2002,7 @@
1846
2002
  "source_mode": "derived"
1847
2003
  },
1848
2004
  {
1849
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:584",
2005
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:667",
1850
2006
  "anchor_text": "| L3 | Sim | Aprov. PO + AppSec + GRC |",
1851
2007
  "applicable_levels": {
1852
2008
  "L1": false,
@@ -1854,7 +2010,7 @@
1854
2010
  "L3": true
1855
2011
  },
1856
2012
  "bundle_id": "08-iac-infraestrutura",
1857
- "involvement_id": "DI-08-0584-appsec-engineer",
2013
+ "involvement_id": "DI-08-0667-appsec-engineer",
1858
2014
  "kind": "approves",
1859
2015
  "refs": [],
1860
2016
  "role_canonical": true,
@@ -1862,7 +2018,43 @@
1862
2018
  "source_mode": "derived"
1863
2019
  },
1864
2020
  {
1865
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:617",
2021
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:672",
2022
+ "anchor_text": "| Deploy / Operação | `plan` aprovado para uma alteração em `prod` | GRC / Compliance + AppSec Engineers + Auditores Internos | `apply` só na janela autorizada, com aprovações PO/AppSec/GRC |",
2023
+ "applicable_levels": null,
2024
+ "bundle_id": "08-iac-infraestrutura",
2025
+ "involvement_id": "DI-08-0672-appsec-engineer",
2026
+ "kind": "approves",
2027
+ "refs": [],
2028
+ "role_canonical": true,
2029
+ "role_id": "appsec-engineer",
2030
+ "source_mode": "derived"
2031
+ },
2032
+ {
2033
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:672",
2034
+ "anchor_text": "| Deploy / Operação | `plan` aprovado para uma alteração em `prod` | GRC / Compliance + AppSec Engineers + Auditores Internos | `apply` só na janela autorizada, com aprovações PO/AppSec/GRC |",
2035
+ "applicable_levels": null,
2036
+ "bundle_id": "08-iac-infraestrutura",
2037
+ "involvement_id": "DI-08-0672-auditores",
2038
+ "kind": "approves",
2039
+ "refs": [],
2040
+ "role_canonical": true,
2041
+ "role_id": "auditores",
2042
+ "source_mode": "derived"
2043
+ },
2044
+ {
2045
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:672",
2046
+ "anchor_text": "| Deploy / Operação | `plan` aprovado para uma alteração em `prod` | GRC / Compliance + AppSec Engineers + Auditores Internos | `apply` só na janela autorizada, com aprovações PO/AppSec/GRC |",
2047
+ "applicable_levels": null,
2048
+ "bundle_id": "08-iac-infraestrutura",
2049
+ "involvement_id": "DI-08-0672-grc-compliance",
2050
+ "kind": "approves",
2051
+ "refs": [],
2052
+ "role_canonical": true,
2053
+ "role_id": "grc-compliance",
2054
+ "source_mode": "derived"
2055
+ },
2056
+ {
2057
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:705",
1866
2058
  "anchor_text": "| L2 | Sim | Aprovação dupla (AppSec+PO) |",
1867
2059
  "applicable_levels": {
1868
2060
  "L1": false,
@@ -1870,7 +2062,7 @@
1870
2062
  "L3": false
1871
2063
  },
1872
2064
  "bundle_id": "08-iac-infraestrutura",
1873
- "involvement_id": "DI-08-0617-appsec-engineer",
2065
+ "involvement_id": "DI-08-0705-appsec-engineer",
1874
2066
  "kind": "approves",
1875
2067
  "refs": [],
1876
2068
  "role_canonical": true,
@@ -1878,7 +2070,7 @@
1878
2070
  "source_mode": "derived"
1879
2071
  },
1880
2072
  {
1881
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:618",
2073
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:706",
1882
2074
  "anchor_text": "| L3 | Sim | Aprovação AppSec+GRC e *review* por sprint |",
1883
2075
  "applicable_levels": {
1884
2076
  "L1": false,
@@ -1886,7 +2078,7 @@
1886
2078
  "L3": true
1887
2079
  },
1888
2080
  "bundle_id": "08-iac-infraestrutura",
1889
- "involvement_id": "DI-08-0618-appsec-engineer",
2081
+ "involvement_id": "DI-08-0706-appsec-engineer",
1890
2082
  "kind": "approves",
1891
2083
  "refs": [],
1892
2084
  "role_canonical": true,
@@ -1894,11 +2086,115 @@
1894
2086
  "source_mode": "derived"
1895
2087
  },
1896
2088
  {
1897
- "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:679",
2089
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:711",
2090
+ "anchor_text": "| Governação | Pedido de exceção submetido a análise | GRC / Compliance + AppSec Engineers | Aprovação só com prazo e compensações; review por sprint em L3 |",
2091
+ "applicable_levels": {
2092
+ "L1": false,
2093
+ "L2": false,
2094
+ "L3": true
2095
+ },
2096
+ "bundle_id": "08-iac-infraestrutura",
2097
+ "involvement_id": "DI-08-0711-appsec-engineer",
2098
+ "kind": "approves",
2099
+ "refs": [],
2100
+ "role_canonical": true,
2101
+ "role_id": "appsec-engineer",
2102
+ "source_mode": "derived"
2103
+ },
2104
+ {
2105
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:711",
2106
+ "anchor_text": "| Governação | Pedido de exceção submetido a análise | GRC / Compliance + AppSec Engineers | Aprovação só com prazo e compensações; review por sprint em L3 |",
2107
+ "applicable_levels": {
2108
+ "L1": false,
2109
+ "L2": false,
2110
+ "L3": true
2111
+ },
2112
+ "bundle_id": "08-iac-infraestrutura",
2113
+ "involvement_id": "DI-08-0711-grc-compliance",
2114
+ "kind": "approves",
2115
+ "refs": [],
2116
+ "role_canonical": true,
2117
+ "role_id": "grc-compliance",
2118
+ "source_mode": "derived"
2119
+ },
2120
+ {
2121
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:773",
1898
2122
  "anchor_text": "| Trilha de aprovações (roles) | US-06 | DevOps + AppSec (mínimo) |",
1899
2123
  "applicable_levels": null,
1900
2124
  "bundle_id": "08-iac-infraestrutura",
1901
- "involvement_id": "DI-08-0679-devops-sre",
2125
+ "involvement_id": "DI-08-0773-devops-sre",
2126
+ "kind": "approves",
2127
+ "refs": [],
2128
+ "role_canonical": true,
2129
+ "role_id": "devops-sre",
2130
+ "source_mode": "derived"
2131
+ },
2132
+ {
2133
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:869",
2134
+ "anchor_text": "| Deploy / Operação | `apply` solicitado para ambiente `prod` | GRC / Compliance + DevOps / SRE | Aprovação de pelo menos dois papéis e execução em janela de mudança |",
2135
+ "applicable_levels": null,
2136
+ "bundle_id": "08-iac-infraestrutura",
2137
+ "involvement_id": "DI-08-0869-devops-sre",
2138
+ "kind": "approves",
2139
+ "refs": [],
2140
+ "role_canonical": true,
2141
+ "role_id": "devops-sre",
2142
+ "source_mode": "derived"
2143
+ },
2144
+ {
2145
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:869",
2146
+ "anchor_text": "| Deploy / Operação | `apply` solicitado para ambiente `prod` | GRC / Compliance + DevOps / SRE | Aprovação de pelo menos dois papéis e execução em janela de mudança |",
2147
+ "applicable_levels": null,
2148
+ "bundle_id": "08-iac-infraestrutura",
2149
+ "involvement_id": "DI-08-0869-grc-compliance",
2150
+ "kind": "approves",
2151
+ "refs": [],
2152
+ "role_canonical": true,
2153
+ "role_id": "grc-compliance",
2154
+ "source_mode": "derived"
2155
+ },
2156
+ {
2157
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:870",
2158
+ "anchor_text": "| Deploy / Operação | `apply` solicitado para ambiente `staging` | GRC / Compliance + DevOps / SRE | Aprovação de um segundo revisor independente |",
2159
+ "applicable_levels": null,
2160
+ "bundle_id": "08-iac-infraestrutura",
2161
+ "involvement_id": "DI-08-0870-devops-sre",
2162
+ "kind": "approves",
2163
+ "refs": [],
2164
+ "role_canonical": true,
2165
+ "role_id": "devops-sre",
2166
+ "source_mode": "derived"
2167
+ },
2168
+ {
2169
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:870",
2170
+ "anchor_text": "| Deploy / Operação | `apply` solicitado para ambiente `staging` | GRC / Compliance + DevOps / SRE | Aprovação de um segundo revisor independente |",
2171
+ "applicable_levels": null,
2172
+ "bundle_id": "08-iac-infraestrutura",
2173
+ "involvement_id": "DI-08-0870-grc-compliance",
2174
+ "kind": "approves",
2175
+ "refs": [],
2176
+ "role_canonical": true,
2177
+ "role_id": "grc-compliance",
2178
+ "source_mode": "derived"
2179
+ },
2180
+ {
2181
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:962",
2182
+ "anchor_text": "| Desenvolvimento / Revisão | Reexecução de um `plan` aprovado para validação | DevOps / SRE + AppSec Engineers | Resultado funcionalmente equivalente, ou diferenças justificadas e registadas |",
2183
+ "applicable_levels": null,
2184
+ "bundle_id": "08-iac-infraestrutura",
2185
+ "involvement_id": "DI-08-0962-appsec-engineer",
2186
+ "kind": "approves",
2187
+ "refs": [],
2188
+ "role_canonical": true,
2189
+ "role_id": "appsec-engineer",
2190
+ "source_mode": "derived"
2191
+ },
2192
+ {
2193
+ "anchor": "08-iac-infraestrutura/aplicacao-lifecycle.md:962",
2194
+ "anchor_text": "| Desenvolvimento / Revisão | Reexecução de um `plan` aprovado para validação | DevOps / SRE + AppSec Engineers | Resultado funcionalmente equivalente, ou diferenças justificadas e registadas |",
2195
+ "applicable_levels": null,
2196
+ "bundle_id": "08-iac-infraestrutura",
2197
+ "involvement_id": "DI-08-0962-devops-sre",
1902
2198
  "kind": "approves",
1903
2199
  "refs": [],
1904
2200
  "role_canonical": true,
@@ -2082,11 +2378,23 @@
2082
2378
  "source_mode": "derived"
2083
2379
  },
2084
2380
  {
2085
- "anchor": "10-testes-seguranca/aplicacao-lifecycle.md:891",
2381
+ "anchor": "10-testes-seguranca/aplicacao-lifecycle.md:875",
2382
+ "anchor_text": "| Pré-release | Aprovação de release com áreas fora de cobertura | AppSec Engineer | Plano de mitigação por lacuna, com owner e prazo, antes da aprovação |",
2383
+ "applicable_levels": null,
2384
+ "bundle_id": "10-testes-seguranca",
2385
+ "involvement_id": "DI-10-0875-appsec-engineer",
2386
+ "kind": "approves",
2387
+ "refs": [],
2388
+ "role_canonical": true,
2389
+ "role_id": "appsec-engineer",
2390
+ "source_mode": "derived"
2391
+ },
2392
+ {
2393
+ "anchor": "10-testes-seguranca/aplicacao-lifecycle.md:897",
2086
2394
  "anchor_text": "- [ ] Baseline de FP aprovada por AppSec, com rationale por supressão",
2087
2395
  "applicable_levels": null,
2088
2396
  "bundle_id": "10-testes-seguranca",
2089
- "involvement_id": "DI-10-0891-appsec-engineer",
2397
+ "involvement_id": "DI-10-0897-appsec-engineer",
2090
2398
  "kind": "approves",
2091
2399
  "refs": [],
2092
2400
  "role_canonical": true,
@@ -2142,11 +2450,11 @@
2142
2450
  "source_mode": "derived"
2143
2451
  },
2144
2452
  {
2145
- "anchor": "13-formacao-onboarding/aplicacao-lifecycle.md:308",
2453
+ "anchor": "13-formacao-onboarding/aplicacao-lifecycle.md:314",
2146
2454
  "anchor_text": "| Planeamento/Design | Aprovação de feature | Security Champion + AppSec Engineer | Antes do sprint de desenvolvimento |",
2147
2455
  "applicable_levels": null,
2148
2456
  "bundle_id": "13-formacao-onboarding",
2149
- "involvement_id": "DI-13-0308-appsec-engineer",
2457
+ "involvement_id": "DI-13-0314-appsec-engineer",
2150
2458
  "kind": "approves",
2151
2459
  "refs": [],
2152
2460
  "role_canonical": true,
@@ -2154,11 +2462,11 @@
2154
2462
  "source_mode": "derived"
2155
2463
  },
2156
2464
  {
2157
- "anchor": "13-formacao-onboarding/aplicacao-lifecycle.md:308",
2465
+ "anchor": "13-formacao-onboarding/aplicacao-lifecycle.md:314",
2158
2466
  "anchor_text": "| Planeamento/Design | Aprovação de feature | Security Champion + AppSec Engineer | Antes do sprint de desenvolvimento |",
2159
2467
  "applicable_levels": null,
2160
2468
  "bundle_id": "13-formacao-onboarding",
2161
- "involvement_id": "DI-13-0308-security-champion",
2469
+ "involvement_id": "DI-13-0314-security-champion",
2162
2470
  "kind": "approves",
2163
2471
  "refs": [],
2164
2472
  "role_canonical": true,