feat: implement explicit UiActionContext contract
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 52s
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 52s
This commit is contained in:
parent
55338a88c6
commit
229b4d392c
251
.playwright-mcp/page-2026-05-31T21-49-48-037Z.yml
Normal file
251
.playwright-mcp/page-2026-05-31T21-49-48-037Z.yml
Normal file
@ -0,0 +1,251 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "12"
|
||||
- button "User menu" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e51]:
|
||||
- 'link "Workspace: wp" [ref=e52] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e54]
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]: Workspace
|
||||
- generic "wp" [ref=e58]
|
||||
- generic [ref=e59]: 1 environment
|
||||
- img [ref=e60]
|
||||
- list [ref=e62]:
|
||||
- listitem [ref=e63]:
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- link "Overview" [ref=e66] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e67]
|
||||
- generic [ref=e69]: Overview
|
||||
- listitem [ref=e70]:
|
||||
- generic [ref=e71] [cursor=pointer]:
|
||||
- generic [ref=e72]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e73]:
|
||||
- img [ref=e74]
|
||||
- list [ref=e76]:
|
||||
- listitem [ref=e77]:
|
||||
- link "Finding exceptions" [ref=e78] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e79]
|
||||
- generic [ref=e81]: Finding exceptions
|
||||
- listitem [ref=e82]:
|
||||
- link "Operations" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Operations
|
||||
- listitem [ref=e87]:
|
||||
- link "Alerts" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Alerts
|
||||
- listitem [ref=e92]:
|
||||
- link "Evidence" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Evidence
|
||||
- listitem [ref=e97]:
|
||||
- link "Audit Log" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Audit Log
|
||||
- listitem [ref=e102]:
|
||||
- generic [ref=e103] [cursor=pointer]:
|
||||
- generic [ref=e104]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e105]:
|
||||
- img [ref=e106]
|
||||
- list [ref=e108]:
|
||||
- listitem [ref=e109]:
|
||||
- link "Reviews" [ref=e110] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e111]
|
||||
- generic [ref=e113]: Reviews
|
||||
- listitem [ref=e114]:
|
||||
- link "Customer reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Customer reviews
|
||||
- listitem [ref=e119]:
|
||||
- generic [ref=e120] [cursor=pointer]:
|
||||
- generic [ref=e121]: Settings
|
||||
- button "Settings" [expanded] [ref=e122]:
|
||||
- img [ref=e123]
|
||||
- list [ref=e125]:
|
||||
- listitem [ref=e126]:
|
||||
- link "Manage workspaces" [ref=e127] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e128]
|
||||
- generic [ref=e130]: Manage workspaces
|
||||
- listitem [ref=e131]:
|
||||
- link "Integrations" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Integrations
|
||||
- listitem [ref=e136]:
|
||||
- link "Settings" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e138]
|
||||
- generic [ref=e141]: Settings
|
||||
- listitem [ref=e142]:
|
||||
- generic [ref=e143] [cursor=pointer]:
|
||||
- generic [ref=e144]: Governance
|
||||
- button "Governance" [expanded] [ref=e145]:
|
||||
- img [ref=e146]
|
||||
- list [ref=e148]:
|
||||
- listitem [ref=e149]:
|
||||
- link "Governance inbox" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Governance inbox
|
||||
- listitem [ref=e154]:
|
||||
- link "Decision register" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Decision register
|
||||
- main [ref=e160]:
|
||||
- generic [ref=e162]:
|
||||
- heading "Decision register" [level=1] [ref=e165]
|
||||
- generic [ref=e167]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e172]:
|
||||
- img [ref=e173]
|
||||
- text: Decision register
|
||||
- generic [ref=e175]:
|
||||
- heading "Decision register" [level=1] [ref=e176]
|
||||
- paragraph [ref=e177]: This workspace register shows the current exception and accepted-risk decisions that need follow-through without opening a second approval lane.
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: "Workspace: wp"
|
||||
- generic [ref=e180]: "Scope: Open decisions"
|
||||
- generic [ref=e181]: "Visible rows: 0"
|
||||
- generic [ref=e182]: "Environment: YPTW2"
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: "Environment filter:"
|
||||
- generic [ref=e185]: YPTW2
|
||||
- link "Clear filter" [ref=e186] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- generic [ref=e187]:
|
||||
- link "Open decisions 0" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=4
|
||||
- text: Open decisions
|
||||
- generic [ref=e189]: "0"
|
||||
- link "Recently closed 0" [ref=e190] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=4®ister_state=recently_closed
|
||||
- text: Recently closed
|
||||
- generic [ref=e191]: "0"
|
||||
- generic [ref=e194]:
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]: Search
|
||||
- generic [ref=e200]:
|
||||
- img [ref=e202]
|
||||
- searchbox "Search" [ref=e205]
|
||||
- button "Column manager" [ref=e208] [cursor=pointer]:
|
||||
- img [ref=e209]
|
||||
- table [ref=e212]:
|
||||
- rowgroup [ref=e213]:
|
||||
- row "Environment Status Impact Owner Review due Proof Operation Next action" [ref=e214]:
|
||||
- columnheader "Environment" [ref=e215]:
|
||||
- button "Environment" [ref=e216] [cursor=pointer]:
|
||||
- text: Environment
|
||||
- img [ref=e217]
|
||||
- columnheader "Status" [ref=e219]:
|
||||
- button "Status" [ref=e220] [cursor=pointer]:
|
||||
- text: Status
|
||||
- img [ref=e221]
|
||||
- columnheader "Impact" [ref=e223]
|
||||
- columnheader "Owner" [ref=e224]
|
||||
- columnheader "Review due" [ref=e225]:
|
||||
- button "Review due" [ref=e226] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e227]
|
||||
- columnheader "Proof" [ref=e229]
|
||||
- columnheader "Operation" [ref=e230]
|
||||
- columnheader "Next action" [ref=e231]
|
||||
- generic [ref=e233]:
|
||||
- img [ref=e235]
|
||||
- heading "No open decisions match this filter right now." [level=2] [ref=e237]
|
||||
- paragraph [ref=e238]: Try widening the environment scope or switch to recently closed decisions if you are checking what was just finished.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e241]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e246] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e247]: "15"
|
||||
- generic [ref=e248] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e249]: "64"
|
||||
- generic [ref=e250] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Models
|
||||
- generic [ref=e251]: "57"
|
||||
- generic [ref=e252] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e253]: "6"
|
||||
- text:
|
||||
- generic [ref=e254] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Gate
|
||||
- generic [ref=e255]: "11"
|
||||
- generic [ref=e256]:
|
||||
- generic [ref=e259] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e262] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 1.03s
|
||||
- generic [ref=e263]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e264]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e265] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/governance/decisions
|
||||
- text:
|
||||
- text:
|
||||
262
.playwright-mcp/page-2026-05-31T21-56-43-814Z.yml
Normal file
262
.playwright-mcp/page-2026-05-31T21-56-43-814Z.yml
Normal file
@ -0,0 +1,262 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- button "Notifications" [ref=e44] [cursor=pointer]:
|
||||
- img [ref=e45]
|
||||
- generic [ref=e48]: "12"
|
||||
- button "User menu" [ref=e51] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e52]
|
||||
- generic [ref=e53]:
|
||||
- complementary [ref=e55]:
|
||||
- navigation [ref=e56]:
|
||||
- 'link "Workspace: wp" [ref=e57] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e59]
|
||||
- generic [ref=e61]:
|
||||
- generic [ref=e62]: Workspace
|
||||
- generic "wp" [ref=e63]
|
||||
- generic [ref=e64]: 1 environment
|
||||
- img [ref=e65]
|
||||
- list [ref=e67]:
|
||||
- listitem [ref=e68]:
|
||||
- list [ref=e69]:
|
||||
- listitem [ref=e70]:
|
||||
- link "Overview" [ref=e71] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e72]
|
||||
- generic [ref=e74]: Overview
|
||||
- listitem [ref=e75]:
|
||||
- generic [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e78]:
|
||||
- img [ref=e79]
|
||||
- list [ref=e81]:
|
||||
- listitem [ref=e82]:
|
||||
- link "Finding exceptions" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Finding exceptions
|
||||
- listitem [ref=e87]:
|
||||
- link "Operations" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Operations
|
||||
- listitem [ref=e92]:
|
||||
- link "Alerts" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Alerts
|
||||
- listitem [ref=e97]:
|
||||
- link "Evidence" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Evidence
|
||||
- listitem [ref=e102]:
|
||||
- link "Audit Log" [ref=e103] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e104]
|
||||
- generic [ref=e106]: Audit Log
|
||||
- listitem [ref=e107]:
|
||||
- generic [ref=e108] [cursor=pointer]:
|
||||
- generic [ref=e109]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e110]:
|
||||
- img [ref=e111]
|
||||
- list [ref=e113]:
|
||||
- listitem [ref=e114]:
|
||||
- link "Reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Reviews
|
||||
- listitem [ref=e119]:
|
||||
- link "Customer reviews" [ref=e120] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e121]
|
||||
- generic [ref=e123]: Customer reviews
|
||||
- listitem [ref=e124]:
|
||||
- generic [ref=e125] [cursor=pointer]:
|
||||
- generic [ref=e126]: Settings
|
||||
- button "Settings" [expanded] [ref=e127]:
|
||||
- img [ref=e128]
|
||||
- list [ref=e130]:
|
||||
- listitem [ref=e131]:
|
||||
- link "Manage workspaces" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Manage workspaces
|
||||
- listitem [ref=e136]:
|
||||
- link "Integrations" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e138]
|
||||
- generic [ref=e140]: Integrations
|
||||
- listitem [ref=e141]:
|
||||
- link "Settings" [ref=e142] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e143]
|
||||
- generic [ref=e146]: Settings
|
||||
- listitem [ref=e147]:
|
||||
- generic [ref=e148] [cursor=pointer]:
|
||||
- generic [ref=e149]: Governance
|
||||
- button "Governance" [expanded] [ref=e150]:
|
||||
- img [ref=e151]
|
||||
- list [ref=e153]:
|
||||
- listitem [ref=e154]:
|
||||
- link "Governance inbox" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Governance inbox
|
||||
- listitem [ref=e159]:
|
||||
- link "Decision register" [ref=e160] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e161]
|
||||
- generic [ref=e163]: Decision register
|
||||
- main [ref=e165]:
|
||||
- generic [ref=e167]:
|
||||
- heading "Decision register" [level=1] [ref=e170]
|
||||
- generic [ref=e172]:
|
||||
- generic [ref=e176]:
|
||||
- generic [ref=e177]:
|
||||
- img [ref=e178]
|
||||
- text: Decision register
|
||||
- generic [ref=e180]:
|
||||
- heading "Decision register" [level=1] [ref=e181]
|
||||
- paragraph [ref=e182]: This workspace register shows the current exception and accepted-risk decisions that need follow-through without opening a second approval lane.
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: "Workspace: wp"
|
||||
- generic [ref=e185]: "Scope: Open decisions"
|
||||
- generic [ref=e186]: "Visible rows: 0"
|
||||
- generic [ref=e187]: "Environment: YPTW2"
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]: "Environment filter:"
|
||||
- generic [ref=e190]: YPTW2
|
||||
- link "Clear filter" [ref=e191] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- generic [ref=e192]:
|
||||
- link "Open decisions 0" [ref=e193] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=4
|
||||
- text: Open decisions
|
||||
- generic [ref=e194]: "0"
|
||||
- link "Recently closed 0" [ref=e195] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=4®ister_state=recently_closed
|
||||
- text: Recently closed
|
||||
- generic [ref=e196]: "0"
|
||||
- generic [ref=e199]:
|
||||
- generic [ref=e202]:
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]: Search
|
||||
- generic [ref=e205]:
|
||||
- img [ref=e207]
|
||||
- searchbox "Search" [ref=e210]
|
||||
- button "Filter" [ref=e213] [cursor=pointer]:
|
||||
- img [ref=e214]
|
||||
- generic [ref=e217]: "1"
|
||||
- button "Column manager" [ref=e220] [cursor=pointer]:
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]:
|
||||
- generic [ref=e225]: Active filters
|
||||
- generic [ref=e227]:
|
||||
- generic [ref=e229]: "Environment: YPTW2"
|
||||
- button "Remove filter" [ref=e230] [cursor=pointer]:
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Remove filter
|
||||
- button [ref=e234] [cursor=pointer]:
|
||||
- img [ref=e235]
|
||||
- table [ref=e238]:
|
||||
- rowgroup [ref=e239]:
|
||||
- row "Environment Status Impact Owner Review due Proof Operation Next action" [ref=e240]:
|
||||
- columnheader "Environment" [ref=e241]:
|
||||
- button "Environment" [ref=e242] [cursor=pointer]:
|
||||
- text: Environment
|
||||
- img [ref=e243]
|
||||
- columnheader "Status" [ref=e245]:
|
||||
- button "Status" [ref=e246] [cursor=pointer]:
|
||||
- text: Status
|
||||
- img [ref=e247]
|
||||
- columnheader "Impact" [ref=e249]
|
||||
- columnheader "Owner" [ref=e250]
|
||||
- columnheader "Review due" [ref=e251]:
|
||||
- button "Review due" [ref=e252] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e253]
|
||||
- columnheader "Proof" [ref=e255]
|
||||
- columnheader "Operation" [ref=e256]
|
||||
- columnheader "Next action" [ref=e257]
|
||||
- generic [ref=e259]:
|
||||
- img [ref=e261]
|
||||
- heading "No open decisions match this filter right now." [level=2] [ref=e263]
|
||||
- paragraph [ref=e264]: Try widening the environment scope or switch to recently closed decisions if you are checking what was just finished.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e265]:
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e270] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e271] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e272] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e273]: "17"
|
||||
- generic [ref=e274] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e275]: "64"
|
||||
- generic [ref=e276] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Models
|
||||
- generic [ref=e277]: "57"
|
||||
- generic [ref=e278] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e279]: "6"
|
||||
- text:
|
||||
- generic [ref=e280] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Gate
|
||||
- generic [ref=e281]: "11"
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e285] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e287] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e288] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 635ms
|
||||
- generic [ref=e289]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e290]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e291] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/governance/decisions
|
||||
- text:
|
||||
- text:
|
||||
58
.playwright-mcp/page-2026-06-01T21-45-50-858Z.yml
Normal file
58
.playwright-mcp/page-2026-06-01T21-45-50-858Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 398ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
26
.playwright-mcp/page-2026-06-01T21-46-30-392Z.yml
Normal file
26
.playwright-mcp/page-2026-06-01T21-46-30-392Z.yml
Normal file
@ -0,0 +1,26 @@
|
||||
- generic [ref=e5]:
|
||||
- img "Hintergrundbild der Organisation" [ref=e6]
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e13]:
|
||||
- img "Microsoft" [ref=e16]
|
||||
- main [ref=e17]:
|
||||
- generic [ref=e20]:
|
||||
- heading "Anmelden" [level=1] [ref=e24]
|
||||
- generic [ref=e25]:
|
||||
- alert
|
||||
- generic [ref=e27]:
|
||||
- textbox "E-Mail-Adresse oder Telefonnummer eingeben" [active] [ref=e28]:
|
||||
- /placeholder: E-Mail-Adresse oder Telefonnummer
|
||||
- textbox [ref=e29]
|
||||
- link "Sie können nicht auf Ihr Konto zugreifen?" [ref=e35] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- button "Weiter" [ref=e38] [cursor=pointer]
|
||||
- contentinfo [ref=e39]:
|
||||
- generic [ref=e40]:
|
||||
- link "Nutzungsbedingungen" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.microsoft.com/de-DE/servicesagreement/
|
||||
- link "Datenschutz und Cookies" [ref=e42] [cursor=pointer]:
|
||||
- /url: https://privacy.microsoft.com/de-DE/privacystatement
|
||||
- link "Haftungsausschluss" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.microsoft.com/de-de/corporate/rechtliche-hinweise/impressum.aspx
|
||||
- button "Klicken Sie hier, um weitere Informationen zur Problembehandlung zu erhalten." [ref=e44] [cursor=pointer]: ...
|
||||
62
.playwright-mcp/page-2026-06-01T21-46-42-593Z.yml
Normal file
62
.playwright-mcp/page-2026-06-01T21-46-42-593Z.yml
Normal file
@ -0,0 +1,62 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38]: "2"
|
||||
- combobox [ref=e39] [cursor=pointer]:
|
||||
- option "#1 redirect (stacked) (21:46:29)"
|
||||
- option "#2 login (21:46:42)" [selected]
|
||||
- generic [ref=e40] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 371ms
|
||||
- generic [ref=e41]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e42]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e43] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
1
.playwright-mcp/page-2026-06-01T21-47-41-834Z.yml
Normal file
1
.playwright-mcp/page-2026-06-01T21-47-41-834Z.yml
Normal file
@ -0,0 +1 @@
|
||||
- img [ref=e2]
|
||||
20
.playwright-mcp/page-2026-06-01T21-47-47-421Z.yml
Normal file
20
.playwright-mcp/page-2026-06-01T21-47-47-421Z.yml
Normal file
@ -0,0 +1,20 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- heading "Directory listing for /" [level=1] [ref=e2]
|
||||
- separator [ref=e3]
|
||||
- list [ref=e4]:
|
||||
- listitem [ref=e5]:
|
||||
- link "01-operator-summary.png" [ref=e6] [cursor=pointer]:
|
||||
- /url: 01-operator-summary.png
|
||||
- listitem [ref=e7]:
|
||||
- link "02-acknowledgement-prominent.png" [ref=e8] [cursor=pointer]:
|
||||
- /url: 02-acknowledgement-prominent.png
|
||||
- listitem [ref=e9]:
|
||||
- link "03-supporting-details-demoted.png" [ref=e10] [cursor=pointer]:
|
||||
- /url: 03-supporting-details-demoted.png
|
||||
- listitem [ref=e11]:
|
||||
- link "04-diagnostics-collapsed.png" [ref=e12] [cursor=pointer]:
|
||||
- /url: 04-diagnostics-collapsed.png
|
||||
- listitem [ref=e13]:
|
||||
- link "05-dark-mode.png" [ref=e14] [cursor=pointer]:
|
||||
- /url: 05-dark-mode.png
|
||||
- separator [ref=e15]
|
||||
1
.playwright-mcp/page-2026-06-01T21-47-54-520Z.yml
Normal file
1
.playwright-mcp/page-2026-06-01T21-47-54-520Z.yml
Normal file
@ -0,0 +1 @@
|
||||
- img [ref=e2]
|
||||
1
.playwright-mcp/page-2026-06-01T21-48-03-659Z.yml
Normal file
1
.playwright-mcp/page-2026-06-01T21-48-03-659Z.yml
Normal file
@ -0,0 +1 @@
|
||||
- img [ref=e2]
|
||||
1
.playwright-mcp/page-2026-06-01T21-48-03-739Z.yml
Normal file
1
.playwright-mcp/page-2026-06-01T21-48-03-739Z.yml
Normal file
@ -0,0 +1 @@
|
||||
- img [ref=e2]
|
||||
1
.playwright-mcp/page-2026-06-01T21-48-03-806Z.yml
Normal file
1
.playwright-mcp/page-2026-06-01T21-48-03-806Z.yml
Normal file
@ -0,0 +1 @@
|
||||
- img [ref=e2]
|
||||
20
.playwright-mcp/page-2026-06-01T21-48-07-626Z.yml
Normal file
20
.playwright-mcp/page-2026-06-01T21-48-07-626Z.yml
Normal file
@ -0,0 +1,20 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- heading "Directory listing for /" [level=1] [ref=e2]
|
||||
- separator [ref=e3]
|
||||
- list [ref=e4]:
|
||||
- listitem [ref=e5]:
|
||||
- link "01-operator-summary.png" [ref=e6] [cursor=pointer]:
|
||||
- /url: 01-operator-summary.png
|
||||
- listitem [ref=e7]:
|
||||
- link "02-acknowledgement-prominent.png" [ref=e8] [cursor=pointer]:
|
||||
- /url: 02-acknowledgement-prominent.png
|
||||
- listitem [ref=e9]:
|
||||
- link "03-supporting-details-demoted.png" [ref=e10] [cursor=pointer]:
|
||||
- /url: 03-supporting-details-demoted.png
|
||||
- listitem [ref=e11]:
|
||||
- link "04-diagnostics-collapsed.png" [ref=e12] [cursor=pointer]:
|
||||
- /url: 04-diagnostics-collapsed.png
|
||||
- listitem [ref=e13]:
|
||||
- link "05-dark-mode.png" [ref=e14] [cursor=pointer]:
|
||||
- /url: 05-dark-mode.png
|
||||
- separator [ref=e15]
|
||||
58
.playwright-mcp/page-2026-06-01T23-47-07-653Z.yml
Normal file
58
.playwright-mcp/page-2026-06-01T23-47-07-653Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 332ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
58
.playwright-mcp/page-2026-06-02T12-56-18-700Z.yml
Normal file
58
.playwright-mcp/page-2026-06-02T12-56-18-700Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 460ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
174
.playwright-mcp/page-2026-06-02T12-56-59-780Z.yml
Normal file
174
.playwright-mcp/page-2026-06-02T12-56-59-780Z.yml
Normal file
@ -0,0 +1,174 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 180 Backup Health Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 180 Backup Health Smoke
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- button "User menu" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar of Spec 180 Requester" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e51]:
|
||||
- 'link "Workspace: Spec 180 Backup Health Smoke" [ref=e52] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e54]
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]: Workspace
|
||||
- generic "Spec 180 Backup Health Smoke" [ref=e58]
|
||||
- generic [ref=e59]: 2 environments
|
||||
- img [ref=e60]
|
||||
- list [ref=e62]:
|
||||
- listitem [ref=e63]:
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- link "Overview" [ref=e66] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e67]
|
||||
- generic [ref=e69]: Overview
|
||||
- listitem [ref=e70]:
|
||||
- generic [ref=e71] [cursor=pointer]:
|
||||
- generic [ref=e72]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e73]:
|
||||
- img [ref=e74]
|
||||
- list [ref=e76]:
|
||||
- listitem [ref=e77]:
|
||||
- link "Finding exceptions" [ref=e78] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e79]
|
||||
- generic [ref=e81]: Finding exceptions
|
||||
- listitem [ref=e82]:
|
||||
- link "Operations" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/4/operations
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Operations
|
||||
- listitem [ref=e87]:
|
||||
- link "Alerts" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Alerts
|
||||
- listitem [ref=e92]:
|
||||
- link "Evidence" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Evidence
|
||||
- listitem [ref=e97]:
|
||||
- link "Audit Log" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Audit Log
|
||||
- listitem [ref=e102]:
|
||||
- generic [ref=e103] [cursor=pointer]:
|
||||
- generic [ref=e104]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e105]:
|
||||
- img [ref=e106]
|
||||
- list [ref=e108]:
|
||||
- listitem [ref=e109]:
|
||||
- link "Reviews" [ref=e110] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e111]
|
||||
- generic [ref=e113]: Reviews
|
||||
- listitem [ref=e114]:
|
||||
- link "Customer reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Customer reviews
|
||||
- listitem [ref=e119]:
|
||||
- generic [ref=e120] [cursor=pointer]:
|
||||
- generic [ref=e121]: Settings
|
||||
- button "Settings" [expanded] [ref=e122]:
|
||||
- img [ref=e123]
|
||||
- list [ref=e125]:
|
||||
- listitem [ref=e126]:
|
||||
- link "Manage workspaces" [ref=e127] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e128]
|
||||
- generic [ref=e130]: Manage workspaces
|
||||
- listitem [ref=e131]:
|
||||
- link "Integrations" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Integrations
|
||||
- listitem [ref=e136]:
|
||||
- link "Settings" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e138]
|
||||
- generic [ref=e141]: Settings
|
||||
- listitem [ref=e142]:
|
||||
- generic [ref=e143] [cursor=pointer]:
|
||||
- generic [ref=e144]: Governance
|
||||
- button "Governance" [expanded] [ref=e145]:
|
||||
- img [ref=e146]
|
||||
- list [ref=e148]:
|
||||
- listitem [ref=e149]:
|
||||
- link "Governance inbox" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Governance inbox
|
||||
- listitem [ref=e154]:
|
||||
- link "Decision register" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Decision register
|
||||
- main [ref=e160]:
|
||||
- generic [ref=e162]:
|
||||
- generic [ref=e164]:
|
||||
- heading "Governance Inbox" [level=1] [ref=e165]
|
||||
- paragraph [ref=e166]: Daily operator queue for governance follow-up, accepted risk, evidence gaps, and review handoff.
|
||||
- generic [ref=e169]:
|
||||
- generic [ref=e170]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e172]:
|
||||
- generic [ref=e173]:
|
||||
- paragraph [ref=e174]: Open governance work
|
||||
- heading "0 open governance items need attention" [level=2] [ref=e175]
|
||||
- paragraph [ref=e176]: The inbox turns current findings, accepted-risk records, evidence gaps, review follow-up, and blocked operations into one operator queue.
|
||||
- generic [ref=e177]:
|
||||
- generic [ref=e178]: "Workspace: Spec 180 Backup Health Smoke"
|
||||
- generic [ref=e179]: "Source focus: All source families"
|
||||
- generic [ref=e180]:
|
||||
- generic [ref=e181]:
|
||||
- text: Needs triage
|
||||
- generic [ref=e182]: Clear
|
||||
- generic [ref=e183]:
|
||||
- text: Requires decision
|
||||
- generic [ref=e184]: Clear
|
||||
- generic [ref=e185]:
|
||||
- text: Risk / exception review
|
||||
- generic [ref=e186]: Clear
|
||||
- generic [ref=e187]:
|
||||
- text: Evidence required
|
||||
- generic [ref=e188]: Clear
|
||||
- generic [ref=e189]:
|
||||
- text: Blocked
|
||||
- generic [ref=e190]: Clear
|
||||
- generic [ref=e191]:
|
||||
- heading "No governance items need attention." [level=2] [ref=e192]
|
||||
- paragraph [ref=e193]: Findings, decisions, accepted-risk reviews, evidence gaps, and review follow-ups will appear here when they need operator attention.
|
||||
- group [ref=e194]:
|
||||
- generic "Source detail" [ref=e195] [cursor=pointer]
|
||||
- group [ref=e196]:
|
||||
- generic "Diagnostics / source detail · Collapsed" [ref=e197] [cursor=pointer]
|
||||
- generic:
|
||||
- status
|
||||
58
.playwright-mcp/page-2026-06-03T00-32-44-139Z.yml
Normal file
58
.playwright-mcp/page-2026-06-03T00-32-44-139Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 257ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
58
.playwright-mcp/page-2026-06-03T17-57-35-220Z.yml
Normal file
58
.playwright-mcp/page-2026-06-03T17-57-35-220Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 210ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
615
.playwright-mcp/page-2026-06-04T00-13-57-369Z.yml
Normal file
615
.playwright-mcp/page-2026-06-04T00-13-57-369Z.yml
Normal file
@ -0,0 +1,615 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Recent operation updates that may need review.
|
||||
- generic [ref=e282]:
|
||||
- link "View operation" [ref=e283] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/52
|
||||
- link "Show all operations" [ref=e284] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Execution failed
|
||||
- generic [ref=e293]: Automatically reconciled
|
||||
- paragraph [ref=e294]: Completed · 12 seconds ago
|
||||
- paragraph [ref=e295]: No action needed.
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- navigation [ref=e299]:
|
||||
- list [ref=e300]:
|
||||
- listitem [ref=e301]:
|
||||
- link "Reviews" [ref=e302] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e303]:
|
||||
- img [ref=e304]
|
||||
- generic [ref=e306]: View
|
||||
- heading "View Review" [level=1] [ref=e307]
|
||||
- generic [ref=e309]:
|
||||
- button "Publish review" [ref=e310] [cursor=pointer]:
|
||||
- img [ref=e311]
|
||||
- text: Publish review
|
||||
- button "More" [ref=e315] [cursor=pointer]:
|
||||
- img [ref=e316]
|
||||
- button "Danger" [ref=e320] [cursor=pointer]:
|
||||
- img [ref=e321]
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e332]:
|
||||
- heading "Outcome summary" [level=2] [ref=e335]
|
||||
- generic [ref=e340]:
|
||||
- generic [ref=e341]:
|
||||
- generic [ref=e343]:
|
||||
- img [ref=e344]
|
||||
- generic [ref=e347]: Publishable
|
||||
- generic [ref=e348]:
|
||||
- generic [ref=e349]: Publishable
|
||||
- paragraph [ref=e350]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e351]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e352]:
|
||||
- generic [ref=e353]:
|
||||
- term [ref=e354]: Next step
|
||||
- definition [ref=e355]: No action needed
|
||||
- generic [ref=e356]:
|
||||
- term [ref=e357]: Artifact reference
|
||||
- definition [ref=e358]: "Review #17"
|
||||
- generic [ref=e359]:
|
||||
- term [ref=e360]: Lifecycle
|
||||
- definition [ref=e361]:
|
||||
- generic [ref=e362]:
|
||||
- img [ref=e363]
|
||||
- generic [ref=e366]: Current
|
||||
- generic [ref=e367]:
|
||||
- term [ref=e368]: Retention
|
||||
- definition [ref=e369]:
|
||||
- generic [ref=e370]:
|
||||
- img [ref=e371]
|
||||
- generic [ref=e375]: Retained
|
||||
- generic [ref=e376]:
|
||||
- term [ref=e377]: Result meaning
|
||||
- definition [ref=e378]:
|
||||
- generic [ref=e379]:
|
||||
- img [ref=e380]
|
||||
- generic [ref=e383]: No issues detected
|
||||
- generic [ref=e384]:
|
||||
- term [ref=e385]: Result trust
|
||||
- definition [ref=e386]:
|
||||
- generic [ref=e387]:
|
||||
- img [ref=e388]
|
||||
- generic [ref=e391]: Trustworthy
|
||||
- generic [ref=e395]:
|
||||
- heading "Review" [level=2] [ref=e398]
|
||||
- generic [ref=e400]:
|
||||
- generic [ref=e403]:
|
||||
- term [ref=e406]: Review status
|
||||
- definition [ref=e408]:
|
||||
- generic [ref=e411]:
|
||||
- img [ref=e412]
|
||||
- text: Ready
|
||||
- generic [ref=e416]:
|
||||
- term [ref=e419]: Completeness
|
||||
- definition [ref=e421]:
|
||||
- generic [ref=e424]:
|
||||
- img [ref=e425]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e429]:
|
||||
- term [ref=e432]: Environment
|
||||
- definition [ref=e434]:
|
||||
- generic [ref=e436]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Generated at
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Published at
|
||||
- definition [ref=e454]:
|
||||
- paragraph [ref=e457]: —
|
||||
- generic [ref=e460]:
|
||||
- term [ref=e463]: Evidence snapshot
|
||||
- definition [ref=e465]:
|
||||
- link "#15" [ref=e466] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- generic [ref=e467]: "#15"
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e476]:
|
||||
- term [ref=e479]: Fingerprint
|
||||
- definition [ref=e481]:
|
||||
- generic [ref=e483]: d1b5410e249c2468d5ac519a35d603ec6781ee2044f8e3fbf687d5074df7aced
|
||||
- generic [ref=e487]:
|
||||
- heading "Output guidance" [level=2] [ref=e490]
|
||||
- generic [ref=e495]:
|
||||
- generic [ref=e496]:
|
||||
- generic [ref=e497]:
|
||||
- generic [ref=e500]: Export not ready
|
||||
- generic [ref=e503]: Not ready
|
||||
- generic [ref=e504]:
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]: Output readiness
|
||||
- generic [ref=e507]: Export not ready
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]: Publication/sharing state
|
||||
- generic [ref=e510]: Not ready
|
||||
- generic [ref=e511]:
|
||||
- generic [ref=e512]: Next step
|
||||
- generic [ref=e513]: Publish review
|
||||
- generic [ref=e514]:
|
||||
- heading "Export not ready" [level=3] [ref=e515]
|
||||
- paragraph [ref=e516]: The current export is not ready yet.
|
||||
- paragraph [ref=e517]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e518]:
|
||||
- link "Review output limitations" [ref=e519] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/17
|
||||
- img [ref=e520]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e522] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- img [ref=e523]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e525] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/17
|
||||
- img [ref=e526]
|
||||
- text: Open review
|
||||
- group [ref=e528]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e529] [cursor=pointer]
|
||||
- group [ref=e530]:
|
||||
- generic "Technical details" [ref=e531] [cursor=pointer]
|
||||
- generic [ref=e535]:
|
||||
- heading "Executive posture" [level=2] [ref=e538]
|
||||
- generic [ref=e543]:
|
||||
- generic [ref=e544]:
|
||||
- generic [ref=e545]: No follow-up was detected from this result.
|
||||
- generic [ref=e546]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e547]: No action needed
|
||||
- generic [ref=e548]:
|
||||
- generic [ref=e549]:
|
||||
- term [ref=e550]: Findings
|
||||
- definition [ref=e551]: "0"
|
||||
- generic [ref=e552]:
|
||||
- term [ref=e553]: Reports
|
||||
- definition [ref=e554]: "2"
|
||||
- generic [ref=e555]:
|
||||
- term [ref=e556]: Operations
|
||||
- definition [ref=e557]: "1"
|
||||
- generic [ref=e558]:
|
||||
- term [ref=e559]: Sections
|
||||
- definition [ref=e560]: "7"
|
||||
- generic [ref=e561]:
|
||||
- term [ref=e562]: Pending verification
|
||||
- definition [ref=e563]: "0"
|
||||
- generic [ref=e564]:
|
||||
- term [ref=e565]: Verified cleared
|
||||
- definition [ref=e566]: "0"
|
||||
- generic [ref=e567]:
|
||||
- generic [ref=e568]: Highlights
|
||||
- list [ref=e569]:
|
||||
- listitem [ref=e570]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e571]: Permission posture score is 92.
|
||||
- listitem [ref=e572]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e573]: 0 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e574]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e575]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e576]:
|
||||
- generic [ref=e577]: Next actions
|
||||
- list [ref=e578]:
|
||||
- listitem [ref=e579]: No immediate corrective action is required beyond the normal review cadence.
|
||||
- generic [ref=e580]:
|
||||
- generic [ref=e581]: Related context
|
||||
- generic [ref=e582]:
|
||||
- generic [ref=e583]:
|
||||
- generic [ref=e584]: Operation
|
||||
- link "Open operation" [ref=e586] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/52
|
||||
- img [ref=e587]
|
||||
- text: Open operation
|
||||
- generic [ref=e590]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e591]:
|
||||
- generic [ref=e592]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e594] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e595]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e598]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e599]:
|
||||
- generic [ref=e600]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e602] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- img [ref=e603]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e606]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e607]:
|
||||
- generic [ref=e608]: Publication readiness
|
||||
- generic [ref=e609]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e613]:
|
||||
- heading "Sections" [level=2] [ref=e616]
|
||||
- definition [ref=e623]:
|
||||
- list [ref=e625]:
|
||||
- listitem [ref=e626]:
|
||||
- generic [ref=e627]:
|
||||
- generic [ref=e630]:
|
||||
- term [ref=e633]: Title
|
||||
- definition [ref=e635]:
|
||||
- generic [ref=e637]: Executive summary
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Completeness
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e648]:
|
||||
- img [ref=e649]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e653]:
|
||||
- term [ref=e656]: Measured at
|
||||
- definition [ref=e658]:
|
||||
- generic [ref=e660]: Jun 4, 2026 00:09:41
|
||||
- generic [ref=e665] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e667]
|
||||
- button [ref=e668]:
|
||||
- img [ref=e669]
|
||||
- listitem [ref=e671]:
|
||||
- generic [ref=e672]:
|
||||
- generic [ref=e675]:
|
||||
- term [ref=e678]: Title
|
||||
- definition [ref=e680]:
|
||||
- generic [ref=e682]: Control readiness interpretation
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Completeness
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e698]:
|
||||
- term [ref=e701]: Measured at
|
||||
- definition [ref=e703]:
|
||||
- generic [ref=e705]: Jun 4, 2026 00:09:41
|
||||
- generic [ref=e710] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e712]
|
||||
- button [ref=e713]:
|
||||
- img [ref=e714]
|
||||
- listitem [ref=e716]:
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e720]:
|
||||
- term [ref=e723]: Title
|
||||
- definition [ref=e725]:
|
||||
- generic [ref=e727]: Open risk highlights
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Completeness
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e738]:
|
||||
- img [ref=e739]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e743]:
|
||||
- term [ref=e746]: Measured at
|
||||
- definition [ref=e748]:
|
||||
- paragraph [ref=e751]: —
|
||||
- generic [ref=e756] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e758]
|
||||
- button [ref=e759]:
|
||||
- img [ref=e760]
|
||||
- listitem [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e766]:
|
||||
- term [ref=e769]: Title
|
||||
- definition [ref=e771]:
|
||||
- generic [ref=e773]: Accepted risk summary
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Completeness
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e784]:
|
||||
- img [ref=e785]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e789]:
|
||||
- term [ref=e792]: Measured at
|
||||
- definition [ref=e794]:
|
||||
- paragraph [ref=e797]: —
|
||||
- generic [ref=e802] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e804]
|
||||
- button [ref=e805]:
|
||||
- img [ref=e806]
|
||||
- listitem [ref=e808]:
|
||||
- generic [ref=e809]:
|
||||
- generic [ref=e812]:
|
||||
- term [ref=e815]: Title
|
||||
- definition [ref=e817]:
|
||||
- generic [ref=e819]: Permission posture
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Completeness
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e830]:
|
||||
- img [ref=e831]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e835]:
|
||||
- term [ref=e838]: Measured at
|
||||
- definition [ref=e840]:
|
||||
- generic [ref=e842]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e847] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e849]
|
||||
- button [ref=e850]:
|
||||
- img [ref=e851]
|
||||
- listitem [ref=e853]:
|
||||
- generic [ref=e854]:
|
||||
- generic [ref=e857]:
|
||||
- term [ref=e860]: Title
|
||||
- definition [ref=e862]:
|
||||
- generic [ref=e864]: Baseline drift posture
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Completeness
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e875]:
|
||||
- img [ref=e876]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e880]:
|
||||
- term [ref=e883]: Measured at
|
||||
- definition [ref=e885]:
|
||||
- paragraph [ref=e888]: —
|
||||
- generic [ref=e893] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e895]
|
||||
- button [ref=e896]:
|
||||
- img [ref=e897]
|
||||
- listitem [ref=e899]:
|
||||
- generic [ref=e900]:
|
||||
- generic [ref=e903]:
|
||||
- term [ref=e906]: Title
|
||||
- definition [ref=e908]:
|
||||
- generic [ref=e910]: Operations health
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Completeness
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e921]:
|
||||
- img [ref=e922]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e926]:
|
||||
- term [ref=e929]: Measured at
|
||||
- definition [ref=e931]:
|
||||
- generic [ref=e933]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e938] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e940]
|
||||
- button [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- generic:
|
||||
- status
|
||||
608
.playwright-mcp/page-2026-06-04T00-13-59-492Z.yml
Normal file
608
.playwright-mcp/page-2026-06-04T00-13-59-492Z.yml
Normal file
@ -0,0 +1,608 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- button "Notifications" [ref=e946] [cursor=pointer]:
|
||||
- img [ref=e947]
|
||||
- generic [ref=e950]: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Recent operation updates that may need review.
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Execution failed
|
||||
- generic [ref=e293]: Automatically reconciled
|
||||
- paragraph [ref=e294]: Completed · 13 seconds ago
|
||||
- paragraph [ref=e295]: No action needed.
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- navigation [ref=e299]:
|
||||
- list [ref=e300]:
|
||||
- listitem [ref=e301]:
|
||||
- link "Reviews" [ref=e302] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e303]:
|
||||
- img [ref=e304]
|
||||
- generic [ref=e306]: View
|
||||
- heading "View Review" [level=1] [ref=e307]
|
||||
- generic [ref=e309]:
|
||||
- button "Publish review" [ref=e310] [cursor=pointer]:
|
||||
- img [ref=e311]
|
||||
- text: Publish review
|
||||
- button "More" [ref=e315] [cursor=pointer]:
|
||||
- img [ref=e316]
|
||||
- button "Danger" [ref=e320] [cursor=pointer]:
|
||||
- img [ref=e321]
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e332]:
|
||||
- heading "Outcome summary" [level=2] [ref=e335]
|
||||
- generic [ref=e340]:
|
||||
- generic [ref=e341]:
|
||||
- generic [ref=e343]:
|
||||
- img [ref=e344]
|
||||
- generic [ref=e347]: Publishable
|
||||
- generic [ref=e348]:
|
||||
- generic [ref=e349]: Publishable
|
||||
- paragraph [ref=e350]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e351]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e352]:
|
||||
- generic [ref=e353]:
|
||||
- term [ref=e354]: Next step
|
||||
- definition [ref=e355]: No action needed
|
||||
- generic [ref=e356]:
|
||||
- term [ref=e357]: Artifact reference
|
||||
- definition [ref=e358]: "Review #17"
|
||||
- generic [ref=e359]:
|
||||
- term [ref=e360]: Lifecycle
|
||||
- definition [ref=e361]:
|
||||
- generic [ref=e362]:
|
||||
- img [ref=e363]
|
||||
- generic [ref=e366]: Current
|
||||
- generic [ref=e367]:
|
||||
- term [ref=e368]: Retention
|
||||
- definition [ref=e369]:
|
||||
- generic [ref=e370]:
|
||||
- img [ref=e371]
|
||||
- generic [ref=e375]: Retained
|
||||
- generic [ref=e376]:
|
||||
- term [ref=e377]: Result meaning
|
||||
- definition [ref=e378]:
|
||||
- generic [ref=e379]:
|
||||
- img [ref=e380]
|
||||
- generic [ref=e383]: No issues detected
|
||||
- generic [ref=e384]:
|
||||
- term [ref=e385]: Result trust
|
||||
- definition [ref=e386]:
|
||||
- generic [ref=e387]:
|
||||
- img [ref=e388]
|
||||
- generic [ref=e391]: Trustworthy
|
||||
- generic [ref=e395]:
|
||||
- heading "Review" [level=2] [ref=e398]
|
||||
- generic [ref=e400]:
|
||||
- generic [ref=e403]:
|
||||
- term [ref=e406]: Review status
|
||||
- definition [ref=e408]:
|
||||
- generic [ref=e411]:
|
||||
- img [ref=e412]
|
||||
- text: Ready
|
||||
- generic [ref=e416]:
|
||||
- term [ref=e419]: Completeness
|
||||
- definition [ref=e421]:
|
||||
- generic [ref=e424]:
|
||||
- img [ref=e425]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e429]:
|
||||
- term [ref=e432]: Environment
|
||||
- definition [ref=e434]:
|
||||
- generic [ref=e436]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Generated at
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Published at
|
||||
- definition [ref=e454]:
|
||||
- paragraph [ref=e457]: —
|
||||
- generic [ref=e460]:
|
||||
- term [ref=e463]: Evidence snapshot
|
||||
- definition [ref=e465]:
|
||||
- link "#15" [ref=e466] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- generic [ref=e467]: "#15"
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e476]:
|
||||
- term [ref=e479]: Fingerprint
|
||||
- definition [ref=e481]:
|
||||
- generic [ref=e483]: d1b5410e249c2468d5ac519a35d603ec6781ee2044f8e3fbf687d5074df7aced
|
||||
- generic [ref=e487]:
|
||||
- heading "Output guidance" [level=2] [ref=e490]
|
||||
- generic [ref=e495]:
|
||||
- generic [ref=e496]:
|
||||
- generic [ref=e497]:
|
||||
- generic [ref=e500]: Export not ready
|
||||
- generic [ref=e503]: Not ready
|
||||
- generic [ref=e504]:
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]: Output readiness
|
||||
- generic [ref=e507]: Export not ready
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]: Publication/sharing state
|
||||
- generic [ref=e510]: Not ready
|
||||
- generic [ref=e511]:
|
||||
- generic [ref=e512]: Next step
|
||||
- generic [ref=e513]: Publish review
|
||||
- generic [ref=e514]:
|
||||
- heading "Export not ready" [level=3] [ref=e515]
|
||||
- paragraph [ref=e516]: The current export is not ready yet.
|
||||
- paragraph [ref=e517]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e518]:
|
||||
- link "Review output limitations" [ref=e519] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/17
|
||||
- img [ref=e520]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e522] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- img [ref=e523]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e525] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/17
|
||||
- img [ref=e526]
|
||||
- text: Open review
|
||||
- group [ref=e528]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e529] [cursor=pointer]
|
||||
- group [ref=e530]:
|
||||
- generic "Technical details" [ref=e531] [cursor=pointer]
|
||||
- generic [ref=e535]:
|
||||
- heading "Executive posture" [level=2] [ref=e538]
|
||||
- generic [ref=e543]:
|
||||
- generic [ref=e544]:
|
||||
- generic [ref=e545]: No follow-up was detected from this result.
|
||||
- generic [ref=e546]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e547]: No action needed
|
||||
- generic [ref=e548]:
|
||||
- generic [ref=e549]:
|
||||
- term [ref=e550]: Findings
|
||||
- definition [ref=e551]: "0"
|
||||
- generic [ref=e552]:
|
||||
- term [ref=e553]: Reports
|
||||
- definition [ref=e554]: "2"
|
||||
- generic [ref=e555]:
|
||||
- term [ref=e556]: Operations
|
||||
- definition [ref=e557]: "1"
|
||||
- generic [ref=e558]:
|
||||
- term [ref=e559]: Sections
|
||||
- definition [ref=e560]: "7"
|
||||
- generic [ref=e561]:
|
||||
- term [ref=e562]: Pending verification
|
||||
- definition [ref=e563]: "0"
|
||||
- generic [ref=e564]:
|
||||
- term [ref=e565]: Verified cleared
|
||||
- definition [ref=e566]: "0"
|
||||
- generic [ref=e567]:
|
||||
- generic [ref=e568]: Highlights
|
||||
- list [ref=e569]:
|
||||
- listitem [ref=e570]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e571]: Permission posture score is 92.
|
||||
- listitem [ref=e572]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e573]: 0 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e574]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e575]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e576]:
|
||||
- generic [ref=e577]: Next actions
|
||||
- list [ref=e578]:
|
||||
- listitem [ref=e579]: No immediate corrective action is required beyond the normal review cadence.
|
||||
- generic [ref=e580]:
|
||||
- generic [ref=e581]: Related context
|
||||
- generic [ref=e582]:
|
||||
- generic [ref=e583]:
|
||||
- generic [ref=e584]: Operation
|
||||
- link "Open operation" [ref=e586] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/52
|
||||
- img [ref=e587]
|
||||
- text: Open operation
|
||||
- generic [ref=e590]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e591]:
|
||||
- generic [ref=e592]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e594] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e595]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e598]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e599]:
|
||||
- generic [ref=e600]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e602] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- img [ref=e603]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e606]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e607]:
|
||||
- generic [ref=e608]: Publication readiness
|
||||
- generic [ref=e609]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e613]:
|
||||
- heading "Sections" [level=2] [ref=e616]
|
||||
- definition [ref=e623]:
|
||||
- list [ref=e625]:
|
||||
- listitem [ref=e626]:
|
||||
- generic [ref=e627]:
|
||||
- generic [ref=e630]:
|
||||
- term [ref=e633]: Title
|
||||
- definition [ref=e635]:
|
||||
- generic [ref=e637]: Executive summary
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Completeness
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e648]:
|
||||
- img [ref=e649]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e653]:
|
||||
- term [ref=e656]: Measured at
|
||||
- definition [ref=e658]:
|
||||
- generic [ref=e660]: Jun 4, 2026 00:09:41
|
||||
- generic [ref=e665] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e667]
|
||||
- button [ref=e668]:
|
||||
- img [ref=e669]
|
||||
- listitem [ref=e671]:
|
||||
- generic [ref=e672]:
|
||||
- generic [ref=e675]:
|
||||
- term [ref=e678]: Title
|
||||
- definition [ref=e680]:
|
||||
- generic [ref=e682]: Control readiness interpretation
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Completeness
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e698]:
|
||||
- term [ref=e701]: Measured at
|
||||
- definition [ref=e703]:
|
||||
- generic [ref=e705]: Jun 4, 2026 00:09:41
|
||||
- generic [ref=e710] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e712]
|
||||
- button [ref=e713]:
|
||||
- img [ref=e714]
|
||||
- listitem [ref=e716]:
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e720]:
|
||||
- term [ref=e723]: Title
|
||||
- definition [ref=e725]:
|
||||
- generic [ref=e727]: Open risk highlights
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Completeness
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e738]:
|
||||
- img [ref=e739]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e743]:
|
||||
- term [ref=e746]: Measured at
|
||||
- definition [ref=e748]:
|
||||
- paragraph [ref=e751]: —
|
||||
- generic [ref=e756] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e758]
|
||||
- button [ref=e759]:
|
||||
- img [ref=e760]
|
||||
- listitem [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e766]:
|
||||
- term [ref=e769]: Title
|
||||
- definition [ref=e771]:
|
||||
- generic [ref=e773]: Accepted risk summary
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Completeness
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e784]:
|
||||
- img [ref=e785]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e789]:
|
||||
- term [ref=e792]: Measured at
|
||||
- definition [ref=e794]:
|
||||
- paragraph [ref=e797]: —
|
||||
- generic [ref=e802] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e804]
|
||||
- button [ref=e805]:
|
||||
- img [ref=e806]
|
||||
- listitem [ref=e808]:
|
||||
- generic [ref=e809]:
|
||||
- generic [ref=e812]:
|
||||
- term [ref=e815]: Title
|
||||
- definition [ref=e817]:
|
||||
- generic [ref=e819]: Permission posture
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Completeness
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e830]:
|
||||
- img [ref=e831]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e835]:
|
||||
- term [ref=e838]: Measured at
|
||||
- definition [ref=e840]:
|
||||
- generic [ref=e842]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e847] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e849]
|
||||
- button [ref=e850]:
|
||||
- img [ref=e851]
|
||||
- listitem [ref=e853]:
|
||||
- generic [ref=e854]:
|
||||
- generic [ref=e857]:
|
||||
- term [ref=e860]: Title
|
||||
- definition [ref=e862]:
|
||||
- generic [ref=e864]: Baseline drift posture
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Completeness
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e875]:
|
||||
- img [ref=e876]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e880]:
|
||||
- term [ref=e883]: Measured at
|
||||
- definition [ref=e885]:
|
||||
- paragraph [ref=e888]: —
|
||||
- generic [ref=e893] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e895]
|
||||
- button [ref=e896]:
|
||||
- img [ref=e897]
|
||||
- listitem [ref=e899]:
|
||||
- generic [ref=e900]:
|
||||
- generic [ref=e903]:
|
||||
- term [ref=e906]: Title
|
||||
- definition [ref=e908]:
|
||||
- generic [ref=e910]: Operations health
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Completeness
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e921]:
|
||||
- img [ref=e922]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e926]:
|
||||
- term [ref=e929]: Measured at
|
||||
- definition [ref=e931]:
|
||||
- generic [ref=e933]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e938] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e940]
|
||||
- button [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- generic:
|
||||
- status
|
||||
608
.playwright-mcp/page-2026-06-04T00-14-07-989Z.yml
Normal file
608
.playwright-mcp/page-2026-06-04T00-14-07-989Z.yml
Normal file
@ -0,0 +1,608 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- button "Notifications" [ref=e946] [cursor=pointer]:
|
||||
- img [ref=e947]
|
||||
- generic [ref=e950]: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Recent operation updates that may need review.
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Execution failed
|
||||
- generic [ref=e293]: Automatically reconciled
|
||||
- paragraph [ref=e294]: Completed · 23 seconds ago
|
||||
- paragraph [ref=e295]: No action needed.
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- navigation [ref=e299]:
|
||||
- list [ref=e300]:
|
||||
- listitem [ref=e301]:
|
||||
- link "Reviews" [ref=e302] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e303]:
|
||||
- img [ref=e304]
|
||||
- generic [ref=e306]: View
|
||||
- heading "View Review" [level=1] [ref=e307]
|
||||
- generic [ref=e309]:
|
||||
- button "Publish review" [ref=e310] [cursor=pointer]:
|
||||
- img [ref=e311]
|
||||
- text: Publish review
|
||||
- button "More" [ref=e315] [cursor=pointer]:
|
||||
- img [ref=e316]
|
||||
- button "Danger" [ref=e320] [cursor=pointer]:
|
||||
- img [ref=e321]
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e332]:
|
||||
- heading "Outcome summary" [level=2] [ref=e335]
|
||||
- generic [ref=e340]:
|
||||
- generic [ref=e341]:
|
||||
- generic [ref=e343]:
|
||||
- img [ref=e344]
|
||||
- generic [ref=e347]: Publishable
|
||||
- generic [ref=e348]:
|
||||
- generic [ref=e349]: Publishable
|
||||
- paragraph [ref=e350]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e351]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e352]:
|
||||
- generic [ref=e353]:
|
||||
- term [ref=e354]: Next step
|
||||
- definition [ref=e355]: No action needed
|
||||
- generic [ref=e356]:
|
||||
- term [ref=e357]: Artifact reference
|
||||
- definition [ref=e358]: "Review #17"
|
||||
- generic [ref=e359]:
|
||||
- term [ref=e360]: Lifecycle
|
||||
- definition [ref=e361]:
|
||||
- generic [ref=e362]:
|
||||
- img [ref=e363]
|
||||
- generic [ref=e366]: Current
|
||||
- generic [ref=e367]:
|
||||
- term [ref=e368]: Retention
|
||||
- definition [ref=e369]:
|
||||
- generic [ref=e370]:
|
||||
- img [ref=e371]
|
||||
- generic [ref=e375]: Retained
|
||||
- generic [ref=e376]:
|
||||
- term [ref=e377]: Result meaning
|
||||
- definition [ref=e378]:
|
||||
- generic [ref=e379]:
|
||||
- img [ref=e380]
|
||||
- generic [ref=e383]: No issues detected
|
||||
- generic [ref=e384]:
|
||||
- term [ref=e385]: Result trust
|
||||
- definition [ref=e386]:
|
||||
- generic [ref=e387]:
|
||||
- img [ref=e388]
|
||||
- generic [ref=e391]: Trustworthy
|
||||
- generic [ref=e395]:
|
||||
- heading "Review" [level=2] [ref=e398]
|
||||
- generic [ref=e400]:
|
||||
- generic [ref=e403]:
|
||||
- term [ref=e406]: Review status
|
||||
- definition [ref=e408]:
|
||||
- generic [ref=e411]:
|
||||
- img [ref=e412]
|
||||
- text: Ready
|
||||
- generic [ref=e416]:
|
||||
- term [ref=e419]: Completeness
|
||||
- definition [ref=e421]:
|
||||
- generic [ref=e424]:
|
||||
- img [ref=e425]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e429]:
|
||||
- term [ref=e432]: Environment
|
||||
- definition [ref=e434]:
|
||||
- generic [ref=e436]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Generated at
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Published at
|
||||
- definition [ref=e454]:
|
||||
- paragraph [ref=e457]: —
|
||||
- generic [ref=e460]:
|
||||
- term [ref=e463]: Evidence snapshot
|
||||
- definition [ref=e465]:
|
||||
- link "#15" [ref=e466] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- generic [ref=e467]: "#15"
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e476]:
|
||||
- term [ref=e479]: Fingerprint
|
||||
- definition [ref=e481]:
|
||||
- generic [ref=e483]: d1b5410e249c2468d5ac519a35d603ec6781ee2044f8e3fbf687d5074df7aced
|
||||
- generic [ref=e487]:
|
||||
- heading "Output guidance" [level=2] [ref=e490]
|
||||
- generic [ref=e495]:
|
||||
- generic [ref=e496]:
|
||||
- generic [ref=e497]:
|
||||
- generic [ref=e500]: Export not ready
|
||||
- generic [ref=e503]: Not ready
|
||||
- generic [ref=e504]:
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]: Output readiness
|
||||
- generic [ref=e507]: Export not ready
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]: Publication/sharing state
|
||||
- generic [ref=e510]: Not ready
|
||||
- generic [ref=e511]:
|
||||
- generic [ref=e512]: Next step
|
||||
- generic [ref=e513]: Publish review
|
||||
- generic [ref=e514]:
|
||||
- heading "Export not ready" [level=3] [ref=e515]
|
||||
- paragraph [ref=e516]: The current export is not ready yet.
|
||||
- paragraph [ref=e517]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e518]:
|
||||
- link "Review output limitations" [ref=e519] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/17
|
||||
- img [ref=e520]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e522] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- img [ref=e523]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e525] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/17
|
||||
- img [ref=e526]
|
||||
- text: Open review
|
||||
- group [ref=e528]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e529] [cursor=pointer]
|
||||
- group [ref=e530]:
|
||||
- generic "Technical details" [ref=e531] [cursor=pointer]
|
||||
- generic [ref=e535]:
|
||||
- heading "Executive posture" [level=2] [ref=e538]
|
||||
- generic [ref=e543]:
|
||||
- generic [ref=e544]:
|
||||
- generic [ref=e545]: No follow-up was detected from this result.
|
||||
- generic [ref=e546]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e547]: No action needed
|
||||
- generic [ref=e548]:
|
||||
- generic [ref=e549]:
|
||||
- term [ref=e550]: Findings
|
||||
- definition [ref=e551]: "0"
|
||||
- generic [ref=e552]:
|
||||
- term [ref=e553]: Reports
|
||||
- definition [ref=e554]: "2"
|
||||
- generic [ref=e555]:
|
||||
- term [ref=e556]: Operations
|
||||
- definition [ref=e557]: "1"
|
||||
- generic [ref=e558]:
|
||||
- term [ref=e559]: Sections
|
||||
- definition [ref=e560]: "7"
|
||||
- generic [ref=e561]:
|
||||
- term [ref=e562]: Pending verification
|
||||
- definition [ref=e563]: "0"
|
||||
- generic [ref=e564]:
|
||||
- term [ref=e565]: Verified cleared
|
||||
- definition [ref=e566]: "0"
|
||||
- generic [ref=e567]:
|
||||
- generic [ref=e568]: Highlights
|
||||
- list [ref=e569]:
|
||||
- listitem [ref=e570]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e571]: Permission posture score is 92.
|
||||
- listitem [ref=e572]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e573]: 0 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e574]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e575]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e576]:
|
||||
- generic [ref=e577]: Next actions
|
||||
- list [ref=e578]:
|
||||
- listitem [ref=e579]: No immediate corrective action is required beyond the normal review cadence.
|
||||
- generic [ref=e580]:
|
||||
- generic [ref=e581]: Related context
|
||||
- generic [ref=e582]:
|
||||
- generic [ref=e583]:
|
||||
- generic [ref=e584]: Operation
|
||||
- link "Open operation" [ref=e586] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/52
|
||||
- img [ref=e587]
|
||||
- text: Open operation
|
||||
- generic [ref=e590]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e591]:
|
||||
- generic [ref=e592]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e594] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e595]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e598]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e599]:
|
||||
- generic [ref=e600]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e602] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/15
|
||||
- img [ref=e603]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e606]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e607]:
|
||||
- generic [ref=e608]: Publication readiness
|
||||
- generic [ref=e609]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e613]:
|
||||
- heading "Sections" [level=2] [ref=e616]
|
||||
- definition [ref=e623]:
|
||||
- list [ref=e625]:
|
||||
- listitem [ref=e626]:
|
||||
- generic [ref=e627]:
|
||||
- generic [ref=e630]:
|
||||
- term [ref=e633]: Title
|
||||
- definition [ref=e635]:
|
||||
- generic [ref=e637]: Executive summary
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Completeness
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e648]:
|
||||
- img [ref=e649]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e653]:
|
||||
- term [ref=e656]: Measured at
|
||||
- definition [ref=e658]:
|
||||
- generic [ref=e660]: Jun 4, 2026 00:09:41
|
||||
- generic [ref=e665] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e667]
|
||||
- button [ref=e668]:
|
||||
- img [ref=e669]
|
||||
- listitem [ref=e671]:
|
||||
- generic [ref=e672]:
|
||||
- generic [ref=e675]:
|
||||
- term [ref=e678]: Title
|
||||
- definition [ref=e680]:
|
||||
- generic [ref=e682]: Control readiness interpretation
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Completeness
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e698]:
|
||||
- term [ref=e701]: Measured at
|
||||
- definition [ref=e703]:
|
||||
- generic [ref=e705]: Jun 4, 2026 00:09:41
|
||||
- generic [ref=e710] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e712]
|
||||
- button [ref=e713]:
|
||||
- img [ref=e714]
|
||||
- listitem [ref=e716]:
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e720]:
|
||||
- term [ref=e723]: Title
|
||||
- definition [ref=e725]:
|
||||
- generic [ref=e727]: Open risk highlights
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Completeness
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e738]:
|
||||
- img [ref=e739]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e743]:
|
||||
- term [ref=e746]: Measured at
|
||||
- definition [ref=e748]:
|
||||
- paragraph [ref=e751]: —
|
||||
- generic [ref=e756] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e758]
|
||||
- button [ref=e759]:
|
||||
- img [ref=e760]
|
||||
- listitem [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e766]:
|
||||
- term [ref=e769]: Title
|
||||
- definition [ref=e771]:
|
||||
- generic [ref=e773]: Accepted risk summary
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Completeness
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e784]:
|
||||
- img [ref=e785]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e789]:
|
||||
- term [ref=e792]: Measured at
|
||||
- definition [ref=e794]:
|
||||
- paragraph [ref=e797]: —
|
||||
- generic [ref=e802] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e804]
|
||||
- button [ref=e805]:
|
||||
- img [ref=e806]
|
||||
- listitem [ref=e808]:
|
||||
- generic [ref=e809]:
|
||||
- generic [ref=e812]:
|
||||
- term [ref=e815]: Title
|
||||
- definition [ref=e817]:
|
||||
- generic [ref=e819]: Permission posture
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Completeness
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e830]:
|
||||
- img [ref=e831]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e835]:
|
||||
- term [ref=e838]: Measured at
|
||||
- definition [ref=e840]:
|
||||
- generic [ref=e842]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e847] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e849]
|
||||
- button [ref=e850]:
|
||||
- img [ref=e851]
|
||||
- listitem [ref=e853]:
|
||||
- generic [ref=e854]:
|
||||
- generic [ref=e857]:
|
||||
- term [ref=e860]: Title
|
||||
- definition [ref=e862]:
|
||||
- generic [ref=e864]: Baseline drift posture
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Completeness
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e875]:
|
||||
- img [ref=e876]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e880]:
|
||||
- term [ref=e883]: Measured at
|
||||
- definition [ref=e885]:
|
||||
- paragraph [ref=e888]: —
|
||||
- generic [ref=e893] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e895]
|
||||
- button [ref=e896]:
|
||||
- img [ref=e897]
|
||||
- listitem [ref=e899]:
|
||||
- generic [ref=e900]:
|
||||
- generic [ref=e903]:
|
||||
- term [ref=e906]: Title
|
||||
- definition [ref=e908]:
|
||||
- generic [ref=e910]: Operations health
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Completeness
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e921]:
|
||||
- img [ref=e922]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e926]:
|
||||
- term [ref=e929]: Measured at
|
||||
- definition [ref=e931]:
|
||||
- generic [ref=e933]: Jun 4, 2026 00:13:41
|
||||
- generic [ref=e938] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e940]
|
||||
- button [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- generic:
|
||||
- status
|
||||
195
.playwright-mcp/page-2026-06-04T00-14-12-617Z.yml
Normal file
195
.playwright-mcp/page-2026-06-04T00-14-12-617Z.yml
Normal file
@ -0,0 +1,195 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "1"
|
||||
- button "User menu" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e51]:
|
||||
- 'link "Workspace: Spec 351 Review Output Smoke" [ref=e52] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e54]
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]: Workspace
|
||||
- generic "Spec 351 Review Output Smoke" [ref=e58]
|
||||
- generic [ref=e59]: 1 environment
|
||||
- img [ref=e60]
|
||||
- list [ref=e62]:
|
||||
- listitem [ref=e63]:
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- link "Overview" [ref=e66] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e67]
|
||||
- generic [ref=e69]: Overview
|
||||
- listitem [ref=e70]:
|
||||
- generic [ref=e71] [cursor=pointer]:
|
||||
- generic [ref=e72]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e73]:
|
||||
- img [ref=e74]
|
||||
- list [ref=e76]:
|
||||
- listitem [ref=e77]:
|
||||
- link "Finding exceptions" [ref=e78] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e79]
|
||||
- generic [ref=e81]: Finding exceptions
|
||||
- listitem [ref=e82]:
|
||||
- link "Operations" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Operations
|
||||
- listitem [ref=e87]:
|
||||
- link "Alerts" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Alerts
|
||||
- listitem [ref=e92]:
|
||||
- link "Evidence" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Evidence
|
||||
- listitem [ref=e97]:
|
||||
- link "Audit Log" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Audit Log
|
||||
- listitem [ref=e102]:
|
||||
- generic [ref=e103] [cursor=pointer]:
|
||||
- generic [ref=e104]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e105]:
|
||||
- img [ref=e106]
|
||||
- list [ref=e108]:
|
||||
- listitem [ref=e109]:
|
||||
- link "Reviews" [ref=e110] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e111]
|
||||
- generic [ref=e113]: Reviews
|
||||
- listitem [ref=e114]:
|
||||
- link "Customer reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Customer reviews
|
||||
- listitem [ref=e119]:
|
||||
- generic [ref=e120] [cursor=pointer]:
|
||||
- generic [ref=e121]: Settings
|
||||
- button "Settings" [expanded] [ref=e122]:
|
||||
- img [ref=e123]
|
||||
- list [ref=e125]:
|
||||
- listitem [ref=e126]:
|
||||
- link "Manage workspaces" [ref=e127] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e128]
|
||||
- generic [ref=e130]: Manage workspaces
|
||||
- listitem [ref=e131]:
|
||||
- link "Integrations" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Integrations
|
||||
- listitem [ref=e136]:
|
||||
- link "Settings" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e138]
|
||||
- generic [ref=e141]: Settings
|
||||
- listitem [ref=e142]:
|
||||
- generic [ref=e143] [cursor=pointer]:
|
||||
- generic [ref=e144]: Governance
|
||||
- button "Governance" [expanded] [ref=e145]:
|
||||
- img [ref=e146]
|
||||
- list [ref=e148]:
|
||||
- listitem [ref=e149]:
|
||||
- link "Governance inbox" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Governance inbox
|
||||
- listitem [ref=e154]:
|
||||
- link "Decision register" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Decision register
|
||||
- main [ref=e160]:
|
||||
- generic [ref=e162]:
|
||||
- generic [ref=e163]:
|
||||
- heading "Customer Review Workspace" [level=1] [ref=e165]
|
||||
- button "Clear filters" [ref=e168] [cursor=pointer]:
|
||||
- img [ref=e169]
|
||||
- text: Clear filters
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e176]:
|
||||
- heading "Customer-safe review packages" [level=2] [ref=e177]
|
||||
- paragraph [ref=e178]: Review released governance packages, evidence readiness, accepted risks, and handoff status across entitled environments.
|
||||
- paragraph [ref=e179]: Service delivery summary only. Does not replace formal audit opinion, certification, or legal attestation.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]: "Environment filter:"
|
||||
- generic [ref=e183]: Spec 351 Browser Ready Draft
|
||||
- link "Clear filter" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- generic [ref=e185]:
|
||||
- generic [ref=e186]:
|
||||
- heading "Review package index" [level=2] [ref=e187]
|
||||
- paragraph [ref=e188]: Released reviews and customer-safe package entries available in this workspace.
|
||||
- generic [ref=e191]:
|
||||
- generic [ref=e194]:
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]: Search
|
||||
- generic [ref=e197]:
|
||||
- img [ref=e199]
|
||||
- searchbox "Search" [ref=e202]
|
||||
- button "Filter" [ref=e205] [cursor=pointer]:
|
||||
- img [ref=e206]
|
||||
- generic [ref=e209]: "1"
|
||||
- generic [ref=e210]:
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]: Active filters
|
||||
- generic [ref=e214]:
|
||||
- generic [ref=e216]: "Environment: Spec 351 Browser Ready Draft"
|
||||
- button "Remove filter" [ref=e217] [cursor=pointer]:
|
||||
- img [ref=e218]
|
||||
- generic [ref=e220]: Remove filter
|
||||
- button [ref=e221] [cursor=pointer]:
|
||||
- img [ref=e222]
|
||||
- table [ref=e225]:
|
||||
- rowgroup [ref=e226]:
|
||||
- row "Environment Governance package Status Evidence Next step Open" [ref=e227]:
|
||||
- columnheader "Environment" [ref=e228]
|
||||
- columnheader "Governance package" [ref=e229]
|
||||
- columnheader "Status" [ref=e230]
|
||||
- columnheader "Evidence" [ref=e231]
|
||||
- columnheader "Next step" [ref=e232]
|
||||
- columnheader "Open" [ref=e233]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- heading "No released customer reviews match this view" [level=2] [ref=e239]
|
||||
- paragraph [ref=e240]: Publish an environment review before it appears in the customer-safe workspace.
|
||||
- button "Clear filters" [ref=e242] [cursor=pointer]:
|
||||
- img [ref=e243]
|
||||
- text: Clear filters
|
||||
- generic:
|
||||
- status
|
||||
14
.playwright-mcp/page-2026-06-04T00-16-21-955Z.yml
Normal file
14
.playwright-mcp/page-2026-06-04T00-16-21-955Z.yml
Normal file
@ -0,0 +1,14 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
622
.playwright-mcp/page-2026-06-04T00-41-15-289Z.yml
Normal file
622
.playwright-mcp/page-2026-06-04T00-41-15-289Z.yml
Normal file
@ -0,0 +1,622 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Active and recent operation updates that may need review.
|
||||
- generic [ref=e282]:
|
||||
- link "Review operations" [ref=e283] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- link "Show all operations" [ref=e284] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Queued for execution
|
||||
- generic [ref=e293]: Likely stale
|
||||
- paragraph [ref=e294]: Queued · now · Waiting for worker.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review composition" [level=4] [ref=e301]
|
||||
- generic [ref=e302]: Execution failed
|
||||
- generic [ref=e303]: Automatically reconciled
|
||||
- paragraph [ref=e304]: Completed · 27 minutes ago
|
||||
- paragraph [ref=e305]: Review worker health and logs before retrying this operation.
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- navigation [ref=e309]:
|
||||
- list [ref=e310]:
|
||||
- listitem [ref=e311]:
|
||||
- link "Reviews" [ref=e312] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e313]:
|
||||
- img [ref=e314]
|
||||
- generic [ref=e316]: View
|
||||
- heading "View Review" [level=1] [ref=e317]
|
||||
- generic [ref=e319]:
|
||||
- button "Publish review" [ref=e320] [cursor=pointer]:
|
||||
- img [ref=e321]
|
||||
- text: Publish review
|
||||
- button "More" [ref=e325] [cursor=pointer]:
|
||||
- img [ref=e326]
|
||||
- button "Danger" [ref=e330] [cursor=pointer]:
|
||||
- img [ref=e331]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e342]:
|
||||
- heading "Outcome summary" [level=2] [ref=e345]
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e357]: Publishable
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]: Publishable
|
||||
- paragraph [ref=e360]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e361]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]:
|
||||
- term [ref=e364]: Next step
|
||||
- definition [ref=e365]: No action needed
|
||||
- generic [ref=e366]:
|
||||
- term [ref=e367]: Artifact reference
|
||||
- definition [ref=e368]: "Review #19"
|
||||
- generic [ref=e369]:
|
||||
- term [ref=e370]: Lifecycle
|
||||
- definition [ref=e371]:
|
||||
- generic [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- generic [ref=e376]: Current
|
||||
- generic [ref=e377]:
|
||||
- term [ref=e378]: Retention
|
||||
- definition [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- img [ref=e381]
|
||||
- generic [ref=e385]: Retained
|
||||
- generic [ref=e386]:
|
||||
- term [ref=e387]: Result meaning
|
||||
- definition [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- generic [ref=e393]: No issues detected
|
||||
- generic [ref=e394]:
|
||||
- term [ref=e395]: Result trust
|
||||
- definition [ref=e396]:
|
||||
- generic [ref=e397]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e401]: Trustworthy
|
||||
- generic [ref=e405]:
|
||||
- heading "Review" [level=2] [ref=e408]
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e413]:
|
||||
- term [ref=e416]: Review status
|
||||
- definition [ref=e418]:
|
||||
- generic [ref=e421]:
|
||||
- img [ref=e422]
|
||||
- text: Ready
|
||||
- generic [ref=e426]:
|
||||
- term [ref=e429]: Completeness
|
||||
- definition [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Environment
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Generated at
|
||||
- definition [ref=e454]:
|
||||
- generic [ref=e456]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e459]:
|
||||
- term [ref=e462]: Published at
|
||||
- definition [ref=e464]:
|
||||
- paragraph [ref=e467]: —
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Evidence snapshot
|
||||
- definition [ref=e475]:
|
||||
- link "#16" [ref=e476] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e477]: "#16"
|
||||
- generic [ref=e480]:
|
||||
- term [ref=e483]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e486]:
|
||||
- term [ref=e489]: Fingerprint
|
||||
- definition [ref=e491]:
|
||||
- generic [ref=e493]: 8820d05a30fc7851bafc8001e84840c756472779faa3ac9f8247d08a94767d9d
|
||||
- generic [ref=e497]:
|
||||
- heading "Output guidance" [level=2] [ref=e500]
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e510]: Export not ready
|
||||
- generic [ref=e513]: Not ready
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Output readiness
|
||||
- generic [ref=e517]: Export not ready
|
||||
- generic [ref=e518]:
|
||||
- generic [ref=e519]: Publication/sharing state
|
||||
- generic [ref=e520]: Not ready
|
||||
- generic [ref=e521]:
|
||||
- generic [ref=e522]: Next step
|
||||
- generic [ref=e523]: Publish review
|
||||
- generic [ref=e524]:
|
||||
- heading "Export not ready" [level=3] [ref=e525]
|
||||
- paragraph [ref=e526]: The current export is not ready yet.
|
||||
- paragraph [ref=e527]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e528]:
|
||||
- link "Review output limitations" [ref=e529] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e530]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e532] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e533]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e535] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e536]
|
||||
- text: Open review
|
||||
- group [ref=e538]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e539] [cursor=pointer]
|
||||
- group [ref=e540]:
|
||||
- generic "Technical details" [ref=e541] [cursor=pointer]
|
||||
- generic [ref=e545]:
|
||||
- heading "Executive posture" [level=2] [ref=e548]
|
||||
- generic [ref=e553]:
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: No follow-up was detected from this result.
|
||||
- generic [ref=e556]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e557]: No action needed
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]:
|
||||
- term [ref=e560]: Findings
|
||||
- definition [ref=e561]: "0"
|
||||
- generic [ref=e562]:
|
||||
- term [ref=e563]: Reports
|
||||
- definition [ref=e564]: "2"
|
||||
- generic [ref=e565]:
|
||||
- term [ref=e566]: Operations
|
||||
- definition [ref=e567]: "3"
|
||||
- generic [ref=e568]:
|
||||
- term [ref=e569]: Sections
|
||||
- definition [ref=e570]: "7"
|
||||
- generic [ref=e571]:
|
||||
- term [ref=e572]: Pending verification
|
||||
- definition [ref=e573]: "0"
|
||||
- generic [ref=e574]:
|
||||
- term [ref=e575]: Verified cleared
|
||||
- definition [ref=e576]: "0"
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]: Highlights
|
||||
- list [ref=e579]:
|
||||
- listitem [ref=e580]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e581]: Permission posture score is 92.
|
||||
- listitem [ref=e582]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e583]: 1 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e584]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e585]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e586]:
|
||||
- generic [ref=e587]: Next actions
|
||||
- list [ref=e588]:
|
||||
- listitem [ref=e589]: Inspect recent failed operations to confirm tenant management workflows are stable.
|
||||
- generic [ref=e590]:
|
||||
- generic [ref=e591]: Related context
|
||||
- generic [ref=e592]:
|
||||
- generic [ref=e593]:
|
||||
- generic [ref=e594]: Operation
|
||||
- link "Open operation" [ref=e596] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- img [ref=e597]
|
||||
- text: Open operation
|
||||
- generic [ref=e600]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e604] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e605]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e608]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e609]:
|
||||
- generic [ref=e610]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e612] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e613]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e616]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: Publication readiness
|
||||
- generic [ref=e619]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e623]:
|
||||
- heading "Sections" [level=2] [ref=e626]
|
||||
- definition [ref=e633]:
|
||||
- list [ref=e635]:
|
||||
- listitem [ref=e636]:
|
||||
- generic [ref=e637]:
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Title
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e647]: Executive summary
|
||||
- generic [ref=e650]:
|
||||
- term [ref=e653]: Completeness
|
||||
- definition [ref=e655]:
|
||||
- generic [ref=e658]:
|
||||
- img [ref=e659]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e663]:
|
||||
- term [ref=e666]: Measured at
|
||||
- definition [ref=e668]:
|
||||
- generic [ref=e670]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e675] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e677]
|
||||
- button [ref=e678]:
|
||||
- img [ref=e679]
|
||||
- listitem [ref=e681]:
|
||||
- generic [ref=e682]:
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Title
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e692]: Control readiness interpretation
|
||||
- generic [ref=e695]:
|
||||
- term [ref=e698]: Completeness
|
||||
- definition [ref=e700]:
|
||||
- generic [ref=e703]:
|
||||
- img [ref=e704]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e708]:
|
||||
- term [ref=e711]: Measured at
|
||||
- definition [ref=e713]:
|
||||
- generic [ref=e715]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e720] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e722]
|
||||
- button [ref=e723]:
|
||||
- img [ref=e724]
|
||||
- listitem [ref=e726]:
|
||||
- generic [ref=e727]:
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Title
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e737]: Open risk highlights
|
||||
- generic [ref=e740]:
|
||||
- term [ref=e743]: Completeness
|
||||
- definition [ref=e745]:
|
||||
- generic [ref=e748]:
|
||||
- img [ref=e749]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e753]:
|
||||
- term [ref=e756]: Measured at
|
||||
- definition [ref=e758]:
|
||||
- paragraph [ref=e761]: —
|
||||
- generic [ref=e766] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e768]
|
||||
- button [ref=e769]:
|
||||
- img [ref=e770]
|
||||
- listitem [ref=e772]:
|
||||
- generic [ref=e773]:
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Title
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e783]: Accepted risk summary
|
||||
- generic [ref=e786]:
|
||||
- term [ref=e789]: Completeness
|
||||
- definition [ref=e791]:
|
||||
- generic [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e799]:
|
||||
- term [ref=e802]: Measured at
|
||||
- definition [ref=e804]:
|
||||
- paragraph [ref=e807]: —
|
||||
- generic [ref=e812] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e814]
|
||||
- button [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- listitem [ref=e818]:
|
||||
- generic [ref=e819]:
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Title
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e829]: Permission posture
|
||||
- generic [ref=e832]:
|
||||
- term [ref=e835]: Completeness
|
||||
- definition [ref=e837]:
|
||||
- generic [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e845]:
|
||||
- term [ref=e848]: Measured at
|
||||
- definition [ref=e850]:
|
||||
- generic [ref=e852]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e857] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e859]
|
||||
- button [ref=e860]:
|
||||
- img [ref=e861]
|
||||
- listitem [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Title
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e874]: Baseline drift posture
|
||||
- generic [ref=e877]:
|
||||
- term [ref=e880]: Completeness
|
||||
- definition [ref=e882]:
|
||||
- generic [ref=e885]:
|
||||
- img [ref=e886]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e890]:
|
||||
- term [ref=e893]: Measured at
|
||||
- definition [ref=e895]:
|
||||
- paragraph [ref=e898]: —
|
||||
- generic [ref=e903] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e905]
|
||||
- button [ref=e906]:
|
||||
- img [ref=e907]
|
||||
- listitem [ref=e909]:
|
||||
- generic [ref=e910]:
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Title
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e920]: Operations health
|
||||
- generic [ref=e923]:
|
||||
- term [ref=e926]: Completeness
|
||||
- definition [ref=e928]:
|
||||
- generic [ref=e931]:
|
||||
- img [ref=e932]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e936]:
|
||||
- term [ref=e939]: Measured at
|
||||
- definition [ref=e941]:
|
||||
- generic [ref=e943]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e948] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e950]
|
||||
- button [ref=e951]:
|
||||
- img [ref=e952]
|
||||
- generic:
|
||||
- status
|
||||
615
.playwright-mcp/page-2026-06-04T00-41-24-347Z.yml
Normal file
615
.playwright-mcp/page-2026-06-04T00-41-24-347Z.yml
Normal file
@ -0,0 +1,615 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- button "Notifications" [ref=e956] [cursor=pointer]:
|
||||
- img [ref=e957]
|
||||
- generic [ref=e960]: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Active and recent operation updates that may need review.
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Queued for execution
|
||||
- generic [ref=e293]: Likely stale
|
||||
- paragraph [ref=e294]: Queued · now · Waiting for worker.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review composition" [level=4] [ref=e301]
|
||||
- generic [ref=e302]: Execution failed
|
||||
- generic [ref=e303]: Automatically reconciled
|
||||
- paragraph [ref=e304]: Completed · 27 minutes ago
|
||||
- paragraph [ref=e305]: Review worker health and logs before retrying this operation.
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- navigation [ref=e309]:
|
||||
- list [ref=e310]:
|
||||
- listitem [ref=e311]:
|
||||
- link "Reviews" [ref=e312] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e313]:
|
||||
- img [ref=e314]
|
||||
- generic [ref=e316]: View
|
||||
- heading "View Review" [level=1] [ref=e317]
|
||||
- generic [ref=e319]:
|
||||
- button "Publish review" [ref=e320] [cursor=pointer]:
|
||||
- img [ref=e321]
|
||||
- text: Publish review
|
||||
- button "More" [ref=e325] [cursor=pointer]:
|
||||
- img [ref=e326]
|
||||
- button "Danger" [ref=e330] [cursor=pointer]:
|
||||
- img [ref=e331]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e342]:
|
||||
- heading "Outcome summary" [level=2] [ref=e345]
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e357]: Publishable
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]: Publishable
|
||||
- paragraph [ref=e360]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e361]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]:
|
||||
- term [ref=e364]: Next step
|
||||
- definition [ref=e365]: No action needed
|
||||
- generic [ref=e366]:
|
||||
- term [ref=e367]: Artifact reference
|
||||
- definition [ref=e368]: "Review #19"
|
||||
- generic [ref=e369]:
|
||||
- term [ref=e370]: Lifecycle
|
||||
- definition [ref=e371]:
|
||||
- generic [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- generic [ref=e376]: Current
|
||||
- generic [ref=e377]:
|
||||
- term [ref=e378]: Retention
|
||||
- definition [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- img [ref=e381]
|
||||
- generic [ref=e385]: Retained
|
||||
- generic [ref=e386]:
|
||||
- term [ref=e387]: Result meaning
|
||||
- definition [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- generic [ref=e393]: No issues detected
|
||||
- generic [ref=e394]:
|
||||
- term [ref=e395]: Result trust
|
||||
- definition [ref=e396]:
|
||||
- generic [ref=e397]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e401]: Trustworthy
|
||||
- generic [ref=e405]:
|
||||
- heading "Review" [level=2] [ref=e408]
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e413]:
|
||||
- term [ref=e416]: Review status
|
||||
- definition [ref=e418]:
|
||||
- generic [ref=e421]:
|
||||
- img [ref=e422]
|
||||
- text: Ready
|
||||
- generic [ref=e426]:
|
||||
- term [ref=e429]: Completeness
|
||||
- definition [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Environment
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Generated at
|
||||
- definition [ref=e454]:
|
||||
- generic [ref=e456]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e459]:
|
||||
- term [ref=e462]: Published at
|
||||
- definition [ref=e464]:
|
||||
- paragraph [ref=e467]: —
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Evidence snapshot
|
||||
- definition [ref=e475]:
|
||||
- link "#16" [ref=e476] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e477]: "#16"
|
||||
- generic [ref=e480]:
|
||||
- term [ref=e483]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e486]:
|
||||
- term [ref=e489]: Fingerprint
|
||||
- definition [ref=e491]:
|
||||
- generic [ref=e493]: 8820d05a30fc7851bafc8001e84840c756472779faa3ac9f8247d08a94767d9d
|
||||
- generic [ref=e497]:
|
||||
- heading "Output guidance" [level=2] [ref=e500]
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e510]: Export not ready
|
||||
- generic [ref=e513]: Not ready
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Output readiness
|
||||
- generic [ref=e517]: Export not ready
|
||||
- generic [ref=e518]:
|
||||
- generic [ref=e519]: Publication/sharing state
|
||||
- generic [ref=e520]: Not ready
|
||||
- generic [ref=e521]:
|
||||
- generic [ref=e522]: Next step
|
||||
- generic [ref=e523]: Publish review
|
||||
- generic [ref=e524]:
|
||||
- heading "Export not ready" [level=3] [ref=e525]
|
||||
- paragraph [ref=e526]: The current export is not ready yet.
|
||||
- paragraph [ref=e527]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e528]:
|
||||
- link "Review output limitations" [ref=e529] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e530]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e532] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e533]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e535] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e536]
|
||||
- text: Open review
|
||||
- group [ref=e538]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e539] [cursor=pointer]
|
||||
- group [ref=e540]:
|
||||
- generic "Technical details" [ref=e541] [cursor=pointer]
|
||||
- generic [ref=e545]:
|
||||
- heading "Executive posture" [level=2] [ref=e548]
|
||||
- generic [ref=e553]:
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: No follow-up was detected from this result.
|
||||
- generic [ref=e556]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e557]: No action needed
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]:
|
||||
- term [ref=e560]: Findings
|
||||
- definition [ref=e561]: "0"
|
||||
- generic [ref=e562]:
|
||||
- term [ref=e563]: Reports
|
||||
- definition [ref=e564]: "2"
|
||||
- generic [ref=e565]:
|
||||
- term [ref=e566]: Operations
|
||||
- definition [ref=e567]: "3"
|
||||
- generic [ref=e568]:
|
||||
- term [ref=e569]: Sections
|
||||
- definition [ref=e570]: "7"
|
||||
- generic [ref=e571]:
|
||||
- term [ref=e572]: Pending verification
|
||||
- definition [ref=e573]: "0"
|
||||
- generic [ref=e574]:
|
||||
- term [ref=e575]: Verified cleared
|
||||
- definition [ref=e576]: "0"
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]: Highlights
|
||||
- list [ref=e579]:
|
||||
- listitem [ref=e580]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e581]: Permission posture score is 92.
|
||||
- listitem [ref=e582]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e583]: 1 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e584]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e585]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e586]:
|
||||
- generic [ref=e587]: Next actions
|
||||
- list [ref=e588]:
|
||||
- listitem [ref=e589]: Inspect recent failed operations to confirm tenant management workflows are stable.
|
||||
- generic [ref=e590]:
|
||||
- generic [ref=e591]: Related context
|
||||
- generic [ref=e592]:
|
||||
- generic [ref=e593]:
|
||||
- generic [ref=e594]: Operation
|
||||
- link "Open operation" [ref=e596] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- img [ref=e597]
|
||||
- text: Open operation
|
||||
- generic [ref=e600]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e604] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e605]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e608]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e609]:
|
||||
- generic [ref=e610]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e612] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e613]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e616]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: Publication readiness
|
||||
- generic [ref=e619]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e623]:
|
||||
- heading "Sections" [level=2] [ref=e626]
|
||||
- definition [ref=e633]:
|
||||
- list [ref=e635]:
|
||||
- listitem [ref=e636]:
|
||||
- generic [ref=e637]:
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Title
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e647]: Executive summary
|
||||
- generic [ref=e650]:
|
||||
- term [ref=e653]: Completeness
|
||||
- definition [ref=e655]:
|
||||
- generic [ref=e658]:
|
||||
- img [ref=e659]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e663]:
|
||||
- term [ref=e666]: Measured at
|
||||
- definition [ref=e668]:
|
||||
- generic [ref=e670]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e675] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e677]
|
||||
- button [ref=e678]:
|
||||
- img [ref=e679]
|
||||
- listitem [ref=e681]:
|
||||
- generic [ref=e682]:
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Title
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e692]: Control readiness interpretation
|
||||
- generic [ref=e695]:
|
||||
- term [ref=e698]: Completeness
|
||||
- definition [ref=e700]:
|
||||
- generic [ref=e703]:
|
||||
- img [ref=e704]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e708]:
|
||||
- term [ref=e711]: Measured at
|
||||
- definition [ref=e713]:
|
||||
- generic [ref=e715]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e720] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e722]
|
||||
- button [ref=e723]:
|
||||
- img [ref=e724]
|
||||
- listitem [ref=e726]:
|
||||
- generic [ref=e727]:
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Title
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e737]: Open risk highlights
|
||||
- generic [ref=e740]:
|
||||
- term [ref=e743]: Completeness
|
||||
- definition [ref=e745]:
|
||||
- generic [ref=e748]:
|
||||
- img [ref=e749]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e753]:
|
||||
- term [ref=e756]: Measured at
|
||||
- definition [ref=e758]:
|
||||
- paragraph [ref=e761]: —
|
||||
- generic [ref=e766] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e768]
|
||||
- button [ref=e769]:
|
||||
- img [ref=e770]
|
||||
- listitem [ref=e772]:
|
||||
- generic [ref=e773]:
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Title
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e783]: Accepted risk summary
|
||||
- generic [ref=e786]:
|
||||
- term [ref=e789]: Completeness
|
||||
- definition [ref=e791]:
|
||||
- generic [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e799]:
|
||||
- term [ref=e802]: Measured at
|
||||
- definition [ref=e804]:
|
||||
- paragraph [ref=e807]: —
|
||||
- generic [ref=e812] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e814]
|
||||
- button [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- listitem [ref=e818]:
|
||||
- generic [ref=e819]:
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Title
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e829]: Permission posture
|
||||
- generic [ref=e832]:
|
||||
- term [ref=e835]: Completeness
|
||||
- definition [ref=e837]:
|
||||
- generic [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e845]:
|
||||
- term [ref=e848]: Measured at
|
||||
- definition [ref=e850]:
|
||||
- generic [ref=e852]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e857] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e859]
|
||||
- button [ref=e860]:
|
||||
- img [ref=e861]
|
||||
- listitem [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Title
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e874]: Baseline drift posture
|
||||
- generic [ref=e877]:
|
||||
- term [ref=e880]: Completeness
|
||||
- definition [ref=e882]:
|
||||
- generic [ref=e885]:
|
||||
- img [ref=e886]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e890]:
|
||||
- term [ref=e893]: Measured at
|
||||
- definition [ref=e895]:
|
||||
- paragraph [ref=e898]: —
|
||||
- generic [ref=e903] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e905]
|
||||
- button [ref=e906]:
|
||||
- img [ref=e907]
|
||||
- listitem [ref=e909]:
|
||||
- generic [ref=e910]:
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Title
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e920]: Operations health
|
||||
- generic [ref=e923]:
|
||||
- term [ref=e926]: Completeness
|
||||
- definition [ref=e928]:
|
||||
- generic [ref=e931]:
|
||||
- img [ref=e932]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e936]:
|
||||
- term [ref=e939]: Measured at
|
||||
- definition [ref=e941]:
|
||||
- generic [ref=e943]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e948] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e950]
|
||||
- button [ref=e951]:
|
||||
- img [ref=e952]
|
||||
- generic:
|
||||
- status
|
||||
634
.playwright-mcp/page-2026-06-04T00-41-32-978Z.yml
Normal file
634
.playwright-mcp/page-2026-06-04T00-41-32-978Z.yml
Normal file
@ -0,0 +1,634 @@
|
||||
- generic [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- button "Notifications" [ref=e956] [cursor=pointer]:
|
||||
- img [ref=e957]
|
||||
- generic [ref=e960]: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Active and recent operation updates that may need review.
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Queued for execution
|
||||
- generic [ref=e293]: Likely stale
|
||||
- paragraph [ref=e294]: Queued · now · Waiting for worker.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review composition" [level=4] [ref=e301]
|
||||
- generic [ref=e302]: Execution failed
|
||||
- generic [ref=e303]: Automatically reconciled
|
||||
- paragraph [ref=e304]: Completed · 27 minutes ago
|
||||
- paragraph [ref=e305]: Review worker health and logs before retrying this operation.
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- navigation [ref=e309]:
|
||||
- list [ref=e310]:
|
||||
- listitem [ref=e311]:
|
||||
- link "Reviews" [ref=e312] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e313]:
|
||||
- img [ref=e314]
|
||||
- generic [ref=e316]: View
|
||||
- heading "View Review" [level=1] [ref=e317]
|
||||
- generic [ref=e319]:
|
||||
- button "Publish review" [ref=e320] [cursor=pointer]:
|
||||
- img [ref=e321]
|
||||
- text: Publish review
|
||||
- button "More" [ref=e325] [cursor=pointer]:
|
||||
- img [ref=e326]
|
||||
- button "Danger" [ref=e330] [cursor=pointer]:
|
||||
- img [ref=e331]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e342]:
|
||||
- heading "Outcome summary" [level=2] [ref=e345]
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e357]: Publishable
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]: Publishable
|
||||
- paragraph [ref=e360]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e361]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]:
|
||||
- term [ref=e364]: Next step
|
||||
- definition [ref=e365]: No action needed
|
||||
- generic [ref=e366]:
|
||||
- term [ref=e367]: Artifact reference
|
||||
- definition [ref=e368]: "Review #19"
|
||||
- generic [ref=e369]:
|
||||
- term [ref=e370]: Lifecycle
|
||||
- definition [ref=e371]:
|
||||
- generic [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- generic [ref=e376]: Current
|
||||
- generic [ref=e377]:
|
||||
- term [ref=e378]: Retention
|
||||
- definition [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- img [ref=e381]
|
||||
- generic [ref=e385]: Retained
|
||||
- generic [ref=e386]:
|
||||
- term [ref=e387]: Result meaning
|
||||
- definition [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- generic [ref=e393]: No issues detected
|
||||
- generic [ref=e394]:
|
||||
- term [ref=e395]: Result trust
|
||||
- definition [ref=e396]:
|
||||
- generic [ref=e397]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e401]: Trustworthy
|
||||
- generic [ref=e405]:
|
||||
- heading "Review" [level=2] [ref=e408]
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e413]:
|
||||
- term [ref=e416]: Review status
|
||||
- definition [ref=e418]:
|
||||
- generic [ref=e421]:
|
||||
- img [ref=e422]
|
||||
- text: Ready
|
||||
- generic [ref=e426]:
|
||||
- term [ref=e429]: Completeness
|
||||
- definition [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Environment
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Generated at
|
||||
- definition [ref=e454]:
|
||||
- generic [ref=e456]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e459]:
|
||||
- term [ref=e462]: Published at
|
||||
- definition [ref=e464]:
|
||||
- paragraph [ref=e467]: —
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Evidence snapshot
|
||||
- definition [ref=e475]:
|
||||
- link "#16" [ref=e476] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e477]: "#16"
|
||||
- generic [ref=e480]:
|
||||
- term [ref=e483]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e486]:
|
||||
- term [ref=e489]: Fingerprint
|
||||
- definition [ref=e491]:
|
||||
- generic [ref=e493]: 8820d05a30fc7851bafc8001e84840c756472779faa3ac9f8247d08a94767d9d
|
||||
- generic [ref=e497]:
|
||||
- heading "Output guidance" [level=2] [ref=e500]
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e510]: Export not ready
|
||||
- generic [ref=e513]: Not ready
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Output readiness
|
||||
- generic [ref=e517]: Export not ready
|
||||
- generic [ref=e518]:
|
||||
- generic [ref=e519]: Publication/sharing state
|
||||
- generic [ref=e520]: Not ready
|
||||
- generic [ref=e521]:
|
||||
- generic [ref=e522]: Next step
|
||||
- generic [ref=e523]: Publish review
|
||||
- generic [ref=e524]:
|
||||
- heading "Export not ready" [level=3] [ref=e525]
|
||||
- paragraph [ref=e526]: The current export is not ready yet.
|
||||
- paragraph [ref=e527]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e528]:
|
||||
- link "Review output limitations" [ref=e529] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e530]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e532] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e533]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e535] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e536]
|
||||
- text: Open review
|
||||
- group [ref=e538]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e539] [cursor=pointer]
|
||||
- group [ref=e540]:
|
||||
- generic "Technical details" [ref=e541] [cursor=pointer]
|
||||
- generic [ref=e545]:
|
||||
- heading "Executive posture" [level=2] [ref=e548]
|
||||
- generic [ref=e553]:
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: No follow-up was detected from this result.
|
||||
- generic [ref=e556]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e557]: No action needed
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]:
|
||||
- term [ref=e560]: Findings
|
||||
- definition [ref=e561]: "0"
|
||||
- generic [ref=e562]:
|
||||
- term [ref=e563]: Reports
|
||||
- definition [ref=e564]: "2"
|
||||
- generic [ref=e565]:
|
||||
- term [ref=e566]: Operations
|
||||
- definition [ref=e567]: "3"
|
||||
- generic [ref=e568]:
|
||||
- term [ref=e569]: Sections
|
||||
- definition [ref=e570]: "7"
|
||||
- generic [ref=e571]:
|
||||
- term [ref=e572]: Pending verification
|
||||
- definition [ref=e573]: "0"
|
||||
- generic [ref=e574]:
|
||||
- term [ref=e575]: Verified cleared
|
||||
- definition [ref=e576]: "0"
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]: Highlights
|
||||
- list [ref=e579]:
|
||||
- listitem [ref=e580]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e581]: Permission posture score is 92.
|
||||
- listitem [ref=e582]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e583]: 1 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e584]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e585]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e586]:
|
||||
- generic [ref=e587]: Next actions
|
||||
- list [ref=e588]:
|
||||
- listitem [ref=e589]: Inspect recent failed operations to confirm tenant management workflows are stable.
|
||||
- generic [ref=e590]:
|
||||
- generic [ref=e591]: Related context
|
||||
- generic [ref=e592]:
|
||||
- generic [ref=e593]:
|
||||
- generic [ref=e594]: Operation
|
||||
- link "Open operation" [ref=e596] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- img [ref=e597]
|
||||
- text: Open operation
|
||||
- generic [ref=e600]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e604] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e605]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e608]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e609]:
|
||||
- generic [ref=e610]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e612] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e613]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e616]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: Publication readiness
|
||||
- generic [ref=e619]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e623]:
|
||||
- heading "Sections" [level=2] [ref=e626]
|
||||
- definition [ref=e633]:
|
||||
- list [ref=e635]:
|
||||
- listitem [ref=e636]:
|
||||
- generic [ref=e637]:
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Title
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e647]: Executive summary
|
||||
- generic [ref=e650]:
|
||||
- term [ref=e653]: Completeness
|
||||
- definition [ref=e655]:
|
||||
- generic [ref=e658]:
|
||||
- img [ref=e659]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e663]:
|
||||
- term [ref=e666]: Measured at
|
||||
- definition [ref=e668]:
|
||||
- generic [ref=e670]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e675] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e677]
|
||||
- button [ref=e678]:
|
||||
- img [ref=e679]
|
||||
- listitem [ref=e681]:
|
||||
- generic [ref=e682]:
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Title
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e692]: Control readiness interpretation
|
||||
- generic [ref=e695]:
|
||||
- term [ref=e698]: Completeness
|
||||
- definition [ref=e700]:
|
||||
- generic [ref=e703]:
|
||||
- img [ref=e704]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e708]:
|
||||
- term [ref=e711]: Measured at
|
||||
- definition [ref=e713]:
|
||||
- generic [ref=e715]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e720] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e722]
|
||||
- button [ref=e723]:
|
||||
- img [ref=e724]
|
||||
- listitem [ref=e726]:
|
||||
- generic [ref=e727]:
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Title
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e737]: Open risk highlights
|
||||
- generic [ref=e740]:
|
||||
- term [ref=e743]: Completeness
|
||||
- definition [ref=e745]:
|
||||
- generic [ref=e748]:
|
||||
- img [ref=e749]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e753]:
|
||||
- term [ref=e756]: Measured at
|
||||
- definition [ref=e758]:
|
||||
- paragraph [ref=e761]: —
|
||||
- generic [ref=e766] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e768]
|
||||
- button [ref=e769]:
|
||||
- img [ref=e770]
|
||||
- listitem [ref=e772]:
|
||||
- generic [ref=e773]:
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Title
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e783]: Accepted risk summary
|
||||
- generic [ref=e786]:
|
||||
- term [ref=e789]: Completeness
|
||||
- definition [ref=e791]:
|
||||
- generic [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e799]:
|
||||
- term [ref=e802]: Measured at
|
||||
- definition [ref=e804]:
|
||||
- paragraph [ref=e807]: —
|
||||
- generic [ref=e812] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e814]
|
||||
- button [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- listitem [ref=e818]:
|
||||
- generic [ref=e819]:
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Title
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e829]: Permission posture
|
||||
- generic [ref=e832]:
|
||||
- term [ref=e835]: Completeness
|
||||
- definition [ref=e837]:
|
||||
- generic [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e845]:
|
||||
- term [ref=e848]: Measured at
|
||||
- definition [ref=e850]:
|
||||
- generic [ref=e852]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e857] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e859]
|
||||
- button [ref=e860]:
|
||||
- img [ref=e861]
|
||||
- listitem [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Title
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e874]: Baseline drift posture
|
||||
- generic [ref=e877]:
|
||||
- term [ref=e880]: Completeness
|
||||
- definition [ref=e882]:
|
||||
- generic [ref=e885]:
|
||||
- img [ref=e886]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e890]:
|
||||
- term [ref=e893]: Measured at
|
||||
- definition [ref=e895]:
|
||||
- paragraph [ref=e898]: —
|
||||
- generic [ref=e903] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e905]
|
||||
- button [ref=e906]:
|
||||
- img [ref=e907]
|
||||
- listitem [ref=e909]:
|
||||
- generic [ref=e910]:
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Title
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e920]: Operations health
|
||||
- generic [ref=e923]:
|
||||
- term [ref=e926]: Completeness
|
||||
- definition [ref=e928]:
|
||||
- generic [ref=e931]:
|
||||
- img [ref=e932]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e936]:
|
||||
- term [ref=e939]: Measured at
|
||||
- definition [ref=e941]:
|
||||
- generic [ref=e943]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e948] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e950]
|
||||
- button [ref=e951]:
|
||||
- img [ref=e952]
|
||||
- generic:
|
||||
- dialog:
|
||||
- generic [ref=e963]:
|
||||
- generic [ref=e964]:
|
||||
- button "Close" [ref=e965] [cursor=pointer]:
|
||||
- img [ref=e966]
|
||||
- img [ref=e970]
|
||||
- generic [ref=e972]:
|
||||
- heading "Publish review" [level=2] [ref=e973]
|
||||
- paragraph [ref=e974]: Publish this environment review as the current governed review outcome for this tenant. TenantPilot records the publication decision only.
|
||||
- generic [ref=e979]:
|
||||
- generic [ref=e983]:
|
||||
- text: Publication reason
|
||||
- superscript [ref=e984]: "*"
|
||||
- textbox "Publication reason*" [active] [ref=e989]
|
||||
- generic [ref=e991]:
|
||||
- button "Cancel" [ref=e992] [cursor=pointer]
|
||||
- button "Confirm" [ref=e993] [cursor=pointer]:
|
||||
- generic [ref=e994]: Confirm
|
||||
- generic:
|
||||
- status
|
||||
634
.playwright-mcp/page-2026-06-04T00-41-33-067Z.yml
Normal file
634
.playwright-mcp/page-2026-06-04T00-41-33-067Z.yml
Normal file
@ -0,0 +1,634 @@
|
||||
- generic [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- button "Notifications" [ref=e956] [cursor=pointer]:
|
||||
- img [ref=e957]
|
||||
- generic [ref=e960]: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Active and recent operation updates that may need review.
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Queued for execution
|
||||
- generic [ref=e293]: Likely stale
|
||||
- paragraph [ref=e294]: Queued · now · Waiting for worker.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review composition" [level=4] [ref=e301]
|
||||
- generic [ref=e302]: Execution failed
|
||||
- generic [ref=e303]: Automatically reconciled
|
||||
- paragraph [ref=e304]: Completed · 27 minutes ago
|
||||
- paragraph [ref=e305]: Review worker health and logs before retrying this operation.
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- navigation [ref=e309]:
|
||||
- list [ref=e310]:
|
||||
- listitem [ref=e311]:
|
||||
- link "Reviews" [ref=e312] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e313]:
|
||||
- img [ref=e314]
|
||||
- generic [ref=e316]: View
|
||||
- heading "View Review" [level=1] [ref=e317]
|
||||
- generic [ref=e319]:
|
||||
- button "Publish review" [ref=e320] [cursor=pointer]:
|
||||
- img [ref=e321]
|
||||
- text: Publish review
|
||||
- button "More" [ref=e325] [cursor=pointer]:
|
||||
- img [ref=e326]
|
||||
- button "Danger" [ref=e330] [cursor=pointer]:
|
||||
- img [ref=e331]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e342]:
|
||||
- heading "Outcome summary" [level=2] [ref=e345]
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e357]: Publishable
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]: Publishable
|
||||
- paragraph [ref=e360]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e361]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]:
|
||||
- term [ref=e364]: Next step
|
||||
- definition [ref=e365]: No action needed
|
||||
- generic [ref=e366]:
|
||||
- term [ref=e367]: Artifact reference
|
||||
- definition [ref=e368]: "Review #19"
|
||||
- generic [ref=e369]:
|
||||
- term [ref=e370]: Lifecycle
|
||||
- definition [ref=e371]:
|
||||
- generic [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- generic [ref=e376]: Current
|
||||
- generic [ref=e377]:
|
||||
- term [ref=e378]: Retention
|
||||
- definition [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- img [ref=e381]
|
||||
- generic [ref=e385]: Retained
|
||||
- generic [ref=e386]:
|
||||
- term [ref=e387]: Result meaning
|
||||
- definition [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- generic [ref=e393]: No issues detected
|
||||
- generic [ref=e394]:
|
||||
- term [ref=e395]: Result trust
|
||||
- definition [ref=e396]:
|
||||
- generic [ref=e397]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e401]: Trustworthy
|
||||
- generic [ref=e405]:
|
||||
- heading "Review" [level=2] [ref=e408]
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e413]:
|
||||
- term [ref=e416]: Review status
|
||||
- definition [ref=e418]:
|
||||
- generic [ref=e421]:
|
||||
- img [ref=e422]
|
||||
- text: Ready
|
||||
- generic [ref=e426]:
|
||||
- term [ref=e429]: Completeness
|
||||
- definition [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Environment
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Generated at
|
||||
- definition [ref=e454]:
|
||||
- generic [ref=e456]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e459]:
|
||||
- term [ref=e462]: Published at
|
||||
- definition [ref=e464]:
|
||||
- paragraph [ref=e467]: —
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Evidence snapshot
|
||||
- definition [ref=e475]:
|
||||
- link "#16" [ref=e476] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e477]: "#16"
|
||||
- generic [ref=e480]:
|
||||
- term [ref=e483]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e486]:
|
||||
- term [ref=e489]: Fingerprint
|
||||
- definition [ref=e491]:
|
||||
- generic [ref=e493]: 8820d05a30fc7851bafc8001e84840c756472779faa3ac9f8247d08a94767d9d
|
||||
- generic [ref=e497]:
|
||||
- heading "Output guidance" [level=2] [ref=e500]
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e510]: Export not ready
|
||||
- generic [ref=e513]: Not ready
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Output readiness
|
||||
- generic [ref=e517]: Export not ready
|
||||
- generic [ref=e518]:
|
||||
- generic [ref=e519]: Publication/sharing state
|
||||
- generic [ref=e520]: Not ready
|
||||
- generic [ref=e521]:
|
||||
- generic [ref=e522]: Next step
|
||||
- generic [ref=e523]: Publish review
|
||||
- generic [ref=e524]:
|
||||
- heading "Export not ready" [level=3] [ref=e525]
|
||||
- paragraph [ref=e526]: The current export is not ready yet.
|
||||
- paragraph [ref=e527]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e528]:
|
||||
- link "Review output limitations" [ref=e529] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e530]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e532] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e533]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e535] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e536]
|
||||
- text: Open review
|
||||
- group [ref=e538]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e539] [cursor=pointer]
|
||||
- group [ref=e540]:
|
||||
- generic "Technical details" [ref=e541] [cursor=pointer]
|
||||
- generic [ref=e545]:
|
||||
- heading "Executive posture" [level=2] [ref=e548]
|
||||
- generic [ref=e553]:
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: No follow-up was detected from this result.
|
||||
- generic [ref=e556]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e557]: No action needed
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]:
|
||||
- term [ref=e560]: Findings
|
||||
- definition [ref=e561]: "0"
|
||||
- generic [ref=e562]:
|
||||
- term [ref=e563]: Reports
|
||||
- definition [ref=e564]: "2"
|
||||
- generic [ref=e565]:
|
||||
- term [ref=e566]: Operations
|
||||
- definition [ref=e567]: "3"
|
||||
- generic [ref=e568]:
|
||||
- term [ref=e569]: Sections
|
||||
- definition [ref=e570]: "7"
|
||||
- generic [ref=e571]:
|
||||
- term [ref=e572]: Pending verification
|
||||
- definition [ref=e573]: "0"
|
||||
- generic [ref=e574]:
|
||||
- term [ref=e575]: Verified cleared
|
||||
- definition [ref=e576]: "0"
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]: Highlights
|
||||
- list [ref=e579]:
|
||||
- listitem [ref=e580]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e581]: Permission posture score is 92.
|
||||
- listitem [ref=e582]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e583]: 1 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e584]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e585]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e586]:
|
||||
- generic [ref=e587]: Next actions
|
||||
- list [ref=e588]:
|
||||
- listitem [ref=e589]: Inspect recent failed operations to confirm tenant management workflows are stable.
|
||||
- generic [ref=e590]:
|
||||
- generic [ref=e591]: Related context
|
||||
- generic [ref=e592]:
|
||||
- generic [ref=e593]:
|
||||
- generic [ref=e594]: Operation
|
||||
- link "Open operation" [ref=e596] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- img [ref=e597]
|
||||
- text: Open operation
|
||||
- generic [ref=e600]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e604] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e605]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e608]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e609]:
|
||||
- generic [ref=e610]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e612] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e613]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e616]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: Publication readiness
|
||||
- generic [ref=e619]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e623]:
|
||||
- heading "Sections" [level=2] [ref=e626]
|
||||
- definition [ref=e633]:
|
||||
- list [ref=e635]:
|
||||
- listitem [ref=e636]:
|
||||
- generic [ref=e637]:
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Title
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e647]: Executive summary
|
||||
- generic [ref=e650]:
|
||||
- term [ref=e653]: Completeness
|
||||
- definition [ref=e655]:
|
||||
- generic [ref=e658]:
|
||||
- img [ref=e659]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e663]:
|
||||
- term [ref=e666]: Measured at
|
||||
- definition [ref=e668]:
|
||||
- generic [ref=e670]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e675] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e677]
|
||||
- button [ref=e678]:
|
||||
- img [ref=e679]
|
||||
- listitem [ref=e681]:
|
||||
- generic [ref=e682]:
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Title
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e692]: Control readiness interpretation
|
||||
- generic [ref=e695]:
|
||||
- term [ref=e698]: Completeness
|
||||
- definition [ref=e700]:
|
||||
- generic [ref=e703]:
|
||||
- img [ref=e704]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e708]:
|
||||
- term [ref=e711]: Measured at
|
||||
- definition [ref=e713]:
|
||||
- generic [ref=e715]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e720] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e722]
|
||||
- button [ref=e723]:
|
||||
- img [ref=e724]
|
||||
- listitem [ref=e726]:
|
||||
- generic [ref=e727]:
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Title
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e737]: Open risk highlights
|
||||
- generic [ref=e740]:
|
||||
- term [ref=e743]: Completeness
|
||||
- definition [ref=e745]:
|
||||
- generic [ref=e748]:
|
||||
- img [ref=e749]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e753]:
|
||||
- term [ref=e756]: Measured at
|
||||
- definition [ref=e758]:
|
||||
- paragraph [ref=e761]: —
|
||||
- generic [ref=e766] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e768]
|
||||
- button [ref=e769]:
|
||||
- img [ref=e770]
|
||||
- listitem [ref=e772]:
|
||||
- generic [ref=e773]:
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Title
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e783]: Accepted risk summary
|
||||
- generic [ref=e786]:
|
||||
- term [ref=e789]: Completeness
|
||||
- definition [ref=e791]:
|
||||
- generic [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e799]:
|
||||
- term [ref=e802]: Measured at
|
||||
- definition [ref=e804]:
|
||||
- paragraph [ref=e807]: —
|
||||
- generic [ref=e812] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e814]
|
||||
- button [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- listitem [ref=e818]:
|
||||
- generic [ref=e819]:
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Title
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e829]: Permission posture
|
||||
- generic [ref=e832]:
|
||||
- term [ref=e835]: Completeness
|
||||
- definition [ref=e837]:
|
||||
- generic [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e845]:
|
||||
- term [ref=e848]: Measured at
|
||||
- definition [ref=e850]:
|
||||
- generic [ref=e852]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e857] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e859]
|
||||
- button [ref=e860]:
|
||||
- img [ref=e861]
|
||||
- listitem [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Title
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e874]: Baseline drift posture
|
||||
- generic [ref=e877]:
|
||||
- term [ref=e880]: Completeness
|
||||
- definition [ref=e882]:
|
||||
- generic [ref=e885]:
|
||||
- img [ref=e886]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e890]:
|
||||
- term [ref=e893]: Measured at
|
||||
- definition [ref=e895]:
|
||||
- paragraph [ref=e898]: —
|
||||
- generic [ref=e903] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e905]
|
||||
- button [ref=e906]:
|
||||
- img [ref=e907]
|
||||
- listitem [ref=e909]:
|
||||
- generic [ref=e910]:
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Title
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e920]: Operations health
|
||||
- generic [ref=e923]:
|
||||
- term [ref=e926]: Completeness
|
||||
- definition [ref=e928]:
|
||||
- generic [ref=e931]:
|
||||
- img [ref=e932]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e936]:
|
||||
- term [ref=e939]: Measured at
|
||||
- definition [ref=e941]:
|
||||
- generic [ref=e943]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e948] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e950]
|
||||
- button [ref=e951]:
|
||||
- img [ref=e952]
|
||||
- generic:
|
||||
- dialog:
|
||||
- generic [ref=e963]:
|
||||
- generic [ref=e964]:
|
||||
- button "Close" [ref=e965] [cursor=pointer]:
|
||||
- img [ref=e966]
|
||||
- img [ref=e970]
|
||||
- generic [ref=e972]:
|
||||
- heading "Publish review" [level=2] [ref=e973]
|
||||
- paragraph [ref=e974]: Publish this environment review as the current governed review outcome for this tenant. TenantPilot records the publication decision only.
|
||||
- generic [ref=e979]:
|
||||
- generic [ref=e983]:
|
||||
- text: Publication reason
|
||||
- superscript [ref=e984]: "*"
|
||||
- textbox "Publication reason*" [active] [ref=e989]
|
||||
- generic [ref=e991]:
|
||||
- button "Cancel" [ref=e992] [cursor=pointer]
|
||||
- button "Confirm" [ref=e993] [cursor=pointer]:
|
||||
- generic [ref=e994]: Confirm
|
||||
- generic:
|
||||
- status
|
||||
617
.playwright-mcp/page-2026-06-04T00-41-44-795Z.yml
Normal file
617
.playwright-mcp/page-2026-06-04T00-41-44-795Z.yml
Normal file
@ -0,0 +1,617 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- button "Notifications" [ref=e956] [cursor=pointer]:
|
||||
- img [ref=e957]
|
||||
- generic [ref=e960]: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Active and recent operation updates that may need review.
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Queued for execution
|
||||
- generic [ref=e293]: Likely stale
|
||||
- paragraph [ref=e294]: Queued · now · Waiting for worker.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review composition" [level=4] [ref=e301]
|
||||
- generic [ref=e302]: Execution failed
|
||||
- generic [ref=e303]: Automatically reconciled
|
||||
- paragraph [ref=e304]: Completed · 27 minutes ago
|
||||
- paragraph [ref=e305]: Review worker health and logs before retrying this operation.
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- navigation [ref=e309]:
|
||||
- list [ref=e310]:
|
||||
- listitem [ref=e311]:
|
||||
- link "Reviews" [ref=e312] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e313]:
|
||||
- img [ref=e314]
|
||||
- generic [ref=e316]: View
|
||||
- heading "View Review" [level=1] [ref=e317]
|
||||
- generic [ref=e319]:
|
||||
- button "More" [ref=e997] [cursor=pointer]:
|
||||
- img [ref=e998]
|
||||
- button "Danger" [ref=e1000] [cursor=pointer]:
|
||||
- img [ref=e326]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e342]:
|
||||
- heading "Outcome summary" [level=2] [ref=e345]
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e357]: Publishable
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]: Publishable
|
||||
- paragraph [ref=e360]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e361]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]:
|
||||
- term [ref=e364]: Next step
|
||||
- definition [ref=e365]: No action needed
|
||||
- generic [ref=e366]:
|
||||
- term [ref=e367]: Artifact reference
|
||||
- definition [ref=e368]: "Review #19"
|
||||
- generic [ref=e369]:
|
||||
- term [ref=e370]: Lifecycle
|
||||
- definition [ref=e371]:
|
||||
- generic [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- generic [ref=e376]: Current
|
||||
- generic [ref=e377]:
|
||||
- term [ref=e378]: Retention
|
||||
- definition [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- img [ref=e381]
|
||||
- generic [ref=e385]: Retained
|
||||
- generic [ref=e386]:
|
||||
- term [ref=e387]: Result meaning
|
||||
- definition [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- generic [ref=e393]: No issues detected
|
||||
- generic [ref=e394]:
|
||||
- term [ref=e395]: Result trust
|
||||
- definition [ref=e396]:
|
||||
- generic [ref=e397]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e401]: Trustworthy
|
||||
- generic [ref=e405]:
|
||||
- heading "Review" [level=2] [ref=e408]
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e413]:
|
||||
- term [ref=e416]: Review status
|
||||
- definition [ref=e418]:
|
||||
- generic [ref=e421]:
|
||||
- img [ref=e422]
|
||||
- text: Published
|
||||
- generic [ref=e426]:
|
||||
- term [ref=e429]: Completeness
|
||||
- definition [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Environment
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Generated at
|
||||
- definition [ref=e454]:
|
||||
- generic [ref=e456]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e459]:
|
||||
- term [ref=e462]: Published at
|
||||
- definition [ref=e464]:
|
||||
- generic [ref=e466]: Jun 4, 2026 00:41:43
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Evidence snapshot
|
||||
- definition [ref=e475]:
|
||||
- link "#16" [ref=e476] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e477]: "#16"
|
||||
- generic [ref=e480]:
|
||||
- term [ref=e483]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e486]:
|
||||
- term [ref=e489]: Fingerprint
|
||||
- definition [ref=e491]:
|
||||
- generic [ref=e493]: 8820d05a30fc7851bafc8001e84840c756472779faa3ac9f8247d08a94767d9d
|
||||
- generic [ref=e497]:
|
||||
- heading "Output guidance" [level=2] [ref=e500]
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e510]: Export not ready
|
||||
- generic [ref=e513]: Not ready
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Output readiness
|
||||
- generic [ref=e517]: Export not ready
|
||||
- generic [ref=e518]:
|
||||
- generic [ref=e519]: Publication/sharing state
|
||||
- generic [ref=e520]: Not ready
|
||||
- generic [ref=e521]:
|
||||
- generic [ref=e522]: Next step
|
||||
- generic [ref=e523]: Create next review
|
||||
- generic [ref=e524]:
|
||||
- heading "Export not ready" [level=3] [ref=e525]
|
||||
- paragraph [ref=e526]: The current export is not ready yet.
|
||||
- paragraph [ref=e527]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e528]:
|
||||
- link "Review output limitations" [ref=e529] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e530]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e532] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e533]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e535] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e536]
|
||||
- text: Open review
|
||||
- group [ref=e538]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e539] [cursor=pointer]
|
||||
- group [ref=e540]:
|
||||
- generic "Technical details" [ref=e541] [cursor=pointer]
|
||||
- generic [ref=e545]:
|
||||
- heading "Executive posture" [level=2] [ref=e548]
|
||||
- generic [ref=e553]:
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: No follow-up was detected from this result.
|
||||
- generic [ref=e556]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e557]: No action needed
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]:
|
||||
- term [ref=e560]: Findings
|
||||
- definition [ref=e561]: "0"
|
||||
- generic [ref=e562]:
|
||||
- term [ref=e563]: Reports
|
||||
- definition [ref=e564]: "2"
|
||||
- generic [ref=e565]:
|
||||
- term [ref=e566]: Operations
|
||||
- definition [ref=e567]: "3"
|
||||
- generic [ref=e568]:
|
||||
- term [ref=e569]: Sections
|
||||
- definition [ref=e570]: "7"
|
||||
- generic [ref=e571]:
|
||||
- term [ref=e572]: Pending verification
|
||||
- definition [ref=e573]: "0"
|
||||
- generic [ref=e574]:
|
||||
- term [ref=e575]: Verified cleared
|
||||
- definition [ref=e576]: "0"
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]: Highlights
|
||||
- list [ref=e579]:
|
||||
- listitem [ref=e580]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e581]: Permission posture score is 92.
|
||||
- listitem [ref=e582]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e583]: 1 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e584]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e585]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e586]:
|
||||
- generic [ref=e587]: Next actions
|
||||
- list [ref=e588]:
|
||||
- listitem [ref=e589]: Inspect recent failed operations to confirm tenant management workflows are stable.
|
||||
- generic [ref=e590]:
|
||||
- generic [ref=e591]: Related context
|
||||
- generic [ref=e592]:
|
||||
- generic [ref=e593]:
|
||||
- generic [ref=e594]: Operation
|
||||
- link "Open operation" [ref=e596] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- img [ref=e597]
|
||||
- text: Open operation
|
||||
- generic [ref=e600]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e604] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e605]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e608]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e609]:
|
||||
- generic [ref=e610]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e612] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e613]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e616]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: Publication readiness
|
||||
- generic [ref=e619]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e623]:
|
||||
- heading "Sections" [level=2] [ref=e626]
|
||||
- definition [ref=e633]:
|
||||
- list [ref=e635]:
|
||||
- listitem [ref=e636]:
|
||||
- generic [ref=e637]:
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Title
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e647]: Executive summary
|
||||
- generic [ref=e650]:
|
||||
- term [ref=e653]: Completeness
|
||||
- definition [ref=e655]:
|
||||
- generic [ref=e658]:
|
||||
- img [ref=e659]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e663]:
|
||||
- term [ref=e666]: Measured at
|
||||
- definition [ref=e668]:
|
||||
- generic [ref=e670]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e675] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e677]
|
||||
- button [ref=e678]:
|
||||
- img [ref=e679]
|
||||
- listitem [ref=e681]:
|
||||
- generic [ref=e682]:
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Title
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e692]: Control readiness interpretation
|
||||
- generic [ref=e695]:
|
||||
- term [ref=e698]: Completeness
|
||||
- definition [ref=e700]:
|
||||
- generic [ref=e703]:
|
||||
- img [ref=e704]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e708]:
|
||||
- term [ref=e711]: Measured at
|
||||
- definition [ref=e713]:
|
||||
- generic [ref=e715]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e720] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e722]
|
||||
- button [ref=e723]:
|
||||
- img [ref=e724]
|
||||
- listitem [ref=e726]:
|
||||
- generic [ref=e727]:
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Title
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e737]: Open risk highlights
|
||||
- generic [ref=e740]:
|
||||
- term [ref=e743]: Completeness
|
||||
- definition [ref=e745]:
|
||||
- generic [ref=e748]:
|
||||
- img [ref=e749]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e753]:
|
||||
- term [ref=e756]: Measured at
|
||||
- definition [ref=e758]:
|
||||
- paragraph [ref=e761]: —
|
||||
- generic [ref=e766] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e768]
|
||||
- button [ref=e769]:
|
||||
- img [ref=e770]
|
||||
- listitem [ref=e772]:
|
||||
- generic [ref=e773]:
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Title
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e783]: Accepted risk summary
|
||||
- generic [ref=e786]:
|
||||
- term [ref=e789]: Completeness
|
||||
- definition [ref=e791]:
|
||||
- generic [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e799]:
|
||||
- term [ref=e802]: Measured at
|
||||
- definition [ref=e804]:
|
||||
- paragraph [ref=e807]: —
|
||||
- generic [ref=e812] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e814]
|
||||
- button [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- listitem [ref=e818]:
|
||||
- generic [ref=e819]:
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Title
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e829]: Permission posture
|
||||
- generic [ref=e832]:
|
||||
- term [ref=e835]: Completeness
|
||||
- definition [ref=e837]:
|
||||
- generic [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e845]:
|
||||
- term [ref=e848]: Measured at
|
||||
- definition [ref=e850]:
|
||||
- generic [ref=e852]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e857] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e859]
|
||||
- button [ref=e860]:
|
||||
- img [ref=e861]
|
||||
- listitem [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Title
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e874]: Baseline drift posture
|
||||
- generic [ref=e877]:
|
||||
- term [ref=e880]: Completeness
|
||||
- definition [ref=e882]:
|
||||
- generic [ref=e885]:
|
||||
- img [ref=e886]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e890]:
|
||||
- term [ref=e893]: Measured at
|
||||
- definition [ref=e895]:
|
||||
- paragraph [ref=e898]: —
|
||||
- generic [ref=e903] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e905]
|
||||
- button [ref=e906]:
|
||||
- img [ref=e907]
|
||||
- listitem [ref=e909]:
|
||||
- generic [ref=e910]:
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Title
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e920]: Operations health
|
||||
- generic [ref=e923]:
|
||||
- term [ref=e926]: Completeness
|
||||
- definition [ref=e928]:
|
||||
- generic [ref=e931]:
|
||||
- img [ref=e932]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e936]:
|
||||
- term [ref=e939]: Measured at
|
||||
- definition [ref=e941]:
|
||||
- generic [ref=e943]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e948] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e950]
|
||||
- button [ref=e951]:
|
||||
- img [ref=e952]
|
||||
- generic:
|
||||
- status:
|
||||
- generic [ref=e1001]:
|
||||
- img [ref=e1002]
|
||||
- heading "Review published" [level=3] [ref=e1006]
|
||||
- button [ref=e1007] [cursor=pointer]:
|
||||
- img [ref=e1008]
|
||||
614
.playwright-mcp/page-2026-06-04T00-41-50-464Z.yml
Normal file
614
.playwright-mcp/page-2026-06-04T00-41-50-464Z.yml
Normal file
@ -0,0 +1,614 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 351 Browser Ready Draft
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- link "TenantPilot" [ref=e26] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e28]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e32]: TenantPilot
|
||||
- generic [ref=e33]:
|
||||
- generic [ref=e36]:
|
||||
- generic [ref=e37]: Global search
|
||||
- generic [ref=e38]:
|
||||
- img [ref=e40]
|
||||
- searchbox "Global search" [ref=e43]
|
||||
- generic [ref=e955]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "1"
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e51]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Environment: Spec 351 Browser Ready Draft" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Environment
|
||||
- generic "Spec 351 Browser Ready Draft" [ref=e59]
|
||||
- generic [ref=e60]: "Workspace: Spec 351 Review Output Smoke"
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Items" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Items
|
||||
- listitem [ref=e83]:
|
||||
- link "Policies" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policies
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Policies
|
||||
- listitem [ref=e88]:
|
||||
- link "Policy Versions" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/policy-versions
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Policy Versions
|
||||
- listitem [ref=e93]:
|
||||
- link "Coverage" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/inventory/inventory-coverage
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Coverage
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Stored reports" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/stored-reports
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Stored reports
|
||||
- listitem [ref=e115]:
|
||||
- link "Review Packs" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/review-packs
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Review Packs
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Governance
|
||||
- button "Governance" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Findings" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/findings
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Findings
|
||||
- listitem [ref=e132]:
|
||||
- link "Baselines" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Baselines
|
||||
- listitem [ref=e137]:
|
||||
- link "Baseline Snapshots" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Baseline Snapshots
|
||||
- listitem [ref=e143]:
|
||||
- link "Baseline Compare" [ref=e144] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-351-review-output-smoke/environments/spec-351-browser-ready-draft/baseline-compare
|
||||
- img [ref=e145]
|
||||
- generic [ref=e147]: Baseline Compare
|
||||
- listitem [ref=e148]:
|
||||
- link "Evidence" [ref=e149] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence
|
||||
- img [ref=e150]
|
||||
- generic [ref=e152]: Evidence
|
||||
- listitem [ref=e153]:
|
||||
- link "Risk exceptions" [ref=e154] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/finding-exceptions
|
||||
- img [ref=e155]
|
||||
- generic [ref=e157]: Risk exceptions
|
||||
- listitem [ref=e158]:
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e161]:
|
||||
- img [ref=e162]
|
||||
- list [ref=e164]:
|
||||
- listitem [ref=e165]:
|
||||
- link "Backup Schedules" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-schedules
|
||||
- img [ref=e167]
|
||||
- generic [ref=e169]: Backup Schedules
|
||||
- listitem [ref=e170]:
|
||||
- link "Backup Sets" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/backup-sets
|
||||
- img [ref=e172]
|
||||
- generic [ref=e174]: Backup Sets
|
||||
- listitem [ref=e175]:
|
||||
- link "Restore Runs" [ref=e176] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/restore-runs
|
||||
- img [ref=e177]
|
||||
- generic [ref=e179]: Restore Runs
|
||||
- listitem [ref=e180]:
|
||||
- generic [ref=e181] [cursor=pointer]:
|
||||
- generic [ref=e182]: Directory
|
||||
- button "Directory" [expanded] [ref=e183]:
|
||||
- img [ref=e184]
|
||||
- list [ref=e186]:
|
||||
- listitem [ref=e187]:
|
||||
- link "Groups" [ref=e188] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/entra-groups
|
||||
- img [ref=e189]
|
||||
- generic [ref=e191]: Groups
|
||||
- listitem [ref=e192]:
|
||||
- generic [ref=e193] [cursor=pointer]:
|
||||
- generic [ref=e194]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e195]:
|
||||
- img [ref=e196]
|
||||
- list [ref=e198]:
|
||||
- listitem [ref=e199]:
|
||||
- link "Finding exceptions" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=50
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Finding exceptions
|
||||
- listitem [ref=e204]:
|
||||
- link "Reviews" [ref=e205] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=50
|
||||
- img [ref=e206]
|
||||
- generic [ref=e208]: Reviews
|
||||
- listitem [ref=e209]:
|
||||
- link "Governance inbox" [ref=e210] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=50
|
||||
- img [ref=e211]
|
||||
- generic [ref=e213]: Governance inbox
|
||||
- listitem [ref=e214]:
|
||||
- link "Decision register" [ref=e215] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=50
|
||||
- img [ref=e216]
|
||||
- generic [ref=e218]: Decision register
|
||||
- listitem [ref=e219]:
|
||||
- link "Operations" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations?environment_id=50
|
||||
- img [ref=e221]
|
||||
- generic [ref=e223]: Operations
|
||||
- listitem [ref=e224]:
|
||||
- link "Alerts" [ref=e225] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=50
|
||||
- img [ref=e226]
|
||||
- generic [ref=e228]: Alerts
|
||||
- listitem [ref=e229]:
|
||||
- link "Evidence" [ref=e230] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=50
|
||||
- img [ref=e231]
|
||||
- generic [ref=e233]: Evidence
|
||||
- listitem [ref=e234]:
|
||||
- link "Audit Log" [ref=e235] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=50
|
||||
- img [ref=e236]
|
||||
- generic [ref=e238]: Audit Log
|
||||
- listitem [ref=e239]:
|
||||
- link "Customer reviews" [ref=e240] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e241]
|
||||
- generic [ref=e243]: Customer reviews
|
||||
- listitem [ref=e244]:
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e247]:
|
||||
- img [ref=e248]
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- link "Manage workspaces" [ref=e252] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e253]
|
||||
- generic [ref=e255]: Manage workspaces
|
||||
- listitem [ref=e256]:
|
||||
- link "Integrations" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=50
|
||||
- img [ref=e258]
|
||||
- generic [ref=e260]: Integrations
|
||||
- listitem [ref=e261]:
|
||||
- link "Settings" [ref=e262] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e263]
|
||||
- generic [ref=e266]: Settings
|
||||
- main [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- img [ref=e277]
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Operation updates
|
||||
- paragraph [ref=e281]: Active and recent operation updates that may need review.
|
||||
- button "Acknowledge" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- heading "Review composition" [level=4] [ref=e291]
|
||||
- generic [ref=e292]: Queued for execution
|
||||
- generic [ref=e293]: Likely stale
|
||||
- paragraph [ref=e294]: Queued · now · Waiting for worker.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review composition" [level=4] [ref=e301]
|
||||
- generic [ref=e302]: Execution failed
|
||||
- generic [ref=e303]: Automatically reconciled
|
||||
- paragraph [ref=e304]: Completed · 28 minutes ago
|
||||
- paragraph [ref=e305]: Review worker health and logs before retrying this operation.
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- navigation [ref=e309]:
|
||||
- list [ref=e310]:
|
||||
- listitem [ref=e311]:
|
||||
- link "Reviews" [ref=e312] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews
|
||||
- listitem [ref=e313]:
|
||||
- img [ref=e314]
|
||||
- generic [ref=e316]: View
|
||||
- heading "View Review" [level=1] [ref=e317]
|
||||
- generic [ref=e319]:
|
||||
- button "More" [ref=e997] [cursor=pointer]:
|
||||
- img [ref=e998]
|
||||
- button "Danger" [ref=e1000] [cursor=pointer]:
|
||||
- img [ref=e326]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e342]:
|
||||
- heading "Outcome summary" [level=2] [ref=e345]
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e357]: Publishable
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]: Publishable
|
||||
- paragraph [ref=e360]: This review is ready for publication and executive-pack export.
|
||||
- paragraph [ref=e361]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]:
|
||||
- term [ref=e364]: Next step
|
||||
- definition [ref=e365]: No action needed
|
||||
- generic [ref=e366]:
|
||||
- term [ref=e367]: Artifact reference
|
||||
- definition [ref=e368]: "Review #19"
|
||||
- generic [ref=e369]:
|
||||
- term [ref=e370]: Lifecycle
|
||||
- definition [ref=e371]:
|
||||
- generic [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- generic [ref=e376]: Current
|
||||
- generic [ref=e377]:
|
||||
- term [ref=e378]: Retention
|
||||
- definition [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- img [ref=e381]
|
||||
- generic [ref=e385]: Retained
|
||||
- generic [ref=e386]:
|
||||
- term [ref=e387]: Result meaning
|
||||
- definition [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- generic [ref=e393]: No issues detected
|
||||
- generic [ref=e394]:
|
||||
- term [ref=e395]: Result trust
|
||||
- definition [ref=e396]:
|
||||
- generic [ref=e397]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e401]: Trustworthy
|
||||
- generic [ref=e405]:
|
||||
- heading "Review" [level=2] [ref=e408]
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e413]:
|
||||
- term [ref=e416]: Review status
|
||||
- definition [ref=e418]:
|
||||
- generic [ref=e421]:
|
||||
- img [ref=e422]
|
||||
- text: Published
|
||||
- generic [ref=e426]:
|
||||
- term [ref=e429]: Completeness
|
||||
- definition [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e439]:
|
||||
- term [ref=e442]: Environment
|
||||
- definition [ref=e444]:
|
||||
- generic [ref=e446]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e452]: Generated at
|
||||
- definition [ref=e454]:
|
||||
- generic [ref=e456]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e459]:
|
||||
- term [ref=e462]: Published at
|
||||
- definition [ref=e464]:
|
||||
- generic [ref=e466]: Jun 4, 2026 00:41:43
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e473]: Evidence snapshot
|
||||
- definition [ref=e475]:
|
||||
- link "#16" [ref=e476] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e477]: "#16"
|
||||
- generic [ref=e480]:
|
||||
- term [ref=e483]: Current export
|
||||
- generic:
|
||||
- definition
|
||||
- generic [ref=e486]:
|
||||
- term [ref=e489]: Fingerprint
|
||||
- definition [ref=e491]:
|
||||
- generic [ref=e493]: 8820d05a30fc7851bafc8001e84840c756472779faa3ac9f8247d08a94767d9d
|
||||
- generic [ref=e497]:
|
||||
- heading "Output guidance" [level=2] [ref=e500]
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e510]: Export not ready
|
||||
- generic [ref=e513]: Not ready
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Output readiness
|
||||
- generic [ref=e517]: Export not ready
|
||||
- generic [ref=e518]:
|
||||
- generic [ref=e519]: Publication/sharing state
|
||||
- generic [ref=e520]: Not ready
|
||||
- generic [ref=e521]:
|
||||
- generic [ref=e522]: Next step
|
||||
- generic [ref=e523]: Create next review
|
||||
- generic [ref=e524]:
|
||||
- heading "Export not ready" [level=3] [ref=e525]
|
||||
- paragraph [ref=e526]: The current export is not ready yet.
|
||||
- paragraph [ref=e527]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e528]:
|
||||
- link "Review output limitations" [ref=e529] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e530]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e532] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e533]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e535] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19
|
||||
- img [ref=e536]
|
||||
- text: Open review
|
||||
- group [ref=e538]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e539] [cursor=pointer]
|
||||
- group [ref=e540]:
|
||||
- generic "Technical details" [ref=e541] [cursor=pointer]
|
||||
- generic [ref=e545]:
|
||||
- heading "Executive posture" [level=2] [ref=e548]
|
||||
- generic [ref=e553]:
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: No follow-up was detected from this result.
|
||||
- generic [ref=e556]: Trustworthiness is high for the intended operator task.
|
||||
- generic [ref=e557]: No action needed
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]:
|
||||
- term [ref=e560]: Findings
|
||||
- definition [ref=e561]: "0"
|
||||
- generic [ref=e562]:
|
||||
- term [ref=e563]: Reports
|
||||
- definition [ref=e564]: "2"
|
||||
- generic [ref=e565]:
|
||||
- term [ref=e566]: Operations
|
||||
- definition [ref=e567]: "3"
|
||||
- generic [ref=e568]:
|
||||
- term [ref=e569]: Sections
|
||||
- definition [ref=e570]: "7"
|
||||
- generic [ref=e571]:
|
||||
- term [ref=e572]: Pending verification
|
||||
- definition [ref=e573]: "0"
|
||||
- generic [ref=e574]:
|
||||
- term [ref=e575]: Verified cleared
|
||||
- definition [ref=e576]: "0"
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]: Highlights
|
||||
- list [ref=e579]:
|
||||
- listitem [ref=e580]: 0 open risks from 0 tracked findings.
|
||||
- listitem [ref=e581]: Permission posture score is 92.
|
||||
- listitem [ref=e582]: 0 baseline drift findings remain open.
|
||||
- listitem [ref=e583]: 1 recent operations failed and 0 completed with warnings.
|
||||
- listitem [ref=e584]: 0 risk-accepted findings are currently governed.
|
||||
- listitem [ref=e585]: 1 privileged Entra roles are captured in the evidence basis.
|
||||
- generic [ref=e586]:
|
||||
- generic [ref=e587]: Next actions
|
||||
- list [ref=e588]:
|
||||
- listitem [ref=e589]: Inspect recent failed operations to confirm tenant management workflows are stable.
|
||||
- generic [ref=e590]:
|
||||
- generic [ref=e591]: Related context
|
||||
- generic [ref=e592]:
|
||||
- generic [ref=e593]:
|
||||
- generic [ref=e594]: Operation
|
||||
- link "Open operation" [ref=e596] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- img [ref=e597]
|
||||
- text: Open operation
|
||||
- generic [ref=e600]: Inspect the latest review composition or refresh run.
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]: Customer workspace
|
||||
- link "Open customer workspace" [ref=e604] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=50
|
||||
- img [ref=e605]
|
||||
- text: Open customer workspace
|
||||
- generic [ref=e608]: Open the customer-safe review workspace prefiltered to this environment.
|
||||
- generic [ref=e609]:
|
||||
- generic [ref=e610]: Evidence snapshot
|
||||
- link "View evidence snapshot" [ref=e612] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e613]
|
||||
- text: View evidence snapshot
|
||||
- generic [ref=e616]: Return to the evidence basis behind this review.
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: Publication readiness
|
||||
- generic [ref=e619]: This review is ready for publication and executive-pack export.
|
||||
- generic [ref=e623]:
|
||||
- heading "Sections" [level=2] [ref=e626]
|
||||
- definition [ref=e633]:
|
||||
- list [ref=e635]:
|
||||
- listitem [ref=e636]:
|
||||
- generic [ref=e637]:
|
||||
- generic [ref=e640]:
|
||||
- term [ref=e643]: Title
|
||||
- definition [ref=e645]:
|
||||
- generic [ref=e647]: Executive summary
|
||||
- generic [ref=e650]:
|
||||
- term [ref=e653]: Completeness
|
||||
- definition [ref=e655]:
|
||||
- generic [ref=e658]:
|
||||
- img [ref=e659]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e663]:
|
||||
- term [ref=e666]: Measured at
|
||||
- definition [ref=e668]:
|
||||
- generic [ref=e670]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e675] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e677]
|
||||
- button [ref=e678]:
|
||||
- img [ref=e679]
|
||||
- listitem [ref=e681]:
|
||||
- generic [ref=e682]:
|
||||
- generic [ref=e685]:
|
||||
- term [ref=e688]: Title
|
||||
- definition [ref=e690]:
|
||||
- generic [ref=e692]: Control readiness interpretation
|
||||
- generic [ref=e695]:
|
||||
- term [ref=e698]: Completeness
|
||||
- definition [ref=e700]:
|
||||
- generic [ref=e703]:
|
||||
- img [ref=e704]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e708]:
|
||||
- term [ref=e711]: Measured at
|
||||
- definition [ref=e713]:
|
||||
- generic [ref=e715]: Jun 4, 2026 00:12:09
|
||||
- generic [ref=e720] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e722]
|
||||
- button [ref=e723]:
|
||||
- img [ref=e724]
|
||||
- listitem [ref=e726]:
|
||||
- generic [ref=e727]:
|
||||
- generic [ref=e730]:
|
||||
- term [ref=e733]: Title
|
||||
- definition [ref=e735]:
|
||||
- generic [ref=e737]: Open risk highlights
|
||||
- generic [ref=e740]:
|
||||
- term [ref=e743]: Completeness
|
||||
- definition [ref=e745]:
|
||||
- generic [ref=e748]:
|
||||
- img [ref=e749]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e753]:
|
||||
- term [ref=e756]: Measured at
|
||||
- definition [ref=e758]:
|
||||
- paragraph [ref=e761]: —
|
||||
- generic [ref=e766] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e768]
|
||||
- button [ref=e769]:
|
||||
- img [ref=e770]
|
||||
- listitem [ref=e772]:
|
||||
- generic [ref=e773]:
|
||||
- generic [ref=e776]:
|
||||
- term [ref=e779]: Title
|
||||
- definition [ref=e781]:
|
||||
- generic [ref=e783]: Accepted risk summary
|
||||
- generic [ref=e786]:
|
||||
- term [ref=e789]: Completeness
|
||||
- definition [ref=e791]:
|
||||
- generic [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e799]:
|
||||
- term [ref=e802]: Measured at
|
||||
- definition [ref=e804]:
|
||||
- paragraph [ref=e807]: —
|
||||
- generic [ref=e812] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e814]
|
||||
- button [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- listitem [ref=e818]:
|
||||
- generic [ref=e819]:
|
||||
- generic [ref=e822]:
|
||||
- term [ref=e825]: Title
|
||||
- definition [ref=e827]:
|
||||
- generic [ref=e829]: Permission posture
|
||||
- generic [ref=e832]:
|
||||
- term [ref=e835]: Completeness
|
||||
- definition [ref=e837]:
|
||||
- generic [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e845]:
|
||||
- term [ref=e848]: Measured at
|
||||
- definition [ref=e850]:
|
||||
- generic [ref=e852]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e857] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e859]
|
||||
- button [ref=e860]:
|
||||
- img [ref=e861]
|
||||
- listitem [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e867]:
|
||||
- term [ref=e870]: Title
|
||||
- definition [ref=e872]:
|
||||
- generic [ref=e874]: Baseline drift posture
|
||||
- generic [ref=e877]:
|
||||
- term [ref=e880]: Completeness
|
||||
- definition [ref=e882]:
|
||||
- generic [ref=e885]:
|
||||
- img [ref=e886]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e890]:
|
||||
- term [ref=e893]: Measured at
|
||||
- definition [ref=e895]:
|
||||
- paragraph [ref=e898]: —
|
||||
- generic [ref=e903] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e905]
|
||||
- button [ref=e906]:
|
||||
- img [ref=e907]
|
||||
- listitem [ref=e909]:
|
||||
- generic [ref=e910]:
|
||||
- generic [ref=e913]:
|
||||
- term [ref=e916]: Title
|
||||
- definition [ref=e918]:
|
||||
- generic [ref=e920]: Operations health
|
||||
- generic [ref=e923]:
|
||||
- term [ref=e926]: Completeness
|
||||
- definition [ref=e928]:
|
||||
- generic [ref=e931]:
|
||||
- img [ref=e932]
|
||||
- text: Review inputs ready
|
||||
- generic [ref=e936]:
|
||||
- term [ref=e939]: Measured at
|
||||
- definition [ref=e941]:
|
||||
- generic [ref=e943]: Jun 4, 2026 00:16:09
|
||||
- generic [ref=e948] [cursor=pointer]:
|
||||
- heading "Details" [level=3] [ref=e950]
|
||||
- button [ref=e951]:
|
||||
- img [ref=e952]
|
||||
- generic:
|
||||
- status
|
||||
444
.playwright-mcp/page-2026-06-04T00-41-57-875Z.yml
Normal file
444
.playwright-mcp/page-2026-06-04T00-41-57-875Z.yml
Normal file
@ -0,0 +1,444 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "1"
|
||||
- button "User menu" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e51]:
|
||||
- 'link "Workspace: Spec 351 Review Output Smoke" [ref=e52] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e54]
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]: Workspace
|
||||
- generic "Spec 351 Review Output Smoke" [ref=e58]
|
||||
- generic [ref=e59]: 1 environment
|
||||
- img [ref=e60]
|
||||
- list [ref=e62]:
|
||||
- listitem [ref=e63]:
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- link "Overview" [ref=e66] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e67]
|
||||
- generic [ref=e69]: Overview
|
||||
- listitem [ref=e70]:
|
||||
- generic [ref=e71] [cursor=pointer]:
|
||||
- generic [ref=e72]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e73]:
|
||||
- img [ref=e74]
|
||||
- list [ref=e76]:
|
||||
- listitem [ref=e77]:
|
||||
- link "Finding exceptions" [ref=e78] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e79]
|
||||
- generic [ref=e81]: Finding exceptions
|
||||
- listitem [ref=e82]:
|
||||
- link "Operations" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Operations
|
||||
- listitem [ref=e87]:
|
||||
- link "Alerts" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Alerts
|
||||
- listitem [ref=e92]:
|
||||
- link "Evidence" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Evidence
|
||||
- listitem [ref=e97]:
|
||||
- link "Audit Log" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Audit Log
|
||||
- listitem [ref=e102]:
|
||||
- generic [ref=e103] [cursor=pointer]:
|
||||
- generic [ref=e104]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e105]:
|
||||
- img [ref=e106]
|
||||
- list [ref=e108]:
|
||||
- listitem [ref=e109]:
|
||||
- link "Reviews" [ref=e110] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e111]
|
||||
- generic [ref=e113]: Reviews
|
||||
- listitem [ref=e114]:
|
||||
- link "Customer reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Customer reviews
|
||||
- listitem [ref=e119]:
|
||||
- generic [ref=e120] [cursor=pointer]:
|
||||
- generic [ref=e121]: Settings
|
||||
- button "Settings" [expanded] [ref=e122]:
|
||||
- img [ref=e123]
|
||||
- list [ref=e125]:
|
||||
- listitem [ref=e126]:
|
||||
- link "Manage workspaces" [ref=e127] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e128]
|
||||
- generic [ref=e130]: Manage workspaces
|
||||
- listitem [ref=e131]:
|
||||
- link "Integrations" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Integrations
|
||||
- listitem [ref=e136]:
|
||||
- link "Settings" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e138]
|
||||
- generic [ref=e141]: Settings
|
||||
- listitem [ref=e142]:
|
||||
- generic [ref=e143] [cursor=pointer]:
|
||||
- generic [ref=e144]: Governance
|
||||
- button "Governance" [expanded] [ref=e145]:
|
||||
- img [ref=e146]
|
||||
- list [ref=e148]:
|
||||
- listitem [ref=e149]:
|
||||
- link "Governance inbox" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Governance inbox
|
||||
- listitem [ref=e154]:
|
||||
- link "Decision register" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Decision register
|
||||
- main [ref=e160]:
|
||||
- generic [ref=e162]:
|
||||
- generic [ref=e163]:
|
||||
- heading "Customer Review Workspace" [level=1] [ref=e165]
|
||||
- button "Clear filters" [ref=e168] [cursor=pointer]:
|
||||
- img [ref=e169]
|
||||
- text: Clear filters
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e176]:
|
||||
- heading "Customer-safe review packages" [level=2] [ref=e177]
|
||||
- paragraph [ref=e178]: Review released governance packages, evidence readiness, accepted risks, and handoff status across entitled environments.
|
||||
- paragraph [ref=e179]: Service delivery summary only. Does not replace formal audit opinion, certification, or legal attestation.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]: "Environment filter:"
|
||||
- generic [ref=e183]: Spec 351 Browser Ready Draft
|
||||
- link "Clear filter" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- generic [ref=e185]:
|
||||
- main [ref=e186]:
|
||||
- generic [ref=e187]:
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e193]: Export not ready
|
||||
- generic [ref=e196]: Not ready
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]: What is the current review pack output state?
|
||||
- heading "Export not ready" [level=2] [ref=e199]
|
||||
- paragraph [ref=e200]: The current export is not ready yet.
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]:
|
||||
- generic [ref=e203]: Impact
|
||||
- paragraph [ref=e204]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Latest released review
|
||||
- generic [ref=e207]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e208]: Published Jun 4, 2026 00:41
|
||||
- generic [ref=e209]:
|
||||
- button "Create next review" [ref=e211] [cursor=pointer]:
|
||||
- img [ref=e212]
|
||||
- text: Create next review
|
||||
- generic [ref=e214]:
|
||||
- generic [ref=e215]: Supporting actions
|
||||
- generic [ref=e216]:
|
||||
- link "Review output limitations" [ref=e217] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e218]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e221]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e223] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e224]
|
||||
- text: Open review
|
||||
- paragraph [ref=e226]: Create the next review cycle from the latest eligible evidence basis. Use the supporting actions to inspect blockers, evidence, or the current package before moving forward.
|
||||
- group [ref=e227]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e228] [cursor=pointer]:
|
||||
- generic [ref=e229]: Output limitations
|
||||
- generic [ref=e230]: 2 limitations require review
|
||||
- group [ref=e231]:
|
||||
- generic "Technical details" [ref=e232] [cursor=pointer]
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]:
|
||||
- generic [ref=e236]:
|
||||
- heading "Review acknowledgement" [level=2] [ref=e237]
|
||||
- paragraph [ref=e238]: This published review has not been acknowledged yet.
|
||||
- generic [ref=e241]: Acknowledgement required
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: Impact
|
||||
- paragraph [ref=e245]: Acknowledgement records review consumption for this published package. Customer-ready status is still determined by the output state above.
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e247]: Basis
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Review pack
|
||||
- generic [ref=e253]: Not available yet
|
||||
- generic [ref=e254]:
|
||||
- generic [ref=e255]: Evidence
|
||||
- generic [ref=e258]: Available
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]: Next step
|
||||
- button "Acknowledge review" [ref=e261] [cursor=pointer]
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- heading "Findings needing attention" [level=2] [ref=e266]
|
||||
- paragraph [ref=e267]: No open findings require customer action.
|
||||
- generic [ref=e270]: No action needed
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e272]:
|
||||
- generic [ref=e273]: Total findings
|
||||
- generic [ref=e276]: "0"
|
||||
- generic [ref=e277]:
|
||||
- generic [ref=e278]: Open findings
|
||||
- generic [ref=e281]: "0"
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e283]: High impact
|
||||
- generic [ref=e286]: "0"
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]: Accepted risks
|
||||
- generic [ref=e291]: "0"
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e294]:
|
||||
- heading "Customer-safe follow-ups" [level=2] [ref=e296]
|
||||
- paragraph [ref=e298]: No customer-safe follow-ups are listed for this released review.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review package index" [level=2] [ref=e301]
|
||||
- paragraph [ref=e302]: Released reviews and customer-safe package entries available in this workspace.
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e310]: Search
|
||||
- generic [ref=e311]:
|
||||
- img [ref=e313]
|
||||
- searchbox "Search" [ref=e316]
|
||||
- button "Filter" [ref=e319] [cursor=pointer]:
|
||||
- img [ref=e320]
|
||||
- generic [ref=e323]: "1"
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]:
|
||||
- generic [ref=e326]: Active filters
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e330]: "Environment: Spec 351 Browser Ready Draft"
|
||||
- button "Remove filter" [ref=e331] [cursor=pointer]:
|
||||
- img [ref=e332]
|
||||
- generic [ref=e334]: Remove filter
|
||||
- button [ref=e335] [cursor=pointer]:
|
||||
- img [ref=e336]
|
||||
- table [ref=e339]:
|
||||
- rowgroup [ref=e340]:
|
||||
- row "Environment Governance package Status Evidence Next step Open" [ref=e341]:
|
||||
- columnheader "Environment" [ref=e342]
|
||||
- columnheader "Governance package" [ref=e343]
|
||||
- columnheader "Status" [ref=e344]
|
||||
- columnheader "Evidence" [ref=e345]
|
||||
- columnheader "Next step" [ref=e346]
|
||||
- columnheader "Open" [ref=e347]
|
||||
- rowgroup [ref=e348]:
|
||||
- row "Spec 351 Browser Ready Draft Not available yet Not ready Available Review evidence Open review" [ref=e349]:
|
||||
- cell "Spec 351 Browser Ready Draft" [ref=e350]:
|
||||
- generic [ref=e352]: Spec 351 Browser Ready Draft
|
||||
- cell "Not available yet" [ref=e353]:
|
||||
- generic [ref=e356]: Not available yet
|
||||
- cell "Not ready" [ref=e357]:
|
||||
- generic [ref=e360]: Not ready
|
||||
- cell "Available" [ref=e361]:
|
||||
- generic [ref=e364]: Available
|
||||
- cell "Review evidence" [ref=e365]:
|
||||
- generic [ref=e367]: Review evidence
|
||||
- cell "Open review" [ref=e368]:
|
||||
- link "Open review" [ref=e369] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- generic [ref=e370]: Open review
|
||||
- navigation "Pagination navigation" [ref=e371]:
|
||||
- generic [ref=e374]:
|
||||
- generic [ref=e376]: Per page
|
||||
- combobox "Per page" [ref=e378]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- group [ref=e379]:
|
||||
- generic "Supporting reference Review consumption flow Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above." [ref=e380] [cursor=pointer]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]: Supporting reference
|
||||
- heading "Review consumption flow" [level=2] [ref=e384]
|
||||
- paragraph [ref=e385]: Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above.
|
||||
- img [ref=e386]
|
||||
- complementary [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- heading "Evidence path" [level=2] [ref=e390]
|
||||
- generic [ref=e391]:
|
||||
- generic [ref=e392]:
|
||||
- term [ref=e393]:
|
||||
- generic [ref=e394]: Evidence snapshot
|
||||
- generic [ref=e398]: Available
|
||||
- definition [ref=e399]: Generated Jun 4, 2026 00:12.
|
||||
- definition [ref=e400]:
|
||||
- link "View evidence snapshot" [ref=e401] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e402]:
|
||||
- term [ref=e403]:
|
||||
- generic [ref=e404]: Review pack
|
||||
- generic [ref=e408]: Not available yet
|
||||
- definition [ref=e409]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e410]:
|
||||
- term [ref=e411]:
|
||||
- generic [ref=e412]: Decision trail
|
||||
- generic [ref=e416]: Available
|
||||
- definition [ref=e417]: No governance decisions require customer awareness in this released review.
|
||||
- generic [ref=e418]:
|
||||
- term [ref=e419]:
|
||||
- generic [ref=e420]: Operation proof
|
||||
- generic [ref=e424]: Available
|
||||
- definition [ref=e425]: A related operation record exists for this review evidence path. Initiated by Spec 351 Requester.
|
||||
- definition [ref=e426]:
|
||||
- link "Open operation" [ref=e427] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]:
|
||||
- heading "Review pack state" [level=2] [ref=e430]
|
||||
- generic [ref=e433]: Not available yet
|
||||
- paragraph [ref=e434]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- heading "Package exists" [level=3] [ref=e439]
|
||||
- paragraph [ref=e440]: No released review pack artifact exists yet for this review path.
|
||||
- generic [ref=e443]: Unavailable
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]:
|
||||
- term [ref=e446]: Last generated
|
||||
- definition [ref=e447]:
|
||||
- generic [ref=e448]: Unavailable
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e450]: Evidence source
|
||||
- definition [ref=e451]:
|
||||
- generic [ref=e452]: Jun 4, 2026 00:12
|
||||
- generic [ref=e453]:
|
||||
- term [ref=e454]: Operation proof
|
||||
- definition [ref=e455]:
|
||||
- generic [ref=e456]: No operation proof linked
|
||||
- generic [ref=e457]:
|
||||
- generic [ref=e458]:
|
||||
- generic [ref=e459]:
|
||||
- heading "Internal export" [level=3] [ref=e460]
|
||||
- paragraph [ref=e461]: No current internal export is available from this review pack path.
|
||||
- generic [ref=e464]: Export not ready
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]:
|
||||
- term [ref=e467]: Export availability
|
||||
- definition [ref=e468]:
|
||||
- generic [ref=e469]: Export not ready
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e471]: Evidence basis
|
||||
- definition [ref=e472]:
|
||||
- generic [ref=e473]: Not generated
|
||||
- generic [ref=e474]:
|
||||
- term [ref=e475]: Section completeness
|
||||
- definition [ref=e476]:
|
||||
- generic [ref=e477]: 7 of 7 required complete
|
||||
- generic [ref=e478]:
|
||||
- generic [ref=e479]:
|
||||
- generic [ref=e480]:
|
||||
- heading "Customer sharing" [level=3] [ref=e481]
|
||||
- paragraph [ref=e482]: Customer sharing still depends on the readiness blockers and limitations shown in the main decision state.
|
||||
- generic [ref=e485]: Not ready
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]:
|
||||
- term [ref=e488]: Sharing boundary
|
||||
- definition [ref=e489]:
|
||||
- generic [ref=e490]: Not ready
|
||||
- generic [ref=e491]:
|
||||
- term [ref=e492]: PII
|
||||
- definition [ref=e493]:
|
||||
- generic [ref=e494]: Contains PII
|
||||
- generic [ref=e495]:
|
||||
- term [ref=e496]: Protected values
|
||||
- definition [ref=e497]:
|
||||
- generic [ref=e498]: Protected values hidden
|
||||
- generic [ref=e499]:
|
||||
- term [ref=e500]: Disclosure
|
||||
- definition [ref=e501]:
|
||||
- generic [ref=e502]: Disclosure present
|
||||
- generic [ref=e503]:
|
||||
- generic [ref=e504]:
|
||||
- heading "Accepted risks" [level=2] [ref=e505]
|
||||
- generic [ref=e508]: No action needed
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]:
|
||||
- generic [ref=e511]: Accepted risks
|
||||
- generic [ref=e514]: "0"
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Expiring soon
|
||||
- generic [ref=e519]: "0"
|
||||
- generic [ref=e520]:
|
||||
- generic [ref=e521]: Expired
|
||||
- generic [ref=e524]: "0"
|
||||
- generic [ref=e525]:
|
||||
- generic [ref=e526]: Pending approval
|
||||
- generic [ref=e529]: "0"
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: Needs review
|
||||
- generic [ref=e534]: "0"
|
||||
- paragraph [ref=e535]: No accepted risks recorded.
|
||||
- generic [ref=e536]:
|
||||
- heading "Disclosure rule" [level=2] [ref=e537]
|
||||
- generic [ref=e538]:
|
||||
- generic [ref=e539]:
|
||||
- generic [ref=e540]: Decision
|
||||
- generic [ref=e543]: Visible
|
||||
- generic [ref=e544]:
|
||||
- generic [ref=e545]: Evidence
|
||||
- generic [ref=e548]: Visible
|
||||
- generic [ref=e549]:
|
||||
- generic [ref=e550]: Diagnostics
|
||||
- generic [ref=e553]: Collapsed
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: Raw/support
|
||||
- generic [ref=e558]: Hidden
|
||||
- group [ref=e559]:
|
||||
- generic "Diagnostics" [ref=e560] [cursor=pointer]
|
||||
- generic:
|
||||
- status
|
||||
444
.playwright-mcp/page-2026-06-04T00-41-57-941Z.yml
Normal file
444
.playwright-mcp/page-2026-06-04T00-41-57-941Z.yml
Normal file
@ -0,0 +1,444 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "1"
|
||||
- button "User menu" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e51]:
|
||||
- 'link "Workspace: Spec 351 Review Output Smoke" [ref=e52] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e54]
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]: Workspace
|
||||
- generic "Spec 351 Review Output Smoke" [ref=e58]
|
||||
- generic [ref=e59]: 1 environment
|
||||
- img [ref=e60]
|
||||
- list [ref=e62]:
|
||||
- listitem [ref=e63]:
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- link "Overview" [ref=e66] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e67]
|
||||
- generic [ref=e69]: Overview
|
||||
- listitem [ref=e70]:
|
||||
- generic [ref=e71] [cursor=pointer]:
|
||||
- generic [ref=e72]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e73]:
|
||||
- img [ref=e74]
|
||||
- list [ref=e76]:
|
||||
- listitem [ref=e77]:
|
||||
- link "Finding exceptions" [ref=e78] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e79]
|
||||
- generic [ref=e81]: Finding exceptions
|
||||
- listitem [ref=e82]:
|
||||
- link "Operations" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Operations
|
||||
- listitem [ref=e87]:
|
||||
- link "Alerts" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Alerts
|
||||
- listitem [ref=e92]:
|
||||
- link "Evidence" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Evidence
|
||||
- listitem [ref=e97]:
|
||||
- link "Audit Log" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Audit Log
|
||||
- listitem [ref=e102]:
|
||||
- generic [ref=e103] [cursor=pointer]:
|
||||
- generic [ref=e104]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e105]:
|
||||
- img [ref=e106]
|
||||
- list [ref=e108]:
|
||||
- listitem [ref=e109]:
|
||||
- link "Reviews" [ref=e110] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e111]
|
||||
- generic [ref=e113]: Reviews
|
||||
- listitem [ref=e114]:
|
||||
- link "Customer reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Customer reviews
|
||||
- listitem [ref=e119]:
|
||||
- generic [ref=e120] [cursor=pointer]:
|
||||
- generic [ref=e121]: Settings
|
||||
- button "Settings" [expanded] [ref=e122]:
|
||||
- img [ref=e123]
|
||||
- list [ref=e125]:
|
||||
- listitem [ref=e126]:
|
||||
- link "Manage workspaces" [ref=e127] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e128]
|
||||
- generic [ref=e130]: Manage workspaces
|
||||
- listitem [ref=e131]:
|
||||
- link "Integrations" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Integrations
|
||||
- listitem [ref=e136]:
|
||||
- link "Settings" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e138]
|
||||
- generic [ref=e141]: Settings
|
||||
- listitem [ref=e142]:
|
||||
- generic [ref=e143] [cursor=pointer]:
|
||||
- generic [ref=e144]: Governance
|
||||
- button "Governance" [expanded] [ref=e145]:
|
||||
- img [ref=e146]
|
||||
- list [ref=e148]:
|
||||
- listitem [ref=e149]:
|
||||
- link "Governance inbox" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Governance inbox
|
||||
- listitem [ref=e154]:
|
||||
- link "Decision register" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Decision register
|
||||
- main [ref=e160]:
|
||||
- generic [ref=e162]:
|
||||
- generic [ref=e163]:
|
||||
- heading "Customer Review Workspace" [level=1] [ref=e165]
|
||||
- button "Clear filters" [ref=e168] [cursor=pointer]:
|
||||
- img [ref=e169]
|
||||
- text: Clear filters
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e176]:
|
||||
- heading "Customer-safe review packages" [level=2] [ref=e177]
|
||||
- paragraph [ref=e178]: Review released governance packages, evidence readiness, accepted risks, and handoff status across entitled environments.
|
||||
- paragraph [ref=e179]: Service delivery summary only. Does not replace formal audit opinion, certification, or legal attestation.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]: "Environment filter:"
|
||||
- generic [ref=e183]: Spec 351 Browser Ready Draft
|
||||
- link "Clear filter" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- generic [ref=e185]:
|
||||
- main [ref=e186]:
|
||||
- generic [ref=e187]:
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e193]: Export not ready
|
||||
- generic [ref=e196]: Not ready
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]: What is the current review pack output state?
|
||||
- heading "Export not ready" [level=2] [ref=e199]
|
||||
- paragraph [ref=e200]: The current export is not ready yet.
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]:
|
||||
- generic [ref=e203]: Impact
|
||||
- paragraph [ref=e204]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Latest released review
|
||||
- generic [ref=e207]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e208]: Published Jun 4, 2026 00:41
|
||||
- generic [ref=e209]:
|
||||
- button "Create next review" [ref=e211] [cursor=pointer]:
|
||||
- img [ref=e212]
|
||||
- text: Create next review
|
||||
- generic [ref=e214]:
|
||||
- generic [ref=e215]: Supporting actions
|
||||
- generic [ref=e216]:
|
||||
- link "Review output limitations" [ref=e217] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e218]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e221]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e223] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e224]
|
||||
- text: Open review
|
||||
- paragraph [ref=e226]: Create the next review cycle from the latest eligible evidence basis. Use the supporting actions to inspect blockers, evidence, or the current package before moving forward.
|
||||
- group [ref=e227]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e228] [cursor=pointer]:
|
||||
- generic [ref=e229]: Output limitations
|
||||
- generic [ref=e230]: 2 limitations require review
|
||||
- group [ref=e231]:
|
||||
- generic "Technical details" [ref=e232] [cursor=pointer]
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]:
|
||||
- generic [ref=e236]:
|
||||
- heading "Review acknowledgement" [level=2] [ref=e237]
|
||||
- paragraph [ref=e238]: This published review has not been acknowledged yet.
|
||||
- generic [ref=e241]: Acknowledgement required
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: Impact
|
||||
- paragraph [ref=e245]: Acknowledgement records review consumption for this published package. Customer-ready status is still determined by the output state above.
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e247]: Basis
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Review pack
|
||||
- generic [ref=e253]: Not available yet
|
||||
- generic [ref=e254]:
|
||||
- generic [ref=e255]: Evidence
|
||||
- generic [ref=e258]: Available
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]: Next step
|
||||
- button "Acknowledge review" [ref=e261] [cursor=pointer]
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- heading "Findings needing attention" [level=2] [ref=e266]
|
||||
- paragraph [ref=e267]: No open findings require customer action.
|
||||
- generic [ref=e270]: No action needed
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e272]:
|
||||
- generic [ref=e273]: Total findings
|
||||
- generic [ref=e276]: "0"
|
||||
- generic [ref=e277]:
|
||||
- generic [ref=e278]: Open findings
|
||||
- generic [ref=e281]: "0"
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e283]: High impact
|
||||
- generic [ref=e286]: "0"
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]: Accepted risks
|
||||
- generic [ref=e291]: "0"
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e294]:
|
||||
- heading "Customer-safe follow-ups" [level=2] [ref=e296]
|
||||
- paragraph [ref=e298]: No customer-safe follow-ups are listed for this released review.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review package index" [level=2] [ref=e301]
|
||||
- paragraph [ref=e302]: Released reviews and customer-safe package entries available in this workspace.
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e310]: Search
|
||||
- generic [ref=e311]:
|
||||
- img [ref=e313]
|
||||
- searchbox "Search" [ref=e316]
|
||||
- button "Filter" [ref=e319] [cursor=pointer]:
|
||||
- img [ref=e320]
|
||||
- generic [ref=e323]: "1"
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]:
|
||||
- generic [ref=e326]: Active filters
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e330]: "Environment: Spec 351 Browser Ready Draft"
|
||||
- button "Remove filter" [ref=e331] [cursor=pointer]:
|
||||
- img [ref=e332]
|
||||
- generic [ref=e334]: Remove filter
|
||||
- button [ref=e335] [cursor=pointer]:
|
||||
- img [ref=e336]
|
||||
- table [ref=e339]:
|
||||
- rowgroup [ref=e340]:
|
||||
- row "Environment Governance package Status Evidence Next step Open" [ref=e341]:
|
||||
- columnheader "Environment" [ref=e342]
|
||||
- columnheader "Governance package" [ref=e343]
|
||||
- columnheader "Status" [ref=e344]
|
||||
- columnheader "Evidence" [ref=e345]
|
||||
- columnheader "Next step" [ref=e346]
|
||||
- columnheader "Open" [ref=e347]
|
||||
- rowgroup [ref=e348]:
|
||||
- row "Spec 351 Browser Ready Draft Not available yet Not ready Available Review evidence Open review" [ref=e349]:
|
||||
- cell "Spec 351 Browser Ready Draft" [ref=e350]:
|
||||
- generic [ref=e352]: Spec 351 Browser Ready Draft
|
||||
- cell "Not available yet" [ref=e353]:
|
||||
- generic [ref=e356]: Not available yet
|
||||
- cell "Not ready" [ref=e357]:
|
||||
- generic [ref=e360]: Not ready
|
||||
- cell "Available" [ref=e361]:
|
||||
- generic [ref=e364]: Available
|
||||
- cell "Review evidence" [ref=e365]:
|
||||
- generic [ref=e367]: Review evidence
|
||||
- cell "Open review" [ref=e368]:
|
||||
- link "Open review" [ref=e369] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- generic [ref=e370]: Open review
|
||||
- navigation "Pagination navigation" [ref=e371]:
|
||||
- generic [ref=e374]:
|
||||
- generic [ref=e376]: Per page
|
||||
- combobox "Per page" [ref=e378]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- group [ref=e379]:
|
||||
- generic "Supporting reference Review consumption flow Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above." [ref=e380] [cursor=pointer]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]: Supporting reference
|
||||
- heading "Review consumption flow" [level=2] [ref=e384]
|
||||
- paragraph [ref=e385]: Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above.
|
||||
- img [ref=e386]
|
||||
- complementary [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- heading "Evidence path" [level=2] [ref=e390]
|
||||
- generic [ref=e391]:
|
||||
- generic [ref=e392]:
|
||||
- term [ref=e393]:
|
||||
- generic [ref=e394]: Evidence snapshot
|
||||
- generic [ref=e398]: Available
|
||||
- definition [ref=e399]: Generated Jun 4, 2026 00:12.
|
||||
- definition [ref=e400]:
|
||||
- link "View evidence snapshot" [ref=e401] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e402]:
|
||||
- term [ref=e403]:
|
||||
- generic [ref=e404]: Review pack
|
||||
- generic [ref=e408]: Not available yet
|
||||
- definition [ref=e409]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e410]:
|
||||
- term [ref=e411]:
|
||||
- generic [ref=e412]: Decision trail
|
||||
- generic [ref=e416]: Available
|
||||
- definition [ref=e417]: No governance decisions require customer awareness in this released review.
|
||||
- generic [ref=e418]:
|
||||
- term [ref=e419]:
|
||||
- generic [ref=e420]: Operation proof
|
||||
- generic [ref=e424]: Available
|
||||
- definition [ref=e425]: A related operation record exists for this review evidence path. Initiated by Spec 351 Requester.
|
||||
- definition [ref=e426]:
|
||||
- link "Open operation" [ref=e427] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]:
|
||||
- heading "Review pack state" [level=2] [ref=e430]
|
||||
- generic [ref=e433]: Not available yet
|
||||
- paragraph [ref=e434]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- heading "Package exists" [level=3] [ref=e439]
|
||||
- paragraph [ref=e440]: No released review pack artifact exists yet for this review path.
|
||||
- generic [ref=e443]: Unavailable
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]:
|
||||
- term [ref=e446]: Last generated
|
||||
- definition [ref=e447]:
|
||||
- generic [ref=e448]: Unavailable
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e450]: Evidence source
|
||||
- definition [ref=e451]:
|
||||
- generic [ref=e452]: Jun 4, 2026 00:12
|
||||
- generic [ref=e453]:
|
||||
- term [ref=e454]: Operation proof
|
||||
- definition [ref=e455]:
|
||||
- generic [ref=e456]: No operation proof linked
|
||||
- generic [ref=e457]:
|
||||
- generic [ref=e458]:
|
||||
- generic [ref=e459]:
|
||||
- heading "Internal export" [level=3] [ref=e460]
|
||||
- paragraph [ref=e461]: No current internal export is available from this review pack path.
|
||||
- generic [ref=e464]: Export not ready
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]:
|
||||
- term [ref=e467]: Export availability
|
||||
- definition [ref=e468]:
|
||||
- generic [ref=e469]: Export not ready
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e471]: Evidence basis
|
||||
- definition [ref=e472]:
|
||||
- generic [ref=e473]: Not generated
|
||||
- generic [ref=e474]:
|
||||
- term [ref=e475]: Section completeness
|
||||
- definition [ref=e476]:
|
||||
- generic [ref=e477]: 7 of 7 required complete
|
||||
- generic [ref=e478]:
|
||||
- generic [ref=e479]:
|
||||
- generic [ref=e480]:
|
||||
- heading "Customer sharing" [level=3] [ref=e481]
|
||||
- paragraph [ref=e482]: Customer sharing still depends on the readiness blockers and limitations shown in the main decision state.
|
||||
- generic [ref=e485]: Not ready
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]:
|
||||
- term [ref=e488]: Sharing boundary
|
||||
- definition [ref=e489]:
|
||||
- generic [ref=e490]: Not ready
|
||||
- generic [ref=e491]:
|
||||
- term [ref=e492]: PII
|
||||
- definition [ref=e493]:
|
||||
- generic [ref=e494]: Contains PII
|
||||
- generic [ref=e495]:
|
||||
- term [ref=e496]: Protected values
|
||||
- definition [ref=e497]:
|
||||
- generic [ref=e498]: Protected values hidden
|
||||
- generic [ref=e499]:
|
||||
- term [ref=e500]: Disclosure
|
||||
- definition [ref=e501]:
|
||||
- generic [ref=e502]: Disclosure present
|
||||
- generic [ref=e503]:
|
||||
- generic [ref=e504]:
|
||||
- heading "Accepted risks" [level=2] [ref=e505]
|
||||
- generic [ref=e508]: No action needed
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]:
|
||||
- generic [ref=e511]: Accepted risks
|
||||
- generic [ref=e514]: "0"
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Expiring soon
|
||||
- generic [ref=e519]: "0"
|
||||
- generic [ref=e520]:
|
||||
- generic [ref=e521]: Expired
|
||||
- generic [ref=e524]: "0"
|
||||
- generic [ref=e525]:
|
||||
- generic [ref=e526]: Pending approval
|
||||
- generic [ref=e529]: "0"
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: Needs review
|
||||
- generic [ref=e534]: "0"
|
||||
- paragraph [ref=e535]: No accepted risks recorded.
|
||||
- generic [ref=e536]:
|
||||
- heading "Disclosure rule" [level=2] [ref=e537]
|
||||
- generic [ref=e538]:
|
||||
- generic [ref=e539]:
|
||||
- generic [ref=e540]: Decision
|
||||
- generic [ref=e543]: Visible
|
||||
- generic [ref=e544]:
|
||||
- generic [ref=e545]: Evidence
|
||||
- generic [ref=e548]: Visible
|
||||
- generic [ref=e549]:
|
||||
- generic [ref=e550]: Diagnostics
|
||||
- generic [ref=e553]: Collapsed
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: Raw/support
|
||||
- generic [ref=e558]: Hidden
|
||||
- group [ref=e559]:
|
||||
- generic "Diagnostics" [ref=e560] [cursor=pointer]
|
||||
- generic:
|
||||
- status
|
||||
442
.playwright-mcp/page-2026-06-04T00-42-15-074Z.yml
Normal file
442
.playwright-mcp/page-2026-06-04T00-42-15-074Z.yml
Normal file
@ -0,0 +1,442 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- button "Notifications" [ref=e563] [cursor=pointer]:
|
||||
- img [ref=e564]
|
||||
- generic [ref=e567]: "1"
|
||||
- button "User menu" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e51]:
|
||||
- 'link "Workspace: Spec 351 Review Output Smoke" [ref=e52] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e54]
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]: Workspace
|
||||
- generic "Spec 351 Review Output Smoke" [ref=e58]
|
||||
- generic [ref=e59]: 1 environment
|
||||
- img [ref=e60]
|
||||
- list [ref=e62]:
|
||||
- listitem [ref=e63]:
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- link "Overview" [ref=e66] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e67]
|
||||
- generic [ref=e69]: Overview
|
||||
- listitem [ref=e70]:
|
||||
- generic [ref=e71] [cursor=pointer]:
|
||||
- generic [ref=e72]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e73]:
|
||||
- img [ref=e74]
|
||||
- list [ref=e76]:
|
||||
- listitem [ref=e77]:
|
||||
- link "Finding exceptions" [ref=e78] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e79]
|
||||
- generic [ref=e81]: Finding exceptions
|
||||
- listitem [ref=e82]:
|
||||
- link "Operations" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Operations
|
||||
- listitem [ref=e87]:
|
||||
- link "Alerts" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Alerts
|
||||
- listitem [ref=e92]:
|
||||
- link "Evidence" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Evidence
|
||||
- listitem [ref=e97]:
|
||||
- link "Audit Log" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Audit Log
|
||||
- listitem [ref=e102]:
|
||||
- generic [ref=e103] [cursor=pointer]:
|
||||
- generic [ref=e104]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e105]:
|
||||
- img [ref=e106]
|
||||
- list [ref=e108]:
|
||||
- listitem [ref=e109]:
|
||||
- link "Reviews" [ref=e110] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e111]
|
||||
- generic [ref=e113]: Reviews
|
||||
- listitem [ref=e114]:
|
||||
- link "Customer reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Customer reviews
|
||||
- listitem [ref=e119]:
|
||||
- generic [ref=e120] [cursor=pointer]:
|
||||
- generic [ref=e121]: Settings
|
||||
- button "Settings" [expanded] [ref=e122]:
|
||||
- img [ref=e123]
|
||||
- list [ref=e125]:
|
||||
- listitem [ref=e126]:
|
||||
- link "Manage workspaces" [ref=e127] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e128]
|
||||
- generic [ref=e130]: Manage workspaces
|
||||
- listitem [ref=e131]:
|
||||
- link "Integrations" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Integrations
|
||||
- listitem [ref=e136]:
|
||||
- link "Settings" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e138]
|
||||
- generic [ref=e141]: Settings
|
||||
- listitem [ref=e142]:
|
||||
- generic [ref=e143] [cursor=pointer]:
|
||||
- generic [ref=e144]: Governance
|
||||
- button "Governance" [expanded] [ref=e145]:
|
||||
- img [ref=e146]
|
||||
- list [ref=e148]:
|
||||
- listitem [ref=e149]:
|
||||
- link "Governance inbox" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Governance inbox
|
||||
- listitem [ref=e154]:
|
||||
- link "Decision register" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Decision register
|
||||
- main [ref=e160]:
|
||||
- generic [ref=e162]:
|
||||
- generic [ref=e163]:
|
||||
- heading "Customer Review Workspace" [level=1] [ref=e165]
|
||||
- button "Clear filters" [ref=e168] [cursor=pointer]:
|
||||
- img [ref=e169]
|
||||
- text: Clear filters
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e176]:
|
||||
- heading "Customer-safe review packages" [level=2] [ref=e177]
|
||||
- paragraph [ref=e178]: Review released governance packages, evidence readiness, accepted risks, and handoff status across entitled environments.
|
||||
- paragraph [ref=e179]: Service delivery summary only. Does not replace formal audit opinion, certification, or legal attestation.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]: "Environment filter:"
|
||||
- generic [ref=e183]: Spec 351 Browser Ready Draft
|
||||
- link "Clear filter" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- generic [ref=e185]:
|
||||
- main [ref=e186]:
|
||||
- generic [ref=e187]:
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e193]: Export not ready
|
||||
- generic [ref=e196]: Not ready
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]: What is the current review pack output state?
|
||||
- heading "Export not ready" [level=2] [ref=e199]
|
||||
- paragraph [ref=e200]: The current export is not ready yet.
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]:
|
||||
- generic [ref=e203]: Impact
|
||||
- paragraph [ref=e204]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Latest released review
|
||||
- generic [ref=e207]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e208]: Published Jun 4, 2026 00:41
|
||||
- generic [ref=e209]:
|
||||
- button "Create next review" [ref=e211] [cursor=pointer]:
|
||||
- img [ref=e212]
|
||||
- text: Create next review
|
||||
- generic [ref=e214]:
|
||||
- generic [ref=e215]: Supporting actions
|
||||
- generic [ref=e216]:
|
||||
- link "Review output limitations" [ref=e217] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e218]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e221]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e223] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e224]
|
||||
- text: Open review
|
||||
- paragraph [ref=e226]: Create the next review cycle from the latest eligible evidence basis. Use the supporting actions to inspect blockers, evidence, or the current package before moving forward.
|
||||
- group [ref=e227]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e228] [cursor=pointer]:
|
||||
- generic [ref=e229]: Output limitations
|
||||
- generic [ref=e230]: 2 limitations require review
|
||||
- group [ref=e231]:
|
||||
- generic "Technical details" [ref=e232] [cursor=pointer]
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]:
|
||||
- generic [ref=e236]:
|
||||
- heading "Review acknowledgement" [level=2] [ref=e237]
|
||||
- paragraph [ref=e238]: This published review has not been acknowledged yet.
|
||||
- generic [ref=e241]: Acknowledgement required
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: Impact
|
||||
- paragraph [ref=e245]: Acknowledgement records review consumption for this published package. Customer-ready status is still determined by the output state above.
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e247]: Basis
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Review pack
|
||||
- generic [ref=e253]: Not available yet
|
||||
- generic [ref=e254]:
|
||||
- generic [ref=e255]: Evidence
|
||||
- generic [ref=e258]: Available
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]: Next step
|
||||
- button "Acknowledge review" [ref=e261] [cursor=pointer]
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- heading "Findings needing attention" [level=2] [ref=e266]
|
||||
- paragraph [ref=e267]: No open findings require customer action.
|
||||
- generic [ref=e270]: No action needed
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e272]:
|
||||
- generic [ref=e273]: Total findings
|
||||
- generic [ref=e276]: "0"
|
||||
- generic [ref=e277]:
|
||||
- generic [ref=e278]: Open findings
|
||||
- generic [ref=e281]: "0"
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e283]: High impact
|
||||
- generic [ref=e286]: "0"
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]: Accepted risks
|
||||
- generic [ref=e291]: "0"
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e294]:
|
||||
- heading "Customer-safe follow-ups" [level=2] [ref=e296]
|
||||
- paragraph [ref=e298]: No customer-safe follow-ups are listed for this released review.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review package index" [level=2] [ref=e301]
|
||||
- paragraph [ref=e302]: Released reviews and customer-safe package entries available in this workspace.
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e310]: Search
|
||||
- generic [ref=e311]:
|
||||
- img [ref=e313]
|
||||
- searchbox "Search" [ref=e316]
|
||||
- button "Filter" [ref=e319] [cursor=pointer]:
|
||||
- img [ref=e320]
|
||||
- generic [ref=e323]: "1"
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]:
|
||||
- generic [ref=e326]: Active filters
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e330]: "Environment: Spec 351 Browser Ready Draft"
|
||||
- button "Remove filter" [ref=e331] [cursor=pointer]:
|
||||
- img [ref=e332]
|
||||
- generic [ref=e334]: Remove filter
|
||||
- button [ref=e335] [cursor=pointer]:
|
||||
- img [ref=e336]
|
||||
- table [ref=e339]:
|
||||
- rowgroup [ref=e340]:
|
||||
- row "Environment Governance package Status Evidence Next step Open" [ref=e341]:
|
||||
- columnheader "Environment" [ref=e342]
|
||||
- columnheader "Governance package" [ref=e343]
|
||||
- columnheader "Status" [ref=e344]
|
||||
- columnheader "Evidence" [ref=e345]
|
||||
- columnheader "Next step" [ref=e346]
|
||||
- columnheader "Open" [ref=e347]
|
||||
- rowgroup [ref=e348]:
|
||||
- row "Spec 351 Browser Ready Draft Not available yet Not ready Available Review evidence Open review" [ref=e349]:
|
||||
- cell "Spec 351 Browser Ready Draft" [ref=e350]:
|
||||
- generic [ref=e352]: Spec 351 Browser Ready Draft
|
||||
- cell "Not available yet" [ref=e353]:
|
||||
- generic [ref=e356]: Not available yet
|
||||
- cell "Not ready" [ref=e357]:
|
||||
- generic [ref=e360]: Not ready
|
||||
- cell "Available" [ref=e361]:
|
||||
- generic [ref=e364]: Available
|
||||
- cell "Review evidence" [ref=e365]:
|
||||
- generic [ref=e367]: Review evidence
|
||||
- cell "Open review" [ref=e368]:
|
||||
- link "Open review" [ref=e369] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- generic [ref=e370]: Open review
|
||||
- navigation "Pagination navigation" [ref=e371]:
|
||||
- generic [ref=e374]:
|
||||
- generic [ref=e376]: Per page
|
||||
- combobox "Per page" [ref=e378]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- group [ref=e379]:
|
||||
- generic "Supporting reference Review consumption flow Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above." [ref=e380] [cursor=pointer]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]: Supporting reference
|
||||
- heading "Review consumption flow" [level=2] [ref=e384]
|
||||
- paragraph [ref=e385]: Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above.
|
||||
- img [ref=e386]
|
||||
- complementary [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- heading "Evidence path" [level=2] [ref=e390]
|
||||
- generic [ref=e391]:
|
||||
- generic [ref=e392]:
|
||||
- term [ref=e393]:
|
||||
- generic [ref=e394]: Evidence snapshot
|
||||
- generic [ref=e398]: Available
|
||||
- definition [ref=e399]: Generated Jun 4, 2026 00:12.
|
||||
- definition [ref=e400]:
|
||||
- link "View evidence snapshot" [ref=e401] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e402]:
|
||||
- term [ref=e403]:
|
||||
- generic [ref=e404]: Review pack
|
||||
- generic [ref=e408]: Not available yet
|
||||
- definition [ref=e409]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e410]:
|
||||
- term [ref=e411]:
|
||||
- generic [ref=e412]: Decision trail
|
||||
- generic [ref=e416]: Available
|
||||
- definition [ref=e417]: No governance decisions require customer awareness in this released review.
|
||||
- generic [ref=e418]:
|
||||
- term [ref=e419]:
|
||||
- generic [ref=e420]: Operation proof
|
||||
- generic [ref=e424]: Available
|
||||
- definition [ref=e425]: A related operation record exists for this review evidence path. Initiated by Spec 351 Requester.
|
||||
- definition [ref=e426]:
|
||||
- link "Open operation" [ref=e427] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]:
|
||||
- heading "Review pack state" [level=2] [ref=e430]
|
||||
- generic [ref=e433]: Not available yet
|
||||
- paragraph [ref=e434]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- heading "Package exists" [level=3] [ref=e439]
|
||||
- paragraph [ref=e440]: No released review pack artifact exists yet for this review path.
|
||||
- generic [ref=e443]: Unavailable
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]:
|
||||
- term [ref=e446]: Last generated
|
||||
- definition [ref=e447]:
|
||||
- generic [ref=e448]: Unavailable
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e450]: Evidence source
|
||||
- definition [ref=e451]:
|
||||
- generic [ref=e452]: Jun 4, 2026 00:12
|
||||
- generic [ref=e453]:
|
||||
- term [ref=e454]: Operation proof
|
||||
- definition [ref=e455]:
|
||||
- generic [ref=e456]: No operation proof linked
|
||||
- generic [ref=e457]:
|
||||
- generic [ref=e458]:
|
||||
- generic [ref=e459]:
|
||||
- heading "Internal export" [level=3] [ref=e460]
|
||||
- paragraph [ref=e461]: No current internal export is available from this review pack path.
|
||||
- generic [ref=e464]: Export not ready
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]:
|
||||
- term [ref=e467]: Export availability
|
||||
- definition [ref=e468]:
|
||||
- generic [ref=e469]: Export not ready
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e471]: Evidence basis
|
||||
- definition [ref=e472]:
|
||||
- generic [ref=e473]: Not generated
|
||||
- generic [ref=e474]:
|
||||
- term [ref=e475]: Section completeness
|
||||
- definition [ref=e476]:
|
||||
- generic [ref=e477]: 7 of 7 required complete
|
||||
- generic [ref=e478]:
|
||||
- generic [ref=e479]:
|
||||
- generic [ref=e480]:
|
||||
- heading "Customer sharing" [level=3] [ref=e481]
|
||||
- paragraph [ref=e482]: Customer sharing still depends on the readiness blockers and limitations shown in the main decision state.
|
||||
- generic [ref=e485]: Not ready
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]:
|
||||
- term [ref=e488]: Sharing boundary
|
||||
- definition [ref=e489]:
|
||||
- generic [ref=e490]: Not ready
|
||||
- generic [ref=e491]:
|
||||
- term [ref=e492]: PII
|
||||
- definition [ref=e493]:
|
||||
- generic [ref=e494]: Contains PII
|
||||
- generic [ref=e495]:
|
||||
- term [ref=e496]: Protected values
|
||||
- definition [ref=e497]:
|
||||
- generic [ref=e498]: Protected values hidden
|
||||
- generic [ref=e499]:
|
||||
- term [ref=e500]: Disclosure
|
||||
- definition [ref=e501]:
|
||||
- generic [ref=e502]: Disclosure present
|
||||
- generic [ref=e503]:
|
||||
- generic [ref=e504]:
|
||||
- heading "Accepted risks" [level=2] [ref=e505]
|
||||
- generic [ref=e508]: No action needed
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]:
|
||||
- generic [ref=e511]: Accepted risks
|
||||
- generic [ref=e514]: "0"
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Expiring soon
|
||||
- generic [ref=e519]: "0"
|
||||
- generic [ref=e520]:
|
||||
- generic [ref=e521]: Expired
|
||||
- generic [ref=e524]: "0"
|
||||
- generic [ref=e525]:
|
||||
- generic [ref=e526]: Pending approval
|
||||
- generic [ref=e529]: "0"
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: Needs review
|
||||
- generic [ref=e534]: "0"
|
||||
- paragraph [ref=e535]: No accepted risks recorded.
|
||||
- generic [ref=e536]:
|
||||
- heading "Disclosure rule" [level=2] [ref=e537]
|
||||
- generic [ref=e538]:
|
||||
- generic [ref=e539]:
|
||||
- generic [ref=e540]: Decision
|
||||
- generic [ref=e543]: Visible
|
||||
- generic [ref=e544]:
|
||||
- generic [ref=e545]: Evidence
|
||||
- generic [ref=e548]: Visible
|
||||
- generic [ref=e549]:
|
||||
- generic [ref=e550]: Diagnostics
|
||||
- generic [ref=e553]: Collapsed
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: Raw/support
|
||||
- generic [ref=e558]: Hidden
|
||||
- group [ref=e559]:
|
||||
- generic "Diagnostics" [ref=e560] [cursor=pointer]
|
||||
- generic:
|
||||
- status
|
||||
442
.playwright-mcp/page-2026-06-04T00-42-15-075Z.yml
Normal file
442
.playwright-mcp/page-2026-06-04T00-42-15-075Z.yml
Normal file
@ -0,0 +1,442 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 351 Review Output Smoke" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 351 Review Output Smoke
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- link "TenantPilot" [ref=e25] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- generic [ref=e27]:
|
||||
- img [ref=e28]
|
||||
- generic [ref=e31]: TenantPilot
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35]:
|
||||
- generic [ref=e36]: Global search
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e39]
|
||||
- searchbox "Global search" [ref=e42]
|
||||
- button "Notifications" [ref=e563] [cursor=pointer]:
|
||||
- img [ref=e564]
|
||||
- generic [ref=e567]: "1"
|
||||
- button "User menu" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar of Spec 351 Requester" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e51]:
|
||||
- 'link "Workspace: Spec 351 Review Output Smoke" [ref=e52] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e54]
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]: Workspace
|
||||
- generic "Spec 351 Review Output Smoke" [ref=e58]
|
||||
- generic [ref=e59]: 1 environment
|
||||
- img [ref=e60]
|
||||
- list [ref=e62]:
|
||||
- listitem [ref=e63]:
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- link "Overview" [ref=e66] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e67]
|
||||
- generic [ref=e69]: Overview
|
||||
- listitem [ref=e70]:
|
||||
- generic [ref=e71] [cursor=pointer]:
|
||||
- generic [ref=e72]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e73]:
|
||||
- img [ref=e74]
|
||||
- list [ref=e76]:
|
||||
- listitem [ref=e77]:
|
||||
- link "Finding exceptions" [ref=e78] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e79]
|
||||
- generic [ref=e81]: Finding exceptions
|
||||
- listitem [ref=e82]:
|
||||
- link "Operations" [ref=e83] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations
|
||||
- img [ref=e84]
|
||||
- generic [ref=e86]: Operations
|
||||
- listitem [ref=e87]:
|
||||
- link "Alerts" [ref=e88] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e89]
|
||||
- generic [ref=e91]: Alerts
|
||||
- listitem [ref=e92]:
|
||||
- link "Evidence" [ref=e93] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]: Evidence
|
||||
- listitem [ref=e97]:
|
||||
- link "Audit Log" [ref=e98] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e99]
|
||||
- generic [ref=e101]: Audit Log
|
||||
- listitem [ref=e102]:
|
||||
- generic [ref=e103] [cursor=pointer]:
|
||||
- generic [ref=e104]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e105]:
|
||||
- img [ref=e106]
|
||||
- list [ref=e108]:
|
||||
- listitem [ref=e109]:
|
||||
- link "Reviews" [ref=e110] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e111]
|
||||
- generic [ref=e113]: Reviews
|
||||
- listitem [ref=e114]:
|
||||
- link "Customer reviews" [ref=e115] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e116]
|
||||
- generic [ref=e118]: Customer reviews
|
||||
- listitem [ref=e119]:
|
||||
- generic [ref=e120] [cursor=pointer]:
|
||||
- generic [ref=e121]: Settings
|
||||
- button "Settings" [expanded] [ref=e122]:
|
||||
- img [ref=e123]
|
||||
- list [ref=e125]:
|
||||
- listitem [ref=e126]:
|
||||
- link "Manage workspaces" [ref=e127] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e128]
|
||||
- generic [ref=e130]: Manage workspaces
|
||||
- listitem [ref=e131]:
|
||||
- link "Integrations" [ref=e132] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e133]
|
||||
- generic [ref=e135]: Integrations
|
||||
- listitem [ref=e136]:
|
||||
- link "Settings" [ref=e137] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e138]
|
||||
- generic [ref=e141]: Settings
|
||||
- listitem [ref=e142]:
|
||||
- generic [ref=e143] [cursor=pointer]:
|
||||
- generic [ref=e144]: Governance
|
||||
- button "Governance" [expanded] [ref=e145]:
|
||||
- img [ref=e146]
|
||||
- list [ref=e148]:
|
||||
- listitem [ref=e149]:
|
||||
- link "Governance inbox" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Governance inbox
|
||||
- listitem [ref=e154]:
|
||||
- link "Decision register" [ref=e155] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e156]
|
||||
- generic [ref=e158]: Decision register
|
||||
- main [ref=e160]:
|
||||
- generic [ref=e162]:
|
||||
- generic [ref=e163]:
|
||||
- heading "Customer Review Workspace" [level=1] [ref=e165]
|
||||
- button "Clear filters" [ref=e168] [cursor=pointer]:
|
||||
- img [ref=e169]
|
||||
- text: Clear filters
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e176]:
|
||||
- heading "Customer-safe review packages" [level=2] [ref=e177]
|
||||
- paragraph [ref=e178]: Review released governance packages, evidence readiness, accepted risks, and handoff status across entitled environments.
|
||||
- paragraph [ref=e179]: Service delivery summary only. Does not replace formal audit opinion, certification, or legal attestation.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]: "Environment filter:"
|
||||
- generic [ref=e183]: Spec 351 Browser Ready Draft
|
||||
- link "Clear filter" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- generic [ref=e185]:
|
||||
- main [ref=e186]:
|
||||
- generic [ref=e187]:
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e193]: Export not ready
|
||||
- generic [ref=e196]: Not ready
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]: What is the current review pack output state?
|
||||
- heading "Export not ready" [level=2] [ref=e199]
|
||||
- paragraph [ref=e200]: The current export is not ready yet.
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]:
|
||||
- generic [ref=e203]: Impact
|
||||
- paragraph [ref=e204]: Do not present this package as customer-ready until export readiness passes.
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Latest released review
|
||||
- generic [ref=e207]: Spec 351 Browser Ready Draft
|
||||
- generic [ref=e208]: Published Jun 4, 2026 00:41
|
||||
- generic [ref=e209]:
|
||||
- button "Create next review" [ref=e211] [cursor=pointer]:
|
||||
- img [ref=e212]
|
||||
- text: Create next review
|
||||
- generic [ref=e214]:
|
||||
- generic [ref=e215]: Supporting actions
|
||||
- generic [ref=e216]:
|
||||
- link "Review output limitations" [ref=e217] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e218]
|
||||
- text: Review output limitations
|
||||
- link "Open evidence basis" [ref=e220] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- img [ref=e221]
|
||||
- text: Open evidence basis
|
||||
- link "Open review" [ref=e223] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- img [ref=e224]
|
||||
- text: Open review
|
||||
- paragraph [ref=e226]: Create the next review cycle from the latest eligible evidence basis. Use the supporting actions to inspect blockers, evidence, or the current package before moving forward.
|
||||
- group [ref=e227]:
|
||||
- generic "Output limitations 2 limitations require review" [ref=e228] [cursor=pointer]:
|
||||
- generic [ref=e229]: Output limitations
|
||||
- generic [ref=e230]: 2 limitations require review
|
||||
- group [ref=e231]:
|
||||
- generic "Technical details" [ref=e232] [cursor=pointer]
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]:
|
||||
- generic [ref=e236]:
|
||||
- heading "Review acknowledgement" [level=2] [ref=e237]
|
||||
- paragraph [ref=e238]: This published review has not been acknowledged yet.
|
||||
- generic [ref=e241]: Acknowledgement required
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: Impact
|
||||
- paragraph [ref=e245]: Acknowledgement records review consumption for this published package. Customer-ready status is still determined by the output state above.
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e247]: Basis
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Review pack
|
||||
- generic [ref=e253]: Not available yet
|
||||
- generic [ref=e254]:
|
||||
- generic [ref=e255]: Evidence
|
||||
- generic [ref=e258]: Available
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]: Next step
|
||||
- button "Acknowledge review" [ref=e261] [cursor=pointer]
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- heading "Findings needing attention" [level=2] [ref=e266]
|
||||
- paragraph [ref=e267]: No open findings require customer action.
|
||||
- generic [ref=e270]: No action needed
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e272]:
|
||||
- generic [ref=e273]: Total findings
|
||||
- generic [ref=e276]: "0"
|
||||
- generic [ref=e277]:
|
||||
- generic [ref=e278]: Open findings
|
||||
- generic [ref=e281]: "0"
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e283]: High impact
|
||||
- generic [ref=e286]: "0"
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]: Accepted risks
|
||||
- generic [ref=e291]: "0"
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e294]:
|
||||
- heading "Customer-safe follow-ups" [level=2] [ref=e296]
|
||||
- paragraph [ref=e298]: No customer-safe follow-ups are listed for this released review.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- heading "Review package index" [level=2] [ref=e301]
|
||||
- paragraph [ref=e302]: Released reviews and customer-safe package entries available in this workspace.
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e310]: Search
|
||||
- generic [ref=e311]:
|
||||
- img [ref=e313]
|
||||
- searchbox "Search" [ref=e316]
|
||||
- button "Filter" [ref=e319] [cursor=pointer]:
|
||||
- img [ref=e320]
|
||||
- generic [ref=e323]: "1"
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]:
|
||||
- generic [ref=e326]: Active filters
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e330]: "Environment: Spec 351 Browser Ready Draft"
|
||||
- button "Remove filter" [ref=e331] [cursor=pointer]:
|
||||
- img [ref=e332]
|
||||
- generic [ref=e334]: Remove filter
|
||||
- button [ref=e335] [cursor=pointer]:
|
||||
- img [ref=e336]
|
||||
- table [ref=e339]:
|
||||
- rowgroup [ref=e340]:
|
||||
- row "Environment Governance package Status Evidence Next step Open" [ref=e341]:
|
||||
- columnheader "Environment" [ref=e342]
|
||||
- columnheader "Governance package" [ref=e343]
|
||||
- columnheader "Status" [ref=e344]
|
||||
- columnheader "Evidence" [ref=e345]
|
||||
- columnheader "Next step" [ref=e346]
|
||||
- columnheader "Open" [ref=e347]
|
||||
- rowgroup [ref=e348]:
|
||||
- row "Spec 351 Browser Ready Draft Not available yet Not ready Available Review evidence Open review" [ref=e349]:
|
||||
- cell "Spec 351 Browser Ready Draft" [ref=e350]:
|
||||
- generic [ref=e352]: Spec 351 Browser Ready Draft
|
||||
- cell "Not available yet" [ref=e353]:
|
||||
- generic [ref=e356]: Not available yet
|
||||
- cell "Not ready" [ref=e357]:
|
||||
- generic [ref=e360]: Not ready
|
||||
- cell "Available" [ref=e361]:
|
||||
- generic [ref=e364]: Available
|
||||
- cell "Review evidence" [ref=e365]:
|
||||
- generic [ref=e367]: Review evidence
|
||||
- cell "Open review" [ref=e368]:
|
||||
- link "Open review" [ref=e369] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/environment-reviews/19?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=50
|
||||
- generic [ref=e370]: Open review
|
||||
- navigation "Pagination navigation" [ref=e371]:
|
||||
- generic [ref=e374]:
|
||||
- generic [ref=e376]: Per page
|
||||
- combobox "Per page" [ref=e378]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- group [ref=e379]:
|
||||
- generic "Supporting reference Review consumption flow Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above." [ref=e380] [cursor=pointer]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]: Supporting reference
|
||||
- heading "Review consumption flow" [level=2] [ref=e384]
|
||||
- paragraph [ref=e385]: Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above.
|
||||
- img [ref=e386]
|
||||
- complementary [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- heading "Evidence path" [level=2] [ref=e390]
|
||||
- generic [ref=e391]:
|
||||
- generic [ref=e392]:
|
||||
- term [ref=e393]:
|
||||
- generic [ref=e394]: Evidence snapshot
|
||||
- generic [ref=e398]: Available
|
||||
- definition [ref=e399]: Generated Jun 4, 2026 00:12.
|
||||
- definition [ref=e400]:
|
||||
- link "View evidence snapshot" [ref=e401] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/environments/spec-351-browser-ready-draft/evidence/16
|
||||
- generic [ref=e402]:
|
||||
- term [ref=e403]:
|
||||
- generic [ref=e404]: Review pack
|
||||
- generic [ref=e408]: Not available yet
|
||||
- definition [ref=e409]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e410]:
|
||||
- term [ref=e411]:
|
||||
- generic [ref=e412]: Decision trail
|
||||
- generic [ref=e416]: Available
|
||||
- definition [ref=e417]: No governance decisions require customer awareness in this released review.
|
||||
- generic [ref=e418]:
|
||||
- term [ref=e419]:
|
||||
- generic [ref=e420]: Operation proof
|
||||
- generic [ref=e424]: Available
|
||||
- definition [ref=e425]: A related operation record exists for this review evidence path. Initiated by Spec 351 Requester.
|
||||
- definition [ref=e426]:
|
||||
- link "Open operation" [ref=e427] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/32/operations/54
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]:
|
||||
- heading "Review pack state" [level=2] [ref=e430]
|
||||
- generic [ref=e433]: Not available yet
|
||||
- paragraph [ref=e434]: Review Pack has not been generated for this released review yet.
|
||||
- generic [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- heading "Package exists" [level=3] [ref=e439]
|
||||
- paragraph [ref=e440]: No released review pack artifact exists yet for this review path.
|
||||
- generic [ref=e443]: Unavailable
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]:
|
||||
- term [ref=e446]: Last generated
|
||||
- definition [ref=e447]:
|
||||
- generic [ref=e448]: Unavailable
|
||||
- generic [ref=e449]:
|
||||
- term [ref=e450]: Evidence source
|
||||
- definition [ref=e451]:
|
||||
- generic [ref=e452]: Jun 4, 2026 00:12
|
||||
- generic [ref=e453]:
|
||||
- term [ref=e454]: Operation proof
|
||||
- definition [ref=e455]:
|
||||
- generic [ref=e456]: No operation proof linked
|
||||
- generic [ref=e457]:
|
||||
- generic [ref=e458]:
|
||||
- generic [ref=e459]:
|
||||
- heading "Internal export" [level=3] [ref=e460]
|
||||
- paragraph [ref=e461]: No current internal export is available from this review pack path.
|
||||
- generic [ref=e464]: Export not ready
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]:
|
||||
- term [ref=e467]: Export availability
|
||||
- definition [ref=e468]:
|
||||
- generic [ref=e469]: Export not ready
|
||||
- generic [ref=e470]:
|
||||
- term [ref=e471]: Evidence basis
|
||||
- definition [ref=e472]:
|
||||
- generic [ref=e473]: Not generated
|
||||
- generic [ref=e474]:
|
||||
- term [ref=e475]: Section completeness
|
||||
- definition [ref=e476]:
|
||||
- generic [ref=e477]: 7 of 7 required complete
|
||||
- generic [ref=e478]:
|
||||
- generic [ref=e479]:
|
||||
- generic [ref=e480]:
|
||||
- heading "Customer sharing" [level=3] [ref=e481]
|
||||
- paragraph [ref=e482]: Customer sharing still depends on the readiness blockers and limitations shown in the main decision state.
|
||||
- generic [ref=e485]: Not ready
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]:
|
||||
- term [ref=e488]: Sharing boundary
|
||||
- definition [ref=e489]:
|
||||
- generic [ref=e490]: Not ready
|
||||
- generic [ref=e491]:
|
||||
- term [ref=e492]: PII
|
||||
- definition [ref=e493]:
|
||||
- generic [ref=e494]: Contains PII
|
||||
- generic [ref=e495]:
|
||||
- term [ref=e496]: Protected values
|
||||
- definition [ref=e497]:
|
||||
- generic [ref=e498]: Protected values hidden
|
||||
- generic [ref=e499]:
|
||||
- term [ref=e500]: Disclosure
|
||||
- definition [ref=e501]:
|
||||
- generic [ref=e502]: Disclosure present
|
||||
- generic [ref=e503]:
|
||||
- generic [ref=e504]:
|
||||
- heading "Accepted risks" [level=2] [ref=e505]
|
||||
- generic [ref=e508]: No action needed
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]:
|
||||
- generic [ref=e511]: Accepted risks
|
||||
- generic [ref=e514]: "0"
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]: Expiring soon
|
||||
- generic [ref=e519]: "0"
|
||||
- generic [ref=e520]:
|
||||
- generic [ref=e521]: Expired
|
||||
- generic [ref=e524]: "0"
|
||||
- generic [ref=e525]:
|
||||
- generic [ref=e526]: Pending approval
|
||||
- generic [ref=e529]: "0"
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: Needs review
|
||||
- generic [ref=e534]: "0"
|
||||
- paragraph [ref=e535]: No accepted risks recorded.
|
||||
- generic [ref=e536]:
|
||||
- heading "Disclosure rule" [level=2] [ref=e537]
|
||||
- generic [ref=e538]:
|
||||
- generic [ref=e539]:
|
||||
- generic [ref=e540]: Decision
|
||||
- generic [ref=e543]: Visible
|
||||
- generic [ref=e544]:
|
||||
- generic [ref=e545]: Evidence
|
||||
- generic [ref=e548]: Visible
|
||||
- generic [ref=e549]:
|
||||
- generic [ref=e550]: Diagnostics
|
||||
- generic [ref=e553]: Collapsed
|
||||
- generic [ref=e554]:
|
||||
- generic [ref=e555]: Raw/support
|
||||
- generic [ref=e558]: Hidden
|
||||
- group [ref=e559]:
|
||||
- generic "Diagnostics" [ref=e560] [cursor=pointer]
|
||||
- generic:
|
||||
- status
|
||||
46
.playwright-mcp/page-2026-06-04T11-34-20-291Z.yml
Normal file
46
.playwright-mcp/page-2026-06-04T11-34-20-291Z.yml
Normal file
@ -0,0 +1,46 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e2]:
|
||||
- generic [ref=e4]:
|
||||
- heading "404" [level=1] [ref=e5]
|
||||
- generic [ref=e6]: Not Found
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- generic [ref=e11]:
|
||||
- generic [ref=e12] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e13]: 404 Not Found
|
||||
- text:
|
||||
- generic [ref=e14] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e15] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e16]: "1"
|
||||
- generic [ref=e17] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e18]: "2"
|
||||
- generic [ref=e19] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e20]: "7"
|
||||
- generic [ref=e21] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e22]: "3"
|
||||
- text:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e29] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 397ms
|
||||
- generic [ref=e30]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e31]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e32] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: "GET admin/workspaces/{workspace}/environments/{environment}"
|
||||
- text:
|
||||
- text:
|
||||
58
.playwright-mcp/page-2026-06-04T14-59-15-107Z.yml
Normal file
58
.playwright-mcp/page-2026-06-04T14-59-15-107Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 449ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
418
.playwright-mcp/page-2026-06-04T21-39-36-823Z.yml
Normal file
418
.playwright-mcp/page-2026-06-04T21-39-36-823Z.yml
Normal file
@ -0,0 +1,418 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 352 Audit Provider Blocker
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- generic [ref=e39]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "6"
|
||||
- button "User menu" [ref=e42] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- complementary [ref=e45]:
|
||||
- navigation [ref=e48]:
|
||||
- 'link "Environment: Spec 352 Audit Provider Blocker" [ref=e49] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- img [ref=e51]
|
||||
- generic [ref=e53]:
|
||||
- generic [ref=e54]: Environment
|
||||
- generic "Spec 352 Audit Provider Blocker" [ref=e55]
|
||||
- generic [ref=e56]: "Workspace: Spec 352 Guidance Browser Audit"
|
||||
- img [ref=e57]
|
||||
- list [ref=e59]:
|
||||
- listitem [ref=e60]:
|
||||
- list [ref=e61]:
|
||||
- listitem [ref=e62]:
|
||||
- link "Overview" [ref=e63] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- img [ref=e64]
|
||||
- generic [ref=e66]: Overview
|
||||
- listitem [ref=e67]:
|
||||
- generic [ref=e68] [cursor=pointer]:
|
||||
- generic [ref=e69]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e70]:
|
||||
- img [ref=e71]
|
||||
- list [ref=e73]:
|
||||
- listitem [ref=e74]:
|
||||
- link "Items" [ref=e75] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/inventory
|
||||
- img [ref=e76]
|
||||
- generic [ref=e78]: Items
|
||||
- listitem [ref=e79]:
|
||||
- link "Policies" [ref=e80] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/policies
|
||||
- img [ref=e81]
|
||||
- generic [ref=e83]: Policies
|
||||
- listitem [ref=e84]:
|
||||
- link "Policy Versions" [ref=e85] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/policy-versions
|
||||
- img [ref=e86]
|
||||
- generic [ref=e88]: Policy Versions
|
||||
- listitem [ref=e89]:
|
||||
- link "Coverage" [ref=e90] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/inventory/inventory-coverage
|
||||
- img [ref=e91]
|
||||
- generic [ref=e93]: Coverage
|
||||
- listitem [ref=e94]:
|
||||
- generic [ref=e95] [cursor=pointer]:
|
||||
- generic [ref=e96]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e97]:
|
||||
- img [ref=e98]
|
||||
- list [ref=e100]:
|
||||
- listitem [ref=e101]:
|
||||
- link "Reviews" [ref=e102] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/environment-reviews
|
||||
- img [ref=e103]
|
||||
- generic [ref=e105]: Reviews
|
||||
- listitem [ref=e106]:
|
||||
- link "Stored reports" [ref=e107] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/stored-reports
|
||||
- img [ref=e108]
|
||||
- generic [ref=e110]: Stored reports
|
||||
- listitem [ref=e111]:
|
||||
- link "Review Packs" [ref=e112] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/review-packs
|
||||
- img [ref=e113]
|
||||
- generic [ref=e115]: Review Packs
|
||||
- listitem [ref=e116]:
|
||||
- generic [ref=e117] [cursor=pointer]:
|
||||
- generic [ref=e118]: Governance
|
||||
- button "Governance" [expanded] [ref=e119]:
|
||||
- img [ref=e120]
|
||||
- list [ref=e122]:
|
||||
- listitem [ref=e123]:
|
||||
- link "Findings" [ref=e124] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/findings
|
||||
- img [ref=e125]
|
||||
- generic [ref=e127]: Findings
|
||||
- listitem [ref=e128]:
|
||||
- link "Baselines" [ref=e129] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]: Baselines
|
||||
- listitem [ref=e133]:
|
||||
- link "Baseline Snapshots" [ref=e134] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e135]
|
||||
- generic [ref=e138]: Baseline Snapshots
|
||||
- listitem [ref=e139]:
|
||||
- link "Baseline Compare" [ref=e140] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/baseline-compare
|
||||
- img [ref=e141]
|
||||
- generic [ref=e143]: Baseline Compare
|
||||
- listitem [ref=e144]:
|
||||
- link "Evidence" [ref=e145] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/evidence
|
||||
- img [ref=e146]
|
||||
- generic [ref=e148]: Evidence
|
||||
- listitem [ref=e149]:
|
||||
- link "Risk exceptions" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/finding-exceptions
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Risk exceptions
|
||||
- listitem [ref=e154]:
|
||||
- generic [ref=e155] [cursor=pointer]:
|
||||
- generic [ref=e156]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e157]:
|
||||
- img [ref=e158]
|
||||
- list [ref=e160]:
|
||||
- listitem [ref=e161]:
|
||||
- link "Backup Schedules" [ref=e162] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-schedules
|
||||
- img [ref=e163]
|
||||
- generic [ref=e165]: Backup Schedules
|
||||
- listitem [ref=e166]:
|
||||
- link "Backup Sets" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-sets
|
||||
- img [ref=e168]
|
||||
- generic [ref=e170]: Backup Sets
|
||||
- listitem [ref=e171]:
|
||||
- link "Restore Runs" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/restore-runs
|
||||
- img [ref=e173]
|
||||
- generic [ref=e175]: Restore Runs
|
||||
- listitem [ref=e176]:
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]: Directory
|
||||
- button "Directory" [expanded] [ref=e179]:
|
||||
- img [ref=e180]
|
||||
- list [ref=e182]:
|
||||
- listitem [ref=e183]:
|
||||
- link "Groups" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/entra-groups
|
||||
- img [ref=e185]
|
||||
- generic [ref=e187]: Groups
|
||||
- listitem [ref=e188]:
|
||||
- generic [ref=e189] [cursor=pointer]:
|
||||
- generic [ref=e190]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e191]:
|
||||
- img [ref=e192]
|
||||
- list [ref=e194]:
|
||||
- listitem [ref=e195]:
|
||||
- link "Finding exceptions" [ref=e196] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=51
|
||||
- img [ref=e197]
|
||||
- generic [ref=e199]: Finding exceptions
|
||||
- listitem [ref=e200]:
|
||||
- link "Reviews" [ref=e201] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=51
|
||||
- img [ref=e202]
|
||||
- generic [ref=e204]: Reviews
|
||||
- listitem [ref=e205]:
|
||||
- link "Governance inbox" [ref=e206] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=51
|
||||
- img [ref=e207]
|
||||
- generic [ref=e209]: Governance inbox
|
||||
- listitem [ref=e210]:
|
||||
- link "Decision register" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=51
|
||||
- img [ref=e212]
|
||||
- generic [ref=e214]: Decision register
|
||||
- listitem [ref=e215]:
|
||||
- link "Operations" [ref=e216] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51
|
||||
- img [ref=e217]
|
||||
- generic [ref=e219]: Operations
|
||||
- listitem [ref=e220]:
|
||||
- link "Alerts" [ref=e221] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=51
|
||||
- img [ref=e222]
|
||||
- generic [ref=e224]: Alerts
|
||||
- listitem [ref=e225]:
|
||||
- link "Evidence" [ref=e226] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=51
|
||||
- img [ref=e227]
|
||||
- generic [ref=e229]: Evidence
|
||||
- listitem [ref=e230]:
|
||||
- link "Audit Log" [ref=e231] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=51
|
||||
- img [ref=e232]
|
||||
- generic [ref=e234]: Audit Log
|
||||
- listitem [ref=e235]:
|
||||
- link "Customer reviews" [ref=e236] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=51
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]: Customer reviews
|
||||
- listitem [ref=e240]:
|
||||
- generic [ref=e241] [cursor=pointer]:
|
||||
- generic [ref=e242]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e243]:
|
||||
- img [ref=e244]
|
||||
- list [ref=e246]:
|
||||
- listitem [ref=e247]:
|
||||
- link "Manage workspaces" [ref=e248] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e249]
|
||||
- generic [ref=e251]: Manage workspaces
|
||||
- listitem [ref=e252]:
|
||||
- link "Integrations" [ref=e253] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=51
|
||||
- img [ref=e254]
|
||||
- generic [ref=e256]: Integrations
|
||||
- listitem [ref=e257]:
|
||||
- link "Settings" [ref=e258] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e259]
|
||||
- generic [ref=e262]: Settings
|
||||
- main [ref=e264]:
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e268]:
|
||||
- heading "Spec 352 Audit Provider Blocker" [level=1] [ref=e269]
|
||||
- paragraph [ref=e270]: Required permissions
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- heading "Summary" [level=2] [ref=e277]
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e283]:
|
||||
- img [ref=e284]
|
||||
- generic [ref=e287]: Blocked
|
||||
- generic [ref=e288]: Stored data · refreshed 9 hours ago
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- generic [ref=e291]: Missing (app)
|
||||
- generic [ref=e292]: "1"
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]: Missing (delegated)
|
||||
- generic [ref=e295]: "0"
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]: Present
|
||||
- generic [ref=e298]: "0"
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]: Errors
|
||||
- generic [ref=e301]: "0"
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e304]:
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e308]: Blocked
|
||||
- heading "Required permissions missing" [level=2] [ref=e309]
|
||||
- generic [ref=e310]:
|
||||
- generic [ref=e311]: Recommended next action
|
||||
- button "Open admin consent" [ref=e312] [cursor=pointer]
|
||||
- generic [ref=e313]:
|
||||
- generic [ref=e314]: Secondary
|
||||
- generic [ref=e315]:
|
||||
- link "Open provider connection" [ref=e316] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- link "Open environment dashboard" [ref=e317] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: Reason
|
||||
- paragraph [ref=e320]: Required application permissions are missing.
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]: Impact
|
||||
- paragraph [ref=e323]: TenantPilot cannot refresh evidence, permission posture, inventory, or review outputs reliably until the missing application permissions are granted.
|
||||
- group [ref=e324]:
|
||||
- generic "Details" [ref=e325] [cursor=pointer]
|
||||
- generic [ref=e326]:
|
||||
- generic [ref=e327]:
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e329]: Provider capabilities
|
||||
- generic [ref=e330]: Capability-first view of the provider prerequisites used by operation start gates.
|
||||
- generic [ref=e331]:
|
||||
- img [ref=e332]
|
||||
- generic [ref=e335]: "Provider connection check: Missing"
|
||||
- generic [ref=e336]:
|
||||
- generic [ref=e337]:
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: Provider connection check
|
||||
- generic [ref=e341]: Provider connection check capability is missing required provider permissions.
|
||||
- generic [ref=e342]:
|
||||
- img [ref=e343]
|
||||
- generic [ref=e346]: Missing
|
||||
- generic [ref=e347]: 1 missing, 0 error(s)
|
||||
- generic [ref=e348]:
|
||||
- generic [ref=e349]:
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]: Inventory read
|
||||
- generic [ref=e352]: Inventory read capability is missing required provider permissions.
|
||||
- generic [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e357]: Missing
|
||||
- generic [ref=e358]: 1 missing, 0 error(s)
|
||||
- generic [ref=e359]:
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]:
|
||||
- generic [ref=e362]: Configuration read
|
||||
- generic [ref=e363]: Configuration read capability is missing required provider permissions.
|
||||
- generic [ref=e364]:
|
||||
- img [ref=e365]
|
||||
- generic [ref=e368]: Missing
|
||||
- generic [ref=e369]: 1 missing, 0 error(s)
|
||||
- generic [ref=e370]:
|
||||
- generic [ref=e371]:
|
||||
- generic [ref=e372]:
|
||||
- generic [ref=e373]: Restore execute
|
||||
- generic [ref=e374]: Restore execute capability is missing required provider permissions.
|
||||
- generic [ref=e375]:
|
||||
- img [ref=e376]
|
||||
- generic [ref=e379]: Missing
|
||||
- generic [ref=e380]: 1 missing, 0 error(s)
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]:
|
||||
- generic [ref=e384]: Directory groups read
|
||||
- generic [ref=e385]: Directory groups read capability is supported by stored permission evidence.
|
||||
- generic [ref=e386]:
|
||||
- img [ref=e387]
|
||||
- generic [ref=e390]: Supported
|
||||
- generic [ref=e391]: 0 missing, 0 error(s)
|
||||
- generic [ref=e392]:
|
||||
- generic [ref=e393]:
|
||||
- generic [ref=e394]:
|
||||
- generic [ref=e395]: Directory role definitions read
|
||||
- generic [ref=e396]: Directory role definitions read capability is missing required provider permissions.
|
||||
- generic [ref=e397]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e401]: Missing
|
||||
- generic [ref=e402]: 1 missing, 0 error(s)
|
||||
- generic [ref=e403]:
|
||||
- generic [ref=e404]: Permission handoff
|
||||
- generic [ref=e405]:
|
||||
- generic [ref=e406]: Who can fix this? Global Administrator / Privileged Role Administrator.
|
||||
- generic [ref=e407]:
|
||||
- text: "Primary next step:"
|
||||
- link "Open admin consent" [ref=e408] [cursor=pointer]:
|
||||
- /url: https://login.microsoftonline.com/spec-352-audit-provider-blocker/v2.0/adminconsent?client_id=2efe43af-e9aa-37e7-9a65-b8cd5a65affb&redirect_uri=http%3A%2F%2Flocalhost%2Fadmin%2Fconsent%2Fcallback&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&state=tenantpilot%7C51
|
||||
- generic [ref=e409]:
|
||||
- text: "After granting consent:"
|
||||
- button "Run provider verification" [ref=e410] [cursor=pointer]
|
||||
- generic [ref=e411]:
|
||||
- button "Copy missing application permissions" [ref=e412] [cursor=pointer]
|
||||
- button "Copy missing delegated permissions" [disabled]
|
||||
- generic [ref=e413]:
|
||||
- generic [ref=e415]:
|
||||
- generic [ref=e416]:
|
||||
- generic [ref=e417]: backup
|
||||
- generic [ref=e418]: 1 missing
|
||||
- generic [ref=e421]: Blocked
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]:
|
||||
- generic [ref=e425]: drift
|
||||
- generic [ref=e426]: 1 missing
|
||||
- generic [ref=e429]: Blocked
|
||||
- generic [ref=e431]:
|
||||
- generic [ref=e432]:
|
||||
- generic [ref=e433]: policy-sync
|
||||
- generic [ref=e434]: 1 missing
|
||||
- generic [ref=e437]: Blocked
|
||||
- generic [ref=e439]:
|
||||
- generic [ref=e440]:
|
||||
- generic [ref=e441]: restore
|
||||
- generic [ref=e442]: 1 missing
|
||||
- generic [ref=e445]: Blocked
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]:
|
||||
- generic [ref=e449]: settings-normalization
|
||||
- generic [ref=e450]: 1 missing
|
||||
- generic [ref=e453]: Blocked
|
||||
- generic [ref=e454]:
|
||||
- heading "Issues" [level=2] [ref=e457]
|
||||
- generic [ref=e461]:
|
||||
- generic [ref=e462]:
|
||||
- generic [ref=e465]: Blocker
|
||||
- generic [ref=e466]: Missing application permissions
|
||||
- generic [ref=e467]: 1 required application permission(s) are missing.
|
||||
- generic [ref=e468]:
|
||||
- link "Open admin consent" [ref=e469] [cursor=pointer]:
|
||||
- /url: https://login.microsoftonline.com/spec-352-audit-provider-blocker/v2.0/adminconsent?client_id=2efe43af-e9aa-37e7-9a65-b8cd5a65affb&redirect_uri=http%3A%2F%2Flocalhost%2Fadmin%2Fconsent%2Fcallback&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&state=tenantpilot%7C51
|
||||
- link "Manage provider connection" [ref=e470] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=51
|
||||
- link "Open environment dashboard" [ref=e471] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e472]:
|
||||
- heading "Passed" [level=2] [ref=e475]
|
||||
- generic [ref=e478]:
|
||||
- generic [ref=e479]: 0 permission(s) currently pass.
|
||||
- generic [ref=e480]: Out of 1 required permissions, 0 are currently granted.
|
||||
- generic [ref=e481]:
|
||||
- heading "Technical details" [level=2] [ref=e484]
|
||||
- group [ref=e487]:
|
||||
- generic "Expand technical details" [ref=e488] [cursor=pointer]
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
280
.playwright-mcp/page-2026-06-04T21-39-49-540Z.yml
Normal file
280
.playwright-mcp/page-2026-06-04T21-39-49-540Z.yml
Normal file
@ -0,0 +1,280 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "6"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: Spec 352 Guidance Browser Audit" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "Spec 352 Guidance Browser Audit" [ref=e54]
|
||||
- generic [ref=e55]: 3 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- generic [ref=e160]:
|
||||
- navigation [ref=e161]:
|
||||
- list [ref=e162]:
|
||||
- listitem [ref=e163]:
|
||||
- link "Provider Connections" [ref=e164] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- listitem [ref=e165]:
|
||||
- img [ref=e166]
|
||||
- generic [ref=e168]: List
|
||||
- heading "Provider Connections" [level=1] [ref=e169]
|
||||
- link "New connection" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/create?environment_id=51
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: "Environment filter:"
|
||||
- generic [ref=e180]: Spec 352 Audit Provider Blocker
|
||||
- link "Clear filter" [ref=e181] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e186]:
|
||||
- generic [ref=e187]:
|
||||
- generic [ref=e190]: Blocked
|
||||
- heading "Provider readiness blocked" [level=2] [ref=e191]
|
||||
- generic [ref=e192]:
|
||||
- generic [ref=e193]: Recommended next action
|
||||
- link "Open required permissions" [ref=e194] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/required-permissions
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]: Secondary
|
||||
- generic [ref=e197]:
|
||||
- link "Open admin consent" [ref=e198] [cursor=pointer]:
|
||||
- /url: https://login.microsoftonline.com/spec-352-audit-provider-blocker/v2.0/adminconsent?client_id=2efe43af-e9aa-37e7-9a65-b8cd5a65affb&redirect_uri=http%3A%2F%2Flocalhost%2Fadmin%2Fconsent%2Fcallback&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&state=tenantpilot%7C51
|
||||
- link "Open provider connection" [ref=e199] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- link "Open environment dashboard" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]: Reason
|
||||
- paragraph [ref=e203]: Required application permissions are missing.
|
||||
- generic [ref=e204]:
|
||||
- generic [ref=e205]: Impact
|
||||
- paragraph [ref=e206]: TenantPilot cannot refresh evidence, permission posture, inventory, or review outputs reliably until the missing application permissions are granted.
|
||||
- group [ref=e207]:
|
||||
- generic "Details" [ref=e208] [cursor=pointer]
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e216]:
|
||||
- generic [ref=e217]:
|
||||
- generic [ref=e218]: Search
|
||||
- generic [ref=e219]:
|
||||
- img [ref=e221]
|
||||
- searchbox "Search" [ref=e224]
|
||||
- button "Filter" [ref=e227] [cursor=pointer]:
|
||||
- img [ref=e228]
|
||||
- generic [ref=e231]: "1"
|
||||
- button "Column manager" [ref=e234] [cursor=pointer]:
|
||||
- img [ref=e235]
|
||||
- generic [ref=e237]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]: Active filters
|
||||
- generic [ref=e241]:
|
||||
- generic [ref=e243]: "Environment: Spec 352 Audit Provider Blocker (DEV)"
|
||||
- button "Remove filter" [ref=e244] [cursor=pointer]:
|
||||
- img [ref=e245]
|
||||
- generic [ref=e247]: Remove filter
|
||||
- button [ref=e248] [cursor=pointer]:
|
||||
- img [ref=e249]
|
||||
- table [ref=e252]:
|
||||
- rowgroup [ref=e253]:
|
||||
- row "Environment Name Provider Target scope Connection type Lifecycle Consent Verification Provider capability Actions" [ref=e254]:
|
||||
- columnheader "Environment" [ref=e255]
|
||||
- columnheader "Name" [ref=e256]:
|
||||
- button "Name" [ref=e257] [cursor=pointer]:
|
||||
- text: Name
|
||||
- img [ref=e258]
|
||||
- columnheader "Provider" [ref=e260]
|
||||
- columnheader "Target scope" [ref=e261]
|
||||
- columnheader "Connection type" [ref=e262]
|
||||
- columnheader "Lifecycle" [ref=e263]
|
||||
- columnheader "Consent" [ref=e264]
|
||||
- columnheader "Verification" [ref=e265]
|
||||
- columnheader "Provider capability" [ref=e266]
|
||||
- columnheader "Actions" [ref=e267]
|
||||
- rowgroup [ref=e268]:
|
||||
- 'row "Spec 352 Audit Provider Blocker DEV Spec 352 Audit Provider Blocker Microsoft Microsoft Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker) Dedicated Enabled Granted Healthy Missing Inventory read: Missing More" [ref=e269]':
|
||||
- cell "Spec 352 Audit Provider Blocker DEV" [ref=e270]:
|
||||
- link "Spec 352 Audit Provider Blocker DEV" [ref=e271] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e272]:
|
||||
- paragraph [ref=e273]: Spec 352 Audit Provider Blocker
|
||||
- paragraph [ref=e274]: DEV
|
||||
- cell "Spec 352 Audit Provider Blocker Microsoft" [ref=e275]:
|
||||
- link "Spec 352 Audit Provider Blocker Microsoft" [ref=e276] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e277]: Spec 352 Audit Provider Blocker Microsoft
|
||||
- cell "Microsoft" [ref=e278]:
|
||||
- link "Microsoft" [ref=e279] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e280]: Microsoft
|
||||
- cell "Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker)" [ref=e281]:
|
||||
- link "Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker)" [ref=e282] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e283]: Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker)
|
||||
- cell "Dedicated" [ref=e284]:
|
||||
- link "Dedicated" [ref=e285] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e287]: Dedicated
|
||||
- cell "Enabled" [ref=e288]:
|
||||
- link "Enabled" [ref=e289] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- text: Enabled
|
||||
- cell "Granted" [ref=e294]:
|
||||
- link "Granted" [ref=e295] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e297]:
|
||||
- img [ref=e298]
|
||||
- text: Granted
|
||||
- cell "Healthy" [ref=e300]:
|
||||
- link "Healthy" [ref=e301] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e303]:
|
||||
- img [ref=e304]
|
||||
- text: Healthy
|
||||
- 'cell "Missing Inventory read: Missing" [ref=e306]':
|
||||
- 'link "Missing Inventory read: Missing" [ref=e307] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e308]:
|
||||
- paragraph [ref=e309]:
|
||||
- generic [ref=e310]:
|
||||
- img [ref=e311]
|
||||
- text: Missing
|
||||
- paragraph [ref=e313]: "Inventory read: Missing"
|
||||
- cell "More" [ref=e314]:
|
||||
- button "More" [ref=e318] [cursor=pointer]:
|
||||
- img [ref=e319]
|
||||
- navigation "Pagination navigation" [ref=e321]:
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e326]: Per page
|
||||
- combobox "Per page" [ref=e328]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "100"
|
||||
- generic:
|
||||
- status
|
||||
510
.playwright-mcp/page-2026-06-05T02-44-48-161Z.yml
Normal file
510
.playwright-mcp/page-2026-06-05T02-44-48-161Z.yml
Normal file
@ -0,0 +1,510 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 352 Audit Provider Blocker
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- generic [ref=e39]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "6"
|
||||
- button "User menu" [ref=e42] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- complementary [ref=e45]:
|
||||
- navigation [ref=e48]:
|
||||
- 'link "Environment: Spec 352 Audit Provider Blocker" [ref=e49] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- img [ref=e51]
|
||||
- generic [ref=e53]:
|
||||
- generic [ref=e54]: Environment
|
||||
- generic "Spec 352 Audit Provider Blocker" [ref=e55]
|
||||
- generic [ref=e56]: "Workspace: Spec 352 Guidance Browser Audit"
|
||||
- img [ref=e57]
|
||||
- list [ref=e59]:
|
||||
- listitem [ref=e60]:
|
||||
- list [ref=e61]:
|
||||
- listitem [ref=e62]:
|
||||
- link "Overview" [ref=e63] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- img [ref=e64]
|
||||
- generic [ref=e66]: Overview
|
||||
- listitem [ref=e67]:
|
||||
- generic [ref=e68] [cursor=pointer]:
|
||||
- generic [ref=e69]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e70]:
|
||||
- img [ref=e71]
|
||||
- list [ref=e73]:
|
||||
- listitem [ref=e74]:
|
||||
- link "Items" [ref=e75] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/inventory
|
||||
- img [ref=e76]
|
||||
- generic [ref=e78]: Items
|
||||
- listitem [ref=e79]:
|
||||
- link "Policies" [ref=e80] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/policies
|
||||
- img [ref=e81]
|
||||
- generic [ref=e83]: Policies
|
||||
- listitem [ref=e84]:
|
||||
- link "Policy Versions" [ref=e85] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/policy-versions
|
||||
- img [ref=e86]
|
||||
- generic [ref=e88]: Policy Versions
|
||||
- listitem [ref=e89]:
|
||||
- link "Coverage" [ref=e90] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/inventory/inventory-coverage
|
||||
- img [ref=e91]
|
||||
- generic [ref=e93]: Coverage
|
||||
- listitem [ref=e94]:
|
||||
- generic [ref=e95] [cursor=pointer]:
|
||||
- generic [ref=e96]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e97]:
|
||||
- img [ref=e98]
|
||||
- list [ref=e100]:
|
||||
- listitem [ref=e101]:
|
||||
- link "Reviews" [ref=e102] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/environment-reviews
|
||||
- img [ref=e103]
|
||||
- generic [ref=e105]: Reviews
|
||||
- listitem [ref=e106]:
|
||||
- link "Stored reports" [ref=e107] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/stored-reports
|
||||
- img [ref=e108]
|
||||
- generic [ref=e110]: Stored reports
|
||||
- listitem [ref=e111]:
|
||||
- link "Review Packs" [ref=e112] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/review-packs
|
||||
- img [ref=e113]
|
||||
- generic [ref=e115]: Review Packs
|
||||
- listitem [ref=e116]:
|
||||
- generic [ref=e117] [cursor=pointer]:
|
||||
- generic [ref=e118]: Governance
|
||||
- button "Governance" [expanded] [ref=e119]:
|
||||
- img [ref=e120]
|
||||
- list [ref=e122]:
|
||||
- listitem [ref=e123]:
|
||||
- link "Findings" [ref=e124] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/findings
|
||||
- img [ref=e125]
|
||||
- generic [ref=e127]: Findings
|
||||
- listitem [ref=e128]:
|
||||
- link "Baselines" [ref=e129] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]: Baselines
|
||||
- listitem [ref=e133]:
|
||||
- link "Baseline Snapshots" [ref=e134] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e135]
|
||||
- generic [ref=e138]: Baseline Snapshots
|
||||
- listitem [ref=e139]:
|
||||
- link "Baseline Compare" [ref=e140] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/baseline-compare
|
||||
- img [ref=e141]
|
||||
- generic [ref=e143]: Baseline Compare
|
||||
- listitem [ref=e144]:
|
||||
- link "Evidence" [ref=e145] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/evidence
|
||||
- img [ref=e146]
|
||||
- generic [ref=e148]: Evidence
|
||||
- listitem [ref=e149]:
|
||||
- link "Risk exceptions" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/finding-exceptions
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Risk exceptions
|
||||
- listitem [ref=e154]:
|
||||
- generic [ref=e155] [cursor=pointer]:
|
||||
- generic [ref=e156]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e157]:
|
||||
- img [ref=e158]
|
||||
- list [ref=e160]:
|
||||
- listitem [ref=e161]:
|
||||
- link "Backup Schedules" [ref=e162] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-schedules
|
||||
- img [ref=e163]
|
||||
- generic [ref=e165]: Backup Schedules
|
||||
- listitem [ref=e166]:
|
||||
- link "Backup Sets" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-sets
|
||||
- img [ref=e168]
|
||||
- generic [ref=e170]: Backup Sets
|
||||
- listitem [ref=e171]:
|
||||
- link "Restore Runs" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/restore-runs
|
||||
- img [ref=e173]
|
||||
- generic [ref=e175]: Restore Runs
|
||||
- listitem [ref=e176]:
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]: Directory
|
||||
- button "Directory" [expanded] [ref=e179]:
|
||||
- img [ref=e180]
|
||||
- list [ref=e182]:
|
||||
- listitem [ref=e183]:
|
||||
- link "Groups" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/entra-groups
|
||||
- img [ref=e185]
|
||||
- generic [ref=e187]: Groups
|
||||
- listitem [ref=e188]:
|
||||
- generic [ref=e189] [cursor=pointer]:
|
||||
- generic [ref=e190]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e191]:
|
||||
- img [ref=e192]
|
||||
- list [ref=e194]:
|
||||
- listitem [ref=e195]:
|
||||
- link "Finding exceptions" [ref=e196] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=51
|
||||
- img [ref=e197]
|
||||
- generic [ref=e199]: Finding exceptions
|
||||
- listitem [ref=e200]:
|
||||
- link "Reviews" [ref=e201] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=51
|
||||
- img [ref=e202]
|
||||
- generic [ref=e204]: Reviews
|
||||
- listitem [ref=e205]:
|
||||
- link "Governance inbox" [ref=e206] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=51
|
||||
- img [ref=e207]
|
||||
- generic [ref=e209]: Governance inbox
|
||||
- listitem [ref=e210]:
|
||||
- link "Decision register" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=51
|
||||
- img [ref=e212]
|
||||
- generic [ref=e214]: Decision register
|
||||
- listitem [ref=e215]:
|
||||
- link "Operations" [ref=e216] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51
|
||||
- img [ref=e217]
|
||||
- generic [ref=e219]: Operations
|
||||
- listitem [ref=e220]:
|
||||
- link "Alerts" [ref=e221] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=51
|
||||
- img [ref=e222]
|
||||
- generic [ref=e224]: Alerts
|
||||
- listitem [ref=e225]:
|
||||
- link "Evidence" [ref=e226] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=51
|
||||
- img [ref=e227]
|
||||
- generic [ref=e229]: Evidence
|
||||
- listitem [ref=e230]:
|
||||
- link "Audit Log" [ref=e231] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=51
|
||||
- img [ref=e232]
|
||||
- generic [ref=e234]: Audit Log
|
||||
- listitem [ref=e235]:
|
||||
- link "Customer reviews" [ref=e236] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=51
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]: Customer reviews
|
||||
- listitem [ref=e240]:
|
||||
- generic [ref=e241] [cursor=pointer]:
|
||||
- generic [ref=e242]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e243]:
|
||||
- img [ref=e244]
|
||||
- list [ref=e246]:
|
||||
- listitem [ref=e247]:
|
||||
- link "Manage workspaces" [ref=e248] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e249]
|
||||
- generic [ref=e251]: Manage workspaces
|
||||
- listitem [ref=e252]:
|
||||
- link "Integrations" [ref=e253] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=51
|
||||
- img [ref=e254]
|
||||
- generic [ref=e256]: Integrations
|
||||
- listitem [ref=e257]:
|
||||
- link "Settings" [ref=e258] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e259]
|
||||
- generic [ref=e262]: Settings
|
||||
- main [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e270]:
|
||||
- generic [ref=e271]:
|
||||
- img [ref=e273]
|
||||
- generic [ref=e275]:
|
||||
- paragraph [ref=e276]: Operation updates
|
||||
- paragraph [ref=e277]: Recent operation updates that may need review.
|
||||
- generic [ref=e278]:
|
||||
- link "View operation" [ref=e279] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations/65
|
||||
- link "Show all operations" [ref=e280] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51
|
||||
- button "Acknowledge" [ref=e281] [cursor=pointer]
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- heading "Review composition" [level=4] [ref=e287]
|
||||
- generic [ref=e288]: Execution failed
|
||||
- generic [ref=e289]: Automatically reconciled
|
||||
- paragraph [ref=e290]: Completed · 14 hours ago
|
||||
- paragraph [ref=e291]: "Next step: Resolve the review blockers before publication."
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]:
|
||||
- heading "Spec 352 Audit Provider Blocker Blocked" [level=1] [ref=e295]:
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]: Spec 352 Audit Provider Blocker
|
||||
- generic [ref=e298]: Blocked
|
||||
- paragraph [ref=e299]: Environment governance overview
|
||||
- button "More" [ref=e304] [cursor=pointer]:
|
||||
- img [ref=e305]
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e314]:
|
||||
- generic [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- 'generic "Workspace: Spec 352 Guidance Browser Audit" [ref=e318]'
|
||||
- generic [ref=e319]:
|
||||
- img [ref=e320]
|
||||
- generic [ref=e325]: Microsoft environment
|
||||
- generic [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- generic [ref=e329]: "Latest activity: 14 hours ago"
|
||||
- generic [ref=e334]:
|
||||
- generic [ref=e342]:
|
||||
- link "High severity findings 0 No active pressure" [ref=e345] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/findings?tab=needs_action&high_severity=1
|
||||
- generic [ref=e346]:
|
||||
- generic [ref=e348]: High severity findings
|
||||
- generic [ref=e349]: "0"
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]: No active pressure
|
||||
- img [ref=e352]
|
||||
- link "Overdue findings 0 None overdue" [ref=e356] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/findings?tab=overdue
|
||||
- generic [ref=e357]:
|
||||
- generic [ref=e359]: Overdue findings
|
||||
- generic [ref=e360]: "0"
|
||||
- generic [ref=e361]:
|
||||
- generic [ref=e362]: None overdue
|
||||
- img [ref=e363]
|
||||
- link "Missing permissions 1 1 app missing" [ref=e367] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/required-permissions
|
||||
- generic [ref=e368]:
|
||||
- generic [ref=e370]: Missing permissions
|
||||
- generic [ref=e371]: "1"
|
||||
- generic [ref=e372]:
|
||||
- generic [ref=e373]: 1 app missing
|
||||
- img [ref=e374]
|
||||
- link "Operations needing attention 1 1 operation needs follow-up" [ref=e378] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- generic [ref=e379]:
|
||||
- generic [ref=e381]: Operations needing attention
|
||||
- generic [ref=e382]: "1"
|
||||
- generic [ref=e383]:
|
||||
- generic [ref=e384]: 1 operation needs follow-up
|
||||
- img [ref=e385]
|
||||
- generic [ref=e389]:
|
||||
- generic [ref=e390]:
|
||||
- generic [ref=e394]:
|
||||
- generic [ref=e395]:
|
||||
- generic [ref=e396]:
|
||||
- heading "Is this environment ready, blocked, stale, or requiring review?" [level=2] [ref=e397]
|
||||
- generic [ref=e398]: Blocked
|
||||
- paragraph [ref=e400]: Provider readiness blocks evidence refresh
|
||||
- generic [ref=e401]:
|
||||
- generic [ref=e402]:
|
||||
- term [ref=e403]: Status
|
||||
- definition [ref=e404]: Blocked
|
||||
- generic [ref=e405]:
|
||||
- term [ref=e406]: Reason
|
||||
- definition [ref=e407]: 1 application permission(s) are still missing.
|
||||
- generic [ref=e408]:
|
||||
- term [ref=e409]: Why this matters
|
||||
- definition [ref=e410]: Provider-backed inventory, verification, and reporting flows stay blocked until consent is restored.
|
||||
- generic [ref=e411]:
|
||||
- generic [ref=e412]:
|
||||
- generic [ref=e413]: Recommended next action
|
||||
- generic [ref=e414]: Review permissions
|
||||
- link "Review permissions" [ref=e415] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/required-permissions
|
||||
- generic [ref=e416]:
|
||||
- heading "Readiness dimensions" [level=2] [ref=e419]
|
||||
- generic [ref=e422]:
|
||||
- generic [ref=e424]:
|
||||
- generic [ref=e426]: Baseline compare
|
||||
- generic [ref=e428]: Baseline missing
|
||||
- paragraph [ref=e429]: This environment has no baseline assignment. A workspace manager can assign a baseline profile to this environment.
|
||||
- generic [ref=e431]:
|
||||
- generic [ref=e433]: Evidence coverage
|
||||
- generic [ref=e435]: Not collected yet
|
||||
- paragraph [ref=e436]: Latest evidence snapshot generated 14 hours ago.
|
||||
- generic [ref=e438]:
|
||||
- generic [ref=e440]: Review freshness
|
||||
- generic [ref=e442]: Draft
|
||||
- paragraph [ref=e443]: Latest review updated .
|
||||
- generic [ref=e445]:
|
||||
- generic [ref=e447]: Provider permissions
|
||||
- generic [ref=e449]: Blocked
|
||||
- paragraph [ref=e450]: 1 application permission(s) are still missing.
|
||||
- generic [ref=e452]:
|
||||
- generic [ref=e454]: Backup posture
|
||||
- generic [ref=e456]: Absent
|
||||
- paragraph [ref=e457]: Create or finish a backup set before relying on restore input.
|
||||
- generic [ref=e459]:
|
||||
- generic [ref=e461]: Current review
|
||||
- generic [ref=e463]: Draft
|
||||
- paragraph [ref=e464]: Latest review updated .
|
||||
- generic [ref=e466]:
|
||||
- generic [ref=e468]: Risk exceptions
|
||||
- generic [ref=e470]: Calm
|
||||
- paragraph [ref=e471]: No risk exceptions currently need attention.
|
||||
- generic [ref=e473]:
|
||||
- generic [ref=e475]: Provider Health
|
||||
- generic [ref=e477]: Healthy
|
||||
- paragraph [ref=e478]: 1 application permission(s) are still missing.
|
||||
- generic [ref=e480]:
|
||||
- generic [ref=e482]: Customer-safe output
|
||||
- generic [ref=e484]: Ready
|
||||
- paragraph [ref=e485]: Latest review pack updated 15 hours ago.
|
||||
- generic [ref=e487]:
|
||||
- generic [ref=e489]: Operation proof
|
||||
- generic [ref=e491]: "1"
|
||||
- paragraph [ref=e492]: Operations requiring attention must be reviewed before the environment is treated as calm.
|
||||
- generic [ref=e493]:
|
||||
- generic [ref=e495]:
|
||||
- heading "Additional follow-ups" [level=2] [ref=e496]
|
||||
- paragraph [ref=e497]: These follow-ups stay secondary to the dominant guidance above.
|
||||
- generic [ref=e500]:
|
||||
- generic [ref=e501]:
|
||||
- generic [ref=e502]:
|
||||
- generic [ref=e503]:
|
||||
- img [ref=e504]
|
||||
- heading "Review operations requiring attention" [level=3] [ref=e506]
|
||||
- paragraph [ref=e507]: "Reason: One or more operations finished with an outcome that needs follow-up."
|
||||
- link "Review operations" [ref=e508] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]:
|
||||
- generic [ref=e511]:
|
||||
- img [ref=e512]
|
||||
- heading "Review recovery posture" [level=3] [ref=e514]
|
||||
- paragraph [ref=e515]: "Reason: Create or finish a backup set before relying on restore input."
|
||||
- link "Open backup posture" [ref=e516] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-sets
|
||||
- generic [ref=e517]:
|
||||
- generic [ref=e519]:
|
||||
- heading "Supporting signals" [level=2] [ref=e520]
|
||||
- paragraph [ref=e521]: Additional readiness signals used to explain the current recommendation.
|
||||
- table [ref=e526]:
|
||||
- rowgroup [ref=e527]:
|
||||
- row "Signal State Action" [ref=e528]:
|
||||
- columnheader "Signal" [ref=e529]
|
||||
- columnheader "State" [ref=e530]
|
||||
- columnheader "Action" [ref=e531]
|
||||
- rowgroup [ref=e532]:
|
||||
- row "Baseline assignment Missing Open Baseline Compare" [ref=e533]:
|
||||
- rowheader "Baseline assignment" [ref=e534]
|
||||
- cell "Missing" [ref=e535]:
|
||||
- generic [ref=e536]: Missing
|
||||
- cell "Open Baseline Compare" [ref=e537]:
|
||||
- link "Open Baseline Compare" [ref=e538] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/baseline-compare
|
||||
- row "Evidence snapshot Available Open evidence" [ref=e539]:
|
||||
- rowheader "Evidence snapshot" [ref=e540]
|
||||
- cell "Available" [ref=e541]:
|
||||
- generic [ref=e542]: Available
|
||||
- cell "Open evidence" [ref=e543]:
|
||||
- link "Open evidence" [ref=e544] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/evidence/21
|
||||
- row "Review freshness Ready Open reviews" [ref=e545]:
|
||||
- rowheader "Review freshness" [ref=e546]
|
||||
- cell "Ready" [ref=e547]:
|
||||
- generic [ref=e548]: Ready
|
||||
- cell "Open reviews" [ref=e549]:
|
||||
- link "Open reviews" [ref=e550] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/environment-reviews/29
|
||||
- row "Provider permissions Missing Open required permissions" [ref=e551]:
|
||||
- rowheader "Provider permissions" [ref=e552]
|
||||
- cell "Missing" [ref=e553]:
|
||||
- generic [ref=e554]: Missing
|
||||
- cell "Open required permissions" [ref=e555]:
|
||||
- link "Open required permissions" [ref=e556] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/required-permissions
|
||||
- row "Backup posture Absent Open backup posture" [ref=e557]:
|
||||
- rowheader "Backup posture" [ref=e558]
|
||||
- cell "Absent" [ref=e559]:
|
||||
- generic [ref=e560]: Absent
|
||||
- cell "Open backup posture" [ref=e561]:
|
||||
- link "Open backup posture" [ref=e562] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-sets
|
||||
- row "Operations follow-up 1 requires review Open operations hub" [ref=e563]:
|
||||
- rowheader "Operations follow-up" [ref=e564]
|
||||
- cell "1 requires review" [ref=e565]:
|
||||
- generic [ref=e566]: 1 requires review
|
||||
- cell "Open operations hub" [ref=e567]:
|
||||
- link "Open operations hub" [ref=e568] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- group [ref=e572]:
|
||||
- generic "Diagnostics - Collapsed" [ref=e573] [cursor=pointer]
|
||||
- generic [ref=e575]:
|
||||
- heading "Readiness proof" [level=2] [ref=e578]
|
||||
- generic [ref=e581]:
|
||||
- generic [ref=e582]:
|
||||
- generic [ref=e583]:
|
||||
- generic [ref=e585]: Baseline compare
|
||||
- generic [ref=e587]: Baseline missing
|
||||
- paragraph [ref=e588]: This environment has no baseline assignment. A workspace manager can assign a baseline profile to this environment.
|
||||
- link "Open Baseline Compare" [ref=e590] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/baseline-compare
|
||||
- generic [ref=e591]:
|
||||
- generic [ref=e592]:
|
||||
- generic [ref=e594]: Evidence coverage
|
||||
- generic [ref=e596]: Not collected yet
|
||||
- paragraph [ref=e597]: Latest evidence snapshot generated 14 hours ago.
|
||||
- link "Open evidence" [ref=e599] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/evidence/21
|
||||
- generic [ref=e600]:
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e603]: Review freshness
|
||||
- generic [ref=e605]: Draft
|
||||
- paragraph [ref=e606]: Latest review updated .
|
||||
- link "Continue review" [ref=e608] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/environment-reviews/29
|
||||
- generic [ref=e609]:
|
||||
- generic [ref=e610]:
|
||||
- generic [ref=e612]: Provider permissions
|
||||
- generic [ref=e614]: Blocked
|
||||
- paragraph [ref=e615]: 1 application permission(s) are still missing.
|
||||
- link "Open required permissions" [ref=e617] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/required-permissions
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]:
|
||||
- generic [ref=e621]: Backup posture
|
||||
- generic [ref=e623]: Absent
|
||||
- paragraph [ref=e624]: Create or finish a backup set before relying on restore input.
|
||||
- link "Open backup posture" [ref=e626] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-sets
|
||||
- generic [ref=e627]:
|
||||
- generic [ref=e628]:
|
||||
- generic [ref=e630]: Review pack
|
||||
- generic [ref=e632]: Ready
|
||||
- paragraph [ref=e633]: Latest review pack updated 15 hours ago.
|
||||
- link "Open review pack" [ref=e635] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/review-packs/19
|
||||
- generic [ref=e636]:
|
||||
- generic [ref=e637]:
|
||||
- generic [ref=e639]: Operation proof
|
||||
- generic [ref=e641]: "1"
|
||||
- paragraph [ref=e642]: Latest operation proof is available through the operations detail path.
|
||||
- link "Open operations hub" [ref=e644] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- generic:
|
||||
- status
|
||||
417
.playwright-mcp/page-2026-06-05T02-45-20-642Z.yml
Normal file
417
.playwright-mcp/page-2026-06-05T02-45-20-642Z.yml
Normal file
@ -0,0 +1,417 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 352 Audit Provider Blocker
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- button "Notifications" [ref=e42] [cursor=pointer]:
|
||||
- img [ref=e43]
|
||||
- generic [ref=e46]: "6"
|
||||
- button "User menu" [ref=e49] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e50]
|
||||
- generic [ref=e51]:
|
||||
- complementary [ref=e52]:
|
||||
- navigation [ref=e55]:
|
||||
- 'link "Environment: Spec 352 Audit Provider Blocker" [ref=e56] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- img [ref=e58]
|
||||
- generic [ref=e60]:
|
||||
- generic [ref=e61]: Environment
|
||||
- generic "Spec 352 Audit Provider Blocker" [ref=e62]
|
||||
- generic [ref=e63]: "Workspace: Spec 352 Guidance Browser Audit"
|
||||
- img [ref=e64]
|
||||
- list [ref=e66]:
|
||||
- listitem [ref=e67]:
|
||||
- list [ref=e68]:
|
||||
- listitem [ref=e69]:
|
||||
- link "Overview" [ref=e70] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- img [ref=e71]
|
||||
- generic [ref=e73]: Overview
|
||||
- listitem [ref=e74]:
|
||||
- generic [ref=e75] [cursor=pointer]:
|
||||
- generic [ref=e76]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e77]:
|
||||
- img [ref=e78]
|
||||
- list [ref=e80]:
|
||||
- listitem [ref=e81]:
|
||||
- link "Items" [ref=e82] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/inventory
|
||||
- img [ref=e83]
|
||||
- generic [ref=e85]: Items
|
||||
- listitem [ref=e86]:
|
||||
- link "Policies" [ref=e87] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/policies
|
||||
- img [ref=e88]
|
||||
- generic [ref=e90]: Policies
|
||||
- listitem [ref=e91]:
|
||||
- link "Policy Versions" [ref=e92] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/policy-versions
|
||||
- img [ref=e93]
|
||||
- generic [ref=e95]: Policy Versions
|
||||
- listitem [ref=e96]:
|
||||
- link "Coverage" [ref=e97] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/inventory/inventory-coverage
|
||||
- img [ref=e98]
|
||||
- generic [ref=e100]: Coverage
|
||||
- listitem [ref=e101]:
|
||||
- generic [ref=e102] [cursor=pointer]:
|
||||
- generic [ref=e103]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e104]:
|
||||
- img [ref=e105]
|
||||
- list [ref=e107]:
|
||||
- listitem [ref=e108]:
|
||||
- link "Reviews" [ref=e109] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/environment-reviews
|
||||
- img [ref=e110]
|
||||
- generic [ref=e112]: Reviews
|
||||
- listitem [ref=e113]:
|
||||
- link "Stored reports" [ref=e114] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/stored-reports
|
||||
- img [ref=e115]
|
||||
- generic [ref=e117]: Stored reports
|
||||
- listitem [ref=e118]:
|
||||
- link "Review Packs" [ref=e119] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/review-packs
|
||||
- img [ref=e120]
|
||||
- generic [ref=e122]: Review Packs
|
||||
- listitem [ref=e123]:
|
||||
- generic [ref=e124] [cursor=pointer]:
|
||||
- generic [ref=e125]: Governance
|
||||
- button "Governance" [expanded] [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- list [ref=e129]:
|
||||
- listitem [ref=e130]:
|
||||
- link "Findings" [ref=e131] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/findings
|
||||
- img [ref=e132]
|
||||
- generic [ref=e134]: Findings
|
||||
- listitem [ref=e135]:
|
||||
- link "Baselines" [ref=e136] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e137]
|
||||
- generic [ref=e139]: Baselines
|
||||
- listitem [ref=e140]:
|
||||
- link "Baseline Snapshots" [ref=e141] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e142]
|
||||
- generic [ref=e145]: Baseline Snapshots
|
||||
- listitem [ref=e146]:
|
||||
- link "Baseline Compare" [ref=e147] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/baseline-compare
|
||||
- img [ref=e148]
|
||||
- generic [ref=e150]: Baseline Compare
|
||||
- listitem [ref=e151]:
|
||||
- link "Evidence" [ref=e152] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/evidence
|
||||
- img [ref=e153]
|
||||
- generic [ref=e155]: Evidence
|
||||
- listitem [ref=e156]:
|
||||
- link "Risk exceptions" [ref=e157] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/finding-exceptions
|
||||
- img [ref=e158]
|
||||
- generic [ref=e160]: Risk exceptions
|
||||
- listitem [ref=e161]:
|
||||
- generic [ref=e162] [cursor=pointer]:
|
||||
- generic [ref=e163]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e164]:
|
||||
- img [ref=e165]
|
||||
- list [ref=e167]:
|
||||
- listitem [ref=e168]:
|
||||
- link "Backup Schedules" [ref=e169] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-schedules
|
||||
- img [ref=e170]
|
||||
- generic [ref=e172]: Backup Schedules
|
||||
- listitem [ref=e173]:
|
||||
- link "Backup Sets" [ref=e174] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/backup-sets
|
||||
- img [ref=e175]
|
||||
- generic [ref=e177]: Backup Sets
|
||||
- listitem [ref=e178]:
|
||||
- link "Restore Runs" [ref=e179] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/restore-runs
|
||||
- img [ref=e180]
|
||||
- generic [ref=e182]: Restore Runs
|
||||
- listitem [ref=e183]:
|
||||
- generic [ref=e184] [cursor=pointer]:
|
||||
- generic [ref=e185]: Directory
|
||||
- button "Directory" [expanded] [ref=e186]:
|
||||
- img [ref=e187]
|
||||
- list [ref=e189]:
|
||||
- listitem [ref=e190]:
|
||||
- link "Groups" [ref=e191] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-provider-blocker/entra-groups
|
||||
- img [ref=e192]
|
||||
- generic [ref=e194]: Groups
|
||||
- listitem [ref=e195]:
|
||||
- generic [ref=e196] [cursor=pointer]:
|
||||
- generic [ref=e197]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e198]:
|
||||
- img [ref=e199]
|
||||
- list [ref=e201]:
|
||||
- listitem [ref=e202]:
|
||||
- link "Finding exceptions" [ref=e203] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=51
|
||||
- img [ref=e204]
|
||||
- generic [ref=e206]: Finding exceptions
|
||||
- listitem [ref=e207]:
|
||||
- link "Reviews" [ref=e208] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=51
|
||||
- img [ref=e209]
|
||||
- generic [ref=e211]: Reviews
|
||||
- listitem [ref=e212]:
|
||||
- link "Governance inbox" [ref=e213] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=51
|
||||
- img [ref=e214]
|
||||
- generic [ref=e216]: Governance inbox
|
||||
- listitem [ref=e217]:
|
||||
- link "Decision register" [ref=e218] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=51
|
||||
- img [ref=e219]
|
||||
- generic [ref=e221]: Decision register
|
||||
- listitem [ref=e222]:
|
||||
- link "Operations" [ref=e223] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=51
|
||||
- img [ref=e224]
|
||||
- generic [ref=e226]: Operations
|
||||
- listitem [ref=e227]:
|
||||
- link "Alerts" [ref=e228] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=51
|
||||
- img [ref=e229]
|
||||
- generic [ref=e231]: Alerts
|
||||
- listitem [ref=e232]:
|
||||
- link "Evidence" [ref=e233] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=51
|
||||
- img [ref=e234]
|
||||
- generic [ref=e236]: Evidence
|
||||
- listitem [ref=e237]:
|
||||
- link "Audit Log" [ref=e238] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=51
|
||||
- img [ref=e239]
|
||||
- generic [ref=e241]: Audit Log
|
||||
- listitem [ref=e242]:
|
||||
- link "Customer reviews" [ref=e243] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=51
|
||||
- img [ref=e244]
|
||||
- generic [ref=e246]: Customer reviews
|
||||
- listitem [ref=e247]:
|
||||
- generic [ref=e248] [cursor=pointer]:
|
||||
- generic [ref=e249]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e250]:
|
||||
- img [ref=e251]
|
||||
- list [ref=e253]:
|
||||
- listitem [ref=e254]:
|
||||
- link "Manage workspaces" [ref=e255] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e256]
|
||||
- generic [ref=e258]: Manage workspaces
|
||||
- listitem [ref=e259]:
|
||||
- link "Integrations" [ref=e260] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=51
|
||||
- img [ref=e261]
|
||||
- generic [ref=e263]: Integrations
|
||||
- listitem [ref=e264]:
|
||||
- link "Settings" [ref=e265] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e266]
|
||||
- generic [ref=e269]: Settings
|
||||
- main [ref=e271]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e275]:
|
||||
- heading "Spec 352 Audit Provider Blocker" [level=1] [ref=e276]
|
||||
- paragraph [ref=e277]: Required permissions
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- heading "Summary" [level=2] [ref=e284]
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]:
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]:
|
||||
- img [ref=e291]
|
||||
- generic [ref=e294]: Blocked
|
||||
- generic [ref=e295]: Stored data · refreshed 14 hours ago
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: Missing (app)
|
||||
- generic [ref=e299]: "1"
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]: Missing (delegated)
|
||||
- generic [ref=e302]: "0"
|
||||
- generic [ref=e303]:
|
||||
- generic [ref=e304]: Present
|
||||
- generic [ref=e305]: "0"
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]: Errors
|
||||
- generic [ref=e308]: "0"
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e311]:
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e315]: Blocked
|
||||
- heading "Required permissions missing" [level=2] [ref=e316]
|
||||
- generic [ref=e317]:
|
||||
- generic [ref=e318]: Recommended next action
|
||||
- link "Open admin consent" [ref=e319] [cursor=pointer]:
|
||||
- /url: https://login.microsoftonline.com/spec-352-audit-provider-blocker/v2.0/adminconsent?client_id=2efe43af-e9aa-37e7-9a65-b8cd5a65affb&redirect_uri=http%3A%2F%2Flocalhost%2Fadmin%2Fconsent%2Fcallback&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&state=tenantpilot%7C51
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]: Secondary
|
||||
- generic [ref=e322]:
|
||||
- link "Open provider connection" [ref=e323] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- link "Open environment dashboard" [ref=e324] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e325]:
|
||||
- generic [ref=e326]: Reason
|
||||
- paragraph [ref=e327]: Required application permissions are missing.
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e329]: Impact
|
||||
- paragraph [ref=e330]: TenantPilot cannot refresh evidence, permission posture, inventory, or review outputs reliably until the missing application permissions are granted.
|
||||
- group [ref=e331]:
|
||||
- generic "Details" [ref=e332] [cursor=pointer]
|
||||
- generic [ref=e333]:
|
||||
- generic [ref=e334]:
|
||||
- generic [ref=e335]:
|
||||
- generic [ref=e336]: Provider capabilities
|
||||
- generic [ref=e337]: Capability-first view of the provider prerequisites used by operation start gates.
|
||||
- generic [ref=e338]:
|
||||
- img [ref=e339]
|
||||
- generic [ref=e342]: "Provider connection check: Missing"
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e345]:
|
||||
- generic [ref=e346]:
|
||||
- generic [ref=e347]: Provider connection check
|
||||
- generic [ref=e348]: Provider connection check capability is missing required provider permissions.
|
||||
- generic [ref=e349]:
|
||||
- img [ref=e350]
|
||||
- generic [ref=e353]: Missing
|
||||
- generic [ref=e354]: 1 missing, 0 error(s)
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e356]:
|
||||
- generic [ref=e357]:
|
||||
- generic [ref=e358]: Inventory read
|
||||
- generic [ref=e359]: Inventory read capability is missing required provider permissions.
|
||||
- generic [ref=e360]:
|
||||
- img [ref=e361]
|
||||
- generic [ref=e364]: Missing
|
||||
- generic [ref=e365]: 1 missing, 0 error(s)
|
||||
- generic [ref=e366]:
|
||||
- generic [ref=e367]:
|
||||
- generic [ref=e368]:
|
||||
- generic [ref=e369]: Configuration read
|
||||
- generic [ref=e370]: Configuration read capability is missing required provider permissions.
|
||||
- generic [ref=e371]:
|
||||
- img [ref=e372]
|
||||
- generic [ref=e375]: Missing
|
||||
- generic [ref=e376]: 1 missing, 0 error(s)
|
||||
- generic [ref=e377]:
|
||||
- generic [ref=e378]:
|
||||
- generic [ref=e379]:
|
||||
- generic [ref=e380]: Restore execute
|
||||
- generic [ref=e381]: Restore execute capability is missing required provider permissions.
|
||||
- generic [ref=e382]:
|
||||
- img [ref=e383]
|
||||
- generic [ref=e386]: Missing
|
||||
- generic [ref=e387]: 1 missing, 0 error(s)
|
||||
- generic [ref=e388]:
|
||||
- generic [ref=e389]:
|
||||
- generic [ref=e390]:
|
||||
- generic [ref=e391]: Directory groups read
|
||||
- generic [ref=e392]: Directory groups read capability is supported by stored permission evidence.
|
||||
- generic [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- generic [ref=e397]: Supported
|
||||
- generic [ref=e398]: 0 missing, 0 error(s)
|
||||
- generic [ref=e399]:
|
||||
- generic [ref=e400]:
|
||||
- generic [ref=e401]:
|
||||
- generic [ref=e402]: Directory role definitions read
|
||||
- generic [ref=e403]: Directory role definitions read capability is missing required provider permissions.
|
||||
- generic [ref=e404]:
|
||||
- img [ref=e405]
|
||||
- generic [ref=e408]: Missing
|
||||
- generic [ref=e409]: 1 missing, 0 error(s)
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e411]: Permission handoff
|
||||
- generic [ref=e412]:
|
||||
- generic [ref=e413]: Who can fix this? Global Administrator / Privileged Role Administrator.
|
||||
- generic [ref=e414]:
|
||||
- text: "Primary next step:"
|
||||
- link "Open admin consent" [ref=e415] [cursor=pointer]:
|
||||
- /url: https://login.microsoftonline.com/spec-352-audit-provider-blocker/v2.0/adminconsent?client_id=2efe43af-e9aa-37e7-9a65-b8cd5a65affb&redirect_uri=http%3A%2F%2Flocalhost%2Fadmin%2Fconsent%2Fcallback&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&state=tenantpilot%7C51
|
||||
- generic [ref=e416]:
|
||||
- text: "After granting consent:"
|
||||
- button "Run provider verification" [ref=e417] [cursor=pointer]
|
||||
- generic [ref=e418]:
|
||||
- button "Copy missing application permissions" [ref=e419] [cursor=pointer]
|
||||
- button "Copy missing delegated permissions" [disabled]
|
||||
- generic [ref=e420]:
|
||||
- generic [ref=e422]:
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: backup
|
||||
- generic [ref=e425]: 1 missing
|
||||
- generic [ref=e428]: Blocked
|
||||
- generic [ref=e430]:
|
||||
- generic [ref=e431]:
|
||||
- generic [ref=e432]: drift
|
||||
- generic [ref=e433]: 1 missing
|
||||
- generic [ref=e436]: Blocked
|
||||
- generic [ref=e438]:
|
||||
- generic [ref=e439]:
|
||||
- generic [ref=e440]: policy-sync
|
||||
- generic [ref=e441]: 1 missing
|
||||
- generic [ref=e444]: Blocked
|
||||
- generic [ref=e446]:
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]: restore
|
||||
- generic [ref=e449]: 1 missing
|
||||
- generic [ref=e452]: Blocked
|
||||
- generic [ref=e454]:
|
||||
- generic [ref=e455]:
|
||||
- generic [ref=e456]: settings-normalization
|
||||
- generic [ref=e457]: 1 missing
|
||||
- generic [ref=e460]: Blocked
|
||||
- generic [ref=e461]:
|
||||
- heading "Issues" [level=2] [ref=e464]
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e472]: Blocker
|
||||
- generic [ref=e473]: Missing application permissions
|
||||
- generic [ref=e474]: 1 required application permission(s) are missing.
|
||||
- generic [ref=e475]:
|
||||
- link "Open admin consent" [ref=e476] [cursor=pointer]:
|
||||
- /url: https://login.microsoftonline.com/spec-352-audit-provider-blocker/v2.0/adminconsent?client_id=2efe43af-e9aa-37e7-9a65-b8cd5a65affb&redirect_uri=http%3A%2F%2Flocalhost%2Fadmin%2Fconsent%2Fcallback&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&state=tenantpilot%7C51
|
||||
- link "Manage provider connection" [ref=e477] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=51
|
||||
- link "Open environment dashboard" [ref=e478] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e479]:
|
||||
- heading "Passed" [level=2] [ref=e482]
|
||||
- generic [ref=e485]:
|
||||
- generic [ref=e486]: 0 permission(s) currently pass.
|
||||
- generic [ref=e487]: Out of 1 required permissions, 0 are currently granted.
|
||||
- generic [ref=e488]:
|
||||
- heading "Technical details" [level=2] [ref=e491]
|
||||
- group [ref=e494]:
|
||||
- generic "Expand technical details" [ref=e495] [cursor=pointer]
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
517
.playwright-mcp/page-2026-06-05T02-45-32-932Z.yml
Normal file
517
.playwright-mcp/page-2026-06-05T02-45-32-932Z.yml
Normal file
@ -0,0 +1,517 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 352 Audit Review Output
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- generic [ref=e39]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "6"
|
||||
- button "User menu" [ref=e42] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- complementary [ref=e45]:
|
||||
- navigation [ref=e48]:
|
||||
- 'link "Environment: Spec 352 Audit Review Output" [ref=e49] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output
|
||||
- img [ref=e51]
|
||||
- generic [ref=e53]:
|
||||
- generic [ref=e54]: Environment
|
||||
- generic "Spec 352 Audit Review Output" [ref=e55]
|
||||
- generic [ref=e56]: "Workspace: Spec 352 Guidance Browser Audit"
|
||||
- img [ref=e57]
|
||||
- list [ref=e59]:
|
||||
- listitem [ref=e60]:
|
||||
- list [ref=e61]:
|
||||
- listitem [ref=e62]:
|
||||
- link "Overview" [ref=e63] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output
|
||||
- img [ref=e64]
|
||||
- generic [ref=e66]: Overview
|
||||
- listitem [ref=e67]:
|
||||
- generic [ref=e68] [cursor=pointer]:
|
||||
- generic [ref=e69]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e70]:
|
||||
- img [ref=e71]
|
||||
- list [ref=e73]:
|
||||
- listitem [ref=e74]:
|
||||
- link "Items" [ref=e75] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/inventory
|
||||
- img [ref=e76]
|
||||
- generic [ref=e78]: Items
|
||||
- listitem [ref=e79]:
|
||||
- link "Policies" [ref=e80] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/policies
|
||||
- img [ref=e81]
|
||||
- generic [ref=e83]: Policies
|
||||
- listitem [ref=e84]:
|
||||
- link "Policy Versions" [ref=e85] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/policy-versions
|
||||
- img [ref=e86]
|
||||
- generic [ref=e88]: Policy Versions
|
||||
- listitem [ref=e89]:
|
||||
- link "Coverage" [ref=e90] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/inventory/inventory-coverage
|
||||
- img [ref=e91]
|
||||
- generic [ref=e93]: Coverage
|
||||
- listitem [ref=e94]:
|
||||
- generic [ref=e95] [cursor=pointer]:
|
||||
- generic [ref=e96]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e97]:
|
||||
- img [ref=e98]
|
||||
- list [ref=e100]:
|
||||
- listitem [ref=e101]:
|
||||
- link "Reviews" [ref=e102] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/environment-reviews
|
||||
- img [ref=e103]
|
||||
- generic [ref=e105]: Reviews
|
||||
- listitem [ref=e106]:
|
||||
- link "Stored reports" [ref=e107] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/stored-reports
|
||||
- img [ref=e108]
|
||||
- generic [ref=e110]: Stored reports
|
||||
- listitem [ref=e111]:
|
||||
- link "Review Packs" [ref=e112] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/review-packs
|
||||
- img [ref=e113]
|
||||
- generic [ref=e115]: Review Packs
|
||||
- listitem [ref=e116]:
|
||||
- generic [ref=e117] [cursor=pointer]:
|
||||
- generic [ref=e118]: Governance
|
||||
- button "Governance" [expanded] [ref=e119]:
|
||||
- img [ref=e120]
|
||||
- list [ref=e122]:
|
||||
- listitem [ref=e123]:
|
||||
- link "Findings" [ref=e124] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/findings
|
||||
- img [ref=e125]
|
||||
- generic [ref=e127]: Findings
|
||||
- listitem [ref=e128]:
|
||||
- link "Baselines" [ref=e129] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]: Baselines
|
||||
- listitem [ref=e133]:
|
||||
- link "Baseline Snapshots" [ref=e134] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e135]
|
||||
- generic [ref=e138]: Baseline Snapshots
|
||||
- listitem [ref=e139]:
|
||||
- link "Baseline Compare" [ref=e140] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output/baseline-compare
|
||||
- img [ref=e141]
|
||||
- generic [ref=e143]: Baseline Compare
|
||||
- listitem [ref=e144]:
|
||||
- link "Evidence" [ref=e145] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/evidence
|
||||
- img [ref=e146]
|
||||
- generic [ref=e148]: Evidence
|
||||
- listitem [ref=e149]:
|
||||
- link "Risk exceptions" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/finding-exceptions
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Risk exceptions
|
||||
- listitem [ref=e154]:
|
||||
- generic [ref=e155] [cursor=pointer]:
|
||||
- generic [ref=e156]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e157]:
|
||||
- img [ref=e158]
|
||||
- list [ref=e160]:
|
||||
- listitem [ref=e161]:
|
||||
- link "Backup Schedules" [ref=e162] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/backup-schedules
|
||||
- img [ref=e163]
|
||||
- generic [ref=e165]: Backup Schedules
|
||||
- listitem [ref=e166]:
|
||||
- link "Backup Sets" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/backup-sets
|
||||
- img [ref=e168]
|
||||
- generic [ref=e170]: Backup Sets
|
||||
- listitem [ref=e171]:
|
||||
- link "Restore Runs" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/restore-runs
|
||||
- img [ref=e173]
|
||||
- generic [ref=e175]: Restore Runs
|
||||
- listitem [ref=e176]:
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]: Directory
|
||||
- button "Directory" [expanded] [ref=e179]:
|
||||
- img [ref=e180]
|
||||
- list [ref=e182]:
|
||||
- listitem [ref=e183]:
|
||||
- link "Groups" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/entra-groups
|
||||
- img [ref=e185]
|
||||
- generic [ref=e187]: Groups
|
||||
- listitem [ref=e188]:
|
||||
- generic [ref=e189] [cursor=pointer]:
|
||||
- generic [ref=e190]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e191]:
|
||||
- img [ref=e192]
|
||||
- list [ref=e194]:
|
||||
- listitem [ref=e195]:
|
||||
- link "Finding exceptions" [ref=e196] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=52
|
||||
- img [ref=e197]
|
||||
- generic [ref=e199]: Finding exceptions
|
||||
- listitem [ref=e200]:
|
||||
- link "Reviews" [ref=e201] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=52
|
||||
- img [ref=e202]
|
||||
- generic [ref=e204]: Reviews
|
||||
- listitem [ref=e205]:
|
||||
- link "Governance inbox" [ref=e206] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=52
|
||||
- img [ref=e207]
|
||||
- generic [ref=e209]: Governance inbox
|
||||
- listitem [ref=e210]:
|
||||
- link "Decision register" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=52
|
||||
- img [ref=e212]
|
||||
- generic [ref=e214]: Decision register
|
||||
- listitem [ref=e215]:
|
||||
- link "Operations" [ref=e216] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=52
|
||||
- img [ref=e217]
|
||||
- generic [ref=e219]: Operations
|
||||
- listitem [ref=e220]:
|
||||
- link "Alerts" [ref=e221] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=52
|
||||
- img [ref=e222]
|
||||
- generic [ref=e224]: Alerts
|
||||
- listitem [ref=e225]:
|
||||
- link "Evidence" [ref=e226] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=52
|
||||
- img [ref=e227]
|
||||
- generic [ref=e229]: Evidence
|
||||
- listitem [ref=e230]:
|
||||
- link "Audit Log" [ref=e231] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=52
|
||||
- img [ref=e232]
|
||||
- generic [ref=e234]: Audit Log
|
||||
- listitem [ref=e235]:
|
||||
- link "Customer reviews" [ref=e236] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=52
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]: Customer reviews
|
||||
- listitem [ref=e240]:
|
||||
- generic [ref=e241] [cursor=pointer]:
|
||||
- generic [ref=e242]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e243]:
|
||||
- img [ref=e244]
|
||||
- list [ref=e246]:
|
||||
- listitem [ref=e247]:
|
||||
- link "Manage workspaces" [ref=e248] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e249]
|
||||
- generic [ref=e251]: Manage workspaces
|
||||
- listitem [ref=e252]:
|
||||
- link "Integrations" [ref=e253] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=52
|
||||
- img [ref=e254]
|
||||
- generic [ref=e256]: Integrations
|
||||
- listitem [ref=e257]:
|
||||
- link "Settings" [ref=e258] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e259]
|
||||
- generic [ref=e262]: Settings
|
||||
- main [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e270]:
|
||||
- generic [ref=e271]:
|
||||
- img [ref=e273]
|
||||
- generic [ref=e275]:
|
||||
- paragraph [ref=e276]: Operation updates
|
||||
- paragraph [ref=e277]: Recent operation updates that may need review.
|
||||
- generic [ref=e278]:
|
||||
- link "View operation" [ref=e279] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations/67
|
||||
- link "Show all operations" [ref=e280] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=52
|
||||
- button "Acknowledge" [ref=e281] [cursor=pointer]
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- heading "Review composition" [level=4] [ref=e287]
|
||||
- generic [ref=e288]: Execution failed
|
||||
- generic [ref=e289]: Automatically reconciled
|
||||
- paragraph [ref=e290]: Completed · 14 hours ago
|
||||
- paragraph [ref=e291]: "Next step: Resolve the review blockers before publication."
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]:
|
||||
- heading "Spec 352 Audit Review Output Blocked" [level=1] [ref=e295]:
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]: Spec 352 Audit Review Output
|
||||
- generic [ref=e298]: Blocked
|
||||
- paragraph [ref=e299]: Environment governance overview
|
||||
- button "More" [ref=e304] [cursor=pointer]:
|
||||
- img [ref=e305]
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e314]:
|
||||
- generic [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- 'generic "Workspace: Spec 352 Guidance Browser Audit" [ref=e318]'
|
||||
- generic [ref=e319]:
|
||||
- img [ref=e320]
|
||||
- generic [ref=e325]: Microsoft environment
|
||||
- generic [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- generic [ref=e329]: "Latest activity: 14 hours ago"
|
||||
- generic [ref=e334]:
|
||||
- generic [ref=e342]:
|
||||
- link "High severity findings 0 No active pressure" [ref=e345] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/findings?tab=needs_action&high_severity=1
|
||||
- generic [ref=e346]:
|
||||
- generic [ref=e348]: High severity findings
|
||||
- generic [ref=e349]: "0"
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]: No active pressure
|
||||
- img [ref=e352]
|
||||
- link "Overdue findings 0 None overdue" [ref=e356] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/findings?tab=overdue
|
||||
- generic [ref=e357]:
|
||||
- generic [ref=e359]: Overdue findings
|
||||
- generic [ref=e360]: "0"
|
||||
- generic [ref=e361]:
|
||||
- generic [ref=e362]: None overdue
|
||||
- img [ref=e363]
|
||||
- link "Missing permissions 0 Permission set complete" [ref=e367] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output/required-permissions
|
||||
- generic [ref=e368]:
|
||||
- generic [ref=e370]: Missing permissions
|
||||
- generic [ref=e371]: "0"
|
||||
- generic [ref=e372]:
|
||||
- generic [ref=e373]: Permission set complete
|
||||
- img [ref=e374]
|
||||
- link "Operations needing attention 1 1 operation needs follow-up" [ref=e378] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=52&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- generic [ref=e379]:
|
||||
- generic [ref=e381]: Operations needing attention
|
||||
- generic [ref=e382]: "1"
|
||||
- generic [ref=e383]:
|
||||
- generic [ref=e384]: 1 operation needs follow-up
|
||||
- img [ref=e385]
|
||||
- generic [ref=e389]:
|
||||
- generic [ref=e390]:
|
||||
- generic [ref=e394]:
|
||||
- generic [ref=e395]:
|
||||
- generic [ref=e396]:
|
||||
- heading "Is this environment ready, blocked, stale, or requiring review?" [level=2] [ref=e397]
|
||||
- generic [ref=e398]: Blocked
|
||||
- paragraph [ref=e400]: Draft review exists
|
||||
- generic [ref=e401]:
|
||||
- generic [ref=e402]:
|
||||
- term [ref=e403]: Status
|
||||
- definition [ref=e404]: Blocked
|
||||
- generic [ref=e405]:
|
||||
- term [ref=e406]: Reason
|
||||
- definition [ref=e407]: A successor draft review already exists for this released output and is ready for publication. Open the draft review to publish the next governed outcome.
|
||||
- generic [ref=e408]:
|
||||
- term [ref=e409]: Why this matters
|
||||
- definition [ref=e410]: The next review cycle is already in progress. Open the draft review and publish it when you are ready to replace the prior released review.
|
||||
- generic [ref=e411]:
|
||||
- generic [ref=e412]:
|
||||
- generic [ref=e413]: Recommended next action
|
||||
- generic [ref=e414]: Open draft review
|
||||
- link "Open draft review" [ref=e415] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/environment-reviews/31
|
||||
- generic [ref=e417]:
|
||||
- link "Inspect review blockers" [ref=e418] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=52
|
||||
- link "Open evidence basis" [ref=e419] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/evidence/22
|
||||
- link "Open operation proof" [ref=e420] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations/67
|
||||
- generic [ref=e421]:
|
||||
- heading "Readiness dimensions" [level=2] [ref=e424]
|
||||
- generic [ref=e427]:
|
||||
- generic [ref=e429]:
|
||||
- generic [ref=e431]: Baseline compare
|
||||
- generic [ref=e433]: Baseline missing
|
||||
- paragraph [ref=e434]: This environment has no baseline assignment. A workspace manager can assign a baseline profile to this environment.
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e438]: Evidence coverage
|
||||
- generic [ref=e440]: Not collected yet
|
||||
- paragraph [ref=e441]: Latest evidence snapshot generated 14 hours ago.
|
||||
- generic [ref=e443]:
|
||||
- generic [ref=e445]: Review freshness
|
||||
- generic [ref=e447]: Draft
|
||||
- paragraph [ref=e448]: Latest review updated .
|
||||
- generic [ref=e450]:
|
||||
- generic [ref=e452]: Provider permissions
|
||||
- generic [ref=e454]: Ready
|
||||
- paragraph [ref=e455]: Required permissions currently look complete.
|
||||
- generic [ref=e457]:
|
||||
- generic [ref=e459]: Backup posture
|
||||
- generic [ref=e461]: Absent
|
||||
- paragraph [ref=e462]: Create or finish a backup set before relying on restore input.
|
||||
- generic [ref=e464]:
|
||||
- generic [ref=e466]: Current review
|
||||
- generic [ref=e468]: Draft
|
||||
- paragraph [ref=e469]: Latest review updated .
|
||||
- generic [ref=e471]:
|
||||
- generic [ref=e473]: Risk exceptions
|
||||
- generic [ref=e475]: Calm
|
||||
- paragraph [ref=e476]: No risk exceptions currently need attention.
|
||||
- generic [ref=e478]:
|
||||
- generic [ref=e480]: Provider Health
|
||||
- generic [ref=e482]: Healthy
|
||||
- paragraph [ref=e483]: Required permissions currently look complete.
|
||||
- generic [ref=e485]:
|
||||
- generic [ref=e487]: Customer-safe output
|
||||
- generic [ref=e489]: Ready
|
||||
- paragraph [ref=e490]: Latest review pack updated 15 hours ago.
|
||||
- generic [ref=e492]:
|
||||
- generic [ref=e494]: Operation proof
|
||||
- generic [ref=e496]: "1"
|
||||
- paragraph [ref=e497]: Operations requiring attention must be reviewed before the environment is treated as calm.
|
||||
- generic [ref=e498]:
|
||||
- generic [ref=e500]:
|
||||
- heading "Additional follow-ups" [level=2] [ref=e501]
|
||||
- paragraph [ref=e502]: These follow-ups stay secondary to the dominant guidance above.
|
||||
- generic [ref=e505]:
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e508]:
|
||||
- img [ref=e509]
|
||||
- heading "Review operations requiring attention" [level=3] [ref=e511]
|
||||
- paragraph [ref=e512]: "Reason: One or more operations finished with an outcome that needs follow-up."
|
||||
- link "Review operations" [ref=e513] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=52&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]:
|
||||
- generic [ref=e516]:
|
||||
- img [ref=e517]
|
||||
- heading "Review recovery posture" [level=3] [ref=e519]
|
||||
- paragraph [ref=e520]: "Reason: Create or finish a backup set before relying on restore input."
|
||||
- link "Open backup posture" [ref=e521] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/backup-sets
|
||||
- generic [ref=e522]:
|
||||
- generic [ref=e524]:
|
||||
- heading "Supporting signals" [level=2] [ref=e525]
|
||||
- paragraph [ref=e526]: Additional readiness signals used to explain the current recommendation.
|
||||
- table [ref=e531]:
|
||||
- rowgroup [ref=e532]:
|
||||
- row "Signal State Action" [ref=e533]:
|
||||
- columnheader "Signal" [ref=e534]
|
||||
- columnheader "State" [ref=e535]
|
||||
- columnheader "Action" [ref=e536]
|
||||
- rowgroup [ref=e537]:
|
||||
- row "Baseline assignment Missing Open Baseline Compare" [ref=e538]:
|
||||
- rowheader "Baseline assignment" [ref=e539]
|
||||
- cell "Missing" [ref=e540]:
|
||||
- generic [ref=e541]: Missing
|
||||
- cell "Open Baseline Compare" [ref=e542]:
|
||||
- link "Open Baseline Compare" [ref=e543] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output/baseline-compare
|
||||
- row "Evidence snapshot Available Open evidence" [ref=e544]:
|
||||
- rowheader "Evidence snapshot" [ref=e545]
|
||||
- cell "Available" [ref=e546]:
|
||||
- generic [ref=e547]: Available
|
||||
- cell "Open evidence" [ref=e548]:
|
||||
- link "Open evidence" [ref=e549] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/evidence/22
|
||||
- row "Review freshness Ready Open reviews" [ref=e550]:
|
||||
- rowheader "Review freshness" [ref=e551]
|
||||
- cell "Ready" [ref=e552]:
|
||||
- generic [ref=e553]: Ready
|
||||
- cell "Open reviews" [ref=e554]:
|
||||
- link "Open reviews" [ref=e555] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/environment-reviews/31
|
||||
- row "Provider permissions Ready Open required permissions" [ref=e556]:
|
||||
- rowheader "Provider permissions" [ref=e557]
|
||||
- cell "Ready" [ref=e558]:
|
||||
- generic [ref=e559]: Ready
|
||||
- cell "Open required permissions" [ref=e560]:
|
||||
- link "Open required permissions" [ref=e561] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output/required-permissions
|
||||
- row "Backup posture Absent Open backup posture" [ref=e562]:
|
||||
- rowheader "Backup posture" [ref=e563]
|
||||
- cell "Absent" [ref=e564]:
|
||||
- generic [ref=e565]: Absent
|
||||
- cell "Open backup posture" [ref=e566]:
|
||||
- link "Open backup posture" [ref=e567] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/backup-sets
|
||||
- row "Operations follow-up 1 requires review Open operations hub" [ref=e568]:
|
||||
- rowheader "Operations follow-up" [ref=e569]
|
||||
- cell "1 requires review" [ref=e570]:
|
||||
- generic [ref=e571]: 1 requires review
|
||||
- cell "Open operations hub" [ref=e572]:
|
||||
- link "Open operations hub" [ref=e573] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=52&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- group [ref=e577]:
|
||||
- generic "Diagnostics - Collapsed" [ref=e578] [cursor=pointer]
|
||||
- generic [ref=e580]:
|
||||
- heading "Readiness proof" [level=2] [ref=e583]
|
||||
- generic [ref=e586]:
|
||||
- generic [ref=e587]:
|
||||
- generic [ref=e588]:
|
||||
- generic [ref=e590]: Baseline compare
|
||||
- generic [ref=e592]: Baseline missing
|
||||
- paragraph [ref=e593]: This environment has no baseline assignment. A workspace manager can assign a baseline profile to this environment.
|
||||
- link "Open Baseline Compare" [ref=e595] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output/baseline-compare
|
||||
- generic [ref=e596]:
|
||||
- generic [ref=e597]:
|
||||
- generic [ref=e599]: Evidence coverage
|
||||
- generic [ref=e601]: Not collected yet
|
||||
- paragraph [ref=e602]: Latest evidence snapshot generated 14 hours ago.
|
||||
- link "Open evidence" [ref=e604] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/evidence/22
|
||||
- generic [ref=e605]:
|
||||
- generic [ref=e606]:
|
||||
- generic [ref=e608]: Review freshness
|
||||
- generic [ref=e610]: Draft
|
||||
- paragraph [ref=e611]: Latest review updated .
|
||||
- link "Continue review" [ref=e613] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/environment-reviews/31
|
||||
- generic [ref=e614]:
|
||||
- generic [ref=e615]:
|
||||
- generic [ref=e617]: Provider permissions
|
||||
- generic [ref=e619]: Ready
|
||||
- paragraph [ref=e620]: Required permissions currently look complete.
|
||||
- link "Open required permissions" [ref=e622] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-review-output/required-permissions
|
||||
- generic [ref=e623]:
|
||||
- generic [ref=e624]:
|
||||
- generic [ref=e626]: Backup posture
|
||||
- generic [ref=e628]: Absent
|
||||
- paragraph [ref=e629]: Create or finish a backup set before relying on restore input.
|
||||
- link "Open backup posture" [ref=e631] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/backup-sets
|
||||
- generic [ref=e632]:
|
||||
- generic [ref=e633]:
|
||||
- generic [ref=e635]: Review pack
|
||||
- generic [ref=e637]: Ready
|
||||
- paragraph [ref=e638]: Latest review pack updated 15 hours ago.
|
||||
- link "Open review pack" [ref=e640] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/review-packs/20
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]:
|
||||
- generic [ref=e644]: Operation proof
|
||||
- generic [ref=e646]: "1"
|
||||
- paragraph [ref=e647]: Latest operation proof is available through the operations detail path.
|
||||
- link "Open operations hub" [ref=e649] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=52&activeTab=terminal_follow_up&problemClass=terminal_follow_up
|
||||
- generic:
|
||||
- status
|
||||
446
.playwright-mcp/page-2026-06-05T02-46-18-850Z.yml
Normal file
446
.playwright-mcp/page-2026-06-05T02-46-18-850Z.yml
Normal file
@ -0,0 +1,446 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "6"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: Spec 352 Guidance Browser Audit" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "Spec 352 Guidance Browser Audit" [ref=e54]
|
||||
- generic [ref=e55]: 3 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Customer Review Workspace" [level=1] [ref=e161]
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]:
|
||||
- img [ref=e165]
|
||||
- text: Clear filters
|
||||
- generic [ref=e169]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e172]:
|
||||
- heading "Customer-safe review packages" [level=2] [ref=e173]
|
||||
- paragraph [ref=e174]: Review released governance packages, evidence readiness, accepted risks, and handoff status across entitled environments.
|
||||
- paragraph [ref=e175]: Service delivery summary only. Does not replace formal audit opinion, certification, or legal attestation.
|
||||
- generic [ref=e177]:
|
||||
- generic [ref=e178]: "Environment filter:"
|
||||
- generic [ref=e179]: Spec 352 Audit Review Output
|
||||
- link "Clear filter" [ref=e180] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- generic [ref=e181]:
|
||||
- main [ref=e182]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e185]:
|
||||
- generic [ref=e186]:
|
||||
- generic [ref=e189]: Output not customer-ready
|
||||
- generic [ref=e192]: Requires review
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e194]: What is the current review pack output state?
|
||||
- heading "Draft review exists" [level=2] [ref=e195]
|
||||
- paragraph [ref=e196]: A successor draft review already exists for this released output and is ready for publication. Open the draft review to publish the next governed outcome.
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]: Impact
|
||||
- paragraph [ref=e200]: The next review cycle is already in progress. Open the draft review and publish it when you are ready to replace the prior released review.
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]: Latest released review
|
||||
- generic [ref=e203]: Spec 352 Audit Review Output
|
||||
- generic [ref=e204]: Published Jun 4, 2026 10:50
|
||||
- generic [ref=e205]:
|
||||
- link "Open draft review" [ref=e207] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/environment-reviews/31?source_surface=customer_review_workspace&tenant_filter_id=52
|
||||
- img [ref=e208]
|
||||
- text: Open draft review
|
||||
- generic [ref=e210]:
|
||||
- generic [ref=e211]: Supporting actions
|
||||
- generic [ref=e212]:
|
||||
- link "Inspect review blockers" [ref=e213] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/environment-reviews/30?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=52
|
||||
- img [ref=e214]
|
||||
- text: Inspect review blockers
|
||||
- link "Download review pack with limitations" [ref=e216] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/review-packs/20/download?expires=1780631178&interpretation_version=compliance_evidence_mapping.v1&review_id=30&source_surface=customer_review_workspace&tenant_filter_id=52&signature=021216221053583c36e0451992d3cd41f4f13cf5cc584a38cebd24489a471532
|
||||
- img [ref=e217]
|
||||
- text: Download review pack with limitations
|
||||
- link "Open evidence basis" [ref=e219] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/evidence/22
|
||||
- img [ref=e220]
|
||||
- text: Open evidence basis
|
||||
- link "Open operation proof" [ref=e222] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations/67
|
||||
- img [ref=e223]
|
||||
- text: Open operation proof
|
||||
- paragraph [ref=e225]: Open the existing draft review to continue the next review cycle. Refresh the draft if blockers remain, or publish it when the output is ready.
|
||||
- group [ref=e226]:
|
||||
- generic "Output limitations 3 limitations require review" [ref=e227] [cursor=pointer]:
|
||||
- generic [ref=e228]: Output limitations
|
||||
- generic [ref=e229]: 3 limitations require review
|
||||
- group [ref=e230]:
|
||||
- generic "Technical details" [ref=e231] [cursor=pointer]
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]:
|
||||
- heading "Review acknowledgement" [level=2] [ref=e236]
|
||||
- paragraph [ref=e237]: Acknowledgement is tracked only for published review packages.
|
||||
- generic [ref=e240]: Acknowledgement unavailable
|
||||
- generic [ref=e241]:
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Impact
|
||||
- paragraph [ref=e244]: Publish a review package before recording acknowledgement.
|
||||
- generic [ref=e245]:
|
||||
- generic [ref=e246]: Basis
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]: Review pack
|
||||
- generic [ref=e252]: Available
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]: Evidence
|
||||
- generic [ref=e257]: Available
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]: Next step
|
||||
- button "Review accepted risks" [disabled]
|
||||
- generic [ref=e261]:
|
||||
- generic [ref=e262]:
|
||||
- generic [ref=e263]:
|
||||
- heading "Findings needing attention" [level=2] [ref=e264]
|
||||
- paragraph [ref=e265]: No open findings require customer action.
|
||||
- generic [ref=e268]: No action needed
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e270]:
|
||||
- generic [ref=e271]: Total findings
|
||||
- generic [ref=e274]: "0"
|
||||
- generic [ref=e275]:
|
||||
- generic [ref=e276]: Open findings
|
||||
- generic [ref=e279]: "0"
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]: High impact
|
||||
- generic [ref=e284]: "0"
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]: Accepted risks
|
||||
- generic [ref=e289]: "0"
|
||||
- generic [ref=e290]:
|
||||
- generic [ref=e292]:
|
||||
- heading "Customer-safe follow-ups" [level=2] [ref=e294]
|
||||
- paragraph [ref=e296]: No customer-safe follow-ups are listed for this released review.
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- heading "Review package index" [level=2] [ref=e299]
|
||||
- paragraph [ref=e300]: Released reviews and customer-safe package entries available in this workspace.
|
||||
- generic [ref=e303]:
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]: Search
|
||||
- generic [ref=e309]:
|
||||
- img [ref=e311]
|
||||
- searchbox "Search" [ref=e314]
|
||||
- button "Filter" [ref=e317] [cursor=pointer]:
|
||||
- img [ref=e318]
|
||||
- generic [ref=e321]: "1"
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: Active filters
|
||||
- generic [ref=e326]:
|
||||
- generic [ref=e328]: "Environment: Spec 352 Audit Review Output"
|
||||
- button "Remove filter" [ref=e329] [cursor=pointer]:
|
||||
- img [ref=e330]
|
||||
- generic [ref=e332]: Remove filter
|
||||
- button [ref=e333] [cursor=pointer]:
|
||||
- img [ref=e334]
|
||||
- table [ref=e337]:
|
||||
- rowgroup [ref=e338]:
|
||||
- row "Environment Governance package Status Evidence Next step Open" [ref=e339]:
|
||||
- columnheader "Environment" [ref=e340]
|
||||
- columnheader "Governance package" [ref=e341]
|
||||
- columnheader "Status" [ref=e342]
|
||||
- columnheader "Evidence" [ref=e343]
|
||||
- columnheader "Next step" [ref=e344]
|
||||
- columnheader "Open" [ref=e345]
|
||||
- rowgroup [ref=e346]:
|
||||
- row "Spec 352 Audit Review Output Available Not ready Available Review control mapping Open review" [ref=e347]:
|
||||
- cell "Spec 352 Audit Review Output" [ref=e348]:
|
||||
- generic [ref=e350]: Spec 352 Audit Review Output
|
||||
- cell "Available" [ref=e351]:
|
||||
- generic [ref=e354]: Available
|
||||
- cell "Not ready" [ref=e355]:
|
||||
- generic [ref=e358]: Not ready
|
||||
- cell "Available" [ref=e359]:
|
||||
- generic [ref=e362]: Available
|
||||
- cell "Review control mapping" [ref=e363]:
|
||||
- generic [ref=e365]: Review control mapping
|
||||
- cell "Open review" [ref=e366]:
|
||||
- link "Open review" [ref=e367] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/environment-reviews/30?customer_workspace=1&source_surface=customer_review_workspace&tenant_filter_id=52
|
||||
- generic [ref=e368]: Open review
|
||||
- navigation "Pagination navigation" [ref=e369]:
|
||||
- generic [ref=e372]:
|
||||
- generic [ref=e374]: Per page
|
||||
- combobox "Per page" [ref=e376]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- group [ref=e377]:
|
||||
- generic "Supporting reference Review consumption flow Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above." [ref=e378] [cursor=pointer]:
|
||||
- generic [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- generic [ref=e381]: Supporting reference
|
||||
- heading "Review consumption flow" [level=2] [ref=e382]
|
||||
- paragraph [ref=e383]: Supporting reference for how the released review, evidence, findings, accepted risks, pack, and customer output line up after the decision above.
|
||||
- img [ref=e384]
|
||||
- complementary [ref=e386]:
|
||||
- generic [ref=e387]:
|
||||
- heading "Evidence path" [level=2] [ref=e388]
|
||||
- generic [ref=e389]:
|
||||
- generic [ref=e390]:
|
||||
- term [ref=e391]:
|
||||
- generic [ref=e392]: Evidence snapshot
|
||||
- generic [ref=e396]: Available
|
||||
- definition [ref=e397]: Generated Jun 4, 2026 11:46.
|
||||
- definition [ref=e398]:
|
||||
- link "View evidence snapshot" [ref=e399] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-review-output/evidence/22
|
||||
- generic [ref=e400]:
|
||||
- term [ref=e401]:
|
||||
- generic [ref=e402]: Review pack
|
||||
- generic [ref=e406]: Available
|
||||
- definition [ref=e407]: Current review pack is ready to download.
|
||||
- generic [ref=e408]:
|
||||
- term [ref=e409]:
|
||||
- generic [ref=e410]: Decision trail
|
||||
- generic [ref=e414]: Unavailable
|
||||
- definition [ref=e415]: Decision evidence is incomplete for this released review; no customer-aware decisions can be confirmed from the current evidence basis.
|
||||
- generic [ref=e416]:
|
||||
- term [ref=e417]:
|
||||
- generic [ref=e418]: Operation proof
|
||||
- generic [ref=e422]: Available
|
||||
- definition [ref=e423]: A related operation record exists for this review evidence path. Initiated by Spec 352 Requester.
|
||||
- definition [ref=e424]:
|
||||
- link "Open operation" [ref=e425] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations/67
|
||||
- generic [ref=e426]:
|
||||
- generic [ref=e427]:
|
||||
- heading "Review pack state" [level=2] [ref=e428]
|
||||
- generic [ref=e431]: Available
|
||||
- paragraph [ref=e432]: The review package exists, but evidence, section completeness, or publication limitations still need review.
|
||||
- generic [ref=e433]:
|
||||
- generic [ref=e434]:
|
||||
- generic [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- heading "Package exists" [level=3] [ref=e437]
|
||||
- paragraph [ref=e438]: A released review pack artifact exists for this review path.
|
||||
- generic [ref=e441]: Available
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]:
|
||||
- term [ref=e444]: Last generated
|
||||
- definition [ref=e445]:
|
||||
- generic [ref=e446]: Jun 4, 2026 11:40
|
||||
- generic [ref=e447]:
|
||||
- term [ref=e448]: Evidence source
|
||||
- definition [ref=e449]:
|
||||
- generic [ref=e450]: Jun 4, 2026 11:46
|
||||
- generic [ref=e451]:
|
||||
- term [ref=e452]: Operation proof
|
||||
- definition [ref=e453]:
|
||||
- generic [ref=e454]: No operation proof linked
|
||||
- generic [ref=e455]:
|
||||
- generic [ref=e456]:
|
||||
- generic [ref=e457]:
|
||||
- heading "Internal export" [level=3] [ref=e458]
|
||||
- paragraph [ref=e459]: An internal export can be opened or downloaded from the current review pack.
|
||||
- generic [ref=e462]: Export ready
|
||||
- generic [ref=e463]:
|
||||
- generic [ref=e464]:
|
||||
- term [ref=e465]: Export availability
|
||||
- definition [ref=e466]:
|
||||
- generic [ref=e467]: Export ready
|
||||
- generic [ref=e468]:
|
||||
- term [ref=e469]: Evidence basis
|
||||
- definition [ref=e470]:
|
||||
- generic [ref=e471]: Missing
|
||||
- generic [ref=e472]:
|
||||
- term [ref=e473]: Section completeness
|
||||
- definition [ref=e474]:
|
||||
- generic [ref=e475]: 2 of 7 required complete, 5 limited
|
||||
- generic [ref=e476]:
|
||||
- generic [ref=e477]:
|
||||
- generic [ref=e478]:
|
||||
- heading "Customer sharing" [level=3] [ref=e479]
|
||||
- paragraph [ref=e480]: Customer sharing still depends on the readiness blockers and limitations shown in the main decision state.
|
||||
- generic [ref=e483]: Requires review
|
||||
- generic [ref=e484]:
|
||||
- generic [ref=e485]:
|
||||
- term [ref=e486]: Sharing boundary
|
||||
- definition [ref=e487]:
|
||||
- generic [ref=e488]: Requires review
|
||||
- generic [ref=e489]:
|
||||
- term [ref=e490]: PII
|
||||
- definition [ref=e491]:
|
||||
- generic [ref=e492]: PII excluded
|
||||
- generic [ref=e493]:
|
||||
- term [ref=e494]: Protected values
|
||||
- definition [ref=e495]:
|
||||
- generic [ref=e496]: Protected values hidden
|
||||
- generic [ref=e497]:
|
||||
- term [ref=e498]: Disclosure
|
||||
- definition [ref=e499]:
|
||||
- generic [ref=e500]: Disclosure present
|
||||
- generic [ref=e501]:
|
||||
- generic [ref=e502]:
|
||||
- heading "Accepted risks" [level=2] [ref=e503]
|
||||
- generic [ref=e506]: No action needed
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]: Accepted risks
|
||||
- generic [ref=e512]: "0"
|
||||
- generic [ref=e513]:
|
||||
- generic [ref=e514]: Expiring soon
|
||||
- generic [ref=e517]: "0"
|
||||
- generic [ref=e518]:
|
||||
- generic [ref=e519]: Expired
|
||||
- generic [ref=e522]: "0"
|
||||
- generic [ref=e523]:
|
||||
- generic [ref=e524]: Pending approval
|
||||
- generic [ref=e527]: "0"
|
||||
- generic [ref=e528]:
|
||||
- generic [ref=e529]: Needs review
|
||||
- generic [ref=e532]: "0"
|
||||
- paragraph [ref=e533]: No accepted risks recorded.
|
||||
- generic [ref=e534]:
|
||||
- heading "Disclosure rule" [level=2] [ref=e535]
|
||||
- generic [ref=e536]:
|
||||
- generic [ref=e537]:
|
||||
- generic [ref=e538]: Decision
|
||||
- generic [ref=e541]: Visible
|
||||
- generic [ref=e542]:
|
||||
- generic [ref=e543]: Evidence
|
||||
- generic [ref=e546]: Visible
|
||||
- generic [ref=e547]:
|
||||
- generic [ref=e548]: Diagnostics
|
||||
- generic [ref=e551]: Collapsed
|
||||
- generic [ref=e552]:
|
||||
- generic [ref=e553]: Raw/support
|
||||
- generic [ref=e556]: Hidden
|
||||
- group [ref=e557]:
|
||||
- generic "Diagnostics" [ref=e558] [cursor=pointer]
|
||||
- generic:
|
||||
- status
|
||||
280
.playwright-mcp/page-2026-06-05T02-47-02-170Z.yml
Normal file
280
.playwright-mcp/page-2026-06-05T02-47-02-170Z.yml
Normal file
@ -0,0 +1,280 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "6"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: Spec 352 Guidance Browser Audit" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "Spec 352 Guidance Browser Audit" [ref=e54]
|
||||
- generic [ref=e55]: 3 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- generic [ref=e160]:
|
||||
- navigation [ref=e161]:
|
||||
- list [ref=e162]:
|
||||
- listitem [ref=e163]:
|
||||
- link "Provider Connections" [ref=e164] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- listitem [ref=e165]:
|
||||
- img [ref=e166]
|
||||
- generic [ref=e168]: List
|
||||
- heading "Provider Connections" [level=1] [ref=e169]
|
||||
- link "New connection" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/create?environment_id=51
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: "Environment filter:"
|
||||
- generic [ref=e180]: Spec 352 Audit Provider Blocker
|
||||
- link "Clear filter" [ref=e181] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e186]:
|
||||
- generic [ref=e187]:
|
||||
- generic [ref=e190]: Blocked
|
||||
- heading "Provider readiness blocked" [level=2] [ref=e191]
|
||||
- generic [ref=e192]:
|
||||
- generic [ref=e193]: Recommended next action
|
||||
- link "Open required permissions" [ref=e194] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker/required-permissions
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]: Secondary
|
||||
- generic [ref=e197]:
|
||||
- link "Open admin consent" [ref=e198] [cursor=pointer]:
|
||||
- /url: https://login.microsoftonline.com/spec-352-audit-provider-blocker/v2.0/adminconsent?client_id=2efe43af-e9aa-37e7-9a65-b8cd5a65affb&redirect_uri=http%3A%2F%2Flocalhost%2Fadmin%2Fconsent%2Fcallback&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&state=tenantpilot%7C51
|
||||
- link "Open provider connection" [ref=e199] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- link "Open environment dashboard" [ref=e200] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]: Reason
|
||||
- paragraph [ref=e203]: Required application permissions are missing.
|
||||
- generic [ref=e204]:
|
||||
- generic [ref=e205]: Impact
|
||||
- paragraph [ref=e206]: TenantPilot cannot refresh evidence, permission posture, inventory, or review outputs reliably until the missing application permissions are granted.
|
||||
- group [ref=e207]:
|
||||
- generic "Details" [ref=e208] [cursor=pointer]
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e216]:
|
||||
- generic [ref=e217]:
|
||||
- generic [ref=e218]: Search
|
||||
- generic [ref=e219]:
|
||||
- img [ref=e221]
|
||||
- searchbox "Search" [ref=e224]
|
||||
- button "Filter" [ref=e227] [cursor=pointer]:
|
||||
- img [ref=e228]
|
||||
- generic [ref=e231]: "1"
|
||||
- button "Column manager" [ref=e234] [cursor=pointer]:
|
||||
- img [ref=e235]
|
||||
- generic [ref=e237]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]: Active filters
|
||||
- generic [ref=e241]:
|
||||
- generic [ref=e243]: "Environment: Spec 352 Audit Provider Blocker (DEV)"
|
||||
- button "Remove filter" [ref=e244] [cursor=pointer]:
|
||||
- img [ref=e245]
|
||||
- generic [ref=e247]: Remove filter
|
||||
- button [ref=e248] [cursor=pointer]:
|
||||
- img [ref=e249]
|
||||
- table [ref=e252]:
|
||||
- rowgroup [ref=e253]:
|
||||
- row "Environment Name Provider Target scope Connection type Lifecycle Consent Verification Provider capability Actions" [ref=e254]:
|
||||
- columnheader "Environment" [ref=e255]
|
||||
- columnheader "Name" [ref=e256]:
|
||||
- button "Name" [ref=e257] [cursor=pointer]:
|
||||
- text: Name
|
||||
- img [ref=e258]
|
||||
- columnheader "Provider" [ref=e260]
|
||||
- columnheader "Target scope" [ref=e261]
|
||||
- columnheader "Connection type" [ref=e262]
|
||||
- columnheader "Lifecycle" [ref=e263]
|
||||
- columnheader "Consent" [ref=e264]
|
||||
- columnheader "Verification" [ref=e265]
|
||||
- columnheader "Provider capability" [ref=e266]
|
||||
- columnheader "Actions" [ref=e267]
|
||||
- rowgroup [ref=e268]:
|
||||
- 'row "Spec 352 Audit Provider Blocker DEV Spec 352 Audit Provider Blocker Microsoft Microsoft Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker) Dedicated Enabled Granted Healthy Missing Inventory read: Missing More" [ref=e269]':
|
||||
- cell "Spec 352 Audit Provider Blocker DEV" [ref=e270]:
|
||||
- link "Spec 352 Audit Provider Blocker DEV" [ref=e271] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-provider-blocker
|
||||
- generic [ref=e272]:
|
||||
- paragraph [ref=e273]: Spec 352 Audit Provider Blocker
|
||||
- paragraph [ref=e274]: DEV
|
||||
- cell "Spec 352 Audit Provider Blocker Microsoft" [ref=e275]:
|
||||
- link "Spec 352 Audit Provider Blocker Microsoft" [ref=e276] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e277]: Spec 352 Audit Provider Blocker Microsoft
|
||||
- cell "Microsoft" [ref=e278]:
|
||||
- link "Microsoft" [ref=e279] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e280]: Microsoft
|
||||
- cell "Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker)" [ref=e281]:
|
||||
- link "Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker)" [ref=e282] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e283]: Spec 352 Audit Provider Blocker (spec-352-audit-provider-blocker)
|
||||
- cell "Dedicated" [ref=e284]:
|
||||
- link "Dedicated" [ref=e285] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e287]: Dedicated
|
||||
- cell "Enabled" [ref=e288]:
|
||||
- link "Enabled" [ref=e289] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- text: Enabled
|
||||
- cell "Granted" [ref=e294]:
|
||||
- link "Granted" [ref=e295] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e297]:
|
||||
- img [ref=e298]
|
||||
- text: Granted
|
||||
- cell "Healthy" [ref=e300]:
|
||||
- link "Healthy" [ref=e301] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e303]:
|
||||
- img [ref=e304]
|
||||
- text: Healthy
|
||||
- 'cell "Missing Inventory read: Missing" [ref=e306]':
|
||||
- 'link "Missing Inventory read: Missing" [ref=e307] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/provider-connections/15?environment_id=51
|
||||
- generic [ref=e308]:
|
||||
- paragraph [ref=e309]:
|
||||
- generic [ref=e310]:
|
||||
- img [ref=e311]
|
||||
- text: Missing
|
||||
- paragraph [ref=e313]: "Inventory read: Missing"
|
||||
- cell "More" [ref=e314]:
|
||||
- button "More" [ref=e318] [cursor=pointer]:
|
||||
- img [ref=e319]
|
||||
- navigation "Pagination navigation" [ref=e321]:
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e326]: Per page
|
||||
- combobox "Per page" [ref=e328]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "100"
|
||||
- generic:
|
||||
- status
|
||||
14
.playwright-mcp/page-2026-06-05T02-47-16-285Z.yml
Normal file
14
.playwright-mcp/page-2026-06-05T02-47-16-285Z.yml
Normal file
@ -0,0 +1,14 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
270
.playwright-mcp/page-2026-06-05T02-48-22-765Z.yml
Normal file
270
.playwright-mcp/page-2026-06-05T02-48-22-765Z.yml
Normal file
@ -0,0 +1,270 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Finding Exceptions Queue" [level=1] [ref=e161]
|
||||
- generic [ref=e163]:
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]:
|
||||
- img [ref=e165]
|
||||
- text: Clear filters
|
||||
- link "View environment findings" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions
|
||||
- img [ref=e168]
|
||||
- text: View environment findings
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e176]: Canonical risk-acceptance approvals
|
||||
- generic [ref=e177]: Review pending requests, expiring governance, and lapsed exception coverage across entitled environments without leaving the Monitoring area.
|
||||
- generic [ref=e178]: The focused review lane is bound to the exception query parameter. If that exception drops out of the current queue view, the page falls back to quiet monitoring mode without stale decision state.
|
||||
- generic [ref=e179]:
|
||||
- generic [ref=e180]: "Environment filter:"
|
||||
- generic [ref=e181]: Spec342 Demo Accepted Risks
|
||||
- link "Clear filter" [ref=e182] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e185]:
|
||||
- heading "Quiet monitoring mode" [level=2] [ref=e186]
|
||||
- paragraph [ref=e187]: Inspect an exception to enter the focused review lane. Scope, filters, and environment drilldowns stay secondary until one request is actively under review.
|
||||
- generic [ref=e190]: No exception is selected right now. Use Inspect exception from the queue to review one request in context.
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]: Search
|
||||
- generic [ref=e199]:
|
||||
- img [ref=e201]
|
||||
- searchbox "Search" [ref=e204]
|
||||
- button "Filter" [ref=e207] [cursor=pointer]:
|
||||
- img [ref=e208]
|
||||
- generic [ref=e211]: "1"
|
||||
- generic [ref=e212]:
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e214]: Active filters
|
||||
- generic [ref=e216]:
|
||||
- generic [ref=e218]: "Environment: Spec342 Demo Accepted Risks"
|
||||
- button "Remove filter" [ref=e219] [cursor=pointer]:
|
||||
- img [ref=e220]
|
||||
- generic [ref=e222]: Remove filter
|
||||
- button [ref=e223] [cursor=pointer]:
|
||||
- img [ref=e224]
|
||||
- table [ref=e227]:
|
||||
- rowgroup [ref=e228]:
|
||||
- row "Status Validity Environment Finding Governance warning Requested by Owner Review due Expires Requested Action" [ref=e229]:
|
||||
- columnheader "Status" [ref=e230]
|
||||
- columnheader "Validity" [ref=e231]
|
||||
- columnheader "Environment" [ref=e232]
|
||||
- columnheader "Finding" [ref=e233]
|
||||
- columnheader "Governance warning" [ref=e234]
|
||||
- columnheader "Requested by" [ref=e235]
|
||||
- columnheader "Owner" [ref=e236]
|
||||
- columnheader "Review due" [ref=e237]:
|
||||
- button "Review due" [ref=e238] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e239]
|
||||
- columnheader "Expires" [ref=e241]:
|
||||
- button "Expires" [ref=e242] [cursor=pointer]:
|
||||
- text: Expires
|
||||
- img [ref=e243]
|
||||
- columnheader "Requested" [ref=e245]:
|
||||
- button "Requested" [ref=e246] [cursor=pointer]:
|
||||
- text: Requested
|
||||
- img [ref=e247]
|
||||
- columnheader "Action" [ref=e249]
|
||||
- rowgroup [ref=e250]:
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #3 Ahmed Darrazi Spec342 Demo Risk Owner Jul 1, 2026 01:05:16 — May 29, 2026 01:05:16 Inspect exception" [ref=e251]':
|
||||
- cell "Active" [ref=e252]:
|
||||
- generic [ref=e255]:
|
||||
- img [ref=e256]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e258]:
|
||||
- generic [ref=e261]:
|
||||
- img [ref=e262]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e264]:
|
||||
- generic [ref=e266]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #3" [ref=e267]':
|
||||
- generic [ref=e269]: "Finding #3"
|
||||
- cell [ref=e270]
|
||||
- cell "Ahmed Darrazi" [ref=e273]:
|
||||
- generic [ref=e275]: Ahmed Darrazi
|
||||
- cell "Spec342 Demo Risk Owner" [ref=e276]:
|
||||
- generic [ref=e278]: Spec342 Demo Risk Owner
|
||||
- cell "Jul 1, 2026 01:05:16" [ref=e279]:
|
||||
- generic [ref=e281]: Jul 1, 2026 01:05:16
|
||||
- cell "—" [ref=e282]:
|
||||
- paragraph [ref=e285]: —
|
||||
- cell "May 29, 2026 01:05:16" [ref=e286]:
|
||||
- generic [ref=e288]: May 29, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e289]:
|
||||
- link "Inspect exception" [ref=e291] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=1
|
||||
- img [ref=e292]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Expiring Spec342 Demo Accepted Risks Finding #4 Ahmed Darrazi — — — May 31, 2026 01:05:16 Inspect exception" [ref=e295]':
|
||||
- cell "Active" [ref=e296]:
|
||||
- generic [ref=e299]:
|
||||
- img [ref=e300]
|
||||
- text: Active
|
||||
- cell "Expiring" [ref=e302]:
|
||||
- generic [ref=e305]:
|
||||
- img [ref=e306]
|
||||
- text: Expiring
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e308]:
|
||||
- generic [ref=e310]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #4" [ref=e311]':
|
||||
- generic [ref=e313]: "Finding #4"
|
||||
- cell [ref=e314]
|
||||
- cell "Ahmed Darrazi" [ref=e317]:
|
||||
- generic [ref=e319]: Ahmed Darrazi
|
||||
- cell "—" [ref=e320]:
|
||||
- paragraph [ref=e323]: —
|
||||
- cell "—" [ref=e324]:
|
||||
- paragraph [ref=e327]: —
|
||||
- cell "—" [ref=e328]:
|
||||
- paragraph [ref=e331]: —
|
||||
- cell "May 31, 2026 01:05:16" [ref=e332]:
|
||||
- generic [ref=e334]: May 31, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e335]:
|
||||
- link "Inspect exception" [ref=e337] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2
|
||||
- img [ref=e338]
|
||||
- text: Inspect exception
|
||||
- navigation "Pagination navigation" [ref=e341]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e346]: Per page
|
||||
- combobox "Per page" [ref=e348]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
412
.playwright-mcp/page-2026-06-05T02-48-57-084Z.yml
Normal file
412
.playwright-mcp/page-2026-06-05T02-48-57-084Z.yml
Normal file
@ -0,0 +1,412 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Finding Exceptions Queue" [level=1] [ref=e161]
|
||||
- generic [ref=e163]:
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]:
|
||||
- img [ref=e165]
|
||||
- text: Clear filters
|
||||
- link "View environment findings" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions
|
||||
- img [ref=e168]
|
||||
- text: View environment findings
|
||||
- button "Focused review" [ref=e172] [cursor=pointer]:
|
||||
- img [ref=e173]
|
||||
- generic [ref=e176]:
|
||||
- generic [ref=e180]:
|
||||
- generic [ref=e181]: Canonical risk-acceptance approvals
|
||||
- generic [ref=e182]: Review pending requests, expiring governance, and lapsed exception coverage across entitled environments without leaving the Monitoring area.
|
||||
- generic [ref=e183]: The focused review lane is bound to the exception query parameter. If that exception drops out of the current queue view, the page falls back to quiet monitoring mode without stale decision state.
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e185]: "Environment filter:"
|
||||
- generic [ref=e186]: Spec342 Demo Accepted Risks
|
||||
- link "Clear filter" [ref=e187] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e190]:
|
||||
- heading "Focused review lane" [level=2] [ref=e191]
|
||||
- paragraph [ref=e192]: The selected exception defines the focused review context. The dominant guidance card explains what matters now before deeper decision history and evidence.
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]:
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e203]: Action required
|
||||
- heading "Accepted-risk governance context is incomplete" [level=2] [ref=e204]
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Reason
|
||||
- paragraph [ref=e207]: "The current exception record is missing: Owner, Review due."
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: Impact
|
||||
- paragraph [ref=e210]: Missing accountability or review data weakens the governance record even when the exception is still present.
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]:
|
||||
- term [ref=e213]: Environment
|
||||
- definition [ref=e214]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e215]:
|
||||
- term [ref=e216]: Lifecycle status
|
||||
- definition [ref=e217]: Active
|
||||
- generic [ref=e218]:
|
||||
- term [ref=e219]: Governance validity
|
||||
- definition [ref=e220]: Valid
|
||||
- generic [ref=e221]:
|
||||
- term [ref=e222]: Owner
|
||||
- definition [ref=e223]: Missing
|
||||
- generic [ref=e224]:
|
||||
- term [ref=e225]: Review due
|
||||
- definition [ref=e226]: Missing
|
||||
- generic [ref=e227]:
|
||||
- term [ref=e228]: Expires
|
||||
- definition [ref=e229]: Not recorded
|
||||
- generic [ref=e230]:
|
||||
- term [ref=e231]: Current decision
|
||||
- definition [ref=e232]: Not recorded
|
||||
- generic [ref=e233]:
|
||||
- term [ref=e234]: Request reason
|
||||
- definition [ref=e235]: Pending owner confirmation.
|
||||
- generic [ref=e236]:
|
||||
- term [ref=e237]: Missing governance inputs
|
||||
- definition [ref=e238]: Owner, Review due
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]: What to review
|
||||
- generic [ref=e241]: Complete the missing governance context before relying on this accepted risk.
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Related context
|
||||
- generic [ref=e244]:
|
||||
- link "Open exception detail" [ref=e245] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions/2
|
||||
- link "Open finding" [ref=e246] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/findings/4
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]: Focused review controls
|
||||
- generic [ref=e249]: Existing review actions stay in the page header so approval, rejection, and navigation keep their current confirmation and authorization boundaries.
|
||||
- generic [ref=e250]:
|
||||
- generic [ref=e251]:
|
||||
- generic [ref=e252]: Status
|
||||
- generic [ref=e253]: Active
|
||||
- generic [ref=e254]: Expiring
|
||||
- generic [ref=e255]:
|
||||
- generic [ref=e256]: Scope
|
||||
- generic [ref=e257]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e258]: "Finding #4"
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]: Review timing
|
||||
- generic [ref=e261]: Review due —
|
||||
- generic [ref=e262]: Expires —
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]: Request
|
||||
- generic [ref=e265]:
|
||||
- generic [ref=e266]:
|
||||
- term [ref=e267]: Requested by
|
||||
- definition [ref=e268]: Ahmed Darrazi
|
||||
- generic [ref=e269]:
|
||||
- term [ref=e270]: Owner
|
||||
- definition [ref=e271]: Unassigned
|
||||
- generic [ref=e272]:
|
||||
- term [ref=e273]: Reason
|
||||
- definition [ref=e274]: Pending owner confirmation.
|
||||
- generic [ref=e275]:
|
||||
- generic [ref=e276]: Decision history
|
||||
- generic [ref=e277]: No decisions have been recorded yet.
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e283]:
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Search
|
||||
- generic [ref=e286]:
|
||||
- img [ref=e288]
|
||||
- searchbox "Search" [ref=e291]
|
||||
- button "Filter" [ref=e294] [cursor=pointer]:
|
||||
- img [ref=e295]
|
||||
- generic [ref=e298]: "1"
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]: Active filters
|
||||
- generic [ref=e303]:
|
||||
- generic [ref=e305]: "Environment: Spec342 Demo Accepted Risks"
|
||||
- button "Remove filter" [ref=e306] [cursor=pointer]:
|
||||
- img [ref=e307]
|
||||
- generic [ref=e309]: Remove filter
|
||||
- button [ref=e310] [cursor=pointer]:
|
||||
- img [ref=e311]
|
||||
- table [ref=e314]:
|
||||
- rowgroup [ref=e315]:
|
||||
- row "Status Validity Environment Finding Governance warning Requested by Owner Review due Expires Requested Action" [ref=e316]:
|
||||
- columnheader "Status" [ref=e317]
|
||||
- columnheader "Validity" [ref=e318]
|
||||
- columnheader "Environment" [ref=e319]
|
||||
- columnheader "Finding" [ref=e320]
|
||||
- columnheader "Governance warning" [ref=e321]
|
||||
- columnheader "Requested by" [ref=e322]
|
||||
- columnheader "Owner" [ref=e323]
|
||||
- columnheader "Review due" [ref=e324]:
|
||||
- button "Review due" [ref=e325] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e326]
|
||||
- columnheader "Expires" [ref=e328]:
|
||||
- button "Expires" [ref=e329] [cursor=pointer]:
|
||||
- text: Expires
|
||||
- img [ref=e330]
|
||||
- columnheader "Requested" [ref=e332]:
|
||||
- button "Requested" [ref=e333] [cursor=pointer]:
|
||||
- text: Requested
|
||||
- img [ref=e334]
|
||||
- columnheader "Action" [ref=e336]
|
||||
- rowgroup [ref=e337]:
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #3 Ahmed Darrazi Spec342 Demo Risk Owner Jul 1, 2026 01:05:16 — May 29, 2026 01:05:16 Inspect exception" [ref=e338]':
|
||||
- cell "Active" [ref=e339]:
|
||||
- generic [ref=e342]:
|
||||
- img [ref=e343]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e345]:
|
||||
- generic [ref=e348]:
|
||||
- img [ref=e349]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e351]:
|
||||
- generic [ref=e353]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #3" [ref=e354]':
|
||||
- generic [ref=e356]: "Finding #3"
|
||||
- cell [ref=e357]
|
||||
- cell "Ahmed Darrazi" [ref=e360]:
|
||||
- generic [ref=e362]: Ahmed Darrazi
|
||||
- cell "Spec342 Demo Risk Owner" [ref=e363]:
|
||||
- generic [ref=e365]: Spec342 Demo Risk Owner
|
||||
- cell "Jul 1, 2026 01:05:16" [ref=e366]:
|
||||
- generic [ref=e368]: Jul 1, 2026 01:05:16
|
||||
- cell "—" [ref=e369]:
|
||||
- paragraph [ref=e372]: —
|
||||
- cell "May 29, 2026 01:05:16" [ref=e373]:
|
||||
- generic [ref=e375]: May 29, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e376]:
|
||||
- link "Inspect exception" [ref=e378] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=1
|
||||
- img [ref=e379]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Expiring Spec342 Demo Accepted Risks Finding #4 Ahmed Darrazi — — — May 31, 2026 01:05:16 Inspect exception" [ref=e382]':
|
||||
- cell "Active" [ref=e383]:
|
||||
- generic [ref=e386]:
|
||||
- img [ref=e387]
|
||||
- text: Active
|
||||
- cell "Expiring" [ref=e389]:
|
||||
- generic [ref=e392]:
|
||||
- img [ref=e393]
|
||||
- text: Expiring
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e395]:
|
||||
- generic [ref=e397]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #4" [ref=e398]':
|
||||
- generic [ref=e400]: "Finding #4"
|
||||
- cell [ref=e401]
|
||||
- cell "Ahmed Darrazi" [ref=e404]:
|
||||
- generic [ref=e406]: Ahmed Darrazi
|
||||
- cell "—" [ref=e407]:
|
||||
- paragraph [ref=e410]: —
|
||||
- cell "—" [ref=e411]:
|
||||
- paragraph [ref=e414]: —
|
||||
- cell "—" [ref=e415]:
|
||||
- paragraph [ref=e418]: —
|
||||
- cell "May 31, 2026 01:05:16" [ref=e419]:
|
||||
- generic [ref=e421]: May 31, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e422]:
|
||||
- link "Inspect exception" [ref=e424] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2
|
||||
- img [ref=e425]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #13 The linked exception has expired and no longer governs accepted risk. Ahmed Darrazi Ahmed Darrazi Jun 3, 2026 02:48:49 Jun 4, 2026 02:48:49 May 31, 2026 02:48:49 Inspect exception" [ref=e428]':
|
||||
- cell "Active" [ref=e429]:
|
||||
- generic [ref=e432]:
|
||||
- img [ref=e433]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e435]:
|
||||
- generic [ref=e438]:
|
||||
- img [ref=e439]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e441]:
|
||||
- generic [ref=e443]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #13" [ref=e444]':
|
||||
- generic [ref=e446]: "Finding #13"
|
||||
- cell "The linked exception has expired and no longer governs accepted risk." [ref=e447]:
|
||||
- generic [ref=e449]: The linked exception has expired and no longer governs accepted risk.
|
||||
- cell "Ahmed Darrazi" [ref=e450]:
|
||||
- generic [ref=e452]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e453]:
|
||||
- generic [ref=e455]: Ahmed Darrazi
|
||||
- cell "Jun 3, 2026 02:48:49" [ref=e456]:
|
||||
- generic [ref=e458]: Jun 3, 2026 02:48:49
|
||||
- cell "Jun 4, 2026 02:48:49" [ref=e459]:
|
||||
- generic [ref=e461]: Jun 4, 2026 02:48:49
|
||||
- cell "May 31, 2026 02:48:49" [ref=e462]:
|
||||
- generic [ref=e464]: May 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e465]:
|
||||
- link "Inspect exception" [ref=e467] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=7
|
||||
- img [ref=e468]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #14 Ahmed Darrazi — — Jul 5, 2026 02:48:49 May 31, 2026 02:48:49 Inspect exception" [ref=e471]':
|
||||
- cell "Active" [ref=e472]:
|
||||
- generic [ref=e475]:
|
||||
- img [ref=e476]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e478]:
|
||||
- generic [ref=e481]:
|
||||
- img [ref=e482]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e484]:
|
||||
- generic [ref=e486]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #14" [ref=e487]':
|
||||
- generic [ref=e489]: "Finding #14"
|
||||
- cell [ref=e490]
|
||||
- cell "Ahmed Darrazi" [ref=e493]:
|
||||
- generic [ref=e495]: Ahmed Darrazi
|
||||
- cell "—" [ref=e496]:
|
||||
- paragraph [ref=e499]: —
|
||||
- cell "—" [ref=e500]:
|
||||
- paragraph [ref=e503]: —
|
||||
- cell "Jul 5, 2026 02:48:49" [ref=e504]:
|
||||
- generic [ref=e506]: Jul 5, 2026 02:48:49
|
||||
- cell "May 31, 2026 02:48:49" [ref=e507]:
|
||||
- generic [ref=e509]: May 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e510]:
|
||||
- link "Inspect exception" [ref=e512] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=8
|
||||
- img [ref=e513]
|
||||
- text: Inspect exception
|
||||
- navigation "Pagination navigation" [ref=e516]:
|
||||
- generic [ref=e519]:
|
||||
- generic [ref=e521]: Per page
|
||||
- combobox "Per page" [ref=e523]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
443
.playwright-mcp/page-2026-06-05T02-49-22-065Z.yml
Normal file
443
.playwright-mcp/page-2026-06-05T02-49-22-065Z.yml
Normal file
@ -0,0 +1,443 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Finding Exceptions Queue" [level=1] [ref=e161]
|
||||
- generic [ref=e163]:
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]:
|
||||
- img [ref=e165]
|
||||
- text: Clear filters
|
||||
- link "View environment findings" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions
|
||||
- img [ref=e168]
|
||||
- text: View environment findings
|
||||
- button "Focused review" [ref=e172] [cursor=pointer]:
|
||||
- img [ref=e173]
|
||||
- generic [ref=e176]:
|
||||
- generic [ref=e180]:
|
||||
- generic [ref=e181]: Canonical risk-acceptance approvals
|
||||
- generic [ref=e182]: Review pending requests, expiring governance, and lapsed exception coverage across entitled environments without leaving the Monitoring area.
|
||||
- generic [ref=e183]: The focused review lane is bound to the exception query parameter. If that exception drops out of the current queue view, the page falls back to quiet monitoring mode without stale decision state.
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e185]: "Environment filter:"
|
||||
- generic [ref=e186]: Spec342 Demo Accepted Risks
|
||||
- link "Clear filter" [ref=e187] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e190]:
|
||||
- heading "Focused review lane" [level=2] [ref=e191]
|
||||
- paragraph [ref=e192]: The selected exception defines the focused review context. The dominant guidance card explains what matters now before deeper decision history and evidence.
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]:
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e203]: Action required
|
||||
- heading "Accepted-risk review window is nearing expiry" [level=2] [ref=e204]
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Reason
|
||||
- paragraph [ref=e207]: The current accepted-risk governance window is still active, but it is nearing expiry and needs review.
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: Impact
|
||||
- paragraph [ref=e210]: If the current window is not reviewed in time, this accepted risk can no longer be treated as actively governed.
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]:
|
||||
- term [ref=e213]: Environment
|
||||
- definition [ref=e214]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e215]:
|
||||
- term [ref=e216]: Lifecycle status
|
||||
- definition [ref=e217]: Expiring
|
||||
- generic [ref=e218]:
|
||||
- term [ref=e219]: Governance validity
|
||||
- definition [ref=e220]: Expiring
|
||||
- generic [ref=e221]:
|
||||
- term [ref=e222]: Owner
|
||||
- definition [ref=e223]: Ahmed Darrazi
|
||||
- generic [ref=e224]:
|
||||
- term [ref=e225]: Review due
|
||||
- definition [ref=e226]: Sat, Jun 6, 2026 2:49 AM
|
||||
- generic [ref=e227]:
|
||||
- term [ref=e228]: Expires
|
||||
- definition [ref=e229]: Sun, Jun 7, 2026 2:49 AM
|
||||
- generic [ref=e230]:
|
||||
- term [ref=e231]: Current decision
|
||||
- definition [ref=e232]: Approved
|
||||
- generic [ref=e233]:
|
||||
- term [ref=e234]: Request reason
|
||||
- definition [ref=e235]: Spec355 expiring local fixture
|
||||
- generic [ref=e236]:
|
||||
- generic [ref=e237]: What to review
|
||||
- generic [ref=e238]: Review the active governance window before it lapses.
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]: Related context
|
||||
- generic [ref=e241]:
|
||||
- link "Open exception detail" [ref=e242] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions/9
|
||||
- link "Open finding" [ref=e243] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/findings/15
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]: Focused review controls
|
||||
- generic [ref=e246]: Existing review actions stay in the page header so approval, rejection, and navigation keep their current confirmation and authorization boundaries.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]: Status
|
||||
- generic [ref=e250]: Active
|
||||
- generic [ref=e251]: Valid
|
||||
- generic [ref=e252]: The linked exception is still valid, but it is nearing expiry and needs review.
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]: Scope
|
||||
- generic [ref=e255]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e256]: "Finding #15"
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]: Review timing
|
||||
- generic [ref=e259]: Review due Sat, Jun 6, 2026 2:49 AM
|
||||
- generic [ref=e260]: Expires Sun, Jun 7, 2026 2:49 AM
|
||||
- generic [ref=e261]:
|
||||
- generic [ref=e262]: Request
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- term [ref=e265]: Requested by
|
||||
- definition [ref=e266]: Ahmed Darrazi
|
||||
- generic [ref=e267]:
|
||||
- term [ref=e268]: Owner
|
||||
- definition [ref=e269]: Ahmed Darrazi
|
||||
- generic [ref=e270]:
|
||||
- term [ref=e271]: Reason
|
||||
- definition [ref=e272]: Spec355 expiring local fixture
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]: Decision history
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: Approved
|
||||
- generic [ref=e278]: Ahmed Darrazi · Mon, Jun 1, 2026 2:49 AM
|
||||
- generic [ref=e279]: Spec355 expiring local browser decision
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]: Search
|
||||
- generic [ref=e288]:
|
||||
- img [ref=e290]
|
||||
- searchbox "Search" [ref=e293]
|
||||
- button "Filter" [ref=e296] [cursor=pointer]:
|
||||
- img [ref=e297]
|
||||
- generic [ref=e300]: "1"
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: Active filters
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e307]: "Environment: Spec342 Demo Accepted Risks"
|
||||
- button "Remove filter" [ref=e308] [cursor=pointer]:
|
||||
- img [ref=e309]
|
||||
- generic [ref=e311]: Remove filter
|
||||
- button [ref=e312] [cursor=pointer]:
|
||||
- img [ref=e313]
|
||||
- table [ref=e316]:
|
||||
- rowgroup [ref=e317]:
|
||||
- row "Status Validity Environment Finding Governance warning Requested by Owner Review due Expires Requested Action" [ref=e318]:
|
||||
- columnheader "Status" [ref=e319]
|
||||
- columnheader "Validity" [ref=e320]
|
||||
- columnheader "Environment" [ref=e321]
|
||||
- columnheader "Finding" [ref=e322]
|
||||
- columnheader "Governance warning" [ref=e323]
|
||||
- columnheader "Requested by" [ref=e324]
|
||||
- columnheader "Owner" [ref=e325]
|
||||
- columnheader "Review due" [ref=e326]:
|
||||
- button "Review due" [ref=e327] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e328]
|
||||
- columnheader "Expires" [ref=e330]:
|
||||
- button "Expires" [ref=e331] [cursor=pointer]:
|
||||
- text: Expires
|
||||
- img [ref=e332]
|
||||
- columnheader "Requested" [ref=e334]:
|
||||
- button "Requested" [ref=e335] [cursor=pointer]:
|
||||
- text: Requested
|
||||
- img [ref=e336]
|
||||
- columnheader "Action" [ref=e338]
|
||||
- rowgroup [ref=e339]:
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #3 Ahmed Darrazi Spec342 Demo Risk Owner Jul 1, 2026 01:05:16 — May 29, 2026 01:05:16 Inspect exception" [ref=e340]':
|
||||
- cell "Active" [ref=e341]:
|
||||
- generic [ref=e344]:
|
||||
- img [ref=e345]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e347]:
|
||||
- generic [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e353]:
|
||||
- generic [ref=e355]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #3" [ref=e356]':
|
||||
- generic [ref=e358]: "Finding #3"
|
||||
- cell [ref=e359]
|
||||
- cell "Ahmed Darrazi" [ref=e362]:
|
||||
- generic [ref=e364]: Ahmed Darrazi
|
||||
- cell "Spec342 Demo Risk Owner" [ref=e365]:
|
||||
- generic [ref=e367]: Spec342 Demo Risk Owner
|
||||
- cell "Jul 1, 2026 01:05:16" [ref=e368]:
|
||||
- generic [ref=e370]: Jul 1, 2026 01:05:16
|
||||
- cell "—" [ref=e371]:
|
||||
- paragraph [ref=e374]: —
|
||||
- cell "May 29, 2026 01:05:16" [ref=e375]:
|
||||
- generic [ref=e377]: May 29, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e378]:
|
||||
- link "Inspect exception" [ref=e380] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=1
|
||||
- img [ref=e381]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Expiring Spec342 Demo Accepted Risks Finding #4 Ahmed Darrazi — — — May 31, 2026 01:05:16 Inspect exception" [ref=e384]':
|
||||
- cell "Active" [ref=e385]:
|
||||
- generic [ref=e388]:
|
||||
- img [ref=e389]
|
||||
- text: Active
|
||||
- cell "Expiring" [ref=e391]:
|
||||
- generic [ref=e394]:
|
||||
- img [ref=e395]
|
||||
- text: Expiring
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e397]:
|
||||
- generic [ref=e399]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #4" [ref=e400]':
|
||||
- generic [ref=e402]: "Finding #4"
|
||||
- cell [ref=e403]
|
||||
- cell "Ahmed Darrazi" [ref=e406]:
|
||||
- generic [ref=e408]: Ahmed Darrazi
|
||||
- cell "—" [ref=e409]:
|
||||
- paragraph [ref=e412]: —
|
||||
- cell "—" [ref=e413]:
|
||||
- paragraph [ref=e416]: —
|
||||
- cell "—" [ref=e417]:
|
||||
- paragraph [ref=e420]: —
|
||||
- cell "May 31, 2026 01:05:16" [ref=e421]:
|
||||
- generic [ref=e423]: May 31, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e424]:
|
||||
- link "Inspect exception" [ref=e426] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2
|
||||
- img [ref=e427]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #13 The linked exception has expired and no longer governs accepted risk. Ahmed Darrazi Ahmed Darrazi Jun 3, 2026 02:48:49 Jun 4, 2026 02:48:49 May 31, 2026 02:48:49 Inspect exception" [ref=e430]':
|
||||
- cell "Active" [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e437]:
|
||||
- generic [ref=e440]:
|
||||
- img [ref=e441]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e443]:
|
||||
- generic [ref=e445]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #13" [ref=e446]':
|
||||
- generic [ref=e448]: "Finding #13"
|
||||
- cell "The linked exception has expired and no longer governs accepted risk." [ref=e449]:
|
||||
- generic [ref=e451]: The linked exception has expired and no longer governs accepted risk.
|
||||
- cell "Ahmed Darrazi" [ref=e452]:
|
||||
- generic [ref=e454]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e455]:
|
||||
- generic [ref=e457]: Ahmed Darrazi
|
||||
- cell "Jun 3, 2026 02:48:49" [ref=e458]:
|
||||
- generic [ref=e460]: Jun 3, 2026 02:48:49
|
||||
- cell "Jun 4, 2026 02:48:49" [ref=e461]:
|
||||
- generic [ref=e463]: Jun 4, 2026 02:48:49
|
||||
- cell "May 31, 2026 02:48:49" [ref=e464]:
|
||||
- generic [ref=e466]: May 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e467]:
|
||||
- link "Inspect exception" [ref=e469] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=7
|
||||
- img [ref=e470]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #14 Ahmed Darrazi — — Jul 5, 2026 02:48:49 May 31, 2026 02:48:49 Inspect exception" [ref=e473]':
|
||||
- cell "Active" [ref=e474]:
|
||||
- generic [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e480]:
|
||||
- generic [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e486]:
|
||||
- generic [ref=e488]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #14" [ref=e489]':
|
||||
- generic [ref=e491]: "Finding #14"
|
||||
- cell [ref=e492]
|
||||
- cell "Ahmed Darrazi" [ref=e495]:
|
||||
- generic [ref=e497]: Ahmed Darrazi
|
||||
- cell "—" [ref=e498]:
|
||||
- paragraph [ref=e501]: —
|
||||
- cell "—" [ref=e502]:
|
||||
- paragraph [ref=e505]: —
|
||||
- cell "Jul 5, 2026 02:48:49" [ref=e506]:
|
||||
- generic [ref=e508]: Jul 5, 2026 02:48:49
|
||||
- cell "May 31, 2026 02:48:49" [ref=e509]:
|
||||
- generic [ref=e511]: May 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e512]:
|
||||
- link "Inspect exception" [ref=e514] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=8
|
||||
- img [ref=e515]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #15 The linked exception is still valid, but it is nearing expiry and needs review. Ahmed Darrazi Ahmed Darrazi Jun 6, 2026 02:49:16 Jun 7, 2026 02:49:16 May 31, 2026 02:49:16 Inspect exception" [ref=e518]':
|
||||
- cell "Active" [ref=e519]:
|
||||
- generic [ref=e522]:
|
||||
- img [ref=e523]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e525]:
|
||||
- generic [ref=e528]:
|
||||
- img [ref=e529]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e531]:
|
||||
- generic [ref=e533]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #15" [ref=e534]':
|
||||
- generic [ref=e536]: "Finding #15"
|
||||
- cell "The linked exception is still valid, but it is nearing expiry and needs review." [ref=e537]:
|
||||
- generic [ref=e539]: The linked exception is still valid, but it is nearing expiry and needs review.
|
||||
- cell "Ahmed Darrazi" [ref=e540]:
|
||||
- generic [ref=e542]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e543]:
|
||||
- generic [ref=e545]: Ahmed Darrazi
|
||||
- cell "Jun 6, 2026 02:49:16" [ref=e546]:
|
||||
- generic [ref=e548]: Jun 6, 2026 02:49:16
|
||||
- cell "Jun 7, 2026 02:49:16" [ref=e549]:
|
||||
- generic [ref=e551]: Jun 7, 2026 02:49:16
|
||||
- cell "May 31, 2026 02:49:16" [ref=e552]:
|
||||
- generic [ref=e554]: May 31, 2026 02:49:16
|
||||
- cell "Inspect exception" [ref=e555]:
|
||||
- link "Inspect exception" [ref=e557] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=9
|
||||
- img [ref=e558]
|
||||
- text: Inspect exception
|
||||
- navigation "Pagination navigation" [ref=e561]:
|
||||
- generic [ref=e564]:
|
||||
- generic [ref=e566]: Per page
|
||||
- combobox "Per page" [ref=e568]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
443
.playwright-mcp/page-2026-06-05T02-49-34-391Z.yml
Normal file
443
.playwright-mcp/page-2026-06-05T02-49-34-391Z.yml
Normal file
@ -0,0 +1,443 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Finding Exceptions Queue" [level=1] [ref=e161]
|
||||
- generic [ref=e163]:
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]:
|
||||
- img [ref=e165]
|
||||
- text: Clear filters
|
||||
- link "View environment findings" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions
|
||||
- img [ref=e168]
|
||||
- text: View environment findings
|
||||
- button "Focused review" [ref=e172] [cursor=pointer]:
|
||||
- img [ref=e173]
|
||||
- generic [ref=e176]:
|
||||
- generic [ref=e180]:
|
||||
- generic [ref=e181]: Canonical risk-acceptance approvals
|
||||
- generic [ref=e182]: Review pending requests, expiring governance, and lapsed exception coverage across entitled environments without leaving the Monitoring area.
|
||||
- generic [ref=e183]: The focused review lane is bound to the exception query parameter. If that exception drops out of the current queue view, the page falls back to quiet monitoring mode without stale decision state.
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e185]: "Environment filter:"
|
||||
- generic [ref=e186]: Spec342 Demo Accepted Risks
|
||||
- link "Clear filter" [ref=e187] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e190]:
|
||||
- heading "Focused review lane" [level=2] [ref=e191]
|
||||
- paragraph [ref=e192]: The selected exception defines the focused review context. The dominant guidance card explains what matters now before deeper decision history and evidence.
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]:
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e203]: Blocked
|
||||
- heading "Accepted-risk governance has expired" [level=2] [ref=e204]
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Reason
|
||||
- paragraph [ref=e207]: The current accepted-risk governance window has lapsed and no longer provides active coverage.
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: Impact
|
||||
- paragraph [ref=e210]: This accepted risk no longer has current governance coverage and should not be treated as safely governed.
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]:
|
||||
- term [ref=e213]: Environment
|
||||
- definition [ref=e214]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e215]:
|
||||
- term [ref=e216]: Lifecycle status
|
||||
- definition [ref=e217]: Expired
|
||||
- generic [ref=e218]:
|
||||
- term [ref=e219]: Governance validity
|
||||
- definition [ref=e220]: Expired
|
||||
- generic [ref=e221]:
|
||||
- term [ref=e222]: Owner
|
||||
- definition [ref=e223]: Ahmed Darrazi
|
||||
- generic [ref=e224]:
|
||||
- term [ref=e225]: Review due
|
||||
- definition [ref=e226]: Wed, Jun 3, 2026 2:48 AM
|
||||
- generic [ref=e227]:
|
||||
- term [ref=e228]: Expires
|
||||
- definition [ref=e229]: Thu, Jun 4, 2026 2:48 AM
|
||||
- generic [ref=e230]:
|
||||
- term [ref=e231]: Current decision
|
||||
- definition [ref=e232]: Approved
|
||||
- generic [ref=e233]:
|
||||
- term [ref=e234]: Request reason
|
||||
- definition [ref=e235]: Spec355 local browser fixture
|
||||
- generic [ref=e236]:
|
||||
- generic [ref=e237]: What to review
|
||||
- generic [ref=e238]: Review whether this accepted-risk window should be renewed or whether the finding must return to active remediation.
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]: Related context
|
||||
- generic [ref=e241]:
|
||||
- link "Open exception detail" [ref=e242] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions/7
|
||||
- link "Open finding" [ref=e243] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/findings/13
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]: Focused review controls
|
||||
- generic [ref=e246]: Existing review actions stay in the page header so approval, rejection, and navigation keep their current confirmation and authorization boundaries.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]: Status
|
||||
- generic [ref=e250]: Active
|
||||
- generic [ref=e251]: Valid
|
||||
- generic [ref=e252]: The linked exception has expired and no longer governs accepted risk.
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]: Scope
|
||||
- generic [ref=e255]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e256]: "Finding #13"
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]: Review timing
|
||||
- generic [ref=e259]: Review due Wed, Jun 3, 2026 2:48 AM
|
||||
- generic [ref=e260]: Expires Thu, Jun 4, 2026 2:48 AM
|
||||
- generic [ref=e261]:
|
||||
- generic [ref=e262]: Request
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- term [ref=e265]: Requested by
|
||||
- definition [ref=e266]: Ahmed Darrazi
|
||||
- generic [ref=e267]:
|
||||
- term [ref=e268]: Owner
|
||||
- definition [ref=e269]: Ahmed Darrazi
|
||||
- generic [ref=e270]:
|
||||
- term [ref=e271]: Reason
|
||||
- definition [ref=e272]: Spec355 local browser fixture
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]: Decision history
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: Approved
|
||||
- generic [ref=e278]: Ahmed Darrazi · Mon, Jun 1, 2026 2:48 AM
|
||||
- generic [ref=e279]: Spec355 local browser decision
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]: Search
|
||||
- generic [ref=e288]:
|
||||
- img [ref=e290]
|
||||
- searchbox "Search" [ref=e293]
|
||||
- button "Filter" [ref=e296] [cursor=pointer]:
|
||||
- img [ref=e297]
|
||||
- generic [ref=e300]: "1"
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: Active filters
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e307]: "Environment: Spec342 Demo Accepted Risks"
|
||||
- button "Remove filter" [ref=e308] [cursor=pointer]:
|
||||
- img [ref=e309]
|
||||
- generic [ref=e311]: Remove filter
|
||||
- button [ref=e312] [cursor=pointer]:
|
||||
- img [ref=e313]
|
||||
- table [ref=e316]:
|
||||
- rowgroup [ref=e317]:
|
||||
- row "Status Validity Environment Finding Governance warning Requested by Owner Review due Expires Requested Action" [ref=e318]:
|
||||
- columnheader "Status" [ref=e319]
|
||||
- columnheader "Validity" [ref=e320]
|
||||
- columnheader "Environment" [ref=e321]
|
||||
- columnheader "Finding" [ref=e322]
|
||||
- columnheader "Governance warning" [ref=e323]
|
||||
- columnheader "Requested by" [ref=e324]
|
||||
- columnheader "Owner" [ref=e325]
|
||||
- columnheader "Review due" [ref=e326]:
|
||||
- button "Review due" [ref=e327] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e328]
|
||||
- columnheader "Expires" [ref=e330]:
|
||||
- button "Expires" [ref=e331] [cursor=pointer]:
|
||||
- text: Expires
|
||||
- img [ref=e332]
|
||||
- columnheader "Requested" [ref=e334]:
|
||||
- button "Requested" [ref=e335] [cursor=pointer]:
|
||||
- text: Requested
|
||||
- img [ref=e336]
|
||||
- columnheader "Action" [ref=e338]
|
||||
- rowgroup [ref=e339]:
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #3 Ahmed Darrazi Spec342 Demo Risk Owner Jul 1, 2026 01:05:16 — May 29, 2026 01:05:16 Inspect exception" [ref=e340]':
|
||||
- cell "Active" [ref=e341]:
|
||||
- generic [ref=e344]:
|
||||
- img [ref=e345]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e347]:
|
||||
- generic [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e353]:
|
||||
- generic [ref=e355]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #3" [ref=e356]':
|
||||
- generic [ref=e358]: "Finding #3"
|
||||
- cell [ref=e359]
|
||||
- cell "Ahmed Darrazi" [ref=e362]:
|
||||
- generic [ref=e364]: Ahmed Darrazi
|
||||
- cell "Spec342 Demo Risk Owner" [ref=e365]:
|
||||
- generic [ref=e367]: Spec342 Demo Risk Owner
|
||||
- cell "Jul 1, 2026 01:05:16" [ref=e368]:
|
||||
- generic [ref=e370]: Jul 1, 2026 01:05:16
|
||||
- cell "—" [ref=e371]:
|
||||
- paragraph [ref=e374]: —
|
||||
- cell "May 29, 2026 01:05:16" [ref=e375]:
|
||||
- generic [ref=e377]: May 29, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e378]:
|
||||
- link "Inspect exception" [ref=e380] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=1
|
||||
- img [ref=e381]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Expiring Spec342 Demo Accepted Risks Finding #4 Ahmed Darrazi — — — May 31, 2026 01:05:16 Inspect exception" [ref=e384]':
|
||||
- cell "Active" [ref=e385]:
|
||||
- generic [ref=e388]:
|
||||
- img [ref=e389]
|
||||
- text: Active
|
||||
- cell "Expiring" [ref=e391]:
|
||||
- generic [ref=e394]:
|
||||
- img [ref=e395]
|
||||
- text: Expiring
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e397]:
|
||||
- generic [ref=e399]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #4" [ref=e400]':
|
||||
- generic [ref=e402]: "Finding #4"
|
||||
- cell [ref=e403]
|
||||
- cell "Ahmed Darrazi" [ref=e406]:
|
||||
- generic [ref=e408]: Ahmed Darrazi
|
||||
- cell "—" [ref=e409]:
|
||||
- paragraph [ref=e412]: —
|
||||
- cell "—" [ref=e413]:
|
||||
- paragraph [ref=e416]: —
|
||||
- cell "—" [ref=e417]:
|
||||
- paragraph [ref=e420]: —
|
||||
- cell "May 31, 2026 01:05:16" [ref=e421]:
|
||||
- generic [ref=e423]: May 31, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e424]:
|
||||
- link "Inspect exception" [ref=e426] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2
|
||||
- img [ref=e427]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #13 The linked exception has expired and no longer governs accepted risk. Ahmed Darrazi Ahmed Darrazi Jun 3, 2026 02:48:49 Jun 4, 2026 02:48:49 May 31, 2026 02:48:49 Inspect exception" [ref=e430]':
|
||||
- cell "Active" [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e437]:
|
||||
- generic [ref=e440]:
|
||||
- img [ref=e441]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e443]:
|
||||
- generic [ref=e445]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #13" [ref=e446]':
|
||||
- generic [ref=e448]: "Finding #13"
|
||||
- cell "The linked exception has expired and no longer governs accepted risk." [ref=e449]:
|
||||
- generic [ref=e451]: The linked exception has expired and no longer governs accepted risk.
|
||||
- cell "Ahmed Darrazi" [ref=e452]:
|
||||
- generic [ref=e454]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e455]:
|
||||
- generic [ref=e457]: Ahmed Darrazi
|
||||
- cell "Jun 3, 2026 02:48:49" [ref=e458]:
|
||||
- generic [ref=e460]: Jun 3, 2026 02:48:49
|
||||
- cell "Jun 4, 2026 02:48:49" [ref=e461]:
|
||||
- generic [ref=e463]: Jun 4, 2026 02:48:49
|
||||
- cell "May 31, 2026 02:48:49" [ref=e464]:
|
||||
- generic [ref=e466]: May 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e467]:
|
||||
- link "Inspect exception" [ref=e469] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=7
|
||||
- img [ref=e470]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #14 Ahmed Darrazi — — Jul 5, 2026 02:48:49 May 31, 2026 02:48:49 Inspect exception" [ref=e473]':
|
||||
- cell "Active" [ref=e474]:
|
||||
- generic [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e480]:
|
||||
- generic [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e486]:
|
||||
- generic [ref=e488]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #14" [ref=e489]':
|
||||
- generic [ref=e491]: "Finding #14"
|
||||
- cell [ref=e492]
|
||||
- cell "Ahmed Darrazi" [ref=e495]:
|
||||
- generic [ref=e497]: Ahmed Darrazi
|
||||
- cell "—" [ref=e498]:
|
||||
- paragraph [ref=e501]: —
|
||||
- cell "—" [ref=e502]:
|
||||
- paragraph [ref=e505]: —
|
||||
- cell "Jul 5, 2026 02:48:49" [ref=e506]:
|
||||
- generic [ref=e508]: Jul 5, 2026 02:48:49
|
||||
- cell "May 31, 2026 02:48:49" [ref=e509]:
|
||||
- generic [ref=e511]: May 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e512]:
|
||||
- link "Inspect exception" [ref=e514] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=8
|
||||
- img [ref=e515]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #15 The linked exception is still valid, but it is nearing expiry and needs review. Ahmed Darrazi Ahmed Darrazi Jun 6, 2026 02:49:16 Jun 7, 2026 02:49:16 May 31, 2026 02:49:16 Inspect exception" [ref=e518]':
|
||||
- cell "Active" [ref=e519]:
|
||||
- generic [ref=e522]:
|
||||
- img [ref=e523]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e525]:
|
||||
- generic [ref=e528]:
|
||||
- img [ref=e529]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e531]:
|
||||
- generic [ref=e533]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #15" [ref=e534]':
|
||||
- generic [ref=e536]: "Finding #15"
|
||||
- cell "The linked exception is still valid, but it is nearing expiry and needs review." [ref=e537]:
|
||||
- generic [ref=e539]: The linked exception is still valid, but it is nearing expiry and needs review.
|
||||
- cell "Ahmed Darrazi" [ref=e540]:
|
||||
- generic [ref=e542]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e543]:
|
||||
- generic [ref=e545]: Ahmed Darrazi
|
||||
- cell "Jun 6, 2026 02:49:16" [ref=e546]:
|
||||
- generic [ref=e548]: Jun 6, 2026 02:49:16
|
||||
- cell "Jun 7, 2026 02:49:16" [ref=e549]:
|
||||
- generic [ref=e551]: Jun 7, 2026 02:49:16
|
||||
- cell "May 31, 2026 02:49:16" [ref=e552]:
|
||||
- generic [ref=e554]: May 31, 2026 02:49:16
|
||||
- cell "Inspect exception" [ref=e555]:
|
||||
- link "Inspect exception" [ref=e557] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=9
|
||||
- img [ref=e558]
|
||||
- text: Inspect exception
|
||||
- navigation "Pagination navigation" [ref=e561]:
|
||||
- generic [ref=e564]:
|
||||
- generic [ref=e566]: Per page
|
||||
- combobox "Per page" [ref=e568]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
226
.playwright-mcp/page-2026-06-05T02-49-49-929Z.yml
Normal file
226
.playwright-mcp/page-2026-06-05T02-49-49-929Z.yml
Normal file
@ -0,0 +1,226 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e160]:
|
||||
- heading "Governance Inbox" [level=1] [ref=e161]
|
||||
- paragraph [ref=e162]: Daily operator queue for governance follow-up, accepted risk, evidence gaps, and review handoff.
|
||||
- generic [ref=e165]:
|
||||
- generic [ref=e166]:
|
||||
- generic [ref=e167]:
|
||||
- generic [ref=e168]:
|
||||
- generic [ref=e169]:
|
||||
- paragraph [ref=e170]: Open governance work
|
||||
- heading "1 open governance item needs attention" [level=2] [ref=e171]
|
||||
- paragraph [ref=e172]: The inbox turns current findings, accepted-risk records, evidence gaps, review follow-up, and blocked operations into one operator queue.
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e176]: "Workspace: wp"
|
||||
- generic [ref=e179]: "Source focus: All source families"
|
||||
- generic [ref=e182]: "Environment: Spec342 Demo Accepted Risks"
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e185]: "Environment filter:"
|
||||
- generic [ref=e186]: Spec342 Demo Accepted Risks
|
||||
- link "Clear filter" [ref=e187] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e192]: Next recommended action
|
||||
- 'heading "Review accepted risk: Finding #4" [level=3] [ref=e193]'
|
||||
- generic [ref=e194]:
|
||||
- generic [ref=e197]: Risk / exception review
|
||||
- generic [ref=e200]: Expiring
|
||||
- generic [ref=e203]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e204]:
|
||||
- generic [ref=e205]:
|
||||
- term [ref=e206]: Reason
|
||||
- definition [ref=e207]: Pending owner confirmation.
|
||||
- generic [ref=e208]:
|
||||
- term [ref=e209]: Impact
|
||||
- definition [ref=e210]: Accepted risk expiring
|
||||
- generic [ref=e211]:
|
||||
- link "Review accepted risk" [ref=e212] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2&nav%5Bsource_surface%5D=governance.inbox&nav%5Bcanonical_route_name%5D=filament.admin.pages.governance.inbox&nav%5Benvironment_id%5D=41&nav%5Bback_label%5D=Back+to+governance+inbox&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fgovernance%2Finbox%3Fenvironment_id%3D41
|
||||
- img [ref=e213]
|
||||
- text: Review accepted risk
|
||||
- link "View lane" [ref=e215] [cursor=pointer]:
|
||||
- /url: "#lane-risk_exception_review"
|
||||
- generic [ref=e217]:
|
||||
- generic [ref=e218]:
|
||||
- paragraph [ref=e219]: Risk / exception review
|
||||
- generic [ref=e222]: "1"
|
||||
- paragraph [ref=e223]: Accepted-risk and exception records that need approval, renewal, closure, or support review.
|
||||
- generic [ref=e224]:
|
||||
- generic [ref=e227]: Needs triage · Clear
|
||||
- generic [ref=e230]: Requires decision · Clear
|
||||
- generic [ref=e233]: Evidence required · Clear
|
||||
- generic [ref=e236]: Blocked · Clear
|
||||
- generic [ref=e237]:
|
||||
- generic [ref=e238]:
|
||||
- heading "Primary inbox lanes" [level=2] [ref=e239]
|
||||
- paragraph [ref=e240]: Active operator work stays grouped by the next path needed to clear it. Supporting source context stays below the fold.
|
||||
- generic [ref=e241]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]:
|
||||
- heading "Risk / exception review" [level=3] [ref=e245]
|
||||
- generic [ref=e248]: "1"
|
||||
- paragraph [ref=e249]: Accepted-risk and exception records that need approval, renewal, closure, or support review.
|
||||
- list [ref=e250]:
|
||||
- listitem [ref=e251]:
|
||||
- generic [ref=e252]:
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]:
|
||||
- generic [ref=e257]: Risk / exception review
|
||||
- generic [ref=e260]: Expiring
|
||||
- generic [ref=e263]: Spec342 Demo Accepted Risks
|
||||
- 'heading "Finding #4" [level=4] [ref=e264]'
|
||||
- paragraph [ref=e265]: Pending owner confirmation.
|
||||
- link "Review accepted risk" [ref=e266] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2&nav%5Bsource_surface%5D=governance.inbox&nav%5Bcanonical_route_name%5D=filament.admin.pages.governance.inbox&nav%5Benvironment_id%5D=41&nav%5Bback_label%5D=Back+to+governance+inbox&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fgovernance%2Finbox%3Fenvironment_id%3D41
|
||||
- img [ref=e267]
|
||||
- text: Review accepted risk
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e270]:
|
||||
- term [ref=e271]: Reason
|
||||
- definition [ref=e272]: Pending owner confirmation.
|
||||
- generic [ref=e273]:
|
||||
- term [ref=e274]: Impact
|
||||
- definition [ref=e275]: Accepted risk expiring
|
||||
- group [ref=e276]:
|
||||
- generic "More context" [ref=e277] [cursor=pointer]
|
||||
- group [ref=e278]:
|
||||
- generic "Source detail" [ref=e279] [cursor=pointer]
|
||||
- group [ref=e280]:
|
||||
- generic "Diagnostics / source detail · Collapsed" [ref=e281] [cursor=pointer]
|
||||
- generic:
|
||||
- status
|
||||
394
.playwright-mcp/page-2026-06-05T02-50-06-577Z.yml
Normal file
394
.playwright-mcp/page-2026-06-05T02-50-06-577Z.yml
Normal file
@ -0,0 +1,394 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Evidence Overview" [level=1] [ref=e161]
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]
|
||||
- generic [ref=e167]:
|
||||
- generic [ref=e169]:
|
||||
- generic [ref=e170]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e174]: Environment proof scope
|
||||
- generic [ref=e177]: Evidence proof workbench
|
||||
- heading "Is this evidence package ready for customer or auditor consumption?" [level=2] [ref=e178]
|
||||
- paragraph [ref=e179]: What proof is available for this scope? Filtered to Spec342 Demo Evidence Incomplete. Proof states below are derived from records directly attributed to this environment.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]: "Environment filter:"
|
||||
- generic [ref=e183]: Spec342 Demo Evidence Incomplete
|
||||
- link "Clear filter" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- generic [ref=e185]:
|
||||
- main [ref=e186]:
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e191]: Primary proof path
|
||||
- generic [ref=e192]: Customer-safe review required
|
||||
- link "Review customer output" [ref=e193] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=38
|
||||
- img [ref=e194]
|
||||
- text: Review customer output
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e197]:
|
||||
- heading "Spec342 Demo Evidence Incomplete" [level=3] [ref=e198]
|
||||
- paragraph [ref=e199]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e201]:
|
||||
- term [ref=e202]: Status
|
||||
- definition [ref=e203]: Customer-safe review required
|
||||
- generic [ref=e204]:
|
||||
- term [ref=e205]: Reason
|
||||
- definition [ref=e206]: A review pack exists, but customer-safe output has not been confirmed by repo-backed review/package readiness.
|
||||
- generic [ref=e207]:
|
||||
- term [ref=e208]: Impact
|
||||
- definition [ref=e209]: Do not share the pack externally until it has been reviewed.
|
||||
- generic [ref=e210]:
|
||||
- term [ref=e211]: Evidence path
|
||||
- definition [ref=e212]: "Environment scope selected · Snapshot: Available · Stored report: Available · Review pack: Available · Customer-safe output: Needs review · Export: Available · Operation #24"
|
||||
- generic [ref=e213]:
|
||||
- term [ref=e214]: Primary next action
|
||||
- definition [ref=e215]:
|
||||
- generic [ref=e216]: Review customer output
|
||||
- paragraph [ref=e217]: Opens the customer review workspace before any external sharing decision.
|
||||
- complementary [ref=e218]:
|
||||
- generic [ref=e219]:
|
||||
- generic [ref=e220]:
|
||||
- heading "Evidence proof" [level=3] [ref=e221]
|
||||
- paragraph [ref=e222]: Evidence path rows list only repo-supported proof sources. Missing pieces stay explicit.
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e225]:
|
||||
- generic [ref=e226]:
|
||||
- generic [ref=e227]: Source data
|
||||
- paragraph [ref=e228]: Workspace and environment scope are established.
|
||||
- generic [ref=e229]: Available
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]:
|
||||
- generic [ref=e232]:
|
||||
- generic [ref=e233]: Evidence snapshot
|
||||
- paragraph [ref=e234]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- generic [ref=e235]: Partially complete
|
||||
- link "Open proof" [ref=e236] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e237]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]: Stored report / export
|
||||
- paragraph [ref=e241]: Entra admin roles report
|
||||
- generic [ref=e242]: Available
|
||||
- link "Open proof" [ref=e243] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/stored-reports/5
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e247]: Review pack
|
||||
- paragraph [ref=e248]: Customer-review artifact exists for this evidence path.
|
||||
- generic [ref=e249]: Ready
|
||||
- link "Open proof" [ref=e250] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/review-packs/4
|
||||
- generic [ref=e251]:
|
||||
- generic [ref=e252]:
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]: Operation proof
|
||||
- paragraph [ref=e255]: environment.review_pack.generate · Succeeded · Started 2026-06-01 00:57:15 · Completed 2026-06-01 00:59:15 · Requested by Spec342 Demo Operator
|
||||
- generic [ref=e256]: Available
|
||||
- link "Open operation" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations/24
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: Export artifact
|
||||
- paragraph [ref=e262]: Signed download is available for authorized users.
|
||||
- generic [ref=e263]: Available
|
||||
- link "Download export" [ref=e264] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/review-packs/4/download?expires=1780631406&signature=1deea69dd3b9c33ed033b1b2117eeae3fe4789d98d1cd84ecfd03d1ffecf1f7a
|
||||
- generic [ref=e265]:
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Customer-safe state
|
||||
- paragraph [ref=e269]: Readiness is not confirmed.
|
||||
- generic [ref=e270]: Needs review
|
||||
- link "Open customer workspace" [ref=e271] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=38
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]: Diagnostics
|
||||
- paragraph [ref=e276]: Raw report metadata, raw evidence payloads, generation diagnostics, export diagnostics, provider diagnostics, stack traces, and internal exceptions stay collapsed by default.
|
||||
- generic [ref=e277]: Collapsed
|
||||
- group [ref=e278]:
|
||||
- generic "Diagnostics - Collapsed" [ref=e279] [cursor=pointer]
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]:
|
||||
- heading "Evidence readiness flow" [level=2] [ref=e283]
|
||||
- paragraph [ref=e284]: Customer-safe evidence requires source data, evidence snapshot, stored report, review pack, and export readiness.
|
||||
- list "Evidence readiness pipeline" [ref=e285]:
|
||||
- listitem [ref=e286]:
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]:
|
||||
- generic [ref=e289]: "1"
|
||||
- generic [ref=e290]:
|
||||
- generic [ref=e291]: Source data selected
|
||||
- generic [ref=e293]: Available
|
||||
- paragraph [ref=e294]: Environment scope is established from the workspace context.
|
||||
- generic [ref=e296]: →
|
||||
- listitem [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]: "2"
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]: Evidence snapshot
|
||||
- generic [ref=e304]: Available
|
||||
- paragraph [ref=e305]: Snapshot proof exists.
|
||||
- generic [ref=e307]: →
|
||||
- listitem [ref=e308]:
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e310]:
|
||||
- generic [ref=e311]: "3"
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: Stored report
|
||||
- generic [ref=e315]: Available
|
||||
- paragraph [ref=e316]: Stored report exists.
|
||||
- generic [ref=e318]: →
|
||||
- listitem [ref=e319]:
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]: "4"
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: Review pack
|
||||
- generic [ref=e326]: Available
|
||||
- paragraph [ref=e327]: Review pack exists.
|
||||
- generic [ref=e329]: →
|
||||
- listitem [ref=e330]:
|
||||
- generic [ref=e331]:
|
||||
- generic [ref=e332]:
|
||||
- generic [ref=e333]: "5"
|
||||
- generic [ref=e334]:
|
||||
- generic [ref=e335]: Customer-safe output
|
||||
- generic [ref=e337]: Needs review
|
||||
- paragraph [ref=e338]: Readiness is not confirmed.
|
||||
- generic [ref=e340]: →
|
||||
- listitem [ref=e341]:
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]: "6"
|
||||
- generic [ref=e345]:
|
||||
- generic [ref=e346]: Export / delivery
|
||||
- generic [ref=e348]: Available
|
||||
- paragraph [ref=e349]: Authorized download is available.
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- heading "Review pack contents / coverage" [level=3] [ref=e352]
|
||||
- paragraph [ref=e353]: Repo-backed values only.
|
||||
- paragraph [ref=e354]: Coverage values are derived from the generated review-pack summary and file metadata.
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e356]:
|
||||
- generic [ref=e357]: Findings included
|
||||
- generic [ref=e358]: "87"
|
||||
- generic [ref=e359]:
|
||||
- generic [ref=e360]: Reports included
|
||||
- generic [ref=e361]: "0"
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]: Generated files
|
||||
- generic [ref=e364]: "1"
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]:
|
||||
- heading "Evidence inventory" [level=2] [ref=e367]
|
||||
- paragraph [ref=e368]: Secondary context for scanning historical proof records after the current path is clear.
|
||||
- generic [ref=e371]:
|
||||
- generic [ref=e374]:
|
||||
- generic [ref=e375]:
|
||||
- generic [ref=e376]: Search
|
||||
- generic [ref=e377]:
|
||||
- img [ref=e379]
|
||||
- searchbox "Search" [ref=e382]
|
||||
- button "Filter" [ref=e385] [cursor=pointer]:
|
||||
- img [ref=e386]
|
||||
- generic [ref=e389]: "1"
|
||||
- generic [ref=e390]:
|
||||
- generic [ref=e391]:
|
||||
- generic [ref=e392]: Active filters
|
||||
- generic [ref=e394]:
|
||||
- generic [ref=e396]: "Environment: Spec342 Demo Evidence Incomplete"
|
||||
- button "Remove filter" [ref=e397] [cursor=pointer]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e400]: Remove filter
|
||||
- button [ref=e401] [cursor=pointer]:
|
||||
- img [ref=e402]
|
||||
- table [ref=e405]:
|
||||
- rowgroup [ref=e406]:
|
||||
- row "Environment Outcome Generated Next step" [ref=e407]:
|
||||
- columnheader "Environment" [ref=e408]:
|
||||
- button "Environment" [ref=e409] [cursor=pointer]:
|
||||
- text: Environment
|
||||
- img [ref=e410]
|
||||
- columnheader "Outcome" [ref=e412]:
|
||||
- button "Outcome" [ref=e413] [cursor=pointer]:
|
||||
- text: Outcome
|
||||
- img [ref=e414]
|
||||
- columnheader "Generated" [ref=e416]:
|
||||
- button "Generated" [ref=e417] [cursor=pointer]:
|
||||
- text: Generated
|
||||
- img [ref=e418]
|
||||
- columnheader "Next step" [ref=e420]
|
||||
- rowgroup [ref=e421]:
|
||||
- row "Spec342 Demo Evidence Incomplete Partially complete TenantPilot recorded a missing or invalid prerequisite for this workflow. 2026-06-01 00:53:15 Refresh evidence before using this snapshot" [ref=e422]:
|
||||
- cell "Spec342 Demo Evidence Incomplete" [ref=e423]:
|
||||
- link "Spec342 Demo Evidence Incomplete" [ref=e424] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e425]: Spec342 Demo Evidence Incomplete
|
||||
- cell "Partially complete TenantPilot recorded a missing or invalid prerequisite for this workflow." [ref=e426]:
|
||||
- link "Partially complete TenantPilot recorded a missing or invalid prerequisite for this workflow." [ref=e427] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e428]:
|
||||
- paragraph [ref=e429]:
|
||||
- generic [ref=e430]:
|
||||
- img [ref=e431]
|
||||
- text: Partially complete
|
||||
- paragraph [ref=e433]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- cell "2026-06-01 00:53:15" [ref=e434]:
|
||||
- link "2026-06-01 00:53:15" [ref=e435] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e436]: 2026-06-01 00:53:15
|
||||
- cell "Refresh evidence before using this snapshot" [ref=e437]:
|
||||
- link "Refresh evidence before using this snapshot" [ref=e438] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e439]: Refresh evidence before using this snapshot
|
||||
- navigation "Pagination navigation" [ref=e440]:
|
||||
- generic [ref=e443]:
|
||||
- generic [ref=e445]: Per page
|
||||
- combobox "Per page" [ref=e447]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
337
.playwright-mcp/page-2026-06-05T02-50-32-422Z.yml
Normal file
337
.playwright-mcp/page-2026-06-05T02-50-32-422Z.yml
Normal file
@ -0,0 +1,337 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec342 Demo Accepted Risks
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- generic [ref=e39]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e42] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- complementary [ref=e45]:
|
||||
- navigation [ref=e48]:
|
||||
- 'link "Workspace: wp" [ref=e49] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e51]
|
||||
- generic [ref=e53]:
|
||||
- generic [ref=e54]: Workspace
|
||||
- generic "wp" [ref=e55]
|
||||
- generic [ref=e56]: 5 environments
|
||||
- img [ref=e57]
|
||||
- list [ref=e59]:
|
||||
- listitem [ref=e60]:
|
||||
- list [ref=e61]:
|
||||
- listitem [ref=e62]:
|
||||
- link "Overview" [ref=e63] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e64]
|
||||
- generic [ref=e66]: Overview
|
||||
- listitem [ref=e67]:
|
||||
- generic [ref=e68] [cursor=pointer]:
|
||||
- generic [ref=e69]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e70]:
|
||||
- img [ref=e71]
|
||||
- list [ref=e73]:
|
||||
- listitem [ref=e74]:
|
||||
- link "Finding exceptions" [ref=e75] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e76]
|
||||
- generic [ref=e78]: Finding exceptions
|
||||
- listitem [ref=e79]:
|
||||
- link "Operations" [ref=e80] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e81]
|
||||
- generic [ref=e83]: Operations
|
||||
- listitem [ref=e84]:
|
||||
- link "Alerts" [ref=e85] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e86]
|
||||
- generic [ref=e88]: Alerts
|
||||
- listitem [ref=e89]:
|
||||
- link "Evidence" [ref=e90] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e91]
|
||||
- generic [ref=e93]: Evidence
|
||||
- listitem [ref=e94]:
|
||||
- link "Audit Log" [ref=e95] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e96]
|
||||
- generic [ref=e98]: Audit Log
|
||||
- listitem [ref=e99]:
|
||||
- generic [ref=e100] [cursor=pointer]:
|
||||
- generic [ref=e101]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e102]:
|
||||
- img [ref=e103]
|
||||
- list [ref=e105]:
|
||||
- listitem [ref=e106]:
|
||||
- link "Reviews" [ref=e107] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e108]
|
||||
- generic [ref=e110]: Reviews
|
||||
- listitem [ref=e111]:
|
||||
- link "Customer reviews" [ref=e112] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e113]
|
||||
- generic [ref=e115]: Customer reviews
|
||||
- listitem [ref=e116]:
|
||||
- generic [ref=e117] [cursor=pointer]:
|
||||
- generic [ref=e118]: Settings
|
||||
- button "Settings" [expanded] [ref=e119]:
|
||||
- img [ref=e120]
|
||||
- list [ref=e122]:
|
||||
- listitem [ref=e123]:
|
||||
- link "Manage workspaces" [ref=e124] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e125]
|
||||
- generic [ref=e127]: Manage workspaces
|
||||
- listitem [ref=e128]:
|
||||
- link "Integrations" [ref=e129] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]: Integrations
|
||||
- listitem [ref=e133]:
|
||||
- link "Settings" [ref=e134] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e135]
|
||||
- generic [ref=e138]: Settings
|
||||
- listitem [ref=e139]:
|
||||
- generic [ref=e140] [cursor=pointer]:
|
||||
- generic [ref=e141]: Governance
|
||||
- button "Governance" [expanded] [ref=e142]:
|
||||
- img [ref=e143]
|
||||
- list [ref=e145]:
|
||||
- listitem [ref=e146]:
|
||||
- link "Governance inbox" [ref=e147] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e148]
|
||||
- generic [ref=e150]: Governance inbox
|
||||
- listitem [ref=e151]:
|
||||
- link "Decision register" [ref=e152] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e153]
|
||||
- generic [ref=e155]: Decision register
|
||||
- main [ref=e157]:
|
||||
- generic [ref=e159]:
|
||||
- generic [ref=e160]:
|
||||
- 'heading "Operation #24" [level=1] [ref=e162]'
|
||||
- generic [ref=e164]:
|
||||
- 'button "Environment scope: Spec342 Demo Accepted Risks" [disabled]'
|
||||
- link "Back to Operations" [ref=e165] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- link "Show all operations" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- link "Refresh" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations/24
|
||||
- img [ref=e168]
|
||||
- text: Refresh
|
||||
- button "More" [ref=e172] [cursor=pointer]:
|
||||
- img [ref=e173]
|
||||
- generic [ref=e177]:
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e179]: Current environment context differs from this operation
|
||||
- paragraph [ref=e180]: "Current environment context: Spec342 Demo Accepted Risks. Operation environment: Spec342 Demo Evidence Incomplete. This canonical workspace view remains valid without switching environment context."
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e185]:
|
||||
- generic [ref=e187]:
|
||||
- heading "Review pack generation" [level=2] [ref=e188]
|
||||
- paragraph [ref=e189]: "Operation #24"
|
||||
- generic [ref=e192]:
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e194]:
|
||||
- img [ref=e195]
|
||||
- generic [ref=e198]: Operation finished
|
||||
- generic [ref=e199]:
|
||||
- img [ref=e200]
|
||||
- generic [ref=e203]: Completed successfully
|
||||
- generic [ref=e204]: Decision guidance and high-signal context stay ahead of diagnostic payloads and raw JSON.
|
||||
- generic [ref=e206]:
|
||||
- generic [ref=e207]:
|
||||
- generic [ref=e208]: Target
|
||||
- generic [ref=e210]: No target scope details were recorded for this operation.
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]: Elapsed
|
||||
- generic [ref=e214]: 2 minutes
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e217]:
|
||||
- heading "Decision" [level=2] [ref=e218]
|
||||
- paragraph [ref=e219]: Start here to see what happened, how reliable the resulting artifact is, what was affected, and the one next step.
|
||||
- generic [ref=e222]:
|
||||
- generic [ref=e225]:
|
||||
- generic [ref=e226]:
|
||||
- generic [ref=e227]: Execution state
|
||||
- generic [ref=e229]:
|
||||
- img [ref=e230]
|
||||
- generic [ref=e233]: Operation finished
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]: Outcome
|
||||
- generic [ref=e237]:
|
||||
- img [ref=e238]
|
||||
- generic [ref=e241]: Completed successfully
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Artifact impact
|
||||
- generic [ref=e245]:
|
||||
- img [ref=e246]
|
||||
- generic [ref=e250]: Internal only
|
||||
- generic [ref=e251]: The pack finished, but it should stay internal until the source review is refreshed.
|
||||
- generic [ref=e252]:
|
||||
- generic [ref=e253]: Dominant cause
|
||||
- generic [ref=e255]: Review Pack Missing Snapshot
|
||||
- generic [ref=e256]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]: Result trust
|
||||
- generic [ref=e260]: Not usable yet
|
||||
- generic [ref=e261]: This output is not reliable enough to support the intended operator action yet.
|
||||
- generic [ref=e262]:
|
||||
- generic [ref=e263]: Sharing scope
|
||||
- generic [ref=e265]: The pack is suitable for internal follow-up only in its current state.
|
||||
- generic [ref=e266]: Backed by related artifact truth.
|
||||
- generic [ref=e268]:
|
||||
- generic [ref=e269]: Primary next step
|
||||
- generic [ref=e270]: Refresh the source review before sharing this pack.
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e272]:
|
||||
- generic [ref=e273]: Guidance
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e276]:
|
||||
- heading "Guidance" [level=2] [ref=e277]
|
||||
- paragraph [ref=e278]: Secondary guidance explains caveats and context without competing with the primary next step.
|
||||
- generic [ref=e283]:
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Result trust
|
||||
- generic [ref=e287]: Not usable yet
|
||||
- generic [ref=e288]: This output is not reliable enough to support the intended operator action yet.
|
||||
- generic [ref=e289]:
|
||||
- generic [ref=e290]: Result meaning
|
||||
- generic [ref=e292]: Result unavailable
|
||||
- generic [ref=e293]: The artifact exists, but freshness limits how confidently it should be used.
|
||||
- generic [ref=e294]:
|
||||
- generic [ref=e295]: Secondary causes
|
||||
- generic [ref=e297]: Source review is stale · Internal-only outcome
|
||||
- generic [ref=e298]: Additional contributing causes stay visible without replacing the dominant cause.
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]: Coverage
|
||||
- generic [ref=e302]: The artifact exists, but freshness limits how confidently it should be used.
|
||||
- generic [ref=e303]:
|
||||
- generic [ref=e304]: Diagnostics summary
|
||||
- generic [ref=e306]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]: Lifecycle
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e311]:
|
||||
- heading "Lifecycle" [level=2] [ref=e312]
|
||||
- paragraph [ref=e313]: Lifecycle context explains freshness, reconciliation, and tenant-scoped caveats.
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]:
|
||||
- generic [ref=e320]: ManagedEnvironment lifecycle
|
||||
- generic [ref=e322]:
|
||||
- img [ref=e323]
|
||||
- generic [ref=e326]: Active
|
||||
- generic [ref=e327]:
|
||||
- generic [ref=e328]: Freshness
|
||||
- generic [ref=e330]: Terminal truth confirmed
|
||||
- generic [ref=e331]:
|
||||
- generic [ref=e332]: Timing
|
||||
- generic [ref=e333]:
|
||||
- heading "Timing" [level=2] [ref=e336]
|
||||
- generic [ref=e341]:
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]: Created
|
||||
- generic [ref=e345]: Mon, Jun 1, 2026 1:05 AM
|
||||
- generic [ref=e346]:
|
||||
- generic [ref=e347]: Started
|
||||
- generic [ref=e349]: Mon, Jun 1, 2026 12:57 AM
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]: Completed
|
||||
- generic [ref=e353]: Mon, Jun 1, 2026 12:59 AM
|
||||
- generic [ref=e354]:
|
||||
- generic [ref=e355]: Elapsed
|
||||
- generic [ref=e357]: 2 minutes
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]: Metadata
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e362]:
|
||||
- heading "Metadata" [level=2] [ref=e363]
|
||||
- paragraph [ref=e364]: Secondary metadata remains visible without crowding the top decision surface.
|
||||
- generic [ref=e369]:
|
||||
- generic [ref=e370]:
|
||||
- generic [ref=e371]: Initiator
|
||||
- generic [ref=e373]: Spec342 Demo Operator
|
||||
- generic [ref=e374]:
|
||||
- generic [ref=e375]: Expected duration
|
||||
- generic [ref=e377]: Typically ~1 min
|
||||
- generic [ref=e378]:
|
||||
- generic [ref=e379]:
|
||||
- heading "Related context" [level=2] [ref=e382]
|
||||
- generic [ref=e387]:
|
||||
- generic [ref=e388]: Operations
|
||||
- generic [ref=e389]:
|
||||
- generic [ref=e390]:
|
||||
- link "Operations" [ref=e391] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations?nav%5Bsource_surface%5D=operation_run.detail_section&nav%5Bcanonical_route_name%5D=admin.operations.index&nav%5Benvironment_id%5D=38&nav%5Bback_label%5D=Back%20to%20operations&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fworkspaces%2F3%2Foperations%3Fenvironment_id%3D38&environment_id=38
|
||||
- generic [ref=e392]: Spec342 Demo Evidence Incomplete
|
||||
- generic [ref=e393]:
|
||||
- generic [ref=e396]: ManagedEnvironment context
|
||||
- link "Open operations" [ref=e397] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations?nav%5Bsource_surface%5D=operation_run.detail_section&nav%5Bcanonical_route_name%5D=admin.operations.index&nav%5Benvironment_id%5D=38&nav%5Bback_label%5D=Back%20to%20operations&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fworkspaces%2F3%2Foperations%3Fenvironment_id%3D38&environment_id=38
|
||||
- img [ref=e398]
|
||||
- text: Open operations
|
||||
- generic [ref=e402] [cursor=pointer]:
|
||||
- generic [ref=e403]:
|
||||
- heading "Artifact truth details" [level=2] [ref=e404]
|
||||
- paragraph [ref=e405]: Detailed artifact-truth context explains evidence quality and caveats without repeating the top decision summary.
|
||||
- button [ref=e406]:
|
||||
- img [ref=e407]
|
||||
- generic [ref=e411] [cursor=pointer]:
|
||||
- generic [ref=e412]:
|
||||
- heading "Context" [level=2] [ref=e413]
|
||||
- paragraph [ref=e414]: Stored run context stays available for debugging without dominating the default reading path.
|
||||
- button [ref=e415]:
|
||||
- img [ref=e416]
|
||||
- generic [ref=e418]:
|
||||
- heading "Monitoring detail" [level=2] [ref=e421]
|
||||
- generic [ref=e423]:
|
||||
- paragraph [ref=e424]: Scope context, return navigation, utility, related drilldowns, and run-specific follow-up stay in separate lanes on this viewer.
|
||||
- generic [ref=e425]:
|
||||
- generic [ref=e426]:
|
||||
- paragraph [ref=e427]: Scope context
|
||||
- paragraph [ref=e428]: "Environment scope: Spec342 Demo Accepted Risks"
|
||||
- paragraph [ref=e429]: The current workspace or tenant scope remains visible without behaving like a primary task action.
|
||||
- generic [ref=e430]:
|
||||
- paragraph [ref=e431]: Navigation lane
|
||||
- paragraph [ref=e432]: Back to Operations
|
||||
- paragraph [ref=e433]: Return to the operations landing when this review is complete.
|
||||
- generic [ref=e434]:
|
||||
- paragraph [ref=e435]: Utility lane
|
||||
- paragraph [ref=e436]: Refresh
|
||||
- paragraph [ref=e437]: Refresh keeps the current run state accurate without changing scope.
|
||||
- generic [ref=e438]:
|
||||
- paragraph [ref=e439]: Related drilldown
|
||||
- paragraph [ref=e440]: Open
|
||||
- paragraph [ref=e441]: Open keeps secondary drilldowns grouped under one control when downstream context exists.
|
||||
- generic [ref=e442]:
|
||||
- paragraph [ref=e443]: Follow-up lane
|
||||
- paragraph [ref=e444]: No follow-up action
|
||||
- paragraph [ref=e445]: No run-specific follow-up is currently available.
|
||||
- generic:
|
||||
- status
|
||||
463
.playwright-mcp/page-2026-06-05T02-50-46-333Z.yml
Normal file
463
.playwright-mcp/page-2026-06-05T02-50-46-333Z.yml
Normal file
@ -0,0 +1,463 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 352 Guidance Browser Audit" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 352 Guidance Browser Audit
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 352 Audit No Urgent Action
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- generic [ref=e39]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "6"
|
||||
- button "User menu" [ref=e42] [cursor=pointer]:
|
||||
- img "Avatar of Spec 352 Requester" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- complementary [ref=e45]:
|
||||
- navigation [ref=e48]:
|
||||
- 'link "Environment: Spec 352 Audit No Urgent Action" [ref=e49] [cursor=pointer]':
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent
|
||||
- img [ref=e51]
|
||||
- generic [ref=e53]:
|
||||
- generic [ref=e54]: Environment
|
||||
- generic "Spec 352 Audit No Urgent Action" [ref=e55]
|
||||
- generic [ref=e56]: "Workspace: Spec 352 Guidance Browser Audit"
|
||||
- img [ref=e57]
|
||||
- list [ref=e59]:
|
||||
- listitem [ref=e60]:
|
||||
- list [ref=e61]:
|
||||
- listitem [ref=e62]:
|
||||
- link "Overview" [ref=e63] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent
|
||||
- img [ref=e64]
|
||||
- generic [ref=e66]: Overview
|
||||
- listitem [ref=e67]:
|
||||
- generic [ref=e68] [cursor=pointer]:
|
||||
- generic [ref=e69]: Inventory
|
||||
- button "Inventory" [expanded] [ref=e70]:
|
||||
- img [ref=e71]
|
||||
- list [ref=e73]:
|
||||
- listitem [ref=e74]:
|
||||
- link "Items" [ref=e75] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/inventory
|
||||
- img [ref=e76]
|
||||
- generic [ref=e78]: Items
|
||||
- listitem [ref=e79]:
|
||||
- link "Policies" [ref=e80] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/policies
|
||||
- img [ref=e81]
|
||||
- generic [ref=e83]: Policies
|
||||
- listitem [ref=e84]:
|
||||
- link "Policy Versions" [ref=e85] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/policy-versions
|
||||
- img [ref=e86]
|
||||
- generic [ref=e88]: Policy Versions
|
||||
- listitem [ref=e89]:
|
||||
- link "Coverage" [ref=e90] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/inventory/inventory-coverage
|
||||
- img [ref=e91]
|
||||
- generic [ref=e93]: Coverage
|
||||
- listitem [ref=e94]:
|
||||
- generic [ref=e95] [cursor=pointer]:
|
||||
- generic [ref=e96]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e97]:
|
||||
- img [ref=e98]
|
||||
- list [ref=e100]:
|
||||
- listitem [ref=e101]:
|
||||
- link "Reviews" [ref=e102] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/environment-reviews
|
||||
- img [ref=e103]
|
||||
- generic [ref=e105]: Reviews
|
||||
- listitem [ref=e106]:
|
||||
- link "Stored reports" [ref=e107] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/stored-reports
|
||||
- img [ref=e108]
|
||||
- generic [ref=e110]: Stored reports
|
||||
- listitem [ref=e111]:
|
||||
- link "Review Packs" [ref=e112] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/review-packs
|
||||
- img [ref=e113]
|
||||
- generic [ref=e115]: Review Packs
|
||||
- listitem [ref=e116]:
|
||||
- generic [ref=e117] [cursor=pointer]:
|
||||
- generic [ref=e118]: Governance
|
||||
- button "Governance" [expanded] [ref=e119]:
|
||||
- img [ref=e120]
|
||||
- list [ref=e122]:
|
||||
- listitem [ref=e123]:
|
||||
- link "Findings" [ref=e124] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/findings
|
||||
- img [ref=e125]
|
||||
- generic [ref=e127]: Findings
|
||||
- listitem [ref=e128]:
|
||||
- link "Baselines" [ref=e129] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-profiles
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]: Baselines
|
||||
- listitem [ref=e133]:
|
||||
- link "Baseline Snapshots" [ref=e134] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/baseline-snapshots
|
||||
- img [ref=e135]
|
||||
- generic [ref=e138]: Baseline Snapshots
|
||||
- listitem [ref=e139]:
|
||||
- link "Baseline Compare" [ref=e140] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent/baseline-compare
|
||||
- img [ref=e141]
|
||||
- generic [ref=e143]: Baseline Compare
|
||||
- listitem [ref=e144]:
|
||||
- link "Evidence" [ref=e145] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/evidence
|
||||
- img [ref=e146]
|
||||
- generic [ref=e148]: Evidence
|
||||
- listitem [ref=e149]:
|
||||
- link "Risk exceptions" [ref=e150] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/finding-exceptions
|
||||
- img [ref=e151]
|
||||
- generic [ref=e153]: Risk exceptions
|
||||
- listitem [ref=e154]:
|
||||
- generic [ref=e155] [cursor=pointer]:
|
||||
- generic [ref=e156]: Backups & Restore
|
||||
- button "Backups & Restore" [expanded] [ref=e157]:
|
||||
- img [ref=e158]
|
||||
- list [ref=e160]:
|
||||
- listitem [ref=e161]:
|
||||
- link "Backup Schedules" [ref=e162] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/backup-schedules
|
||||
- img [ref=e163]
|
||||
- generic [ref=e165]: Backup Schedules
|
||||
- listitem [ref=e166]:
|
||||
- link "Backup Sets" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/backup-sets
|
||||
- img [ref=e168]
|
||||
- generic [ref=e170]: Backup Sets
|
||||
- listitem [ref=e171]:
|
||||
- link "Restore Runs" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/restore-runs
|
||||
- img [ref=e173]
|
||||
- generic [ref=e175]: Restore Runs
|
||||
- listitem [ref=e176]:
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]: Directory
|
||||
- button "Directory" [expanded] [ref=e179]:
|
||||
- img [ref=e180]
|
||||
- list [ref=e182]:
|
||||
- listitem [ref=e183]:
|
||||
- link "Groups" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/entra-groups
|
||||
- img [ref=e185]
|
||||
- generic [ref=e187]: Groups
|
||||
- listitem [ref=e188]:
|
||||
- generic [ref=e189] [cursor=pointer]:
|
||||
- generic [ref=e190]: Workspace-wide
|
||||
- button "Workspace-wide" [expanded] [ref=e191]:
|
||||
- img [ref=e192]
|
||||
- list [ref=e194]:
|
||||
- listitem [ref=e195]:
|
||||
- link "Finding exceptions" [ref=e196] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=53
|
||||
- img [ref=e197]
|
||||
- generic [ref=e199]: Finding exceptions
|
||||
- listitem [ref=e200]:
|
||||
- link "Reviews" [ref=e201] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews?environment_id=53
|
||||
- img [ref=e202]
|
||||
- generic [ref=e204]: Reviews
|
||||
- listitem [ref=e205]:
|
||||
- link "Governance inbox" [ref=e206] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox?environment_id=53
|
||||
- img [ref=e207]
|
||||
- generic [ref=e209]: Governance inbox
|
||||
- listitem [ref=e210]:
|
||||
- link "Decision register" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions?environment_id=53
|
||||
- img [ref=e212]
|
||||
- generic [ref=e214]: Decision register
|
||||
- listitem [ref=e215]:
|
||||
- link "Operations" [ref=e216] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=53
|
||||
- img [ref=e217]
|
||||
- generic [ref=e219]: Operations
|
||||
- listitem [ref=e220]:
|
||||
- link "Alerts" [ref=e221] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts?environment_id=53
|
||||
- img [ref=e222]
|
||||
- generic [ref=e224]: Alerts
|
||||
- listitem [ref=e225]:
|
||||
- link "Evidence" [ref=e226] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview?environment_id=53
|
||||
- img [ref=e227]
|
||||
- generic [ref=e229]: Evidence
|
||||
- listitem [ref=e230]:
|
||||
- link "Audit Log" [ref=e231] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log?environment_id=53
|
||||
- img [ref=e232]
|
||||
- generic [ref=e234]: Audit Log
|
||||
- listitem [ref=e235]:
|
||||
- link "Customer reviews" [ref=e236] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=53
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]: Customer reviews
|
||||
- listitem [ref=e240]:
|
||||
- generic [ref=e241] [cursor=pointer]:
|
||||
- generic [ref=e242]: Workspace admin
|
||||
- button "Workspace admin" [expanded] [ref=e243]:
|
||||
- img [ref=e244]
|
||||
- list [ref=e246]:
|
||||
- listitem [ref=e247]:
|
||||
- link "Manage workspaces" [ref=e248] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e249]
|
||||
- generic [ref=e251]: Manage workspaces
|
||||
- listitem [ref=e252]:
|
||||
- link "Integrations" [ref=e253] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections?environment_id=53
|
||||
- img [ref=e254]
|
||||
- generic [ref=e256]: Integrations
|
||||
- listitem [ref=e257]:
|
||||
- link "Settings" [ref=e258] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e259]
|
||||
- generic [ref=e262]: Settings
|
||||
- main [ref=e264]:
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]:
|
||||
- heading "Spec 352 Audit No Urgent Action Calm" [level=1] [ref=e269]:
|
||||
- generic [ref=e270]:
|
||||
- generic [ref=e271]: Spec 352 Audit No Urgent Action
|
||||
- generic [ref=e272]: Calm
|
||||
- paragraph [ref=e273]: Environment governance overview
|
||||
- button "More" [ref=e278] [cursor=pointer]:
|
||||
- img [ref=e279]
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e288]:
|
||||
- generic [ref=e289]:
|
||||
- img [ref=e290]
|
||||
- 'generic "Workspace: Spec 352 Guidance Browser Audit" [ref=e292]'
|
||||
- generic [ref=e293]:
|
||||
- img [ref=e294]
|
||||
- generic [ref=e299]: Microsoft environment
|
||||
- generic [ref=e300]:
|
||||
- img [ref=e301]
|
||||
- generic [ref=e303]: "Latest activity: 15 hours ago"
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e316]:
|
||||
- link "High severity findings 0 No active pressure" [ref=e319] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/findings?tab=needs_action&high_severity=1
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e322]: High severity findings
|
||||
- generic [ref=e323]: "0"
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]: No active pressure
|
||||
- img [ref=e326]
|
||||
- link "Overdue findings 0 None overdue" [ref=e330] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/findings?tab=overdue
|
||||
- generic [ref=e331]:
|
||||
- generic [ref=e333]: Overdue findings
|
||||
- generic [ref=e334]: "0"
|
||||
- generic [ref=e335]:
|
||||
- generic [ref=e336]: None overdue
|
||||
- img [ref=e337]
|
||||
- link "Missing permissions 0 Permission set complete" [ref=e341] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent/required-permissions
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e344]: Missing permissions
|
||||
- generic [ref=e345]: "0"
|
||||
- generic [ref=e346]:
|
||||
- generic [ref=e347]: Permission set complete
|
||||
- img [ref=e348]
|
||||
- link "Operations needing attention 0 No operations need attention" [ref=e352] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=53&activeTab=active
|
||||
- generic [ref=e353]:
|
||||
- generic [ref=e355]: Operations needing attention
|
||||
- generic [ref=e356]: "0"
|
||||
- generic [ref=e357]:
|
||||
- generic [ref=e358]: No operations need attention
|
||||
- img [ref=e359]
|
||||
- generic [ref=e361]:
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e366]:
|
||||
- generic [ref=e367]:
|
||||
- generic [ref=e368]:
|
||||
- heading "Is this environment ready, blocked, stale, or requiring review?" [level=2] [ref=e369]
|
||||
- generic [ref=e370]: Calm
|
||||
- paragraph [ref=e372]: No urgent operator action
|
||||
- generic [ref=e373]:
|
||||
- generic [ref=e374]:
|
||||
- term [ref=e375]: Status
|
||||
- definition [ref=e376]: Calm
|
||||
- generic [ref=e377]:
|
||||
- term [ref=e378]: Reason
|
||||
- definition [ref=e379]: No immediate environment blocker is visible.
|
||||
- generic [ref=e380]:
|
||||
- term [ref=e381]: Why this matters
|
||||
- definition [ref=e382]: Current findings, permissions, recovery posture, and recent operations do not show an urgent follow-up path.
|
||||
- generic [ref=e383]:
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]: Recommended next action
|
||||
- generic [ref=e386]: Review environment
|
||||
- link "Review environment" [ref=e387] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/environment-reviews
|
||||
- generic [ref=e388]:
|
||||
- heading "Readiness dimensions" [level=2] [ref=e391]
|
||||
- generic [ref=e394]:
|
||||
- generic [ref=e396]:
|
||||
- generic [ref=e398]: Baseline compare
|
||||
- generic [ref=e400]: Ready
|
||||
- paragraph [ref=e401]: Last compared 15 hours ago.
|
||||
- generic [ref=e403]:
|
||||
- generic [ref=e405]: Evidence coverage
|
||||
- generic [ref=e407]: Unavailable
|
||||
- paragraph [ref=e408]: No evidence snapshot is currently available for customer-safe output.
|
||||
- generic [ref=e410]:
|
||||
- generic [ref=e412]: Review freshness
|
||||
- generic [ref=e414]: Not ready
|
||||
- paragraph [ref=e415]: No review is currently available for this environment.
|
||||
- generic [ref=e417]:
|
||||
- generic [ref=e419]: Provider permissions
|
||||
- generic [ref=e421]: Ready
|
||||
- paragraph [ref=e422]: Required permissions currently look complete.
|
||||
- generic [ref=e424]:
|
||||
- generic [ref=e426]: Backup posture
|
||||
- generic [ref=e428]: Healthy
|
||||
- paragraph [ref=e429]: The latest completed backup was 15 hours and 20 minutes ago. Backup health reflects backup inputs only and does not prove restore success.
|
||||
- generic [ref=e431]:
|
||||
- generic [ref=e433]: Current review
|
||||
- generic [ref=e435]: No active review
|
||||
- paragraph [ref=e436]: There is currently no review in progress for this environment.
|
||||
- generic [ref=e438]:
|
||||
- generic [ref=e440]: Risk exceptions
|
||||
- generic [ref=e442]: Calm
|
||||
- paragraph [ref=e443]: No risk exceptions currently need attention.
|
||||
- generic [ref=e445]:
|
||||
- generic [ref=e447]: Provider Health
|
||||
- generic [ref=e449]: Healthy
|
||||
- paragraph [ref=e450]: Required permissions currently look complete.
|
||||
- generic [ref=e452]:
|
||||
- generic [ref=e454]: Customer-safe output
|
||||
- generic [ref=e456]: No customer-safe output
|
||||
- paragraph [ref=e457]: Generate a review pack once review and evidence are ready for handoff.
|
||||
- generic [ref=e458]:
|
||||
- generic [ref=e460]:
|
||||
- heading "Recommended next actions" [level=2] [ref=e461]
|
||||
- paragraph [ref=e462]: Recommended next actions are derived from repo-backed blockers and proof gaps.
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: No immediate action is waiting.
|
||||
- paragraph [ref=e467]: The environment currently looks calm. Use the status and readiness sections below to confirm what is healthy and what is simply unavailable.
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e470]:
|
||||
- heading "Supporting signals" [level=2] [ref=e471]
|
||||
- paragraph [ref=e472]: Additional readiness signals used to explain the current recommendation.
|
||||
- table [ref=e477]:
|
||||
- rowgroup [ref=e478]:
|
||||
- row "Signal State Action" [ref=e479]:
|
||||
- columnheader "Signal" [ref=e480]
|
||||
- columnheader "State" [ref=e481]
|
||||
- columnheader "Action" [ref=e482]
|
||||
- rowgroup [ref=e483]:
|
||||
- row "Baseline assignment Ready Open Baseline Compare" [ref=e484]:
|
||||
- rowheader "Baseline assignment" [ref=e485]
|
||||
- cell "Ready" [ref=e486]:
|
||||
- generic [ref=e487]: Ready
|
||||
- cell "Open Baseline Compare" [ref=e488]:
|
||||
- link "Open Baseline Compare" [ref=e489] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent/baseline-compare
|
||||
- row "Evidence snapshot Unavailable Open evidence" [ref=e490]:
|
||||
- rowheader "Evidence snapshot" [ref=e491]
|
||||
- cell "Unavailable" [ref=e492]:
|
||||
- generic [ref=e493]: Unavailable
|
||||
- cell "Open evidence" [ref=e494]:
|
||||
- link "Open evidence" [ref=e495] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/evidence
|
||||
- row "Review freshness Not ready Open reviews" [ref=e496]:
|
||||
- rowheader "Review freshness" [ref=e497]
|
||||
- cell "Not ready" [ref=e498]:
|
||||
- generic [ref=e499]: Not ready
|
||||
- cell "Open reviews" [ref=e500]:
|
||||
- link "Open reviews" [ref=e501] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/environment-reviews
|
||||
- row "Provider permissions Ready Open required permissions" [ref=e502]:
|
||||
- rowheader "Provider permissions" [ref=e503]
|
||||
- cell "Ready" [ref=e504]:
|
||||
- generic [ref=e505]: Ready
|
||||
- cell "Open required permissions" [ref=e506]:
|
||||
- link "Open required permissions" [ref=e507] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent/required-permissions
|
||||
- row "Backup posture Present Open backup posture" [ref=e508]:
|
||||
- rowheader "Backup posture" [ref=e509]
|
||||
- cell "Present" [ref=e510]:
|
||||
- generic [ref=e511]: Present
|
||||
- cell "Open backup posture" [ref=e512]:
|
||||
- button "Open backup posture" [disabled]
|
||||
- row "Operations follow-up None require review Open operations hub" [ref=e513]:
|
||||
- rowheader "Operations follow-up" [ref=e514]
|
||||
- cell "None require review" [ref=e515]:
|
||||
- generic [ref=e516]: None require review
|
||||
- cell "Open operations hub" [ref=e517]:
|
||||
- link "Open operations hub" [ref=e518] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/operations?environment_id=53&activeTab=active
|
||||
- group [ref=e522]:
|
||||
- generic "Diagnostics - Collapsed" [ref=e523] [cursor=pointer]
|
||||
- generic [ref=e525]:
|
||||
- heading "Readiness proof" [level=2] [ref=e528]
|
||||
- generic [ref=e531]:
|
||||
- generic [ref=e532]:
|
||||
- generic [ref=e533]:
|
||||
- generic [ref=e535]: Baseline compare
|
||||
- generic [ref=e537]: Ready
|
||||
- paragraph [ref=e538]: Last compared 15 hours ago.
|
||||
- link "Open Baseline Compare" [ref=e540] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent/baseline-compare
|
||||
- generic [ref=e541]:
|
||||
- generic [ref=e542]:
|
||||
- generic [ref=e544]: Evidence coverage
|
||||
- generic [ref=e546]: Unavailable
|
||||
- paragraph [ref=e547]: No evidence snapshot is currently available for customer-safe output.
|
||||
- link "Open evidence" [ref=e549] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/evidence
|
||||
- generic [ref=e550]:
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e553]: Review freshness
|
||||
- generic [ref=e555]: Not ready
|
||||
- paragraph [ref=e556]: No review is currently available for this environment.
|
||||
- link "Open reviews" [ref=e558] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/33/environments/spec-352-audit-no-urgent/environment-reviews
|
||||
- generic [ref=e559]:
|
||||
- generic [ref=e560]:
|
||||
- generic [ref=e562]: Provider permissions
|
||||
- generic [ref=e564]: Ready
|
||||
- paragraph [ref=e565]: Required permissions currently look complete.
|
||||
- link "Open required permissions" [ref=e567] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/spec-352-guidance-browser-audit/environments/spec-352-audit-no-urgent/required-permissions
|
||||
- generic [ref=e568]:
|
||||
- generic [ref=e569]:
|
||||
- generic [ref=e571]: Backup posture
|
||||
- generic [ref=e573]: Healthy
|
||||
- paragraph [ref=e574]: The latest completed backup was 15 hours and 20 minutes ago. Backup health reflects backup inputs only and does not prove restore success.
|
||||
- generic [ref=e575]:
|
||||
- button "Open backup posture" [disabled]
|
||||
- generic [ref=e576]:
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e579]: Review pack
|
||||
- generic [ref=e581]: No customer-safe output
|
||||
- paragraph [ref=e582]: Generate a review pack once review and evidence are ready for handoff.
|
||||
- link "View export artifacts" [ref=e584] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=53
|
||||
- generic:
|
||||
- status
|
||||
394
.playwright-mcp/page-2026-06-05T02-51-50-881Z.yml
Normal file
394
.playwright-mcp/page-2026-06-05T02-51-50-881Z.yml
Normal file
@ -0,0 +1,394 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 environments
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Evidence Overview" [level=1] [ref=e161]
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]
|
||||
- generic [ref=e167]:
|
||||
- generic [ref=e169]:
|
||||
- generic [ref=e170]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e174]: Environment proof scope
|
||||
- generic [ref=e177]: Evidence proof workbench
|
||||
- heading "Is this evidence package ready for customer or auditor consumption?" [level=2] [ref=e178]
|
||||
- paragraph [ref=e179]: What proof is available for this scope? Filtered to Spec342 Demo Evidence Incomplete. Proof states below are derived from records directly attributed to this environment.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]: "Environment filter:"
|
||||
- generic [ref=e183]: Spec342 Demo Evidence Incomplete
|
||||
- link "Clear filter" [ref=e184] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- generic [ref=e185]:
|
||||
- main [ref=e186]:
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e191]: Primary proof path
|
||||
- generic [ref=e192]: Customer-safe review required
|
||||
- link "Review customer output" [ref=e193] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=38
|
||||
- img [ref=e194]
|
||||
- text: Review customer output
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e197]:
|
||||
- heading "Spec342 Demo Evidence Incomplete" [level=3] [ref=e198]
|
||||
- paragraph [ref=e199]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e201]:
|
||||
- term [ref=e202]: Status
|
||||
- definition [ref=e203]: Customer-safe review required
|
||||
- generic [ref=e204]:
|
||||
- term [ref=e205]: Reason
|
||||
- definition [ref=e206]: A review pack exists, but customer-safe output has not been confirmed by repo-backed review/package readiness.
|
||||
- generic [ref=e207]:
|
||||
- term [ref=e208]: Impact
|
||||
- definition [ref=e209]: Do not share the pack externally until it has been reviewed.
|
||||
- generic [ref=e210]:
|
||||
- term [ref=e211]: Evidence path
|
||||
- definition [ref=e212]: "Environment scope selected · Snapshot: Available · Stored report: Available · Review pack: Available · Customer-safe output: Needs review · Export: Available · Operation #24"
|
||||
- generic [ref=e213]:
|
||||
- term [ref=e214]: Primary next action
|
||||
- definition [ref=e215]:
|
||||
- generic [ref=e216]: Review customer output
|
||||
- paragraph [ref=e217]: Opens the customer review workspace before any external sharing decision.
|
||||
- complementary [ref=e218]:
|
||||
- generic [ref=e219]:
|
||||
- generic [ref=e220]:
|
||||
- heading "Evidence proof" [level=3] [ref=e221]
|
||||
- paragraph [ref=e222]: Evidence path rows list only repo-supported proof sources. Missing pieces stay explicit.
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e225]:
|
||||
- generic [ref=e226]:
|
||||
- generic [ref=e227]: Source data
|
||||
- paragraph [ref=e228]: Workspace and environment scope are established.
|
||||
- generic [ref=e229]: Available
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]:
|
||||
- generic [ref=e232]:
|
||||
- generic [ref=e233]: Evidence snapshot
|
||||
- paragraph [ref=e234]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- generic [ref=e235]: Partially complete
|
||||
- link "Open proof" [ref=e236] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e237]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]: Stored report / export
|
||||
- paragraph [ref=e241]: Entra admin roles report
|
||||
- generic [ref=e242]: Available
|
||||
- link "Open proof" [ref=e243] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/stored-reports/5
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e247]: Review pack
|
||||
- paragraph [ref=e248]: Customer-review artifact exists for this evidence path.
|
||||
- generic [ref=e249]: Ready
|
||||
- link "Open proof" [ref=e250] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/review-packs/4
|
||||
- generic [ref=e251]:
|
||||
- generic [ref=e252]:
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]: Operation proof
|
||||
- paragraph [ref=e255]: environment.review_pack.generate · Succeeded · Started 2026-06-01 00:57:15 · Completed 2026-06-01 00:59:15 · Requested by Spec342 Demo Operator
|
||||
- generic [ref=e256]: Available
|
||||
- link "Open operation" [ref=e257] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations/24
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: Export artifact
|
||||
- paragraph [ref=e262]: Signed download is available for authorized users.
|
||||
- generic [ref=e263]: Available
|
||||
- link "Download export" [ref=e264] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/review-packs/4/download?expires=1780631510&signature=24e7d9a72e40ed4df6aa02f230b7f4e256315224b9edc556a7f1db2438f17058
|
||||
- generic [ref=e265]:
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Customer-safe state
|
||||
- paragraph [ref=e269]: Readiness is not confirmed.
|
||||
- generic [ref=e270]: Needs review
|
||||
- link "Open customer workspace" [ref=e271] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace?environment_id=38
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]: Diagnostics
|
||||
- paragraph [ref=e276]: Raw report metadata, raw evidence payloads, generation diagnostics, export diagnostics, provider diagnostics, stack traces, and internal exceptions stay collapsed by default.
|
||||
- generic [ref=e277]: Collapsed
|
||||
- group [ref=e278]:
|
||||
- generic "Diagnostics - Collapsed" [ref=e279] [cursor=pointer]
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]:
|
||||
- heading "Evidence readiness flow" [level=2] [ref=e283]
|
||||
- paragraph [ref=e284]: Customer-safe evidence requires source data, evidence snapshot, stored report, review pack, and export readiness.
|
||||
- list "Evidence readiness pipeline" [ref=e285]:
|
||||
- listitem [ref=e286]:
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]:
|
||||
- generic [ref=e289]: "1"
|
||||
- generic [ref=e290]:
|
||||
- generic [ref=e291]: Source data selected
|
||||
- generic [ref=e293]: Available
|
||||
- paragraph [ref=e294]: Environment scope is established from the workspace context.
|
||||
- generic [ref=e296]: →
|
||||
- listitem [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]: "2"
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]: Evidence snapshot
|
||||
- generic [ref=e304]: Available
|
||||
- paragraph [ref=e305]: Snapshot proof exists.
|
||||
- generic [ref=e307]: →
|
||||
- listitem [ref=e308]:
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e310]:
|
||||
- generic [ref=e311]: "3"
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: Stored report
|
||||
- generic [ref=e315]: Available
|
||||
- paragraph [ref=e316]: Stored report exists.
|
||||
- generic [ref=e318]: →
|
||||
- listitem [ref=e319]:
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]: "4"
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: Review pack
|
||||
- generic [ref=e326]: Available
|
||||
- paragraph [ref=e327]: Review pack exists.
|
||||
- generic [ref=e329]: →
|
||||
- listitem [ref=e330]:
|
||||
- generic [ref=e331]:
|
||||
- generic [ref=e332]:
|
||||
- generic [ref=e333]: "5"
|
||||
- generic [ref=e334]:
|
||||
- generic [ref=e335]: Customer-safe output
|
||||
- generic [ref=e337]: Needs review
|
||||
- paragraph [ref=e338]: Readiness is not confirmed.
|
||||
- generic [ref=e340]: →
|
||||
- listitem [ref=e341]:
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]: "6"
|
||||
- generic [ref=e345]:
|
||||
- generic [ref=e346]: Export / delivery
|
||||
- generic [ref=e348]: Available
|
||||
- paragraph [ref=e349]: Authorized download is available.
|
||||
- generic [ref=e350]:
|
||||
- generic [ref=e351]:
|
||||
- heading "Review pack contents / coverage" [level=3] [ref=e352]
|
||||
- paragraph [ref=e353]: Repo-backed values only.
|
||||
- paragraph [ref=e354]: Coverage values are derived from the generated review-pack summary and file metadata.
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e356]:
|
||||
- generic [ref=e357]: Findings included
|
||||
- generic [ref=e358]: "87"
|
||||
- generic [ref=e359]:
|
||||
- generic [ref=e360]: Reports included
|
||||
- generic [ref=e361]: "0"
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e363]: Generated files
|
||||
- generic [ref=e364]: "1"
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]:
|
||||
- heading "Evidence inventory" [level=2] [ref=e367]
|
||||
- paragraph [ref=e368]: Secondary context for scanning historical proof records after the current path is clear.
|
||||
- generic [ref=e371]:
|
||||
- generic [ref=e374]:
|
||||
- generic [ref=e375]:
|
||||
- generic [ref=e376]: Search
|
||||
- generic [ref=e377]:
|
||||
- img [ref=e379]
|
||||
- searchbox "Search" [ref=e382]
|
||||
- button "Filter" [ref=e385] [cursor=pointer]:
|
||||
- img [ref=e386]
|
||||
- generic [ref=e389]: "1"
|
||||
- generic [ref=e390]:
|
||||
- generic [ref=e391]:
|
||||
- generic [ref=e392]: Active filters
|
||||
- generic [ref=e394]:
|
||||
- generic [ref=e396]: "Environment: Spec342 Demo Evidence Incomplete"
|
||||
- button "Remove filter" [ref=e397] [cursor=pointer]:
|
||||
- img [ref=e398]
|
||||
- generic [ref=e400]: Remove filter
|
||||
- button [ref=e401] [cursor=pointer]:
|
||||
- img [ref=e402]
|
||||
- table [ref=e405]:
|
||||
- rowgroup [ref=e406]:
|
||||
- row "Environment Outcome Generated Next step" [ref=e407]:
|
||||
- columnheader "Environment" [ref=e408]:
|
||||
- button "Environment" [ref=e409] [cursor=pointer]:
|
||||
- text: Environment
|
||||
- img [ref=e410]
|
||||
- columnheader "Outcome" [ref=e412]:
|
||||
- button "Outcome" [ref=e413] [cursor=pointer]:
|
||||
- text: Outcome
|
||||
- img [ref=e414]
|
||||
- columnheader "Generated" [ref=e416]:
|
||||
- button "Generated" [ref=e417] [cursor=pointer]:
|
||||
- text: Generated
|
||||
- img [ref=e418]
|
||||
- columnheader "Next step" [ref=e420]
|
||||
- rowgroup [ref=e421]:
|
||||
- row "Spec342 Demo Evidence Incomplete Partially complete TenantPilot recorded a missing or invalid prerequisite for this workflow. 2026-06-01 00:53:15 Refresh evidence before using this snapshot" [ref=e422]:
|
||||
- cell "Spec342 Demo Evidence Incomplete" [ref=e423]:
|
||||
- link "Spec342 Demo Evidence Incomplete" [ref=e424] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e425]: Spec342 Demo Evidence Incomplete
|
||||
- cell "Partially complete TenantPilot recorded a missing or invalid prerequisite for this workflow." [ref=e426]:
|
||||
- link "Partially complete TenantPilot recorded a missing or invalid prerequisite for this workflow." [ref=e427] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e428]:
|
||||
- paragraph [ref=e429]:
|
||||
- generic [ref=e430]:
|
||||
- img [ref=e431]
|
||||
- text: Partially complete
|
||||
- paragraph [ref=e433]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- cell "2026-06-01 00:53:15" [ref=e434]:
|
||||
- link "2026-06-01 00:53:15" [ref=e435] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e436]: 2026-06-01 00:53:15
|
||||
- cell "Refresh evidence before using this snapshot" [ref=e437]:
|
||||
- link "Refresh evidence before using this snapshot" [ref=e438] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-evidence-incomplete/evidence/5
|
||||
- generic [ref=e439]: Refresh evidence before using this snapshot
|
||||
- navigation "Pagination navigation" [ref=e440]:
|
||||
- generic [ref=e443]:
|
||||
- generic [ref=e445]: Per page
|
||||
- combobox "Per page" [ref=e447]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "All"
|
||||
- generic:
|
||||
- status
|
||||
334
.playwright-mcp/page-2026-06-05T02-51-56-064Z.yml
Normal file
334
.playwright-mcp/page-2026-06-05T02-51-56-064Z.yml
Normal file
@ -0,0 +1,334 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec342 Demo Evidence Incomplete
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- generic [ref=e39]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "User menu" [ref=e42] [cursor=pointer]:
|
||||
- img "Avatar of Ahmed Darrazi" [ref=e43]
|
||||
- generic [ref=e44]:
|
||||
- complementary [ref=e45]:
|
||||
- navigation [ref=e48]:
|
||||
- 'link "Workspace: wp" [ref=e49] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e51]
|
||||
- generic [ref=e53]:
|
||||
- generic [ref=e54]: Workspace
|
||||
- generic "wp" [ref=e55]
|
||||
- generic [ref=e56]: 5 environments
|
||||
- img [ref=e57]
|
||||
- list [ref=e59]:
|
||||
- listitem [ref=e60]:
|
||||
- list [ref=e61]:
|
||||
- listitem [ref=e62]:
|
||||
- link "Overview" [ref=e63] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e64]
|
||||
- generic [ref=e66]: Overview
|
||||
- listitem [ref=e67]:
|
||||
- generic [ref=e68] [cursor=pointer]:
|
||||
- generic [ref=e69]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e70]:
|
||||
- img [ref=e71]
|
||||
- list [ref=e73]:
|
||||
- listitem [ref=e74]:
|
||||
- link "Finding exceptions" [ref=e75] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e76]
|
||||
- generic [ref=e78]: Finding exceptions
|
||||
- listitem [ref=e79]:
|
||||
- link "Operations" [ref=e80] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e81]
|
||||
- generic [ref=e83]: Operations
|
||||
- listitem [ref=e84]:
|
||||
- link "Alerts" [ref=e85] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e86]
|
||||
- generic [ref=e88]: Alerts
|
||||
- listitem [ref=e89]:
|
||||
- link "Evidence" [ref=e90] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e91]
|
||||
- generic [ref=e93]: Evidence
|
||||
- listitem [ref=e94]:
|
||||
- link "Audit Log" [ref=e95] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e96]
|
||||
- generic [ref=e98]: Audit Log
|
||||
- listitem [ref=e99]:
|
||||
- generic [ref=e100] [cursor=pointer]:
|
||||
- generic [ref=e101]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e102]:
|
||||
- img [ref=e103]
|
||||
- list [ref=e105]:
|
||||
- listitem [ref=e106]:
|
||||
- link "Reviews" [ref=e107] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e108]
|
||||
- generic [ref=e110]: Reviews
|
||||
- listitem [ref=e111]:
|
||||
- link "Customer reviews" [ref=e112] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e113]
|
||||
- generic [ref=e115]: Customer reviews
|
||||
- listitem [ref=e116]:
|
||||
- generic [ref=e117] [cursor=pointer]:
|
||||
- generic [ref=e118]: Settings
|
||||
- button "Settings" [expanded] [ref=e119]:
|
||||
- img [ref=e120]
|
||||
- list [ref=e122]:
|
||||
- listitem [ref=e123]:
|
||||
- link "Manage workspaces" [ref=e124] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e125]
|
||||
- generic [ref=e127]: Manage workspaces
|
||||
- listitem [ref=e128]:
|
||||
- link "Integrations" [ref=e129] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]: Integrations
|
||||
- listitem [ref=e133]:
|
||||
- link "Settings" [ref=e134] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e135]
|
||||
- generic [ref=e138]: Settings
|
||||
- listitem [ref=e139]:
|
||||
- generic [ref=e140] [cursor=pointer]:
|
||||
- generic [ref=e141]: Governance
|
||||
- button "Governance" [expanded] [ref=e142]:
|
||||
- img [ref=e143]
|
||||
- list [ref=e145]:
|
||||
- listitem [ref=e146]:
|
||||
- link "Governance inbox" [ref=e147] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e148]
|
||||
- generic [ref=e150]: Governance inbox
|
||||
- listitem [ref=e151]:
|
||||
- link "Decision register" [ref=e152] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e153]
|
||||
- generic [ref=e155]: Decision register
|
||||
- main [ref=e157]:
|
||||
- generic [ref=e159]:
|
||||
- generic [ref=e160]:
|
||||
- 'heading "Operation #24" [level=1] [ref=e162]'
|
||||
- generic [ref=e164]:
|
||||
- 'button "Environment scope: Spec342 Demo Evidence Incomplete" [disabled]'
|
||||
- link "Back to Operations" [ref=e165] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- link "Show all operations" [ref=e166] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- link "Refresh" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations/24
|
||||
- img [ref=e168]
|
||||
- text: Refresh
|
||||
- button "More" [ref=e172] [cursor=pointer]:
|
||||
- img [ref=e173]
|
||||
- generic [ref=e177]:
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e182]:
|
||||
- generic [ref=e184]:
|
||||
- heading "Review pack generation" [level=2] [ref=e185]
|
||||
- paragraph [ref=e186]: "Operation #24"
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e191]:
|
||||
- img [ref=e192]
|
||||
- generic [ref=e195]: Operation finished
|
||||
- generic [ref=e196]:
|
||||
- img [ref=e197]
|
||||
- generic [ref=e200]: Completed successfully
|
||||
- generic [ref=e201]: Decision guidance and high-signal context stay ahead of diagnostic payloads and raw JSON.
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]:
|
||||
- generic [ref=e205]: Target
|
||||
- generic [ref=e207]: No target scope details were recorded for this operation.
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: Elapsed
|
||||
- generic [ref=e211]: 2 minutes
|
||||
- generic [ref=e212]:
|
||||
- generic [ref=e214]:
|
||||
- heading "Decision" [level=2] [ref=e215]
|
||||
- paragraph [ref=e216]: Start here to see what happened, how reliable the resulting artifact is, what was affected, and the one next step.
|
||||
- generic [ref=e219]:
|
||||
- generic [ref=e222]:
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: Execution state
|
||||
- generic [ref=e226]:
|
||||
- img [ref=e227]
|
||||
- generic [ref=e230]: Operation finished
|
||||
- generic [ref=e231]:
|
||||
- generic [ref=e232]: Outcome
|
||||
- generic [ref=e234]:
|
||||
- img [ref=e235]
|
||||
- generic [ref=e238]: Completed successfully
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]: Artifact impact
|
||||
- generic [ref=e242]:
|
||||
- img [ref=e243]
|
||||
- generic [ref=e247]: Internal only
|
||||
- generic [ref=e248]: The pack finished, but it should stay internal until the source review is refreshed.
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Dominant cause
|
||||
- generic [ref=e252]: Review Pack Missing Snapshot
|
||||
- generic [ref=e253]: TenantPilot recorded a missing or invalid prerequisite for this workflow.
|
||||
- generic [ref=e254]:
|
||||
- generic [ref=e255]: Result trust
|
||||
- generic [ref=e257]: Not usable yet
|
||||
- generic [ref=e258]: This output is not reliable enough to support the intended operator action yet.
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]: Sharing scope
|
||||
- generic [ref=e262]: The pack is suitable for internal follow-up only in its current state.
|
||||
- generic [ref=e263]: Backed by related artifact truth.
|
||||
- generic [ref=e265]:
|
||||
- generic [ref=e266]: Primary next step
|
||||
- generic [ref=e267]: Refresh the source review before sharing this pack.
|
||||
- generic [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e270]: Guidance
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e273]:
|
||||
- heading "Guidance" [level=2] [ref=e274]
|
||||
- paragraph [ref=e275]: Secondary guidance explains caveats and context without competing with the primary next step.
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Result trust
|
||||
- generic [ref=e284]: Not usable yet
|
||||
- generic [ref=e285]: This output is not reliable enough to support the intended operator action yet.
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]: Result meaning
|
||||
- generic [ref=e289]: Result unavailable
|
||||
- generic [ref=e290]: The artifact exists, but freshness limits how confidently it should be used.
|
||||
- generic [ref=e291]:
|
||||
- generic [ref=e292]: Secondary causes
|
||||
- generic [ref=e294]: Source review is stale · Internal-only outcome
|
||||
- generic [ref=e295]: Additional contributing causes stay visible without replacing the dominant cause.
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]: Coverage
|
||||
- generic [ref=e299]: The artifact exists, but freshness limits how confidently it should be used.
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]: Diagnostics summary
|
||||
- generic [ref=e303]: Technical truth detail remains available below the primary explanation.
|
||||
- generic [ref=e304]:
|
||||
- generic [ref=e305]: Lifecycle
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e308]:
|
||||
- heading "Lifecycle" [level=2] [ref=e309]
|
||||
- paragraph [ref=e310]: Lifecycle context explains freshness, reconciliation, and tenant-scoped caveats.
|
||||
- generic [ref=e315]:
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]: ManagedEnvironment lifecycle
|
||||
- generic [ref=e319]:
|
||||
- img [ref=e320]
|
||||
- generic [ref=e323]: Active
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]: Freshness
|
||||
- generic [ref=e327]: Terminal truth confirmed
|
||||
- generic [ref=e328]:
|
||||
- generic [ref=e329]: Timing
|
||||
- generic [ref=e330]:
|
||||
- heading "Timing" [level=2] [ref=e333]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: Created
|
||||
- generic [ref=e342]: Mon, Jun 1, 2026 1:05 AM
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]: Started
|
||||
- generic [ref=e346]: Mon, Jun 1, 2026 12:57 AM
|
||||
- generic [ref=e347]:
|
||||
- generic [ref=e348]: Completed
|
||||
- generic [ref=e350]: Mon, Jun 1, 2026 12:59 AM
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e352]: Elapsed
|
||||
- generic [ref=e354]: 2 minutes
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e356]: Metadata
|
||||
- generic [ref=e357]:
|
||||
- generic [ref=e359]:
|
||||
- heading "Metadata" [level=2] [ref=e360]
|
||||
- paragraph [ref=e361]: Secondary metadata remains visible without crowding the top decision surface.
|
||||
- generic [ref=e366]:
|
||||
- generic [ref=e367]:
|
||||
- generic [ref=e368]: Initiator
|
||||
- generic [ref=e370]: Spec342 Demo Operator
|
||||
- generic [ref=e371]:
|
||||
- generic [ref=e372]: Expected duration
|
||||
- generic [ref=e374]: Typically ~1 min
|
||||
- generic [ref=e375]:
|
||||
- generic [ref=e376]:
|
||||
- heading "Related context" [level=2] [ref=e379]
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]: Operations
|
||||
- generic [ref=e386]:
|
||||
- generic [ref=e387]:
|
||||
- link "Operations" [ref=e388] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations?nav%5Bsource_surface%5D=operation_run.detail_section&nav%5Bcanonical_route_name%5D=admin.operations.index&nav%5Benvironment_id%5D=38&nav%5Bback_label%5D=Back%20to%20operations&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fworkspaces%2F3%2Foperations%3Fenvironment_id%3D38&environment_id=38
|
||||
- generic [ref=e389]: Spec342 Demo Evidence Incomplete
|
||||
- generic [ref=e390]:
|
||||
- generic [ref=e393]: ManagedEnvironment context
|
||||
- link "Open operations" [ref=e394] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations?nav%5Bsource_surface%5D=operation_run.detail_section&nav%5Bcanonical_route_name%5D=admin.operations.index&nav%5Benvironment_id%5D=38&nav%5Bback_label%5D=Back%20to%20operations&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fworkspaces%2F3%2Foperations%3Fenvironment_id%3D38&environment_id=38
|
||||
- img [ref=e395]
|
||||
- text: Open operations
|
||||
- generic [ref=e399] [cursor=pointer]:
|
||||
- generic [ref=e400]:
|
||||
- heading "Artifact truth details" [level=2] [ref=e401]
|
||||
- paragraph [ref=e402]: Detailed artifact-truth context explains evidence quality and caveats without repeating the top decision summary.
|
||||
- button [ref=e403]:
|
||||
- img [ref=e404]
|
||||
- generic [ref=e408] [cursor=pointer]:
|
||||
- generic [ref=e409]:
|
||||
- heading "Context" [level=2] [ref=e410]
|
||||
- paragraph [ref=e411]: Stored run context stays available for debugging without dominating the default reading path.
|
||||
- button [ref=e412]:
|
||||
- img [ref=e413]
|
||||
- generic [ref=e415]:
|
||||
- heading "Monitoring detail" [level=2] [ref=e418]
|
||||
- generic [ref=e420]:
|
||||
- paragraph [ref=e421]: Scope context, return navigation, utility, related drilldowns, and run-specific follow-up stay in separate lanes on this viewer.
|
||||
- generic [ref=e422]:
|
||||
- generic [ref=e423]:
|
||||
- paragraph [ref=e424]: Scope context
|
||||
- paragraph [ref=e425]: "Environment scope: Spec342 Demo Evidence Incomplete"
|
||||
- paragraph [ref=e426]: The current workspace or tenant scope remains visible without behaving like a primary task action.
|
||||
- generic [ref=e427]:
|
||||
- paragraph [ref=e428]: Navigation lane
|
||||
- paragraph [ref=e429]: Back to Operations
|
||||
- paragraph [ref=e430]: Return to the operations landing when this review is complete.
|
||||
- generic [ref=e431]:
|
||||
- paragraph [ref=e432]: Utility lane
|
||||
- paragraph [ref=e433]: Refresh
|
||||
- paragraph [ref=e434]: Refresh keeps the current run state accurate without changing scope.
|
||||
- generic [ref=e435]:
|
||||
- paragraph [ref=e436]: Related drilldown
|
||||
- paragraph [ref=e437]: Open
|
||||
- paragraph [ref=e438]: Open keeps secondary drilldowns grouped under one control when downstream context exists.
|
||||
- generic [ref=e439]:
|
||||
- paragraph [ref=e440]: Follow-up lane
|
||||
- paragraph [ref=e441]: No follow-up action
|
||||
- paragraph [ref=e442]: No run-specific follow-up is currently available.
|
||||
- generic:
|
||||
- status
|
||||
443
.playwright-mcp/page-2026-06-05T02-52-27-491Z.yml
Normal file
443
.playwright-mcp/page-2026-06-05T02-52-27-491Z.yml
Normal file
@ -0,0 +1,443 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Umgebung auswählen" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Sprache" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: DE
|
||||
- img [ref=e22]
|
||||
- button "Seitenleiste ausklappen" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Globale Suche
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Globale Suche" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Benachrichtigungen öffnen" [disabled]:
|
||||
- img
|
||||
- generic:
|
||||
- generic: "20"
|
||||
- button "Benutzermenü" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar von Ahmed Darrazi" [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: wp" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "wp" [ref=e54]
|
||||
- generic [ref=e55]: 5 Umgebungen
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operationen" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operationen
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Nachweise" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Nachweise
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit-Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit-Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Berichte
|
||||
- button "Berichte" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Kundenreviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Kundenreviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Einstellungen
|
||||
- button "Einstellungen" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Workspaces verwalten" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Workspaces verwalten
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrationen" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrationen
|
||||
- listitem [ref=e132]:
|
||||
- link "Einstellungen" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Einstellungen
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]:
|
||||
- heading "Finding Exceptions Queue" [level=1] [ref=e161]
|
||||
- generic [ref=e163]:
|
||||
- button "Clear filters" [ref=e164] [cursor=pointer]:
|
||||
- img [ref=e165]
|
||||
- text: Clear filters
|
||||
- link "View environment findings" [ref=e167] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions
|
||||
- img [ref=e168]
|
||||
- text: View environment findings
|
||||
- button "Focused review" [ref=e172] [cursor=pointer]:
|
||||
- img [ref=e173]
|
||||
- generic [ref=e176]:
|
||||
- generic [ref=e180]:
|
||||
- generic [ref=e181]: Canonical risk-acceptance approvals
|
||||
- generic [ref=e182]: Review pending requests, expiring governance, and lapsed exception coverage across entitled environments without leaving the Monitoring area.
|
||||
- generic [ref=e183]: The focused review lane is bound to the exception query parameter. If that exception drops out of the current queue view, the page falls back to quiet monitoring mode without stale decision state.
|
||||
- generic [ref=e184]:
|
||||
- generic [ref=e185]: "Environment filter:"
|
||||
- generic [ref=e186]: Spec342 Demo Accepted Risks
|
||||
- link "Clear filter" [ref=e187] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e190]:
|
||||
- heading "Focused review lane" [level=2] [ref=e191]
|
||||
- paragraph [ref=e192]: The selected exception defines the focused review context. The dominant guidance card explains what matters now before deeper decision history and evidence.
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]:
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e203]: Aktion erforderlich
|
||||
- heading "Das Accepted-Risk-Prüffenster läuft bald ab" [level=2] [ref=e204]
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: Grund
|
||||
- paragraph [ref=e207]: Das aktuelle Accepted-Risk-Governance-Fenster ist noch aktiv, läuft aber bald ab und muss geprüft werden.
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: Auswirkung
|
||||
- paragraph [ref=e210]: Wenn das aktuelle Fenster nicht rechtzeitig geprüft wird, kann dieses Accepted Risk nicht länger als aktiv gesteuert gelten.
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]:
|
||||
- term [ref=e213]: Umgebung
|
||||
- definition [ref=e214]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e215]:
|
||||
- term [ref=e216]: Lifecycle-Status
|
||||
- definition [ref=e217]: Expiring
|
||||
- generic [ref=e218]:
|
||||
- term [ref=e219]: Governance-Gültigkeit
|
||||
- definition [ref=e220]: Expiring
|
||||
- generic [ref=e221]:
|
||||
- term [ref=e222]: Owner
|
||||
- definition [ref=e223]: Ahmed Darrazi
|
||||
- generic [ref=e224]:
|
||||
- term [ref=e225]: Review fällig
|
||||
- definition [ref=e226]: Sat, Jun 6, 2026 2:49 AM
|
||||
- generic [ref=e227]:
|
||||
- term [ref=e228]: Läuft ab
|
||||
- definition [ref=e229]: Sun, Jun 7, 2026 2:49 AM
|
||||
- generic [ref=e230]:
|
||||
- term [ref=e231]: Aktuelle Entscheidung
|
||||
- definition [ref=e232]: Approved
|
||||
- generic [ref=e233]:
|
||||
- term [ref=e234]: Anfragebegründung
|
||||
- definition [ref=e235]: Spec355 expiring local fixture
|
||||
- generic [ref=e236]:
|
||||
- generic [ref=e237]: Was zu prüfen ist
|
||||
- generic [ref=e238]: Prüfen Sie das aktive Governance-Fenster, bevor es abläuft.
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]: Verwandter Kontext
|
||||
- generic [ref=e241]:
|
||||
- link "Ausnahmedetail öffnen" [ref=e242] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions/9
|
||||
- link "Finding öffnen" [ref=e243] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/findings/15
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]: Focused review controls
|
||||
- generic [ref=e246]: Existing review actions stay in the page header so approval, rejection, and navigation keep their current confirmation and authorization boundaries.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]: Status
|
||||
- generic [ref=e250]: Active
|
||||
- generic [ref=e251]: Valid
|
||||
- generic [ref=e252]: The linked exception is still valid, but it is nearing expiry and needs review.
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]: Scope
|
||||
- generic [ref=e255]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e256]: "Finding #15"
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]: Review timing
|
||||
- generic [ref=e259]: Review due Sat, Jun 6, 2026 2:49 AM
|
||||
- generic [ref=e260]: Expires Sun, Jun 7, 2026 2:49 AM
|
||||
- generic [ref=e261]:
|
||||
- generic [ref=e262]: Request
|
||||
- generic [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- term [ref=e265]: Requested by
|
||||
- definition [ref=e266]: Ahmed Darrazi
|
||||
- generic [ref=e267]:
|
||||
- term [ref=e268]: Owner
|
||||
- definition [ref=e269]: Ahmed Darrazi
|
||||
- generic [ref=e270]:
|
||||
- term [ref=e271]: Reason
|
||||
- definition [ref=e272]: Spec355 expiring local fixture
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]: Decision history
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: Approved
|
||||
- generic [ref=e278]: Ahmed Darrazi · Mon, Jun 1, 2026 2:49 AM
|
||||
- generic [ref=e279]: Spec355 expiring local browser decision
|
||||
- generic [ref=e282]:
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]: Suche
|
||||
- generic [ref=e288]:
|
||||
- img [ref=e290]
|
||||
- searchbox "Suche" [ref=e293]
|
||||
- button "Filtern" [ref=e296] [cursor=pointer]:
|
||||
- img [ref=e297]
|
||||
- generic [ref=e300]: "1"
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: Aktive Filter
|
||||
- generic [ref=e305]:
|
||||
- generic [ref=e307]: "Environment: Spec342 Demo Accepted Risks"
|
||||
- button "Filter löschen" [ref=e308] [cursor=pointer]:
|
||||
- img [ref=e309]
|
||||
- generic [ref=e311]: Filter löschen
|
||||
- button [ref=e312] [cursor=pointer]:
|
||||
- img [ref=e313]
|
||||
- table [ref=e316]:
|
||||
- rowgroup [ref=e317]:
|
||||
- row "Status Validity Environment Finding Governance warning Requested by Owner Review due Expires Requested Aktion" [ref=e318]:
|
||||
- columnheader "Status" [ref=e319]
|
||||
- columnheader "Validity" [ref=e320]
|
||||
- columnheader "Environment" [ref=e321]
|
||||
- columnheader "Finding" [ref=e322]
|
||||
- columnheader "Governance warning" [ref=e323]
|
||||
- columnheader "Requested by" [ref=e324]
|
||||
- columnheader "Owner" [ref=e325]
|
||||
- columnheader "Review due" [ref=e326]:
|
||||
- button "Review due" [ref=e327] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e328]
|
||||
- columnheader "Expires" [ref=e330]:
|
||||
- button "Expires" [ref=e331] [cursor=pointer]:
|
||||
- text: Expires
|
||||
- img [ref=e332]
|
||||
- columnheader "Requested" [ref=e334]:
|
||||
- button "Requested" [ref=e335] [cursor=pointer]:
|
||||
- text: Requested
|
||||
- img [ref=e336]
|
||||
- columnheader "Aktion" [ref=e338]
|
||||
- rowgroup [ref=e339]:
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #3 Ahmed Darrazi Spec342 Demo Risk Owner Jul 1, 2026 01:05:16 — Mai 29, 2026 01:05:16 Inspect exception" [ref=e340]':
|
||||
- cell "Active" [ref=e341]:
|
||||
- generic [ref=e344]:
|
||||
- img [ref=e345]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e347]:
|
||||
- generic [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e353]:
|
||||
- generic [ref=e355]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #3" [ref=e356]':
|
||||
- generic [ref=e358]: "Finding #3"
|
||||
- cell [ref=e359]
|
||||
- cell "Ahmed Darrazi" [ref=e362]:
|
||||
- generic [ref=e364]: Ahmed Darrazi
|
||||
- cell "Spec342 Demo Risk Owner" [ref=e365]:
|
||||
- generic [ref=e367]: Spec342 Demo Risk Owner
|
||||
- cell "Jul 1, 2026 01:05:16" [ref=e368]:
|
||||
- generic [ref=e370]: Jul 1, 2026 01:05:16
|
||||
- cell "—" [ref=e371]:
|
||||
- paragraph [ref=e374]: —
|
||||
- cell "Mai 29, 2026 01:05:16" [ref=e375]:
|
||||
- generic [ref=e377]: Mai 29, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e378]:
|
||||
- link "Inspect exception" [ref=e380] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=1
|
||||
- img [ref=e381]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Expiring Spec342 Demo Accepted Risks Finding #4 Ahmed Darrazi — — — Mai 31, 2026 01:05:16 Inspect exception" [ref=e384]':
|
||||
- cell "Active" [ref=e385]:
|
||||
- generic [ref=e388]:
|
||||
- img [ref=e389]
|
||||
- text: Active
|
||||
- cell "Expiring" [ref=e391]:
|
||||
- generic [ref=e394]:
|
||||
- img [ref=e395]
|
||||
- text: Expiring
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e397]:
|
||||
- generic [ref=e399]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #4" [ref=e400]':
|
||||
- generic [ref=e402]: "Finding #4"
|
||||
- cell [ref=e403]
|
||||
- cell "Ahmed Darrazi" [ref=e406]:
|
||||
- generic [ref=e408]: Ahmed Darrazi
|
||||
- cell "—" [ref=e409]:
|
||||
- paragraph [ref=e412]: —
|
||||
- cell "—" [ref=e413]:
|
||||
- paragraph [ref=e416]: —
|
||||
- cell "—" [ref=e417]:
|
||||
- paragraph [ref=e420]: —
|
||||
- cell "Mai 31, 2026 01:05:16" [ref=e421]:
|
||||
- generic [ref=e423]: Mai 31, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e424]:
|
||||
- link "Inspect exception" [ref=e426] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2
|
||||
- img [ref=e427]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #13 The linked exception has expired and no longer governs accepted risk. Ahmed Darrazi Ahmed Darrazi Jun 3, 2026 02:48:49 Jun 4, 2026 02:48:49 Mai 31, 2026 02:48:49 Inspect exception" [ref=e430]':
|
||||
- cell "Active" [ref=e431]:
|
||||
- generic [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e437]:
|
||||
- generic [ref=e440]:
|
||||
- img [ref=e441]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e443]:
|
||||
- generic [ref=e445]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #13" [ref=e446]':
|
||||
- generic [ref=e448]: "Finding #13"
|
||||
- cell "The linked exception has expired and no longer governs accepted risk." [ref=e449]:
|
||||
- generic [ref=e451]: The linked exception has expired and no longer governs accepted risk.
|
||||
- cell "Ahmed Darrazi" [ref=e452]:
|
||||
- generic [ref=e454]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e455]:
|
||||
- generic [ref=e457]: Ahmed Darrazi
|
||||
- cell "Jun 3, 2026 02:48:49" [ref=e458]:
|
||||
- generic [ref=e460]: Jun 3, 2026 02:48:49
|
||||
- cell "Jun 4, 2026 02:48:49" [ref=e461]:
|
||||
- generic [ref=e463]: Jun 4, 2026 02:48:49
|
||||
- cell "Mai 31, 2026 02:48:49" [ref=e464]:
|
||||
- generic [ref=e466]: Mai 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e467]:
|
||||
- link "Inspect exception" [ref=e469] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=7
|
||||
- img [ref=e470]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #14 Ahmed Darrazi — — Jul 5, 2026 02:48:49 Mai 31, 2026 02:48:49 Inspect exception" [ref=e473]':
|
||||
- cell "Active" [ref=e474]:
|
||||
- generic [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e480]:
|
||||
- generic [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e486]:
|
||||
- generic [ref=e488]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #14" [ref=e489]':
|
||||
- generic [ref=e491]: "Finding #14"
|
||||
- cell [ref=e492]
|
||||
- cell "Ahmed Darrazi" [ref=e495]:
|
||||
- generic [ref=e497]: Ahmed Darrazi
|
||||
- cell "—" [ref=e498]:
|
||||
- paragraph [ref=e501]: —
|
||||
- cell "—" [ref=e502]:
|
||||
- paragraph [ref=e505]: —
|
||||
- cell "Jul 5, 2026 02:48:49" [ref=e506]:
|
||||
- generic [ref=e508]: Jul 5, 2026 02:48:49
|
||||
- cell "Mai 31, 2026 02:48:49" [ref=e509]:
|
||||
- generic [ref=e511]: Mai 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e512]:
|
||||
- link "Inspect exception" [ref=e514] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=8
|
||||
- img [ref=e515]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #15 The linked exception is still valid, but it is nearing expiry and needs review. Ahmed Darrazi Ahmed Darrazi Jun 6, 2026 02:49:16 Jun 7, 2026 02:49:16 Mai 31, 2026 02:49:16 Inspect exception" [ref=e518]':
|
||||
- cell "Active" [ref=e519]:
|
||||
- generic [ref=e522]:
|
||||
- img [ref=e523]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e525]:
|
||||
- generic [ref=e528]:
|
||||
- img [ref=e529]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e531]:
|
||||
- generic [ref=e533]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #15" [ref=e534]':
|
||||
- generic [ref=e536]: "Finding #15"
|
||||
- cell "The linked exception is still valid, but it is nearing expiry and needs review." [ref=e537]:
|
||||
- generic [ref=e539]: The linked exception is still valid, but it is nearing expiry and needs review.
|
||||
- cell "Ahmed Darrazi" [ref=e540]:
|
||||
- generic [ref=e542]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e543]:
|
||||
- generic [ref=e545]: Ahmed Darrazi
|
||||
- cell "Jun 6, 2026 02:49:16" [ref=e546]:
|
||||
- generic [ref=e548]: Jun 6, 2026 02:49:16
|
||||
- cell "Jun 7, 2026 02:49:16" [ref=e549]:
|
||||
- generic [ref=e551]: Jun 7, 2026 02:49:16
|
||||
- cell "Mai 31, 2026 02:49:16" [ref=e552]:
|
||||
- generic [ref=e554]: Mai 31, 2026 02:49:16
|
||||
- cell "Inspect exception" [ref=e555]:
|
||||
- link "Inspect exception" [ref=e557] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=9
|
||||
- img [ref=e558]
|
||||
- text: Inspect exception
|
||||
- navigation "Seitennavigation" [ref=e561]:
|
||||
- generic [ref=e564]:
|
||||
- generic [ref=e566]: pro Seite
|
||||
- combobox "pro Seite" [ref=e568]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "Alle"
|
||||
- generic:
|
||||
- status
|
||||
441
.playwright-mcp/page-2026-06-05T02-55-52-319Z.yml
Normal file
441
.playwright-mcp/page-2026-06-05T02-55-52-319Z.yml
Normal file
@ -0,0 +1,441 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "wp" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: wp
|
||||
- button "Umgebung auswählen" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Sprache" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: DE
|
||||
- img [ref=e22]
|
||||
- button "Seitenleiste ausklappen" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Globale Suche
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Globale Suche" [ref=e37]
|
||||
- button "Benachrichtigungen öffnen" [ref=e39] [cursor=pointer]:
|
||||
- img [ref=e40]
|
||||
- generic [ref=e43]: "20"
|
||||
- button "Benutzermenü" [ref=e46] [cursor=pointer]:
|
||||
- img "Avatar von Ahmed Darrazi" [ref=e47]
|
||||
- generic [ref=e48]:
|
||||
- complementary [ref=e49]:
|
||||
- navigation [ref=e52]:
|
||||
- 'link "Workspace: wp" [ref=e53] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e55]
|
||||
- generic [ref=e57]:
|
||||
- generic [ref=e58]: Workspace
|
||||
- generic "wp" [ref=e59]
|
||||
- generic [ref=e60]: 5 Umgebungen
|
||||
- img [ref=e61]
|
||||
- list [ref=e63]:
|
||||
- listitem [ref=e64]:
|
||||
- list [ref=e65]:
|
||||
- listitem [ref=e66]:
|
||||
- link "Overview" [ref=e67] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e68]
|
||||
- generic [ref=e70]: Overview
|
||||
- listitem [ref=e71]:
|
||||
- generic [ref=e72] [cursor=pointer]:
|
||||
- generic [ref=e73]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e74]:
|
||||
- img [ref=e75]
|
||||
- list [ref=e77]:
|
||||
- listitem [ref=e78]:
|
||||
- link "Finding exceptions" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Finding exceptions
|
||||
- listitem [ref=e83]:
|
||||
- link "Operationen" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/operations
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Operationen
|
||||
- listitem [ref=e88]:
|
||||
- link "Alerts" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Alerts
|
||||
- listitem [ref=e93]:
|
||||
- link "Nachweise" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Nachweise
|
||||
- listitem [ref=e98]:
|
||||
- link "Audit-Log" [ref=e99] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e100]
|
||||
- generic [ref=e102]: Audit-Log
|
||||
- listitem [ref=e103]:
|
||||
- generic [ref=e104] [cursor=pointer]:
|
||||
- generic [ref=e105]: Berichte
|
||||
- button "Berichte" [expanded] [ref=e106]:
|
||||
- img [ref=e107]
|
||||
- list [ref=e109]:
|
||||
- listitem [ref=e110]:
|
||||
- link "Reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Reviews
|
||||
- listitem [ref=e115]:
|
||||
- link "Kundenreviews" [ref=e116] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e117]
|
||||
- generic [ref=e119]: Kundenreviews
|
||||
- listitem [ref=e120]:
|
||||
- generic [ref=e121] [cursor=pointer]:
|
||||
- generic [ref=e122]: Einstellungen
|
||||
- button "Einstellungen" [expanded] [ref=e123]:
|
||||
- img [ref=e124]
|
||||
- list [ref=e126]:
|
||||
- listitem [ref=e127]:
|
||||
- link "Workspaces verwalten" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Workspaces verwalten
|
||||
- listitem [ref=e132]:
|
||||
- link "Integrationen" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e134]
|
||||
- generic [ref=e136]: Integrationen
|
||||
- listitem [ref=e137]:
|
||||
- link "Einstellungen" [ref=e138] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e139]
|
||||
- generic [ref=e142]: Einstellungen
|
||||
- listitem [ref=e143]:
|
||||
- generic [ref=e144] [cursor=pointer]:
|
||||
- generic [ref=e145]: Governance
|
||||
- button "Governance" [expanded] [ref=e146]:
|
||||
- img [ref=e147]
|
||||
- list [ref=e149]:
|
||||
- listitem [ref=e150]:
|
||||
- link "Governance inbox" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Governance inbox
|
||||
- listitem [ref=e155]:
|
||||
- link "Decision register" [ref=e156] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e157]
|
||||
- generic [ref=e159]: Decision register
|
||||
- main [ref=e161]:
|
||||
- generic [ref=e163]:
|
||||
- generic [ref=e164]:
|
||||
- heading "Finding Exceptions Queue" [level=1] [ref=e166]
|
||||
- generic [ref=e168]:
|
||||
- button "Clear filters" [ref=e169] [cursor=pointer]:
|
||||
- img [ref=e170]
|
||||
- text: Clear filters
|
||||
- link "View environment findings" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions
|
||||
- img [ref=e173]
|
||||
- text: View environment findings
|
||||
- button "Focused review" [ref=e177] [cursor=pointer]:
|
||||
- img [ref=e178]
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e185]:
|
||||
- generic [ref=e186]: Canonical risk-acceptance approvals
|
||||
- generic [ref=e187]: Review pending requests, expiring governance, and lapsed exception coverage across entitled environments without leaving the Monitoring area.
|
||||
- generic [ref=e188]: The focused review lane is bound to the exception query parameter. If that exception drops out of the current queue view, the page falls back to quiet monitoring mode without stale decision state.
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]: "Environment filter:"
|
||||
- generic [ref=e191]: Spec342 Demo Accepted Risks
|
||||
- link "Clear filter" [ref=e192] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e195]:
|
||||
- heading "Focused review lane" [level=2] [ref=e196]
|
||||
- paragraph [ref=e197]: The selected exception defines the focused review context. The dominant guidance card explains what matters now before deeper decision history and evidence.
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]:
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e208]: Aktion erforderlich
|
||||
- heading "Das Accepted-Risk-Prüffenster läuft bald ab" [level=2] [ref=e209]
|
||||
- generic [ref=e210]:
|
||||
- generic [ref=e211]: Grund
|
||||
- paragraph [ref=e212]: Das aktuelle Accepted-Risk-Governance-Fenster ist noch aktiv, läuft aber bald ab und muss geprüft werden.
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e214]: Auswirkung
|
||||
- paragraph [ref=e215]: Wenn das aktuelle Fenster nicht rechtzeitig geprüft wird, kann dieses Accepted Risk nicht länger als aktiv gesteuert gelten.
|
||||
- generic [ref=e216]:
|
||||
- generic [ref=e217]:
|
||||
- term [ref=e218]: Umgebung
|
||||
- definition [ref=e219]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e220]:
|
||||
- term [ref=e221]: Lifecycle-Status
|
||||
- definition [ref=e222]: Expiring
|
||||
- generic [ref=e223]:
|
||||
- term [ref=e224]: Governance-Gültigkeit
|
||||
- definition [ref=e225]: Expiring
|
||||
- generic [ref=e226]:
|
||||
- term [ref=e227]: Owner
|
||||
- definition [ref=e228]: Ahmed Darrazi
|
||||
- generic [ref=e229]:
|
||||
- term [ref=e230]: Review fällig
|
||||
- definition [ref=e231]: Sat, Jun 6, 2026 2:49 AM
|
||||
- generic [ref=e232]:
|
||||
- term [ref=e233]: Läuft ab
|
||||
- definition [ref=e234]: Sun, Jun 7, 2026 2:49 AM
|
||||
- generic [ref=e235]:
|
||||
- term [ref=e236]: Aktuelle Entscheidung
|
||||
- definition [ref=e237]: Approved
|
||||
- generic [ref=e238]:
|
||||
- term [ref=e239]: Anfragebegründung
|
||||
- definition [ref=e240]: Spec355 expiring local fixture
|
||||
- generic [ref=e241]:
|
||||
- generic [ref=e242]: Was zu prüfen ist
|
||||
- generic [ref=e243]: Prüfen Sie das aktive Governance-Fenster, bevor es abläuft.
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]: Verwandter Kontext
|
||||
- generic [ref=e246]:
|
||||
- link "Ausnahmedetail öffnen" [ref=e247] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/finding-exceptions/9
|
||||
- link "Finding öffnen" [ref=e248] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/3/environments/spec342-demo-accepted-risks/findings/15
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Focused review controls
|
||||
- generic [ref=e251]: Existing review actions stay in the page header so approval, rejection, and navigation keep their current confirmation and authorization boundaries.
|
||||
- generic [ref=e252]:
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]: Status
|
||||
- generic [ref=e255]: Active
|
||||
- generic [ref=e256]: Valid
|
||||
- generic [ref=e257]: Das aktuelle Accepted-Risk-Governance-Fenster ist noch aktiv, läuft aber bald ab und muss geprüft werden.
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]: Scope
|
||||
- generic [ref=e260]: Spec342 Demo Accepted Risks
|
||||
- generic [ref=e261]: "Finding #15"
|
||||
- generic [ref=e262]:
|
||||
- generic [ref=e263]: Review timing
|
||||
- generic [ref=e264]: Review due Sat, Jun 6, 2026 2:49 AM
|
||||
- generic [ref=e265]: Expires Sun, Jun 7, 2026 2:49 AM
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e267]: Request
|
||||
- generic [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- term [ref=e270]: Requested by
|
||||
- definition [ref=e271]: Ahmed Darrazi
|
||||
- generic [ref=e272]:
|
||||
- term [ref=e273]: Owner
|
||||
- definition [ref=e274]: Ahmed Darrazi
|
||||
- generic [ref=e275]:
|
||||
- term [ref=e276]: Reason
|
||||
- definition [ref=e277]: Spec355 expiring local fixture
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Decision history
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Approved
|
||||
- generic [ref=e283]: Ahmed Darrazi · Mon, Jun 1, 2026 2:49 AM
|
||||
- generic [ref=e284]: Spec355 expiring local browser decision
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e290]:
|
||||
- generic [ref=e291]:
|
||||
- generic [ref=e292]: Suche
|
||||
- generic [ref=e293]:
|
||||
- img [ref=e295]
|
||||
- searchbox "Suche" [ref=e298]
|
||||
- button "Filtern" [ref=e301] [cursor=pointer]:
|
||||
- img [ref=e302]
|
||||
- generic [ref=e305]: "1"
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]: Aktive Filter
|
||||
- generic [ref=e310]:
|
||||
- generic [ref=e312]: "Environment: Spec342 Demo Accepted Risks"
|
||||
- button "Filter löschen" [ref=e313] [cursor=pointer]:
|
||||
- img [ref=e314]
|
||||
- generic [ref=e316]: Filter löschen
|
||||
- button [ref=e317] [cursor=pointer]:
|
||||
- img [ref=e318]
|
||||
- table [ref=e321]:
|
||||
- rowgroup [ref=e322]:
|
||||
- row "Status Validity Environment Finding Governance warning Requested by Owner Review due Expires Requested Aktion" [ref=e323]:
|
||||
- columnheader "Status" [ref=e324]
|
||||
- columnheader "Validity" [ref=e325]
|
||||
- columnheader "Environment" [ref=e326]
|
||||
- columnheader "Finding" [ref=e327]
|
||||
- columnheader "Governance warning" [ref=e328]
|
||||
- columnheader "Requested by" [ref=e329]
|
||||
- columnheader "Owner" [ref=e330]
|
||||
- columnheader "Review due" [ref=e331]:
|
||||
- button "Review due" [ref=e332] [cursor=pointer]:
|
||||
- text: Review due
|
||||
- img [ref=e333]
|
||||
- columnheader "Expires" [ref=e335]:
|
||||
- button "Expires" [ref=e336] [cursor=pointer]:
|
||||
- text: Expires
|
||||
- img [ref=e337]
|
||||
- columnheader "Requested" [ref=e339]:
|
||||
- button "Requested" [ref=e340] [cursor=pointer]:
|
||||
- text: Requested
|
||||
- img [ref=e341]
|
||||
- columnheader "Aktion" [ref=e343]
|
||||
- rowgroup [ref=e344]:
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #3 Ahmed Darrazi Spec342 Demo Risk Owner Jul 1, 2026 01:05:16 — Mai 29, 2026 01:05:16 Inspect exception" [ref=e345]':
|
||||
- cell "Active" [ref=e346]:
|
||||
- generic [ref=e349]:
|
||||
- img [ref=e350]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e352]:
|
||||
- generic [ref=e355]:
|
||||
- img [ref=e356]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e358]:
|
||||
- generic [ref=e360]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #3" [ref=e361]':
|
||||
- generic [ref=e363]: "Finding #3"
|
||||
- cell [ref=e364]
|
||||
- cell "Ahmed Darrazi" [ref=e367]:
|
||||
- generic [ref=e369]: Ahmed Darrazi
|
||||
- cell "Spec342 Demo Risk Owner" [ref=e370]:
|
||||
- generic [ref=e372]: Spec342 Demo Risk Owner
|
||||
- cell "Jul 1, 2026 01:05:16" [ref=e373]:
|
||||
- generic [ref=e375]: Jul 1, 2026 01:05:16
|
||||
- cell "—" [ref=e376]:
|
||||
- paragraph [ref=e379]: —
|
||||
- cell "Mai 29, 2026 01:05:16" [ref=e380]:
|
||||
- generic [ref=e382]: Mai 29, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e383]:
|
||||
- link "Inspect exception" [ref=e385] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=1
|
||||
- img [ref=e386]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Expiring Spec342 Demo Accepted Risks Finding #4 Ahmed Darrazi — — — Mai 31, 2026 01:05:16 Inspect exception" [ref=e389]':
|
||||
- cell "Active" [ref=e390]:
|
||||
- generic [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- text: Active
|
||||
- cell "Expiring" [ref=e396]:
|
||||
- generic [ref=e399]:
|
||||
- img [ref=e400]
|
||||
- text: Expiring
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e402]:
|
||||
- generic [ref=e404]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #4" [ref=e405]':
|
||||
- generic [ref=e407]: "Finding #4"
|
||||
- cell [ref=e408]
|
||||
- cell "Ahmed Darrazi" [ref=e411]:
|
||||
- generic [ref=e413]: Ahmed Darrazi
|
||||
- cell "—" [ref=e414]:
|
||||
- paragraph [ref=e417]: —
|
||||
- cell "—" [ref=e418]:
|
||||
- paragraph [ref=e421]: —
|
||||
- cell "—" [ref=e422]:
|
||||
- paragraph [ref=e425]: —
|
||||
- cell "Mai 31, 2026 01:05:16" [ref=e426]:
|
||||
- generic [ref=e428]: Mai 31, 2026 01:05:16
|
||||
- cell "Inspect exception" [ref=e429]:
|
||||
- link "Inspect exception" [ref=e431] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=2
|
||||
- img [ref=e432]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #13 Das aktuelle Accepted-Risk-Governance-Fenster ist abgelaufen und bietet keine aktive Abdeckung mehr. Ahmed Darrazi Ahmed Darrazi Jun 3, 2026 02:48:49 Jun 4, 2026 02:48:49 Mai 31, 2026 02:48:49 Inspect exception" [ref=e435]':
|
||||
- cell "Active" [ref=e436]:
|
||||
- generic [ref=e439]:
|
||||
- img [ref=e440]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e442]:
|
||||
- generic [ref=e445]:
|
||||
- img [ref=e446]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e448]:
|
||||
- generic [ref=e450]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #13" [ref=e451]':
|
||||
- generic [ref=e453]: "Finding #13"
|
||||
- cell "Das aktuelle Accepted-Risk-Governance-Fenster ist abgelaufen und bietet keine aktive Abdeckung mehr." [ref=e454]:
|
||||
- generic [ref=e456]: Das aktuelle Accepted-Risk-Governance-Fenster ist abgelaufen und bietet keine aktive Abdeckung mehr.
|
||||
- cell "Ahmed Darrazi" [ref=e457]:
|
||||
- generic [ref=e459]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e460]:
|
||||
- generic [ref=e462]: Ahmed Darrazi
|
||||
- cell "Jun 3, 2026 02:48:49" [ref=e463]:
|
||||
- generic [ref=e465]: Jun 3, 2026 02:48:49
|
||||
- cell "Jun 4, 2026 02:48:49" [ref=e466]:
|
||||
- generic [ref=e468]: Jun 4, 2026 02:48:49
|
||||
- cell "Mai 31, 2026 02:48:49" [ref=e469]:
|
||||
- generic [ref=e471]: Mai 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e472]:
|
||||
- link "Inspect exception" [ref=e474] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=7
|
||||
- img [ref=e475]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #14 Ahmed Darrazi — — Jul 5, 2026 02:48:49 Mai 31, 2026 02:48:49 Inspect exception" [ref=e478]':
|
||||
- cell "Active" [ref=e479]:
|
||||
- generic [ref=e482]:
|
||||
- img [ref=e483]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e485]:
|
||||
- generic [ref=e488]:
|
||||
- img [ref=e489]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e491]:
|
||||
- generic [ref=e493]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #14" [ref=e494]':
|
||||
- generic [ref=e496]: "Finding #14"
|
||||
- cell [ref=e497]
|
||||
- cell "Ahmed Darrazi" [ref=e500]:
|
||||
- generic [ref=e502]: Ahmed Darrazi
|
||||
- cell "—" [ref=e503]:
|
||||
- paragraph [ref=e506]: —
|
||||
- cell "—" [ref=e507]:
|
||||
- paragraph [ref=e510]: —
|
||||
- cell "Jul 5, 2026 02:48:49" [ref=e511]:
|
||||
- generic [ref=e513]: Jul 5, 2026 02:48:49
|
||||
- cell "Mai 31, 2026 02:48:49" [ref=e514]:
|
||||
- generic [ref=e516]: Mai 31, 2026 02:48:49
|
||||
- cell "Inspect exception" [ref=e517]:
|
||||
- link "Inspect exception" [ref=e519] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=8
|
||||
- img [ref=e520]
|
||||
- text: Inspect exception
|
||||
- 'row "Active Valid Spec342 Demo Accepted Risks Finding #15 Das aktuelle Accepted-Risk-Governance-Fenster ist noch aktiv, läuft aber bald ab und muss geprüft werden. Ahmed Darrazi Ahmed Darrazi Jun 6, 2026 02:49:16 Jun 7, 2026 02:49:16 Mai 31, 2026 02:49:16 Inspect exception" [ref=e523]':
|
||||
- cell "Active" [ref=e524]:
|
||||
- generic [ref=e527]:
|
||||
- img [ref=e528]
|
||||
- text: Active
|
||||
- cell "Valid" [ref=e530]:
|
||||
- generic [ref=e533]:
|
||||
- img [ref=e534]
|
||||
- text: Valid
|
||||
- cell "Spec342 Demo Accepted Risks" [ref=e536]:
|
||||
- generic [ref=e538]: Spec342 Demo Accepted Risks
|
||||
- 'cell "Finding #15" [ref=e539]':
|
||||
- generic [ref=e541]: "Finding #15"
|
||||
- cell "Das aktuelle Accepted-Risk-Governance-Fenster ist noch aktiv, läuft aber bald ab und muss geprüft werden." [ref=e542]:
|
||||
- generic [ref=e544]: Das aktuelle Accepted-Risk-Governance-Fenster ist noch aktiv, läuft aber bald ab und muss geprüft werden.
|
||||
- cell "Ahmed Darrazi" [ref=e545]:
|
||||
- generic [ref=e547]: Ahmed Darrazi
|
||||
- cell "Ahmed Darrazi" [ref=e548]:
|
||||
- generic [ref=e550]: Ahmed Darrazi
|
||||
- cell "Jun 6, 2026 02:49:16" [ref=e551]:
|
||||
- generic [ref=e553]: Jun 6, 2026 02:49:16
|
||||
- cell "Jun 7, 2026 02:49:16" [ref=e554]:
|
||||
- generic [ref=e556]: Jun 7, 2026 02:49:16
|
||||
- cell "Mai 31, 2026 02:49:16" [ref=e557]:
|
||||
- generic [ref=e559]: Mai 31, 2026 02:49:16
|
||||
- cell "Inspect exception" [ref=e560]:
|
||||
- link "Inspect exception" [ref=e562] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue?environment_id=41&exception=9
|
||||
- img [ref=e563]
|
||||
- text: Inspect exception
|
||||
- navigation "Seitennavigation" [ref=e566]:
|
||||
- generic [ref=e569]:
|
||||
- generic [ref=e571]: pro Seite
|
||||
- combobox "pro Seite" [ref=e573]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "Alle"
|
||||
- generic:
|
||||
- status
|
||||
319
.playwright-mcp/page-2026-06-06T11-21-15-187Z.yml
Normal file
319
.playwright-mcp/page-2026-06-06T11-21-15-187Z.yml
Normal file
@ -0,0 +1,319 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 358 Smoke Workspace X69MOA" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 358 Smoke Workspace X69MOA
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- generic [ref=e38]:
|
||||
- button "Notifications" [disabled]:
|
||||
- img
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ms. Kaylah Kohler Jr." [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: Spec 358 Smoke Workspace X69MOA" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "Spec 358 Smoke Workspace X69MOA" [ref=e54]
|
||||
- generic [ref=e55]: 1 environment
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- heading "Operations" [level=1] [ref=e161]
|
||||
- generic [ref=e164]:
|
||||
- generic [ref=e165]:
|
||||
- generic [ref=e166]:
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e168]: Operations Hub
|
||||
- heading "Execution follow-up workbench" [level=2] [ref=e169]
|
||||
- paragraph [ref=e170]: OperationRuns are execution truth. This page prioritizes stored operation outcomes, proof paths, and follow-up without claiming environment or governance health.
|
||||
- generic [ref=e172]: Operations Hub is showing workspace-wide execution records across all entitled environments.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e185]:
|
||||
- generic [ref=e187]: Needs attention
|
||||
- generic [ref=e188]: "1"
|
||||
- generic [ref=e189]:
|
||||
- img [ref=e190]
|
||||
- generic [ref=e192]: Failed, blocked, partial, or stale OperationRuns in scope.
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e198]: Active operations
|
||||
- generic [ref=e199]: "1"
|
||||
- generic [ref=e200]:
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Queued or running records with trusted progress only.
|
||||
- generic [ref=e207]:
|
||||
- generic [ref=e209]: Failed or blocked
|
||||
- generic [ref=e210]: "0"
|
||||
- generic [ref=e211]:
|
||||
- img [ref=e212]
|
||||
- generic [ref=e214]: Terminal execution records that need review before retrying.
|
||||
- generic [ref=e218]:
|
||||
- generic [ref=e220]: Completed recently
|
||||
- generic [ref=e221]: "0"
|
||||
- generic [ref=e222]:
|
||||
- img [ref=e223]
|
||||
- generic [ref=e225]: Recent execution results, not environment or governance health.
|
||||
- generic [ref=e226]:
|
||||
- generic [ref=e227]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]:
|
||||
- paragraph [ref=e230]: Decision workbench
|
||||
- heading "Which operation needs attention now?" [level=2] [ref=e231]
|
||||
- generic [ref=e232]: Needs attention
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]:
|
||||
- generic [ref=e236]: "Operation #82"
|
||||
- generic [ref=e237]: "Environment: Spec 358 Smoke Environment X69MOA"
|
||||
- heading "Inventory sync" [level=3] [ref=e238]
|
||||
- paragraph [ref=e239]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- generic [ref=e240]:
|
||||
- generic [ref=e241]:
|
||||
- term [ref=e242]: Outcome
|
||||
- definition [ref=e243]: Pending · Running
|
||||
- generic [ref=e244]:
|
||||
- term [ref=e245]: Timing
|
||||
- definition [ref=e246]: Started 2 weeks ago
|
||||
- generic [ref=e247]:
|
||||
- term [ref=e248]: Reason
|
||||
- definition [ref=e249]: "Still active: Yes. Automatic reconciliation: No. This run is past its lifecycle window and needs stale-run investigation before retrying."
|
||||
- generic [ref=e250]:
|
||||
- term [ref=e251]: Impact
|
||||
- definition [ref=e252]: Follow-up is needed before starting overlapping work for this operation scope.
|
||||
- generic [ref=e253]:
|
||||
- paragraph [ref=e254]: Outcome guidance
|
||||
- paragraph [ref=e255]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- generic [ref=e256]:
|
||||
- generic [ref=e257]:
|
||||
- paragraph [ref=e258]: Next action
|
||||
- paragraph [ref=e259]: Open operation
|
||||
- link "Open operation" [ref=e260] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- img [ref=e261]
|
||||
- text: Open operation
|
||||
- complementary [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- paragraph [ref=e266]: Operation summary
|
||||
- heading "Inventory sync" [level=2] [ref=e267]
|
||||
- generic [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- paragraph [ref=e270]: Outcome
|
||||
- paragraph [ref=e271]: Pending · Running
|
||||
- generic [ref=e272]:
|
||||
- paragraph [ref=e273]: Environment
|
||||
- paragraph [ref=e274]: Spec 358 Smoke Environment X69MOA
|
||||
- generic [ref=e275]:
|
||||
- paragraph [ref=e276]: Proof
|
||||
- paragraph [ref=e277]: Operation detail available
|
||||
- paragraph [ref=e278]: Open operation for stored proof, related links, and authorized diagnostics. Artifact or evidence links are unavailable here unless the detail surface proves them.
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Primary next action
|
||||
- link "Open operation" [ref=e281] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- img [ref=e282]
|
||||
- text: Open operation
|
||||
- group [ref=e284]:
|
||||
- generic "Diagnostics · Collapsed" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]:
|
||||
- heading "Operations history" [level=2] [ref=e288]
|
||||
- paragraph [ref=e289]: Secondary context for scanning OperationRun history after the top decision path is clear.
|
||||
- tablist "Operations tabs" [ref=e290]:
|
||||
- tab "All" [ref=e291] [cursor=pointer]:
|
||||
- generic [ref=e292]: All
|
||||
- tab "Active" [ref=e293] [cursor=pointer]:
|
||||
- generic [ref=e294]: Active
|
||||
- tab "Likely stale" [ref=e295] [cursor=pointer]:
|
||||
- generic [ref=e296]: Likely stale
|
||||
- tab "Terminal follow-up" [ref=e297] [cursor=pointer]:
|
||||
- generic [ref=e298]: Terminal follow-up
|
||||
- tab "Succeeded" [ref=e299] [cursor=pointer]:
|
||||
- generic [ref=e300]: Succeeded
|
||||
- tab "Partial" [ref=e301] [cursor=pointer]:
|
||||
- generic [ref=e302]: Partial
|
||||
- tab "Failed" [ref=e303] [cursor=pointer]:
|
||||
- generic [ref=e304]: Failed
|
||||
- paragraph [ref=e305]: Environment filters and the selected operations tab remain shareable through the URL. Additional table filters still restore from the last compatible session state.
|
||||
- generic [ref=e306]: 1 active operation(s) are beyond their lifecycle window and belong in the stale-attention view. 0 operation(s) already carry reconciled stale lineage and belong in terminal follow-up.
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]:
|
||||
- generic [ref=e314]: Search
|
||||
- generic [ref=e315]:
|
||||
- img [ref=e317]
|
||||
- searchbox "Search" [ref=e320]
|
||||
- button "Filter" [ref=e323] [cursor=pointer]:
|
||||
- img [ref=e324]
|
||||
- generic [ref=e327]: "0"
|
||||
- table [ref=e329]:
|
||||
- rowgroup [ref=e330]:
|
||||
- row "Status Operation Initiator Started Duration Outcome" [ref=e331]:
|
||||
- columnheader "Status" [ref=e332]
|
||||
- columnheader "Operation" [ref=e333]:
|
||||
- button "Operation" [ref=e334] [cursor=pointer]:
|
||||
- text: Operation
|
||||
- img [ref=e335]
|
||||
- columnheader "Initiator" [ref=e337]
|
||||
- columnheader "Started" [ref=e338]:
|
||||
- button "Started" [ref=e339] [cursor=pointer]:
|
||||
- text: Started
|
||||
- img [ref=e340]
|
||||
- columnheader "Duration" [ref=e342]
|
||||
- columnheader "Outcome" [ref=e343]
|
||||
- rowgroup [ref=e344]:
|
||||
- row "Likely stale Likely stale Inventory sync System 2 weeks ago — Awaiting result Past the lifecycle window. Review worker health and logs before retrying." [ref=e345]:
|
||||
- cell "Likely stale Likely stale" [ref=e346]:
|
||||
- link "Likely stale Likely stale" [ref=e347] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e348]:
|
||||
- paragraph [ref=e349]:
|
||||
- generic [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- text: Likely stale
|
||||
- paragraph [ref=e353]: Likely stale
|
||||
- cell "Inventory sync" [ref=e354]:
|
||||
- link "Inventory sync" [ref=e355] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e356]: Inventory sync
|
||||
- cell "System" [ref=e357]:
|
||||
- link "System" [ref=e358] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e359]: System
|
||||
- cell "2 weeks ago" [ref=e360]:
|
||||
- link "2 weeks ago" [ref=e361] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e362]: 2 weeks ago
|
||||
- cell "—" [ref=e363]:
|
||||
- link "—" [ref=e364] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e365]: —
|
||||
- cell "Awaiting result Past the lifecycle window. Review worker health and logs before retrying." [ref=e366]:
|
||||
- link "Awaiting result Past the lifecycle window. Review worker health and logs before retrying." [ref=e367] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e368]:
|
||||
- paragraph [ref=e369]:
|
||||
- generic [ref=e370]:
|
||||
- img [ref=e371]
|
||||
- text: Awaiting result
|
||||
- paragraph [ref=e373]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- navigation "Pagination navigation" [ref=e374]:
|
||||
- generic [ref=e377]:
|
||||
- generic [ref=e379]: Per page
|
||||
- combobox "Per page" [ref=e381]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "100"
|
||||
- generic:
|
||||
- status
|
||||
318
.playwright-mcp/page-2026-06-06T11-21-38-382Z.yml
Normal file
318
.playwright-mcp/page-2026-06-06T11-21-38-382Z.yml
Normal file
@ -0,0 +1,318 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 358 Smoke Workspace X69MOA" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 358 Smoke Workspace X69MOA
|
||||
- button "Select environment" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- img [ref=e13]
|
||||
- button "Language" [ref=e18] [cursor=pointer]:
|
||||
- img [ref=e19]
|
||||
- generic [ref=e21]: EN
|
||||
- img [ref=e22]
|
||||
- button "Expand sidebar" [ref=e24] [cursor=pointer]:
|
||||
- img [ref=e25]
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: Global search
|
||||
- generic [ref=e32]:
|
||||
- img [ref=e34]
|
||||
- searchbox "Global search" [ref=e37]
|
||||
- button "Notifications" [ref=e384] [cursor=pointer]:
|
||||
- img [ref=e385]
|
||||
- button "User menu" [ref=e41] [cursor=pointer]:
|
||||
- img "Avatar of Ms. Kaylah Kohler Jr." [ref=e42]
|
||||
- generic [ref=e43]:
|
||||
- complementary [ref=e44]:
|
||||
- navigation [ref=e47]:
|
||||
- 'link "Workspace: Spec 358 Smoke Workspace X69MOA" [ref=e48] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e50]
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Workspace
|
||||
- generic "Spec 358 Smoke Workspace X69MOA" [ref=e54]
|
||||
- generic [ref=e55]: 1 environment
|
||||
- img [ref=e56]
|
||||
- list [ref=e58]:
|
||||
- listitem [ref=e59]:
|
||||
- list [ref=e60]:
|
||||
- listitem [ref=e61]:
|
||||
- link "Overview" [ref=e62] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e63]
|
||||
- generic [ref=e65]: Overview
|
||||
- listitem [ref=e66]:
|
||||
- generic [ref=e67] [cursor=pointer]:
|
||||
- generic [ref=e68]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- list [ref=e72]:
|
||||
- listitem [ref=e73]:
|
||||
- link "Finding exceptions" [ref=e74] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e75]
|
||||
- generic [ref=e77]: Finding exceptions
|
||||
- listitem [ref=e78]:
|
||||
- link "Operations" [ref=e79] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations
|
||||
- img [ref=e80]
|
||||
- generic [ref=e82]: Operations
|
||||
- listitem [ref=e83]:
|
||||
- link "Alerts" [ref=e84] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e85]
|
||||
- generic [ref=e87]: Alerts
|
||||
- listitem [ref=e88]:
|
||||
- link "Evidence" [ref=e89] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e90]
|
||||
- generic [ref=e92]: Evidence
|
||||
- listitem [ref=e93]:
|
||||
- link "Audit Log" [ref=e94] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]: Audit Log
|
||||
- listitem [ref=e98]:
|
||||
- generic [ref=e99] [cursor=pointer]:
|
||||
- generic [ref=e100]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e101]:
|
||||
- img [ref=e102]
|
||||
- list [ref=e104]:
|
||||
- listitem [ref=e105]:
|
||||
- link "Reviews" [ref=e106] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e107]
|
||||
- generic [ref=e109]: Reviews
|
||||
- listitem [ref=e110]:
|
||||
- link "Customer reviews" [ref=e111] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e112]
|
||||
- generic [ref=e114]: Customer reviews
|
||||
- listitem [ref=e115]:
|
||||
- generic [ref=e116] [cursor=pointer]:
|
||||
- generic [ref=e117]: Settings
|
||||
- button "Settings" [expanded] [ref=e118]:
|
||||
- img [ref=e119]
|
||||
- list [ref=e121]:
|
||||
- listitem [ref=e122]:
|
||||
- link "Manage workspaces" [ref=e123] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e124]
|
||||
- generic [ref=e126]: Manage workspaces
|
||||
- listitem [ref=e127]:
|
||||
- link "Integrations" [ref=e128] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e129]
|
||||
- generic [ref=e131]: Integrations
|
||||
- listitem [ref=e132]:
|
||||
- link "Settings" [ref=e133] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e134]
|
||||
- generic [ref=e137]: Settings
|
||||
- listitem [ref=e138]:
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]: Governance
|
||||
- button "Governance" [expanded] [ref=e141]:
|
||||
- img [ref=e142]
|
||||
- list [ref=e144]:
|
||||
- listitem [ref=e145]:
|
||||
- link "Governance inbox" [ref=e146] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e147]
|
||||
- generic [ref=e149]: Governance inbox
|
||||
- listitem [ref=e150]:
|
||||
- link "Decision register" [ref=e151] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e152]
|
||||
- generic [ref=e154]: Decision register
|
||||
- main [ref=e156]:
|
||||
- generic [ref=e158]:
|
||||
- heading "Operations" [level=1] [ref=e161]
|
||||
- generic [ref=e164]:
|
||||
- generic [ref=e165]:
|
||||
- generic [ref=e166]:
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e168]: Operations Hub
|
||||
- heading "Execution follow-up workbench" [level=2] [ref=e169]
|
||||
- paragraph [ref=e170]: OperationRuns are execution truth. This page prioritizes stored operation outcomes, proof paths, and follow-up without claiming environment or governance health.
|
||||
- generic [ref=e172]: Operations Hub is showing workspace-wide execution records across all entitled environments.
|
||||
- generic [ref=e181]:
|
||||
- generic [ref=e185]:
|
||||
- generic [ref=e187]: Needs attention
|
||||
- generic [ref=e188]: "1"
|
||||
- generic [ref=e189]:
|
||||
- img [ref=e190]
|
||||
- generic [ref=e192]: Failed, blocked, partial, or stale OperationRuns in scope.
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e198]: Active operations
|
||||
- generic [ref=e199]: "1"
|
||||
- generic [ref=e200]:
|
||||
- img [ref=e201]
|
||||
- generic [ref=e203]: Queued or running records with trusted progress only.
|
||||
- generic [ref=e207]:
|
||||
- generic [ref=e209]: Failed or blocked
|
||||
- generic [ref=e210]: "0"
|
||||
- generic [ref=e211]:
|
||||
- img [ref=e212]
|
||||
- generic [ref=e214]: Terminal execution records that need review before retrying.
|
||||
- generic [ref=e218]:
|
||||
- generic [ref=e220]: Completed recently
|
||||
- generic [ref=e221]: "0"
|
||||
- generic [ref=e222]:
|
||||
- img [ref=e223]
|
||||
- generic [ref=e225]: Recent execution results, not environment or governance health.
|
||||
- generic [ref=e226]:
|
||||
- generic [ref=e227]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]:
|
||||
- paragraph [ref=e230]: Decision workbench
|
||||
- heading "Which operation needs attention now?" [level=2] [ref=e231]
|
||||
- generic [ref=e232]: Needs attention
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]:
|
||||
- generic [ref=e235]:
|
||||
- generic [ref=e236]: "Operation #82"
|
||||
- generic [ref=e237]: "Environment: Spec 358 Smoke Environment X69MOA"
|
||||
- heading "Inventory sync" [level=3] [ref=e238]
|
||||
- paragraph [ref=e239]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- generic [ref=e240]:
|
||||
- generic [ref=e241]:
|
||||
- term [ref=e242]: Outcome
|
||||
- definition [ref=e243]: Pending · Running
|
||||
- generic [ref=e244]:
|
||||
- term [ref=e245]: Timing
|
||||
- definition [ref=e246]: Started 2 weeks ago
|
||||
- generic [ref=e247]:
|
||||
- term [ref=e248]: Reason
|
||||
- definition [ref=e249]: "Still active: Yes. Automatic reconciliation: No. This run is past its lifecycle window and needs stale-run investigation before retrying."
|
||||
- generic [ref=e250]:
|
||||
- term [ref=e251]: Impact
|
||||
- definition [ref=e252]: Follow-up is needed before starting overlapping work for this operation scope.
|
||||
- generic [ref=e253]:
|
||||
- paragraph [ref=e254]: Outcome guidance
|
||||
- paragraph [ref=e255]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- generic [ref=e256]:
|
||||
- generic [ref=e257]:
|
||||
- paragraph [ref=e258]: Next action
|
||||
- paragraph [ref=e259]: Open operation
|
||||
- link "Open operation" [ref=e260] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- img [ref=e261]
|
||||
- text: Open operation
|
||||
- complementary [ref=e263]:
|
||||
- generic [ref=e264]:
|
||||
- generic [ref=e265]:
|
||||
- paragraph [ref=e266]: Operation summary
|
||||
- heading "Inventory sync" [level=2] [ref=e267]
|
||||
- generic [ref=e268]:
|
||||
- generic [ref=e269]:
|
||||
- paragraph [ref=e270]: Outcome
|
||||
- paragraph [ref=e271]: Pending · Running
|
||||
- generic [ref=e272]:
|
||||
- paragraph [ref=e273]: Environment
|
||||
- paragraph [ref=e274]: Spec 358 Smoke Environment X69MOA
|
||||
- generic [ref=e275]:
|
||||
- paragraph [ref=e276]: Proof
|
||||
- paragraph [ref=e277]: Operation detail available
|
||||
- paragraph [ref=e278]: Open operation for stored proof, related links, and authorized diagnostics. Artifact or evidence links are unavailable here unless the detail surface proves them.
|
||||
- generic [ref=e279]:
|
||||
- paragraph [ref=e280]: Primary next action
|
||||
- link "Open operation" [ref=e281] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- img [ref=e282]
|
||||
- text: Open operation
|
||||
- group [ref=e284]:
|
||||
- generic "Diagnostics · Collapsed" [ref=e285] [cursor=pointer]
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]:
|
||||
- heading "Operations history" [level=2] [ref=e288]
|
||||
- paragraph [ref=e289]: Secondary context for scanning OperationRun history after the top decision path is clear.
|
||||
- tablist "Operations tabs" [ref=e290]:
|
||||
- tab "All" [ref=e291] [cursor=pointer]:
|
||||
- generic [ref=e292]: All
|
||||
- tab "Active" [ref=e293] [cursor=pointer]:
|
||||
- generic [ref=e294]: Active
|
||||
- tab "Likely stale" [ref=e295] [cursor=pointer]:
|
||||
- generic [ref=e296]: Likely stale
|
||||
- tab "Terminal follow-up" [ref=e297] [cursor=pointer]:
|
||||
- generic [ref=e298]: Terminal follow-up
|
||||
- tab "Succeeded" [ref=e299] [cursor=pointer]:
|
||||
- generic [ref=e300]: Succeeded
|
||||
- tab "Partial" [ref=e301] [cursor=pointer]:
|
||||
- generic [ref=e302]: Partial
|
||||
- tab "Failed" [ref=e303] [cursor=pointer]:
|
||||
- generic [ref=e304]: Failed
|
||||
- paragraph [ref=e305]: Environment filters and the selected operations tab remain shareable through the URL. Additional table filters still restore from the last compatible session state.
|
||||
- generic [ref=e306]: 1 active operation(s) are beyond their lifecycle window and belong in the stale-attention view. 0 operation(s) already carry reconciled stale lineage and belong in terminal follow-up.
|
||||
- generic [ref=e309]:
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]:
|
||||
- generic [ref=e314]: Search
|
||||
- generic [ref=e315]:
|
||||
- img [ref=e317]
|
||||
- searchbox "Search" [ref=e320]
|
||||
- button "Filter" [ref=e323] [cursor=pointer]:
|
||||
- img [ref=e324]
|
||||
- generic [ref=e327]: "0"
|
||||
- table [ref=e329]:
|
||||
- rowgroup [ref=e330]:
|
||||
- row "Status Operation Initiator Started Duration Outcome" [ref=e331]:
|
||||
- columnheader "Status" [ref=e332]
|
||||
- columnheader "Operation" [ref=e333]:
|
||||
- button "Operation" [ref=e334] [cursor=pointer]:
|
||||
- text: Operation
|
||||
- img [ref=e335]
|
||||
- columnheader "Initiator" [ref=e337]
|
||||
- columnheader "Started" [ref=e338]:
|
||||
- button "Started" [ref=e339] [cursor=pointer]:
|
||||
- text: Started
|
||||
- img [ref=e340]
|
||||
- columnheader "Duration" [ref=e342]
|
||||
- columnheader "Outcome" [ref=e343]
|
||||
- rowgroup [ref=e344]:
|
||||
- row "Likely stale Likely stale Inventory sync System 2 weeks ago — Awaiting result Past the lifecycle window. Review worker health and logs before retrying." [ref=e345]:
|
||||
- cell "Likely stale Likely stale" [ref=e346]:
|
||||
- link "Likely stale Likely stale" [ref=e347] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e348]:
|
||||
- paragraph [ref=e349]:
|
||||
- generic [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- text: Likely stale
|
||||
- paragraph [ref=e353]: Likely stale
|
||||
- cell "Inventory sync" [ref=e354]:
|
||||
- link "Inventory sync" [ref=e355] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e356]: Inventory sync
|
||||
- cell "System" [ref=e357]:
|
||||
- link "System" [ref=e358] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e359]: System
|
||||
- cell "2 weeks ago" [ref=e360]:
|
||||
- link "2 weeks ago" [ref=e361] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e362]: 2 weeks ago
|
||||
- cell "—" [ref=e363]:
|
||||
- link "—" [ref=e364] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e365]: —
|
||||
- cell "Awaiting result Past the lifecycle window. Review worker health and logs before retrying." [ref=e366]:
|
||||
- link "Awaiting result Past the lifecycle window. Review worker health and logs before retrying." [ref=e367] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- generic [ref=e368]:
|
||||
- paragraph [ref=e369]:
|
||||
- generic [ref=e370]:
|
||||
- img [ref=e371]
|
||||
- text: Awaiting result
|
||||
- paragraph [ref=e373]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- navigation "Pagination navigation" [ref=e374]:
|
||||
- generic [ref=e377]:
|
||||
- generic [ref=e379]: Per page
|
||||
- combobox "Per page" [ref=e381]:
|
||||
- option "25" [selected]
|
||||
- option "50"
|
||||
- option "100"
|
||||
- generic:
|
||||
- status
|
||||
302
.playwright-mcp/page-2026-06-06T11-22-09-374Z.yml
Normal file
302
.playwright-mcp/page-2026-06-06T11-22-09-374Z.yml
Normal file
@ -0,0 +1,302 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- link "Spec 358 Smoke Workspace X69MOA" [ref=e5] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e6]
|
||||
- text: Spec 358 Smoke Workspace X69MOA
|
||||
- img [ref=e8]
|
||||
- button "Environment scope" [ref=e12] [cursor=pointer]:
|
||||
- generic [ref=e13]: Spec 358 Smoke Environment X69MOA
|
||||
- img [ref=e14]
|
||||
- button "Language" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- generic [ref=e22]: EN
|
||||
- img [ref=e23]
|
||||
- button "Expand sidebar" [ref=e25] [cursor=pointer]:
|
||||
- img [ref=e26]
|
||||
- generic [ref=e28]:
|
||||
- generic [ref=e31]:
|
||||
- generic [ref=e32]: Global search
|
||||
- generic [ref=e33]:
|
||||
- img [ref=e35]
|
||||
- searchbox "Global search" [ref=e38]
|
||||
- button "Notifications" [ref=e42] [cursor=pointer]:
|
||||
- img [ref=e43]
|
||||
- button "User menu" [ref=e47] [cursor=pointer]:
|
||||
- img "Avatar of Ms. Kaylah Kohler Jr." [ref=e48]
|
||||
- generic [ref=e49]:
|
||||
- complementary [ref=e50]:
|
||||
- navigation [ref=e53]:
|
||||
- 'link "Workspace: Spec 358 Smoke Workspace X69MOA" [ref=e54] [cursor=pointer]':
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e56]
|
||||
- generic [ref=e58]:
|
||||
- generic [ref=e59]: Workspace
|
||||
- generic "Spec 358 Smoke Workspace X69MOA" [ref=e60]
|
||||
- generic [ref=e61]: 1 environment
|
||||
- img [ref=e62]
|
||||
- list [ref=e64]:
|
||||
- listitem [ref=e65]:
|
||||
- list [ref=e66]:
|
||||
- listitem [ref=e67]:
|
||||
- link "Overview" [ref=e68] [cursor=pointer]:
|
||||
- /url: http://localhost/admin
|
||||
- img [ref=e69]
|
||||
- generic [ref=e71]: Overview
|
||||
- listitem [ref=e72]:
|
||||
- generic [ref=e73] [cursor=pointer]:
|
||||
- generic [ref=e74]: Monitoring
|
||||
- button "Monitoring" [expanded] [ref=e75]:
|
||||
- img [ref=e76]
|
||||
- list [ref=e78]:
|
||||
- listitem [ref=e79]:
|
||||
- link "Finding exceptions" [ref=e80] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/finding-exceptions/queue
|
||||
- img [ref=e81]
|
||||
- generic [ref=e83]: Finding exceptions
|
||||
- listitem [ref=e84]:
|
||||
- link "Operations" [ref=e85] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations
|
||||
- img [ref=e86]
|
||||
- generic [ref=e88]: Operations
|
||||
- listitem [ref=e89]:
|
||||
- link "Alerts" [ref=e90] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/alerts
|
||||
- img [ref=e91]
|
||||
- generic [ref=e93]: Alerts
|
||||
- listitem [ref=e94]:
|
||||
- link "Evidence" [ref=e95] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/evidence/overview
|
||||
- img [ref=e96]
|
||||
- generic [ref=e98]: Evidence
|
||||
- listitem [ref=e99]:
|
||||
- link "Audit Log" [ref=e100] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/audit-log
|
||||
- img [ref=e101]
|
||||
- generic [ref=e103]: Audit Log
|
||||
- listitem [ref=e104]:
|
||||
- generic [ref=e105] [cursor=pointer]:
|
||||
- generic [ref=e106]: Reporting
|
||||
- button "Reporting" [expanded] [ref=e107]:
|
||||
- img [ref=e108]
|
||||
- list [ref=e110]:
|
||||
- listitem [ref=e111]:
|
||||
- link "Reviews" [ref=e112] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews
|
||||
- img [ref=e113]
|
||||
- generic [ref=e115]: Reviews
|
||||
- listitem [ref=e116]:
|
||||
- link "Customer reviews" [ref=e117] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/reviews/workspace
|
||||
- img [ref=e118]
|
||||
- generic [ref=e120]: Customer reviews
|
||||
- listitem [ref=e121]:
|
||||
- generic [ref=e122] [cursor=pointer]:
|
||||
- generic [ref=e123]: Settings
|
||||
- button "Settings" [expanded] [ref=e124]:
|
||||
- img [ref=e125]
|
||||
- list [ref=e127]:
|
||||
- listitem [ref=e128]:
|
||||
- link "Manage workspaces" [ref=e129] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]: Manage workspaces
|
||||
- listitem [ref=e133]:
|
||||
- link "Integrations" [ref=e134] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/provider-connections
|
||||
- img [ref=e135]
|
||||
- generic [ref=e137]: Integrations
|
||||
- listitem [ref=e138]:
|
||||
- link "Settings" [ref=e139] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/settings/workspace
|
||||
- img [ref=e140]
|
||||
- generic [ref=e143]: Settings
|
||||
- listitem [ref=e144]:
|
||||
- generic [ref=e145] [cursor=pointer]:
|
||||
- generic [ref=e146]: Governance
|
||||
- button "Governance" [expanded] [ref=e147]:
|
||||
- img [ref=e148]
|
||||
- list [ref=e150]:
|
||||
- listitem [ref=e151]:
|
||||
- link "Governance inbox" [ref=e152] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/inbox
|
||||
- img [ref=e153]
|
||||
- generic [ref=e155]: Governance inbox
|
||||
- listitem [ref=e156]:
|
||||
- link "Decision register" [ref=e157] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/governance/decisions
|
||||
- img [ref=e158]
|
||||
- generic [ref=e160]: Decision register
|
||||
- main [ref=e162]:
|
||||
- generic [ref=e164]:
|
||||
- generic [ref=e165]:
|
||||
- 'heading "Operation #82" [level=1] [ref=e167]'
|
||||
- generic [ref=e169]:
|
||||
- 'button "Environment scope: Spec 358 Smoke Environment X69MOA" [disabled]'
|
||||
- link "Back to Operations" [ref=e170] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations
|
||||
- link "Show all operations" [ref=e171] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations
|
||||
- link "Refresh" [ref=e172] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations/82
|
||||
- img [ref=e173]
|
||||
- text: Refresh
|
||||
- button "More" [ref=e177] [cursor=pointer]:
|
||||
- img [ref=e178]
|
||||
- generic [ref=e182]:
|
||||
- generic [ref=e183]:
|
||||
- paragraph [ref=e184]: Likely stale operation
|
||||
- paragraph [ref=e185]: This operation is no longer within its normal lifecycle window and may no longer be progressing.
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e192]:
|
||||
- heading "Inventory sync" [level=2] [ref=e193]
|
||||
- paragraph [ref=e194]: "Operation #82"
|
||||
- generic [ref=e197]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]:
|
||||
- img [ref=e200]
|
||||
- generic [ref=e203]: Likely stale
|
||||
- generic [ref=e204]:
|
||||
- img [ref=e205]
|
||||
- generic [ref=e208]: Awaiting result
|
||||
- generic [ref=e209]: Decision guidance and high-signal context stay ahead of diagnostic payloads and raw JSON.
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]:
|
||||
- generic [ref=e213]: Target
|
||||
- generic [ref=e215]: No target scope details were recorded for this operation.
|
||||
- generic [ref=e216]:
|
||||
- generic [ref=e217]: Elapsed
|
||||
- generic [ref=e219]: 2 weeks
|
||||
- generic [ref=e220]:
|
||||
- generic [ref=e222]:
|
||||
- heading "Decision" [level=2] [ref=e223]
|
||||
- paragraph [ref=e224]: Start here to see how the operation ended, whether the result is trustworthy enough to use, and the one primary next step.
|
||||
- generic [ref=e227]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]: "Still active: Yes. Automatic reconciliation: No. This run is past its lifecycle window and needs stale-run investigation before retrying."
|
||||
- generic [ref=e231]:
|
||||
- generic [ref=e232]:
|
||||
- generic [ref=e233]: Execution state
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e236]
|
||||
- generic [ref=e239]: Likely stale
|
||||
- generic [ref=e240]:
|
||||
- generic [ref=e241]: Outcome
|
||||
- generic [ref=e243]:
|
||||
- img [ref=e244]
|
||||
- generic [ref=e247]: Awaiting result
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Primary next step
|
||||
- generic [ref=e251]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- generic [ref=e252]:
|
||||
- generic [ref=e253]: Counts
|
||||
- generic [ref=e255]: "Total: 10 · Processed: 4"
|
||||
- generic [ref=e256]:
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]: Guidance
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e261]:
|
||||
- heading "Guidance" [level=2] [ref=e262]
|
||||
- paragraph [ref=e263]: Secondary guidance explains caveats and context without competing with the primary next step.
|
||||
- generic [ref=e269]:
|
||||
- generic [ref=e270]: Queue guidance
|
||||
- generic [ref=e272]: Past the lifecycle window. Review worker health and logs before retrying.
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]: Lifecycle
|
||||
- generic [ref=e275]:
|
||||
- generic [ref=e277]:
|
||||
- heading "Lifecycle" [level=2] [ref=e278]
|
||||
- paragraph [ref=e279]: Lifecycle context explains freshness, reconciliation, and tenant-scoped caveats.
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]: ManagedEnvironment lifecycle
|
||||
- generic [ref=e288]:
|
||||
- img [ref=e289]
|
||||
- generic [ref=e292]: Active
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]: Timing
|
||||
- generic [ref=e295]:
|
||||
- heading "Timing" [level=2] [ref=e298]
|
||||
- generic [ref=e303]:
|
||||
- generic [ref=e304]:
|
||||
- generic [ref=e305]: Created
|
||||
- generic [ref=e307]: Sat, May 23, 2026 11:21 AM
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]: Started
|
||||
- generic [ref=e311]: Sat, May 23, 2026 11:21 AM
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: Completed
|
||||
- generic [ref=e315]: —
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]: Elapsed
|
||||
- generic [ref=e319]: 2 weeks
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]: Metadata
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e324]:
|
||||
- heading "Metadata" [level=2] [ref=e325]
|
||||
- paragraph [ref=e326]: Secondary metadata remains visible without crowding the top decision surface.
|
||||
- generic [ref=e331]:
|
||||
- generic [ref=e332]:
|
||||
- generic [ref=e333]: Initiator
|
||||
- generic [ref=e335]: System
|
||||
- generic [ref=e336]:
|
||||
- generic [ref=e337]: Expected duration
|
||||
- generic [ref=e339]: Typically ~3 min
|
||||
- generic [ref=e341]:
|
||||
- heading "Related context" [level=2] [ref=e344]
|
||||
- generic [ref=e349]:
|
||||
- generic [ref=e350]: Operations
|
||||
- generic [ref=e351]:
|
||||
- generic [ref=e352]:
|
||||
- link "Operations" [ref=e353] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations?nav%5Bsource_surface%5D=operation_run.detail_section&nav%5Bcanonical_route_name%5D=admin.operations.index&nav%5Benvironment_id%5D=61&nav%5Bback_label%5D=Back%20to%20operations&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fworkspaces%2F38%2Foperations%3Fenvironment_id%3D61&environment_id=61
|
||||
- generic [ref=e354]: Spec 358 Smoke Environment X69MOA
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e358]: ManagedEnvironment context
|
||||
- link "Open operations" [ref=e359] [cursor=pointer]:
|
||||
- /url: http://localhost/admin/workspaces/38/operations?nav%5Bsource_surface%5D=operation_run.detail_section&nav%5Bcanonical_route_name%5D=admin.operations.index&nav%5Benvironment_id%5D=61&nav%5Bback_label%5D=Back%20to%20operations&nav%5Bback_url%5D=http%3A%2F%2Flocalhost%2Fadmin%2Fworkspaces%2F38%2Foperations%3Fenvironment_id%3D61&environment_id=61
|
||||
- img [ref=e360]
|
||||
- text: Open operations
|
||||
- generic [ref=e363]:
|
||||
- generic [ref=e365] [cursor=pointer]:
|
||||
- generic [ref=e366]:
|
||||
- heading "Count diagnostics" [level=2] [ref=e367]
|
||||
- paragraph [ref=e368]: Normalized run counters remain available for deeper inspection without competing with the primary decision.
|
||||
- button [ref=e369]:
|
||||
- img [ref=e370]
|
||||
- generic [ref=e373] [cursor=pointer]:
|
||||
- generic [ref=e374]:
|
||||
- heading "Context" [level=2] [ref=e375]
|
||||
- paragraph [ref=e376]: Stored run context stays available for debugging without dominating the default reading path.
|
||||
- button [ref=e377]:
|
||||
- img [ref=e378]
|
||||
- generic [ref=e380]:
|
||||
- heading "Monitoring detail" [level=2] [ref=e383]
|
||||
- generic [ref=e385]:
|
||||
- paragraph [ref=e386]: Scope context, return navigation, utility, related drilldowns, and run-specific follow-up stay in separate lanes on this viewer.
|
||||
- generic [ref=e387]:
|
||||
- generic [ref=e388]:
|
||||
- paragraph [ref=e389]: Scope context
|
||||
- paragraph [ref=e390]: "Environment scope: Spec 358 Smoke Environment X69MOA"
|
||||
- paragraph [ref=e391]: The current workspace or tenant scope remains visible without behaving like a primary task action.
|
||||
- generic [ref=e392]:
|
||||
- paragraph [ref=e393]: Navigation lane
|
||||
- paragraph [ref=e394]: Back to Operations
|
||||
- paragraph [ref=e395]: Return to the operations landing when this review is complete.
|
||||
- generic [ref=e396]:
|
||||
- paragraph [ref=e397]: Utility lane
|
||||
- paragraph [ref=e398]: Refresh
|
||||
- paragraph [ref=e399]: Refresh keeps the current run state accurate without changing scope.
|
||||
- generic [ref=e400]:
|
||||
- paragraph [ref=e401]: Related drilldown
|
||||
- paragraph [ref=e402]: Open
|
||||
- paragraph [ref=e403]: Open keeps secondary drilldowns grouped under one control when downstream context exists.
|
||||
- generic [ref=e404]:
|
||||
- paragraph [ref=e405]: Follow-up lane
|
||||
- paragraph [ref=e406]: No follow-up action
|
||||
- paragraph [ref=e407]: No run-specific follow-up is currently available.
|
||||
- generic:
|
||||
- status
|
||||
9956
.playwright-mcp/page-2026-06-06T11-28-17-478Z.yml
Normal file
9956
.playwright-mcp/page-2026-06-06T11-28-17-478Z.yml
Normal file
File diff suppressed because it is too large
Load Diff
9968
.playwright-mcp/page-2026-06-06T11-29-00-606Z.yml
Normal file
9968
.playwright-mcp/page-2026-06-06T11-29-00-606Z.yml
Normal file
File diff suppressed because it is too large
Load Diff
58
.playwright-mcp/page-2026-06-06T20-24-13-558Z.yml
Normal file
58
.playwright-mcp/page-2026-06-06T20-24-13-558Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 380ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
58
.playwright-mcp/page-2026-06-06T20-27-09-786Z.yml
Normal file
58
.playwright-mcp/page-2026-06-06T20-27-09-786Z.yml
Normal file
@ -0,0 +1,58 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e7]:
|
||||
- generic [ref=e9]:
|
||||
- img [ref=e10]
|
||||
- generic [ref=e13]: TenantPilot
|
||||
- heading "Sign in" [level=1] [ref=e14]
|
||||
- generic [ref=e16]:
|
||||
- link "Sign in with Microsoft" [ref=e17] [cursor=pointer]:
|
||||
- /url: http://localhost/auth/entra/redirect
|
||||
- generic [ref=e18]: Admin access requires an environment membership.
|
||||
- generic:
|
||||
- status
|
||||
- generic [ref=e19]:
|
||||
- generic [ref=e21]:
|
||||
- generic [ref=e23]:
|
||||
- generic [ref=e24] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Request
|
||||
- text:
|
||||
- generic [ref=e25] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Timeline
|
||||
- text:
|
||||
- generic [ref=e26] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Views
|
||||
- generic [ref=e27]: "4"
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Queries
|
||||
- generic [ref=e29]: "2"
|
||||
- text:
|
||||
- generic [ref=e30] [cursor=pointer]:
|
||||
- text:
|
||||
- generic: Livewire
|
||||
- generic [ref=e31]: "2"
|
||||
- text:
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e35] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e37] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic [ref=e38] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 217ms
|
||||
- generic [ref=e39]:
|
||||
- generic:
|
||||
- generic: 13MB
|
||||
- generic [ref=e40]:
|
||||
- generic:
|
||||
- generic: 12.x
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: GET admin/login
|
||||
- text:
|
||||
- text:
|
||||
@ -7,6 +7,7 @@
|
||||
use App\Models\Tenant;
|
||||
use App\Support\OperateHub\OperateHubShell;
|
||||
use Filament\Facades\Filament;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use RuntimeException;
|
||||
|
||||
trait ResolvesPanelTenantContext
|
||||
@ -21,6 +22,20 @@ protected static function resolveTenantContextForCurrentPanel(): ?Tenant
|
||||
return $tenant instanceof Tenant ? $tenant : null;
|
||||
}
|
||||
|
||||
if (static::currentPanelId($request) === 'tenant') {
|
||||
$tenant = Filament::getTenant();
|
||||
|
||||
if ($tenant instanceof Tenant) {
|
||||
return $tenant;
|
||||
}
|
||||
|
||||
$tenant = static::tenantFromRequestPathOrReferer($request);
|
||||
|
||||
if ($tenant instanceof Tenant) {
|
||||
return $tenant;
|
||||
}
|
||||
}
|
||||
|
||||
$tenant = Tenant::current();
|
||||
|
||||
return $tenant instanceof Tenant ? $tenant : null;
|
||||
@ -86,6 +101,75 @@ private static function currentPanelId(mixed $request): ?string
|
||||
return 'admin';
|
||||
}
|
||||
|
||||
$refererPath = static::refererPath($request);
|
||||
|
||||
if (is_string($refererPath) && str_starts_with($refererPath, '/admin/t/')) {
|
||||
return 'tenant';
|
||||
}
|
||||
|
||||
if (is_string($refererPath) && str_starts_with($refererPath, '/admin/')) {
|
||||
return 'admin';
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static function tenantFromRequestPathOrReferer(mixed $request): ?Tenant
|
||||
{
|
||||
$path = is_object($request) && method_exists($request, 'path')
|
||||
? '/'.ltrim((string) $request->path(), '/')
|
||||
: null;
|
||||
|
||||
$identifier = static::tenantIdentifierFromPath($path)
|
||||
?? static::tenantIdentifierFromPath(static::refererPath($request));
|
||||
|
||||
if (! is_string($identifier) || $identifier === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Tenant::query()
|
||||
->withTrashed()
|
||||
->where(static function (Builder $query) use ($identifier): void {
|
||||
$query->where('external_id', $identifier);
|
||||
|
||||
if (ctype_digit($identifier)) {
|
||||
$query->orWhereKey((int) $identifier);
|
||||
}
|
||||
})
|
||||
->first();
|
||||
}
|
||||
|
||||
private static function tenantIdentifierFromPath(?string $path): ?string
|
||||
{
|
||||
if (! is_string($path)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$normalizedPath = '/'.ltrim($path, '/');
|
||||
|
||||
if (preg_match('#^/admin/t/([^/]+)(?:/|$)#', $normalizedPath, $matches) !== 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$identifier = urldecode((string) $matches[1]);
|
||||
|
||||
return $identifier === '' ? null : $identifier;
|
||||
}
|
||||
|
||||
private static function refererPath(mixed $request): ?string
|
||||
{
|
||||
if (! is_object($request) || ! method_exists($request, 'headers')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$referer = $request->headers->get('referer');
|
||||
|
||||
if (! is_string($referer) || $referer === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
$path = parse_url($referer, PHP_URL_PATH);
|
||||
|
||||
return is_string($path) && $path !== '' ? $path : null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
|
||||
namespace App\Filament\Pages;
|
||||
|
||||
use App\Filament\Concerns\ResolvesPanelTenantContext;
|
||||
use App\Filament\Widgets\Tenant\TenantTriageArrivalContinuity;
|
||||
use App\Filament\Widgets\Dashboard\BaselineCompareNow;
|
||||
use App\Filament\Widgets\Dashboard\DashboardKpis;
|
||||
@ -19,12 +20,13 @@
|
||||
use App\Support\Auth\Capabilities;
|
||||
use App\Support\ProductTelemetry\ProductTelemetryRecorder;
|
||||
use App\Support\ProductTelemetry\ProductUsageEventCatalog;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\SupportDiagnostics\SupportDiagnosticBundleBuilder;
|
||||
use App\Support\SupportRequests\ExternalSupportDeskHandoffService;
|
||||
use App\Support\SupportRequests\SupportRequestSubmissionService;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Facades\Filament;
|
||||
use Filament\Forms\Components\Placeholder;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
@ -39,6 +41,9 @@
|
||||
|
||||
class TenantDashboard extends Dashboard
|
||||
{
|
||||
use ResolvesPanelTenantContext;
|
||||
use ResolvesUiActionContext;
|
||||
|
||||
/**
|
||||
* @var list<string>
|
||||
*/
|
||||
@ -188,7 +193,10 @@ private function requestSupportAction(): Action
|
||||
->send();
|
||||
});
|
||||
|
||||
return UiEnforcement::forAction($action)
|
||||
return UiEnforcement::forScopedAction(
|
||||
$action,
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::SUPPORT_REQUESTS_CREATE)
|
||||
->apply();
|
||||
}
|
||||
@ -213,7 +221,10 @@ private function openSupportDiagnosticsAction(): Action
|
||||
'bundle' => $this->tenantSupportDiagnosticBundle(),
|
||||
]));
|
||||
|
||||
return UiEnforcement::forAction($action)
|
||||
return UiEnforcement::forScopedAction(
|
||||
$action,
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::SUPPORT_DIAGNOSTICS_VIEW)
|
||||
->apply();
|
||||
}
|
||||
@ -288,7 +299,7 @@ private function resolveDashboardActor(): User
|
||||
private function resolveCurrentTenantForCapability(string $capability): Tenant
|
||||
{
|
||||
$user = $this->resolveDashboardActor();
|
||||
$tenant = Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel();
|
||||
|
||||
if (! $tenant instanceof Tenant) {
|
||||
abort(404);
|
||||
@ -309,7 +320,7 @@ private function resolveCurrentTenantForCapability(string $capability): Tenant
|
||||
|
||||
private function tenantSupportRequestAttachmentSummary(): string
|
||||
{
|
||||
$tenant = Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel();
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $tenant instanceof Tenant || ! $user instanceof User) {
|
||||
|
||||
@ -10,6 +10,8 @@
|
||||
use App\Services\Auth\TenantDiagnosticsService;
|
||||
use App\Services\Auth\TenantMembershipManager;
|
||||
use App\Support\Auth\Capabilities;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\Rbac\UiTooltips;
|
||||
use App\Support\Ui\ActionSurface\ActionSurfaceDeclaration;
|
||||
@ -20,6 +22,7 @@
|
||||
|
||||
class TenantDiagnostics extends Page
|
||||
{
|
||||
use ResolvesUiActionContext;
|
||||
use ResolvesPanelTenantContext;
|
||||
|
||||
protected static bool $shouldRegisterNavigation = false;
|
||||
@ -67,11 +70,12 @@ public function mount(): void
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
UiEnforcement::forAction(
|
||||
UiEnforcement::forScopedAction(
|
||||
Action::make('bootstrapOwner')
|
||||
->label('Bootstrap owner')
|
||||
->requiresConfirmation()
|
||||
->action(fn () => $this->bootstrapOwner()),
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_MANAGE)
|
||||
->destructive()
|
||||
@ -79,11 +83,12 @@ protected function getHeaderActions(): array
|
||||
->apply()
|
||||
->visible(fn (): bool => $this->missingOwner),
|
||||
|
||||
UiEnforcement::forAction(
|
||||
UiEnforcement::forScopedAction(
|
||||
Action::make('mergeDuplicateMemberships')
|
||||
->label('Merge duplicate memberships')
|
||||
->requiresConfirmation()
|
||||
->action(fn () => $this->mergeDuplicateMemberships()),
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_MANAGE)
|
||||
->destructive()
|
||||
|
||||
@ -11,6 +11,8 @@
|
||||
use App\Support\OperationRunLinks;
|
||||
use App\Support\OpsUx\OpsUxBrowserEvents;
|
||||
use App\Support\OpsUx\ProviderOperationStartResultPresenter;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContextSource;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Facades\Filament;
|
||||
@ -48,7 +50,7 @@ protected function getHeaderActions(): array
|
||||
->icon('heroicon-o-clock')
|
||||
->url(fn (): string => OperationRunLinks::index($tenant))
|
||||
->visible(fn (): bool => $tenant instanceof Tenant),
|
||||
UiEnforcement::forAction(
|
||||
UiEnforcement::forScopedAction(
|
||||
Action::make('sync_groups')
|
||||
->label('Sync Groups')
|
||||
->icon('heroicon-o-arrow-path')
|
||||
@ -73,7 +75,11 @@ protected function getHeaderActions(): array
|
||||
}
|
||||
|
||||
$notification->send();
|
||||
})
|
||||
}),
|
||||
fn (): UiActionContext => UiActionContext::forEnvironment(
|
||||
EntraGroupResource::panelTenantContext(),
|
||||
UiActionContextSource::PageResolver,
|
||||
),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_SYNC)
|
||||
->tooltip('You do not have permission to sync groups.')
|
||||
|
||||
@ -25,6 +25,8 @@
|
||||
use App\Support\OperationRunLinks;
|
||||
use App\Support\OperationRunOutcome;
|
||||
use App\Support\OperationRunStatus;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\Rbac\UiTooltips;
|
||||
use App\Support\Ui\ActionSurface\ActionSurfaceDeclaration;
|
||||
@ -63,6 +65,7 @@
|
||||
class EvidenceSnapshotResource extends Resource
|
||||
{
|
||||
use InteractsWithTenantOwnedRecords;
|
||||
use ResolvesUiActionContext;
|
||||
use ResolvesPanelTenantContext;
|
||||
|
||||
protected static ?string $model = EvidenceSnapshot::class;
|
||||
@ -396,11 +399,12 @@ public static function table(Table $table): Table
|
||||
->emptyStateHeading('No evidence snapshots yet')
|
||||
->emptyStateDescription('Create the first snapshot to capture immutable evidence for this tenant.')
|
||||
->emptyStateActions([
|
||||
UiEnforcement::forAction(
|
||||
UiEnforcement::forScopedAction(
|
||||
Actions\Action::make('create_first_snapshot')
|
||||
->label('Create first snapshot')
|
||||
->icon('heroicon-o-plus')
|
||||
->action(fn (): mixed => static::executeGeneration([])),
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::EVIDENCE_MANAGE)
|
||||
->tooltip(UiTooltips::INSUFFICIENT_PERMISSION)
|
||||
@ -769,7 +773,7 @@ private static function stringifySummaryValue(mixed $value): string
|
||||
*/
|
||||
public static function executeGeneration(array $data): void
|
||||
{
|
||||
$tenant = Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel();
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $tenant instanceof Tenant || ! $user instanceof User) {
|
||||
|
||||
@ -6,6 +6,8 @@
|
||||
|
||||
use App\Filament\Resources\EvidenceSnapshotResource;
|
||||
use App\Support\Auth\Capabilities;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContextSource;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use Filament\Actions;
|
||||
use Filament\Forms\Components\Toggle;
|
||||
@ -19,7 +21,7 @@ class ListEvidenceSnapshots extends ListRecords
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
UiEnforcement::forAction(
|
||||
UiEnforcement::forScopedAction(
|
||||
Actions\Action::make('create_snapshot')
|
||||
->label('Create snapshot')
|
||||
->icon('heroicon-o-plus')
|
||||
@ -32,6 +34,10 @@ protected function getHeaderActions(): array
|
||||
->default(false),
|
||||
]),
|
||||
]),
|
||||
fn (): UiActionContext => UiActionContext::forEnvironment(
|
||||
EvidenceSnapshotResource::panelTenantContext(),
|
||||
UiActionContextSource::PageResolver,
|
||||
),
|
||||
)
|
||||
->requireCapability(Capabilities::EVIDENCE_MANAGE)
|
||||
->apply(),
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
use App\Support\OperationRunType;
|
||||
use App\Support\OpsUx\OperationUxPresenter;
|
||||
use App\Support\OpsUx\OpsUxBrowserEvents;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\Rbac\UiTooltips;
|
||||
use App\Support\Workspaces\WorkspaceContext;
|
||||
@ -32,6 +34,7 @@
|
||||
|
||||
class ListInventoryItems extends ListRecords
|
||||
{
|
||||
use ResolvesUiActionContext;
|
||||
use ResolvesPanelTenantContext;
|
||||
|
||||
protected static string $resource = InventoryItemResource::class;
|
||||
@ -63,7 +66,7 @@ protected function getHeaderWidgets(): array
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
UiEnforcement::forAction(
|
||||
UiEnforcement::forScopedAction(
|
||||
Action::make('run_inventory_sync')
|
||||
->label('Run Inventory Sync')
|
||||
->icon('heroicon-o-arrow-path')
|
||||
@ -238,7 +241,8 @@ protected function getHeaderActions(): array
|
||||
->send();
|
||||
|
||||
OpsUxBrowserEvents::dispatchRunEnqueued($livewire);
|
||||
})
|
||||
}),
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->preserveVisibility()
|
||||
->requireCapability(Capabilities::TENANT_INVENTORY_SYNC_RUN)
|
||||
|
||||
@ -28,6 +28,8 @@
|
||||
use App\Support\OperationRunLinks;
|
||||
use App\Support\OpsUx\OperationUxPresenter;
|
||||
use App\Support\OpsUx\OpsUxBrowserEvents;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\Ui\ActionSurface\ActionSurfaceDeclaration;
|
||||
use App\Support\Ui\ActionSurface\Enums\ActionSurfaceInspectAffordance;
|
||||
@ -59,6 +61,7 @@
|
||||
class PolicyResource extends Resource
|
||||
{
|
||||
use InteractsWithTenantOwnedRecords;
|
||||
use ResolvesUiActionContext;
|
||||
use ResolvesPanelTenantContext;
|
||||
use ScopesGlobalSearchToTenant;
|
||||
|
||||
@ -110,7 +113,7 @@ public static function actionSurfaceDeclaration(): ActionSurfaceDeclaration
|
||||
|
||||
public static function makeSyncAction(string $name = 'sync'): Actions\Action
|
||||
{
|
||||
return UiEnforcement::forAction(
|
||||
return UiEnforcement::forScopedAction(
|
||||
Actions\Action::make($name)
|
||||
->label('Sync from Intune')
|
||||
->icon('heroicon-o-arrow-path')
|
||||
@ -169,7 +172,8 @@ public static function makeSyncAction(string $name = 'sync'): Actions\Action
|
||||
->url(OperationRunLinks::view($opRun, $tenant)),
|
||||
])
|
||||
->send();
|
||||
})
|
||||
}),
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_SYNC)
|
||||
->tooltip('You do not have permission to sync policies.')
|
||||
|
||||
@ -45,6 +45,8 @@
|
||||
use App\Support\OpsUx\ProviderOperationStartResultPresenter;
|
||||
use App\Support\OperationalControls\OperationalControlBlockedException;
|
||||
use App\Support\OperationalControls\OperationalControlEvaluator;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\RestoreRunIdempotency;
|
||||
use App\Support\RestoreRunStatus;
|
||||
@ -87,6 +89,7 @@
|
||||
class RestoreRunResource extends Resource
|
||||
{
|
||||
use InteractsWithTenantOwnedRecords;
|
||||
use ResolvesUiActionContext;
|
||||
use ResolvesPanelTenantContext;
|
||||
|
||||
protected static ?string $model = RestoreRun::class;
|
||||
@ -265,7 +268,10 @@ public static function makeCreateAction(): Actions\CreateAction
|
||||
$action = Actions\CreateAction::make()
|
||||
->label('New restore run');
|
||||
|
||||
UiEnforcement::forAction($action)
|
||||
UiEnforcement::forScopedAction(
|
||||
$action,
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_MANAGE)
|
||||
->apply();
|
||||
|
||||
|
||||
@ -19,6 +19,8 @@
|
||||
use App\Support\Badges\BadgeRenderer;
|
||||
use App\Support\OperationRunLinks;
|
||||
use App\Support\OpsUx\OperationUxPresenter;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\ReviewPackStatus;
|
||||
use App\Support\Ui\ActionSurface\ActionSurfaceDeclaration;
|
||||
@ -32,7 +34,6 @@
|
||||
use App\Support\Ui\GovernanceArtifactTruth\SurfaceCompressionContext;
|
||||
use BackedEnum;
|
||||
use Filament\Actions;
|
||||
use Filament\Facades\Filament;
|
||||
use Filament\Forms\Components\Toggle;
|
||||
use Filament\Infolists\Components\TextEntry;
|
||||
use Filament\Infolists\Components\ViewEntry;
|
||||
@ -49,6 +50,7 @@
|
||||
|
||||
class ReviewPackResource extends Resource
|
||||
{
|
||||
use ResolvesUiActionContext;
|
||||
use ResolvesPanelTenantContext;
|
||||
|
||||
protected static ?string $model = ReviewPack::class;
|
||||
@ -67,7 +69,7 @@ class ReviewPackResource extends Resource
|
||||
|
||||
public static function canViewAny(): bool
|
||||
{
|
||||
$tenant = Tenant::current();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel() ?? Tenant::current();
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $tenant instanceof Tenant || ! $user instanceof User) {
|
||||
@ -83,7 +85,7 @@ public static function canViewAny(): bool
|
||||
|
||||
public static function canView(Model $record): bool
|
||||
{
|
||||
$tenant = Tenant::current();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel() ?? Tenant::current();
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $tenant instanceof Tenant || ! $user instanceof User) {
|
||||
@ -372,7 +374,7 @@ public static function table(Table $table): Table
|
||||
|
||||
public static function generatePackAction(string $name = 'generate_pack', string $label = 'Generate Pack'): Actions\Action
|
||||
{
|
||||
$action = UiEnforcement::forAction(
|
||||
$action = UiEnforcement::forScopedAction(
|
||||
Actions\Action::make($name)
|
||||
->label($label)
|
||||
->icon('heroicon-o-plus')
|
||||
@ -380,7 +382,8 @@ public static function generatePackAction(string $name = 'generate_pack', string
|
||||
->action(function (array $data): void {
|
||||
static::executeGeneration($data);
|
||||
})
|
||||
->form(static::reviewPackGenerationFormSchema())
|
||||
->form(static::reviewPackGenerationFormSchema()),
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::REVIEW_PACK_MANAGE)
|
||||
->preserveDisabled()
|
||||
@ -413,7 +416,7 @@ public static function reviewPackGenerationFormSchema(): array
|
||||
|
||||
public static function getEloquentQuery(): Builder
|
||||
{
|
||||
$tenant = Tenant::current() ?? static::resolveTenantContextForCurrentPanel() ?? Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel() ?? Tenant::current();
|
||||
|
||||
if (! $tenant instanceof Tenant) {
|
||||
return parent::getEloquentQuery()->whereRaw('1 = 0');
|
||||
@ -501,7 +504,7 @@ private static function compressedOutcome(ReviewPack $record, bool $fresh = fals
|
||||
*/
|
||||
public static function executeGeneration(array $data): void
|
||||
{
|
||||
$tenant = Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel();
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $tenant instanceof Tenant || ! $user instanceof User) {
|
||||
@ -574,7 +577,7 @@ public static function executeGeneration(array $data): void
|
||||
*/
|
||||
public static function reviewPackGenerationDecision(?Tenant $tenant = null): array
|
||||
{
|
||||
$tenant ??= Tenant::current() ?? static::resolveTenantContextForCurrentPanel() ?? Filament::getTenant();
|
||||
$tenant ??= static::resolveTenantContextForCurrentPanel() ?? Tenant::current();
|
||||
|
||||
if (! $tenant instanceof Tenant) {
|
||||
return [];
|
||||
@ -585,7 +588,7 @@ public static function reviewPackGenerationDecision(?Tenant $tenant = null): arr
|
||||
|
||||
public static function currentTenantContext(): ?Tenant
|
||||
{
|
||||
$tenant = Tenant::current() ?? static::resolveTenantContextForCurrentPanel() ?? Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel() ?? Tenant::current();
|
||||
|
||||
return $tenant instanceof Tenant ? $tenant : null;
|
||||
}
|
||||
|
||||
@ -26,6 +26,8 @@
|
||||
use App\Support\OperationRunType;
|
||||
use App\Support\OpsUx\OperationUxPresenter;
|
||||
use App\Support\ReasonTranslation\ReasonPresenter;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\TenantReviewCompletenessState;
|
||||
use App\Support\TenantReviewStatus;
|
||||
@ -60,6 +62,7 @@
|
||||
class TenantReviewResource extends Resource
|
||||
{
|
||||
use InteractsWithTenantOwnedRecords;
|
||||
use ResolvesUiActionContext;
|
||||
use ResolvesPanelTenantContext;
|
||||
|
||||
protected static bool $isDiscovered = false;
|
||||
@ -361,7 +364,7 @@ public static function makeCreateReviewAction(
|
||||
? __('localization.review.create_review')
|
||||
: $label;
|
||||
|
||||
return UiEnforcement::forAction(
|
||||
return UiEnforcement::forScopedAction(
|
||||
Actions\Action::make($name)
|
||||
->label($label)
|
||||
->icon($icon)
|
||||
@ -377,6 +380,7 @@ public static function makeCreateReviewAction(
|
||||
]),
|
||||
])
|
||||
->action(fn (array $data): mixed => static::executeCreateReview($data)),
|
||||
fn (): UiActionContext => static::tenantUiActionContext(),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_REVIEW_MANAGE)
|
||||
->apply();
|
||||
@ -387,7 +391,7 @@ public static function makeCreateReviewAction(
|
||||
*/
|
||||
public static function executeCreateReview(array $data): void
|
||||
{
|
||||
$tenant = Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel();
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $tenant instanceof Tenant || ! $user instanceof User) {
|
||||
@ -462,7 +466,7 @@ public static function executeCreateReview(array $data): void
|
||||
*/
|
||||
public static function reviewPackGenerationDecision(?Tenant $tenant = null): array
|
||||
{
|
||||
$tenant ??= Filament::getTenant();
|
||||
$tenant ??= static::resolveTenantContextForCurrentPanel();
|
||||
|
||||
if (! $tenant instanceof Tenant) {
|
||||
return [];
|
||||
@ -601,7 +605,7 @@ public static function tenantScopedUrl(
|
||||
*/
|
||||
private static function evidenceSnapshotOptions(): array
|
||||
{
|
||||
$tenant = Filament::getTenant();
|
||||
$tenant = static::resolveTenantContextForCurrentPanel();
|
||||
|
||||
if (! $tenant instanceof Tenant) {
|
||||
return [];
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Support\Rbac\Actions;
|
||||
|
||||
use App\Models\Tenant;
|
||||
use App\Models\Workspace;
|
||||
use Filament\Facades\Filament;
|
||||
|
||||
trait ResolvesUiActionContext
|
||||
{
|
||||
protected static function tenantUiActionContext(
|
||||
?Tenant $tenant = null,
|
||||
UiActionContextSource $source = UiActionContextSource::PageResolver,
|
||||
): UiActionContext {
|
||||
if (! $tenant instanceof Tenant && method_exists(static::class, 'resolveTenantContextForCurrentPanel')) {
|
||||
$tenant = static::resolveTenantContextForCurrentPanel();
|
||||
}
|
||||
|
||||
if (! $tenant instanceof Tenant) {
|
||||
$filamentTenant = Filament::getTenant();
|
||||
$tenant = $filamentTenant instanceof Tenant ? $filamentTenant : null;
|
||||
}
|
||||
|
||||
return UiActionContext::forEnvironment($tenant, $source);
|
||||
}
|
||||
|
||||
protected static function workspaceUiActionContext(
|
||||
?Workspace $workspace = null,
|
||||
UiActionContextSource $source = UiActionContextSource::WorkspaceContext,
|
||||
): UiActionContext {
|
||||
return UiActionContext::forWorkspace($workspace, $source);
|
||||
}
|
||||
}
|
||||
160
apps/platform/app/Support/Rbac/Actions/UiActionContext.php
Normal file
160
apps/platform/app/Support/Rbac/Actions/UiActionContext.php
Normal file
@ -0,0 +1,160 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Support\Rbac\Actions;
|
||||
|
||||
use App\Models\Tenant;
|
||||
use App\Models\Workspace;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use RuntimeException;
|
||||
|
||||
final readonly class UiActionContext
|
||||
{
|
||||
public const string CONTEXT_MISSING = 'context_missing';
|
||||
|
||||
public const string WORKSPACE_MISSING = 'workspace_missing';
|
||||
|
||||
public const string ENVIRONMENT_MISSING = 'environment_missing';
|
||||
|
||||
private function __construct(
|
||||
public UiActionScope $scope,
|
||||
public UiActionContextSource $source,
|
||||
private ?Workspace $workspace = null,
|
||||
private ?Tenant $environment = null,
|
||||
private ?Model $record = null,
|
||||
private ?string $missingReason = null,
|
||||
) {}
|
||||
|
||||
public static function forWorkspace(?Workspace $workspace, UiActionContextSource $source = UiActionContextSource::Explicit): self
|
||||
{
|
||||
if (! $workspace instanceof Workspace) {
|
||||
return self::missing(self::WORKSPACE_MISSING, $source);
|
||||
}
|
||||
|
||||
return new self(
|
||||
scope: UiActionScope::Workspace,
|
||||
source: $source,
|
||||
workspace: $workspace,
|
||||
);
|
||||
}
|
||||
|
||||
public static function forEnvironment(?Tenant $environment, UiActionContextSource $source = UiActionContextSource::Explicit): self
|
||||
{
|
||||
if (! $environment instanceof Tenant) {
|
||||
return self::missing(self::ENVIRONMENT_MISSING, $source);
|
||||
}
|
||||
|
||||
return new self(
|
||||
scope: UiActionScope::Environment,
|
||||
source: $source,
|
||||
workspace: $environment->workspace,
|
||||
environment: $environment,
|
||||
);
|
||||
}
|
||||
|
||||
public static function forRecord(Model $record, UiActionContextSource $source = UiActionContextSource::Record): self
|
||||
{
|
||||
$environment = self::environmentFromRecord($record);
|
||||
|
||||
return new self(
|
||||
scope: UiActionScope::Record,
|
||||
source: $source,
|
||||
workspace: $environment?->workspace,
|
||||
environment: $environment,
|
||||
record: $record,
|
||||
);
|
||||
}
|
||||
|
||||
public static function forSystem(UiActionContextSource $source = UiActionContextSource::Explicit): self
|
||||
{
|
||||
return new self(
|
||||
scope: UiActionScope::System,
|
||||
source: $source,
|
||||
);
|
||||
}
|
||||
|
||||
public static function missing(
|
||||
string $reason = self::CONTEXT_MISSING,
|
||||
UiActionContextSource $source = UiActionContextSource::Missing,
|
||||
): self {
|
||||
return new self(
|
||||
scope: UiActionScope::Missing,
|
||||
source: $source,
|
||||
missingReason: $reason === '' ? self::CONTEXT_MISSING : $reason,
|
||||
);
|
||||
}
|
||||
|
||||
public function isMissing(): bool
|
||||
{
|
||||
return $this->scope === UiActionScope::Missing || $this->missingReason !== null;
|
||||
}
|
||||
|
||||
public function missingReason(): ?string
|
||||
{
|
||||
return $this->missingReason;
|
||||
}
|
||||
|
||||
public function workspace(): ?Workspace
|
||||
{
|
||||
return $this->workspace;
|
||||
}
|
||||
|
||||
public function environment(): ?Tenant
|
||||
{
|
||||
return $this->environment;
|
||||
}
|
||||
|
||||
public function tenant(): ?Tenant
|
||||
{
|
||||
return $this->environment();
|
||||
}
|
||||
|
||||
public function record(): ?Model
|
||||
{
|
||||
return $this->record;
|
||||
}
|
||||
|
||||
public function requireWorkspace(): Workspace
|
||||
{
|
||||
if ($this->workspace instanceof Workspace) {
|
||||
return $this->workspace;
|
||||
}
|
||||
|
||||
throw new RuntimeException($this->missingReason ?? self::WORKSPACE_MISSING);
|
||||
}
|
||||
|
||||
public function requireEnvironment(): Tenant
|
||||
{
|
||||
if ($this->environment instanceof Tenant) {
|
||||
return $this->environment;
|
||||
}
|
||||
|
||||
throw new RuntimeException($this->missingReason ?? self::ENVIRONMENT_MISSING);
|
||||
}
|
||||
|
||||
private static function environmentFromRecord(Model $record): ?Tenant
|
||||
{
|
||||
if ($record instanceof Tenant) {
|
||||
return $record;
|
||||
}
|
||||
|
||||
if (method_exists($record, 'relationLoaded') && $record->relationLoaded('tenant')) {
|
||||
$tenant = $record->getRelation('tenant');
|
||||
|
||||
if ($tenant instanceof Tenant) {
|
||||
return $tenant;
|
||||
}
|
||||
}
|
||||
|
||||
if (method_exists($record, 'tenant')) {
|
||||
$tenant = $record->getAttribute('tenant');
|
||||
|
||||
if ($tenant instanceof Tenant) {
|
||||
return $tenant;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Support\Rbac\Actions;
|
||||
|
||||
enum UiActionContextSource: string
|
||||
{
|
||||
case Explicit = 'explicit';
|
||||
case PageResolver = 'page_resolver';
|
||||
case WorkspaceContext = 'workspace_context';
|
||||
case Record = 'record';
|
||||
case LivewireReferer = 'livewire_referer';
|
||||
case Missing = 'missing';
|
||||
}
|
||||
14
apps/platform/app/Support/Rbac/Actions/UiActionScope.php
Normal file
14
apps/platform/app/Support/Rbac/Actions/UiActionScope.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Support\Rbac\Actions;
|
||||
|
||||
enum UiActionScope: string
|
||||
{
|
||||
case Workspace = 'workspace';
|
||||
case Environment = 'environment';
|
||||
case Record = 'record';
|
||||
case System = 'system';
|
||||
case Missing = 'missing';
|
||||
}
|
||||
@ -20,6 +20,7 @@ public function __construct(
|
||||
public ?Tenant $tenant,
|
||||
public bool $isMember,
|
||||
public bool $hasCapability,
|
||||
public ?string $denialReason = null,
|
||||
) {}
|
||||
|
||||
/**
|
||||
@ -30,6 +31,16 @@ public function shouldDenyAsNotFound(): bool
|
||||
return ! $this->isMember;
|
||||
}
|
||||
|
||||
public function isContextMissing(): bool
|
||||
{
|
||||
return in_array($this->denialReason, [
|
||||
'context_missing',
|
||||
'workspace_missing',
|
||||
'environment_missing',
|
||||
'tenant_missing',
|
||||
], true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Members without capability should receive 403 (forbidden).
|
||||
*/
|
||||
|
||||
@ -9,6 +9,8 @@
|
||||
use App\Services\Auth\CapabilityResolver;
|
||||
use App\Support\Auth\Capabilities;
|
||||
use App\Support\Auth\UiTooltips as AuthUiTooltips;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContextSource;
|
||||
use Closure;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\BulkAction;
|
||||
@ -48,6 +50,8 @@ final class UiEnforcement
|
||||
|
||||
private bool $isBulk = false;
|
||||
|
||||
private UiActionContext|Closure|null $actionContext = null;
|
||||
|
||||
private bool $preserveExistingVisibility = false;
|
||||
|
||||
private bool $preserveExistingDisabled = false;
|
||||
@ -67,6 +71,14 @@ public static function forAction(Action $action): self
|
||||
return new self($action);
|
||||
}
|
||||
|
||||
public static function forScopedAction(Action $action, UiActionContext|Closure $context): self
|
||||
{
|
||||
$instance = new self($action);
|
||||
$instance->actionContext = $context;
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create enforcement for a table row action.
|
||||
*
|
||||
@ -256,6 +268,10 @@ private function applyVisibility(): void
|
||||
$this->action->visible(function (?Model $record = null) use ($existingVisibility) {
|
||||
$context = $this->resolveContextWithRecord($record);
|
||||
|
||||
if ($context->isContextMissing()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (! $context->isMember) {
|
||||
return false;
|
||||
}
|
||||
@ -359,6 +375,10 @@ private function applyDisabledState(): void
|
||||
|
||||
$context = $this->resolveContextWithRecord($record);
|
||||
|
||||
if ($context->isContextMissing()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Non-members are hidden, so this only affects members
|
||||
if (! $context->isMember) {
|
||||
return true;
|
||||
@ -388,6 +408,10 @@ private function applyDisabledState(): void
|
||||
|
||||
$context = $this->resolveContextWithRecord($record);
|
||||
|
||||
if ($context->isContextMissing()) {
|
||||
return UiTooltips::CONTEXT_UNAVAILABLE;
|
||||
}
|
||||
|
||||
if ($context->isMember && ! $context->hasCapability) {
|
||||
return $tooltip;
|
||||
}
|
||||
@ -604,16 +628,24 @@ private function makeTenantStub(int $tenantId): Tenant
|
||||
private function resolveContextWithRecord(?Model $record = null): TenantAccessContext
|
||||
{
|
||||
$user = auth()->user();
|
||||
$explicitContext = $this->resolveExplicitActionContext();
|
||||
|
||||
// For table actions, resolve the record and use it as tenant if it's a Tenant
|
||||
$tenant = $this->resolveTenantWithRecord($record);
|
||||
$tenant = $explicitContext instanceof UiActionContext
|
||||
? $explicitContext->tenant()
|
||||
: $this->resolveTenantWithRecord($record);
|
||||
|
||||
$denialReason = $explicitContext?->isMissing() === true
|
||||
? $explicitContext->missingReason()
|
||||
: (! $tenant instanceof Tenant ? 'tenant_missing' : null);
|
||||
|
||||
if (! $user instanceof User || ! $tenant instanceof Tenant) {
|
||||
return new TenantAccessContext(
|
||||
user: null,
|
||||
user: $user instanceof User ? $user : null,
|
||||
tenant: null,
|
||||
isMember: false,
|
||||
hasCapability: false,
|
||||
denialReason: $denialReason,
|
||||
);
|
||||
}
|
||||
|
||||
@ -632,9 +664,39 @@ private function resolveContextWithRecord(?Model $record = null): TenantAccessCo
|
||||
tenant: $tenant,
|
||||
isMember: $isMember,
|
||||
hasCapability: $hasCapability,
|
||||
denialReason: ! $isMember ? 'not_member' : ($hasCapability ? null : 'missing_capability'),
|
||||
);
|
||||
}
|
||||
|
||||
private function resolveExplicitActionContext(): ?UiActionContext
|
||||
{
|
||||
if ($this->actionContext === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
$resolved = $this->actionContext instanceof Closure
|
||||
? ($this->actionContext)()
|
||||
: $this->actionContext;
|
||||
} catch (Throwable) {
|
||||
return UiActionContext::missing(UiActionContext::CONTEXT_MISSING, UiActionContextSource::Missing);
|
||||
}
|
||||
|
||||
if ($resolved instanceof UiActionContext) {
|
||||
return $resolved;
|
||||
}
|
||||
|
||||
if ($resolved instanceof Tenant) {
|
||||
return UiActionContext::forEnvironment($resolved, UiActionContextSource::Explicit);
|
||||
}
|
||||
|
||||
if ($resolved instanceof Model) {
|
||||
return UiActionContext::forRecord($resolved);
|
||||
}
|
||||
|
||||
return UiActionContext::missing(UiActionContext::CONTEXT_MISSING, UiActionContextSource::Missing);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve the tenant for this action with an optional record.
|
||||
*
|
||||
|
||||
@ -21,6 +21,11 @@ final class UiTooltips
|
||||
*/
|
||||
public const INSUFFICIENT_PERMISSION = 'Insufficient permission — ask a tenant Owner.';
|
||||
|
||||
/**
|
||||
* Tooltip shown when Livewire/action transport cannot resolve product scope.
|
||||
*/
|
||||
public const CONTEXT_UNAVAILABLE = 'Environment context unavailable.';
|
||||
|
||||
/**
|
||||
* Modal heading for destructive action confirmation.
|
||||
*/
|
||||
|
||||
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
function scopedUiActionContextContractChecks(): array
|
||||
{
|
||||
return [
|
||||
'inventory sync header action' => [
|
||||
'file' => 'app/Filament/Resources/InventoryItemResource/Pages/ListInventoryItems.php',
|
||||
'action' => 'run_inventory_sync',
|
||||
],
|
||||
'policy sync action factory' => [
|
||||
'file' => 'app/Filament/Resources/PolicyResource.php',
|
||||
'action' => 'sync',
|
||||
'anchor' => 'public static function makeSyncAction',
|
||||
],
|
||||
'directory group sync header action' => [
|
||||
'file' => 'app/Filament/Resources/EntraGroupResource/Pages/ListEntraGroups.php',
|
||||
'action' => 'sync_groups',
|
||||
],
|
||||
'evidence snapshot header action' => [
|
||||
'file' => 'app/Filament/Resources/EvidenceSnapshotResource/Pages/ListEvidenceSnapshots.php',
|
||||
'action' => 'create_snapshot',
|
||||
],
|
||||
'evidence snapshot empty-state action' => [
|
||||
'file' => 'app/Filament/Resources/EvidenceSnapshotResource.php',
|
||||
'action' => 'create_first_snapshot',
|
||||
],
|
||||
'review pack generation action factory' => [
|
||||
'file' => 'app/Filament/Resources/ReviewPackResource.php',
|
||||
'action' => 'generate_pack',
|
||||
'anchor' => 'public static function generatePackAction',
|
||||
],
|
||||
'tenant review creation action factory' => [
|
||||
'file' => 'app/Filament/Resources/TenantReviewResource.php',
|
||||
'action' => 'create_review',
|
||||
'anchor' => 'public static function makeCreateReviewAction',
|
||||
],
|
||||
'tenant diagnostics bootstrap action' => [
|
||||
'file' => 'app/Filament/Pages/TenantDiagnostics.php',
|
||||
'action' => 'bootstrapOwner',
|
||||
],
|
||||
'tenant diagnostics merge action' => [
|
||||
'file' => 'app/Filament/Pages/TenantDiagnostics.php',
|
||||
'action' => 'mergeDuplicateMemberships',
|
||||
],
|
||||
'restore run create action factory' => [
|
||||
'file' => 'app/Filament/Resources/RestoreRunResource.php',
|
||||
'action' => 'New restore run',
|
||||
'anchor' => 'public static function makeCreateAction',
|
||||
],
|
||||
'tenant dashboard support request action' => [
|
||||
'file' => 'app/Filament/Pages/TenantDashboard.php',
|
||||
'action' => 'requestSupport',
|
||||
'anchor' => 'private function requestSupportAction',
|
||||
],
|
||||
'tenant dashboard support diagnostics action' => [
|
||||
'file' => 'app/Filament/Pages/TenantDashboard.php',
|
||||
'action' => 'openSupportDiagnostics',
|
||||
'anchor' => 'private function openSupportDiagnosticsAction',
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
it('requires explicit UiActionContext for representative risky scoped no-record actions', function (array $check): void {
|
||||
$path = base_path($check['file']);
|
||||
$source = file_get_contents($path);
|
||||
|
||||
expect($source)->not->toBeFalse();
|
||||
|
||||
$source = (string) $source;
|
||||
$anchor = $check['anchor'] ?? "Action::make('{$check['action']}'";
|
||||
$position = strpos($source, $anchor);
|
||||
|
||||
expect($position)
|
||||
->not->toBeFalse("Could not find {$check['action']} in {$check['file']}.");
|
||||
|
||||
$slice = substr($source, max(0, (int) $position - 500), 10000);
|
||||
|
||||
expect($slice)
|
||||
->toContain('UiEnforcement::forScopedAction')
|
||||
->and($source)
|
||||
->toContain('UiActionContext');
|
||||
})->with(fn (): array => collect(scopedUiActionContextContractChecks())
|
||||
->mapWithKeys(static fn (array $check, string $name): array => [$name => [$check]])
|
||||
->all());
|
||||
|
||||
it('does not reintroduce the guarded no-record scoped action names through UiEnforcement::forAction', function (): void {
|
||||
$checks = scopedUiActionContextContractChecks();
|
||||
$guardedFiles = collect($checks)->pluck('file')->unique()->values()->all();
|
||||
$guardedActionNames = collect($checks)
|
||||
->pluck('action')
|
||||
->reject(static fn (string $action): bool => $action === 'sync' || $action === 'New restore run')
|
||||
->map(static fn (string $action): string => preg_quote($action, '/'))
|
||||
->implode('|');
|
||||
|
||||
$violations = [];
|
||||
|
||||
foreach ($guardedFiles as $relativePath) {
|
||||
$path = base_path($relativePath);
|
||||
$source = file_get_contents($path);
|
||||
|
||||
if (! is_string($source) || ! str_contains($source, 'UiEnforcement::forAction')) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$patterns = [
|
||||
'/UiEnforcement::forAction\s*\(.{0,1200}Action::make\(\s*[\'"](?:'.$guardedActionNames.')[\'"]/s',
|
||||
'/public static function makeSyncAction.{0,1400}UiEnforcement::forAction/s',
|
||||
'/public static function makeCreateAction.{0,1400}UiEnforcement::forAction/s',
|
||||
];
|
||||
|
||||
foreach ($patterns as $pattern) {
|
||||
if (preg_match($pattern, $source, $match, PREG_OFFSET_CAPTURE) !== 1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$line = substr_count(substr($source, 0, (int) $match[0][1]), "\n") + 1;
|
||||
$violations[] = "{$relativePath}:{$line} use UiEnforcement::forScopedAction(..., UiActionContext resolver) for risky no-record scoped actions.";
|
||||
}
|
||||
}
|
||||
|
||||
expect($violations)->toBeEmpty(implode("\n", $violations));
|
||||
});
|
||||
@ -159,6 +159,26 @@ function suspendEvidenceSnapshotWorkspace(Tenant $tenant): void
|
||||
Queue::assertPushed(GenerateEvidenceSnapshotJob::class);
|
||||
});
|
||||
|
||||
it('opens the create snapshot modal without creating a snapshot or queueing work', function (): void {
|
||||
Queue::fake();
|
||||
|
||||
$tenant = Tenant::factory()->create();
|
||||
[$user, $tenant] = createUserWithTenant(tenant: $tenant, role: 'owner');
|
||||
|
||||
seedEvidenceDomain($tenant);
|
||||
|
||||
$tenant->makeCurrent();
|
||||
Filament::setTenant($tenant, true);
|
||||
|
||||
Livewire::actingAs($user)
|
||||
->test(ListEvidenceSnapshots::class)
|
||||
->mountAction('create_snapshot')
|
||||
->assertActionMounted('create_snapshot');
|
||||
|
||||
expect(EvidenceSnapshot::query()->count())->toBe(0);
|
||||
Queue::assertNotPushed(GenerateEvidenceSnapshotJob::class);
|
||||
});
|
||||
|
||||
it('renders the view page for an active snapshot', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
[$user, $tenant] = createUserWithTenant(tenant: $tenant, role: 'owner');
|
||||
|
||||
@ -104,3 +104,24 @@
|
||||
expect(array_values(collect($coverage)->map(fn (array $row): int => (int) ($row['item_count'] ?? 0))->all()))
|
||||
->toBe(array_fill(0, count($policyTypes), 1));
|
||||
});
|
||||
|
||||
it('opens inventory sync action without creating a run or queueing work', function (): void {
|
||||
Queue::fake();
|
||||
|
||||
[$user, $tenant] = createUserWithTenant(role: 'owner');
|
||||
$this->actingAs($user);
|
||||
|
||||
$tenant->makeCurrent();
|
||||
Filament::setTenant($tenant, true);
|
||||
|
||||
Livewire::test(ListInventoryItems::class)
|
||||
->mountAction('run_inventory_sync')
|
||||
->assertActionMounted('run_inventory_sync');
|
||||
|
||||
Queue::assertNotPushed(RunInventorySyncJob::class);
|
||||
|
||||
expect(OperationRun::query()
|
||||
->where('tenant_id', $tenant->getKey())
|
||||
->where('type', 'inventory.sync')
|
||||
->exists())->toBeFalse();
|
||||
});
|
||||
|
||||
@ -64,6 +64,28 @@ function getPolicyEmptyStateAction(Testable $component, string $name): ?Action
|
||||
});
|
||||
});
|
||||
|
||||
it('opens policy sync confirmation without creating a run or queueing work', function (): void {
|
||||
Queue::fake();
|
||||
bindFailHardGraphClient();
|
||||
|
||||
[$user, $tenant] = createUserWithTenant(role: 'owner');
|
||||
$this->actingAs($user);
|
||||
|
||||
$tenant->makeCurrent();
|
||||
Filament::setTenant($tenant, true);
|
||||
|
||||
Livewire::test(ListPolicies::class)
|
||||
->mountAction('sync')
|
||||
->assertActionMounted('sync');
|
||||
|
||||
Queue::assertNotPushed(SyncPoliciesJob::class);
|
||||
|
||||
expect(OperationRun::query()
|
||||
->where('tenant_id', $tenant->getKey())
|
||||
->where('type', 'policy.sync')
|
||||
->exists())->toBeFalse();
|
||||
});
|
||||
|
||||
it('reuses an active policy sync run and does not enqueue twice', function () {
|
||||
Queue::fake();
|
||||
|
||||
|
||||
@ -218,6 +218,32 @@ function seedReviewPackEvidence(Tenant $tenant): EvidenceSnapshot
|
||||
->assertActionVisible('generate_pack');
|
||||
});
|
||||
|
||||
it('opens review pack generation without creating a pack or queueing work', function (): void {
|
||||
Queue::fake();
|
||||
|
||||
$tenant = Tenant::factory()->create();
|
||||
[$user, $tenant] = createUserWithTenant(tenant: $tenant, role: 'owner');
|
||||
|
||||
seedReviewPackEvidence($tenant);
|
||||
|
||||
ReviewPack::factory()->ready()->create([
|
||||
'tenant_id' => (int) $tenant->getKey(),
|
||||
'workspace_id' => (int) $tenant->workspace_id,
|
||||
'initiated_by_user_id' => (int) $user->getKey(),
|
||||
]);
|
||||
|
||||
$tenant->makeCurrent();
|
||||
Filament::setTenant($tenant, true);
|
||||
|
||||
Livewire::actingAs($user)
|
||||
->test(ListReviewPacks::class)
|
||||
->mountAction('generate_pack')
|
||||
->assertActionMounted('generate_pack');
|
||||
|
||||
expect(ReviewPack::query()->where('tenant_id', (int) $tenant->getKey())->count())->toBe(1);
|
||||
Queue::assertNothingPushed();
|
||||
});
|
||||
|
||||
it('disables the generate_first action for a readonly user in the empty state', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
[$user, $tenant] = createUserWithTenant(tenant: $tenant, role: 'readonly');
|
||||
|
||||
@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Models\Tenant;
|
||||
use App\Models\Workspace;
|
||||
use App\Support\Rbac\Actions\ResolvesUiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContextSource;
|
||||
use Filament\Facades\Filament;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
|
||||
function uiActionContextProbe(?Tenant $resolvedTenant = null): object
|
||||
{
|
||||
return new class($resolvedTenant)
|
||||
{
|
||||
use ResolvesUiActionContext;
|
||||
|
||||
private static ?Tenant $resolvedTenant = null;
|
||||
|
||||
public function __construct(?Tenant $resolvedTenant)
|
||||
{
|
||||
self::$resolvedTenant = $resolvedTenant;
|
||||
}
|
||||
|
||||
public function tenantContext(?Tenant $tenant = null): UiActionContext
|
||||
{
|
||||
return self::tenantUiActionContext($tenant);
|
||||
}
|
||||
|
||||
public function workspaceContext(?Workspace $workspace = null): UiActionContext
|
||||
{
|
||||
return self::workspaceUiActionContext($workspace);
|
||||
}
|
||||
|
||||
protected static function resolveTenantContextForCurrentPanel(): ?Tenant
|
||||
{
|
||||
return self::$resolvedTenant;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
it('uses page resolver tenant context before Filament tenant fallback', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
$fallbackTenant = Tenant::factory()->create();
|
||||
|
||||
Filament::setTenant($fallbackTenant, true);
|
||||
|
||||
$context = uiActionContextProbe($tenant)->tenantContext();
|
||||
|
||||
expect($context->tenant())->toBe($tenant)
|
||||
->and($context->source)->toBe(UiActionContextSource::PageResolver);
|
||||
});
|
||||
|
||||
it('uses explicit tenant context before fallback sources', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
$fallbackTenant = Tenant::factory()->create();
|
||||
|
||||
Filament::setTenant($fallbackTenant, true);
|
||||
|
||||
$context = uiActionContextProbe()->tenantContext($tenant);
|
||||
|
||||
expect($context->tenant())->toBe($tenant)
|
||||
->and($context->source)->toBe(UiActionContextSource::PageResolver);
|
||||
});
|
||||
|
||||
it('uses Filament tenant as the last tenant-panel fallback', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
|
||||
Filament::setTenant($tenant, true);
|
||||
|
||||
$context = uiActionContextProbe()->tenantContext();
|
||||
|
||||
expect($context->tenant())->toBe($tenant)
|
||||
->and($context->isMissing())->toBeFalse();
|
||||
});
|
||||
|
||||
it('returns missing environment context when no tenant can be resolved', function (): void {
|
||||
Filament::setTenant(null, true);
|
||||
|
||||
$context = uiActionContextProbe()->tenantContext();
|
||||
|
||||
expect($context->isMissing())->toBeTrue()
|
||||
->and($context->missingReason())->toBe(UiActionContext::ENVIRONMENT_MISSING);
|
||||
});
|
||||
|
||||
it('builds workspace context with explicit workspace source', function (): void {
|
||||
$workspace = Workspace::factory()->create();
|
||||
|
||||
$context = uiActionContextProbe()->workspaceContext($workspace);
|
||||
|
||||
expect($context->workspace())->toBe($workspace)
|
||||
->and($context->source)->toBe(UiActionContextSource::WorkspaceContext);
|
||||
});
|
||||
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Models\Policy;
|
||||
use App\Models\Tenant;
|
||||
use App\Models\Workspace;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\Actions\UiActionContextSource;
|
||||
use App\Support\Rbac\Actions\UiActionScope;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
|
||||
it('builds workspace action context', function (): void {
|
||||
$workspace = Workspace::factory()->create();
|
||||
|
||||
$context = UiActionContext::forWorkspace($workspace);
|
||||
|
||||
expect($context->scope)->toBe(UiActionScope::Workspace)
|
||||
->and($context->source)->toBe(UiActionContextSource::Explicit)
|
||||
->and($context->workspace())->toBe($workspace)
|
||||
->and($context->requireWorkspace())->toBe($workspace)
|
||||
->and($context->environment())->toBeNull()
|
||||
->and($context->isMissing())->toBeFalse();
|
||||
});
|
||||
|
||||
it('builds environment action context with workspace ownership', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
|
||||
$context = UiActionContext::forEnvironment($tenant, UiActionContextSource::PageResolver);
|
||||
|
||||
expect($context->scope)->toBe(UiActionScope::Environment)
|
||||
->and($context->source)->toBe(UiActionContextSource::PageResolver)
|
||||
->and($context->environment())->toBe($tenant)
|
||||
->and($context->tenant())->toBe($tenant)
|
||||
->and($context->requireEnvironment())->toBe($tenant)
|
||||
->and($context->workspace()?->getKey())->toBe($tenant->workspace_id)
|
||||
->and($context->isMissing())->toBeFalse();
|
||||
});
|
||||
|
||||
it('builds record context from tenant records and loaded tenant relations', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
$policy = Policy::factory()->for($tenant)->create()->load('tenant');
|
||||
|
||||
$tenantContext = UiActionContext::forRecord($tenant);
|
||||
$policyContext = UiActionContext::forRecord($policy);
|
||||
|
||||
expect($tenantContext->scope)->toBe(UiActionScope::Record)
|
||||
->and($tenantContext->environment())->toBe($tenant)
|
||||
->and($tenantContext->record())->toBe($tenant)
|
||||
->and($policyContext->scope)->toBe(UiActionScope::Record)
|
||||
->and($policyContext->environment()?->getKey())->toBe($tenant->getKey())
|
||||
->and($policyContext->record())->toBe($policy);
|
||||
});
|
||||
|
||||
it('builds system context without workspace or environment requirements', function (): void {
|
||||
$context = UiActionContext::forSystem();
|
||||
|
||||
expect($context->scope)->toBe(UiActionScope::System)
|
||||
->and($context->workspace())->toBeNull()
|
||||
->and($context->environment())->toBeNull()
|
||||
->and($context->isMissing())->toBeFalse();
|
||||
|
||||
expect(fn () => $context->requireWorkspace())->toThrow(RuntimeException::class, UiActionContext::WORKSPACE_MISSING);
|
||||
expect(fn () => $context->requireEnvironment())->toThrow(RuntimeException::class, UiActionContext::ENVIRONMENT_MISSING);
|
||||
});
|
||||
|
||||
it('represents missing context with stable reasons', function (): void {
|
||||
$workspaceContext = UiActionContext::forWorkspace(null, UiActionContextSource::WorkspaceContext);
|
||||
$environmentContext = UiActionContext::forEnvironment(null, UiActionContextSource::PageResolver);
|
||||
$genericContext = UiActionContext::missing('');
|
||||
|
||||
expect($workspaceContext->scope)->toBe(UiActionScope::Missing)
|
||||
->and($workspaceContext->source)->toBe(UiActionContextSource::WorkspaceContext)
|
||||
->and($workspaceContext->missingReason())->toBe(UiActionContext::WORKSPACE_MISSING)
|
||||
->and($environmentContext->missingReason())->toBe(UiActionContext::ENVIRONMENT_MISSING)
|
||||
->and($genericContext->missingReason())->toBe(UiActionContext::CONTEXT_MISSING);
|
||||
|
||||
expect(fn () => $environmentContext->requireEnvironment())->toThrow(RuntimeException::class, UiActionContext::ENVIRONMENT_MISSING);
|
||||
});
|
||||
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Models\Tenant;
|
||||
use App\Models\User;
|
||||
use App\Support\Auth\Capabilities;
|
||||
use App\Support\Rbac\Actions\UiActionContext;
|
||||
use App\Support\Rbac\UiEnforcement;
|
||||
use App\Support\Rbac\UiTooltips;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Facades\Filament;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
|
||||
it('keeps missing scoped context visible but disabled with neutral copy', function (): void {
|
||||
[$user, $tenant] = createUserWithTenant(role: 'owner');
|
||||
$this->actingAs($user);
|
||||
|
||||
Filament::setTenant($tenant, true);
|
||||
|
||||
$action = UiEnforcement::forScopedAction(
|
||||
Action::make('sync')->action(fn (): null => null),
|
||||
UiActionContext::missing(UiActionContext::ENVIRONMENT_MISSING),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_SYNC)
|
||||
->apply();
|
||||
|
||||
expect($action->isVisible())->toBeTrue()
|
||||
->and($action->isDisabled())->toBeTrue()
|
||||
->and($action->getTooltip())->toBe(UiTooltips::CONTEXT_UNAVAILABLE);
|
||||
});
|
||||
|
||||
it('enables scoped actions for members with capability when explicit context is present', function (): void {
|
||||
[$user, $tenant] = createUserWithTenant(role: 'owner');
|
||||
$this->actingAs($user);
|
||||
|
||||
Filament::setTenant(null, true);
|
||||
|
||||
$action = UiEnforcement::forScopedAction(
|
||||
Action::make('sync')->action(fn (): null => null),
|
||||
UiActionContext::forEnvironment($tenant),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_SYNC)
|
||||
->apply();
|
||||
|
||||
expect($action->isVisible())->toBeTrue()
|
||||
->and($action->isDisabled())->toBeFalse()
|
||||
->and($action->getTooltip())->toBeNull();
|
||||
});
|
||||
|
||||
it('keeps explicit scoped context distinct from non-membership', function (): void {
|
||||
$tenant = Tenant::factory()->create();
|
||||
$user = User::factory()->create();
|
||||
|
||||
$this->actingAs($user);
|
||||
Filament::setTenant(null, true);
|
||||
|
||||
$action = UiEnforcement::forScopedAction(
|
||||
Action::make('sync')->action(fn (): null => null),
|
||||
UiActionContext::forEnvironment($tenant),
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_SYNC)
|
||||
->apply();
|
||||
|
||||
expect($action->isVisible())->toBeFalse()
|
||||
->and($action->isDisabled())->toBeTrue()
|
||||
->and($action->getTooltip())->toBeNull();
|
||||
});
|
||||
|
||||
it('preserves record-backed action resolution without explicit no-record context', function (): void {
|
||||
[$user, $tenant] = createUserWithTenant(role: 'owner');
|
||||
$this->actingAs($user);
|
||||
|
||||
Filament::setTenant(null, true);
|
||||
|
||||
$action = UiEnforcement::forTableAction(
|
||||
Action::make('view')->action(fn (): null => null),
|
||||
$tenant,
|
||||
)
|
||||
->requireCapability(Capabilities::TENANT_VIEW)
|
||||
->apply();
|
||||
|
||||
expect($action->isVisible())->toBeTrue()
|
||||
->and($action->isDisabled())->toBeFalse();
|
||||
});
|
||||
@ -0,0 +1,77 @@
|
||||
# Requirements Checklist: Spec 363 - Explicit UiActionContext Contract for Scoped No-Record Actions
|
||||
|
||||
**Purpose**: Preparation analysis for Spec 363 readiness
|
||||
**Created**: 2026-06-07
|
||||
**Feature**: `/Users/ahmeddarrazi/Documents/projects/wt-plattform/specs/363-explicit-uiactioncontext-contract/spec.md`
|
||||
|
||||
## Candidate Selection And Guardrails
|
||||
|
||||
- [x] CHK001 The candidate source is explicit: the direct user-provided Spec 363 draft from `/Users/ahmeddarrazi/.codex/attachments/36f3aea8-0303-4548-a83c-9f1cdd15f527/pasted-text.txt`.
|
||||
- [x] CHK002 No `specs/363-*` package existed before Spec Kit branch creation.
|
||||
- [x] CHK003 No existing `363-*` branch was found before Spec Kit branch creation.
|
||||
- [x] CHK004 The active candidate queue's empty-state note is respected; this package is an intentional manual promotion, not an auto-selected queue item.
|
||||
- [x] CHK005 Related completed specs were checked and treated correctly: Specs 338, 340, 358, 359, 360, 361, and 362 remain historical/context packages and were not modified.
|
||||
- [x] CHK006 Repo-truth deviations from the user draft are recorded in `spec.md`, especially the explicit preparation boundary, no application implementation, and the guard that broader OperationRun authorization hardening becomes a follow-up only if repo-verified.
|
||||
|
||||
## Required Prep Artifacts
|
||||
|
||||
- [x] CHK007 `spec.md` exists and contains no template placeholders.
|
||||
- [x] CHK008 `plan.md` exists and is repo-aware.
|
||||
- [x] CHK009 `tasks.md` exists and is ordered, small, and verifiable.
|
||||
- [x] CHK010 This checklist exists.
|
||||
|
||||
## Spec Quality
|
||||
|
||||
- [x] CHK011 Spec Candidate Check is completed and scores above the approval threshold.
|
||||
- [x] CHK012 The spec explains why new request-time context classes and enums are justified under PROP-001 / ABSTR-001 / BLOAT-001.
|
||||
- [x] CHK013 The spec keeps scope bounded to scoped no-record action context, representative retrofits, first-click modal/no-run tests, and a static recurrence guard.
|
||||
- [x] CHK014 The spec keeps `OperationRun`, RBAC, policies, migrations, panel providers, assets, routes, capabilities, and global search unchanged unless a later implementation proves a blocker and updates artifacts first.
|
||||
- [x] CHK015 The spec preserves record-backed action context as a valid source and does not force broad record action churn.
|
||||
|
||||
## Plan / Task Alignment
|
||||
|
||||
- [x] CHK016 The plan identifies actual repo surfaces likely to change, including `UiEnforcement`, `ResolvesPanelTenantContext`, representative Filament action classes, and test/guard files.
|
||||
- [x] CHK017 The plan keeps Filament v5 / Livewire v4 posture and provider-registration location visible.
|
||||
- [x] CHK018 The plan explicitly states no migration, no new panel/provider, no global-search change, and no new asset strategy are expected.
|
||||
- [x] CHK019 The tasks start with repo truth and failing tests before runtime edits.
|
||||
- [x] CHK020 The tasks include anti-creep guardrails against compatibility shims, OperationRun redesign, product-feature expansion, and broad record-backed action migration.
|
||||
- [x] CHK021 The tasks include final validation and close-out requirements.
|
||||
|
||||
## UI / Action Lifecycle Coverage
|
||||
|
||||
- [x] CHK022 UI Surface Impact is completed and classifies existing action/page behavior changes without claiming a new page family.
|
||||
- [x] CHK023 Dangerous/high-impact action implications are explicit: destructive/high-impact actions keep confirmation, authorization, audit, and tests.
|
||||
- [x] CHK024 First-click modal mount and modal-no-run/no-job behavior are explicit acceptance criteria and tasks.
|
||||
- [x] CHK025 Missing-context UX is distinct from permission denial and avoids low-level Livewire/Filament copy.
|
||||
- [x] CHK026 OperationRun start behavior is limited to submit/execute and reuses existing OperationRun UX helpers.
|
||||
|
||||
## Test Governance
|
||||
|
||||
- [x] CHK027 The declared test families are the narrowest honest proof: Unit + Feature/Filament-Livewire + Architecture/guard; Browser optional only if visible hierarchy/copy changes materially.
|
||||
- [x] CHK028 Planned validation commands are explicit and scoped to Spec 363 plus directly related existing action tests.
|
||||
- [x] CHK029 No heavy-governance, PGSQL-only schema, or browser family is introduced by default.
|
||||
- [x] CHK030 Shared test helper growth is bounded and justified only if it reduces duplication across at least two retrofitted actions.
|
||||
|
||||
## Filament v5 Blueprint Output Contract
|
||||
|
||||
- [x] CHK031 Livewire v4.0+ compliance is stated in `spec.md`, `plan.md`, and `tasks.md`.
|
||||
- [x] CHK032 Provider registration location remains `apps/platform/bootstrap/providers.php`; no provider change is planned.
|
||||
- [x] CHK033 No globally searchable resource is added or changed; global search behavior remains unchanged.
|
||||
- [x] CHK034 Destructive/high-impact action confirmation + authorization handling is explicitly preserved.
|
||||
- [x] CHK035 Asset strategy remains unchanged; no new asset registration or `filament:assets` deployment impact is expected from this spec.
|
||||
- [x] CHK036 Testing plan names Filament/Livewire action tests, static guard tests, and optional Browser smoke boundary.
|
||||
|
||||
## Readiness Gate Outcome
|
||||
|
||||
- [x] CHK037 Candidate Selection Gate passes.
|
||||
- [x] CHK038 Spec Readiness Gate passes.
|
||||
- [x] CHK039 Runtime implementation has not started in this preparation step.
|
||||
- [x] CHK040 Recommended next step is implementation, not more prep.
|
||||
|
||||
## Review Outcome
|
||||
|
||||
- [x] CHK041 Outcome class: acceptable-special-case
|
||||
- [x] CHK042 Workflow outcome: keep
|
||||
- [x] CHK043 Final note location: active feature PR close-out entry `Guardrail / Smoke Coverage`
|
||||
- [x] CHK044 Preparation analyze result: pass via repo-based cross-artifact review; no standalone local `speckit.analyze` generator command was exposed in this repo surface beyond prompts and agent instructions.
|
||||
- [x] CHK045 Tooling note: Spec Kit branch/spec creation succeeded via `create-new-feature.sh`, `setup-plan.sh` generated the plan file, and `tasks.md` plus this checklist were authored manually to match the repo's Spec Kit templates and agent instructions.
|
||||
252
specs/363-explicit-uiactioncontext-contract/plan.md
Normal file
252
specs/363-explicit-uiactioncontext-contract/plan.md
Normal file
@ -0,0 +1,252 @@
|
||||
# Implementation Plan: Spec 363 - Explicit UiActionContext Contract for Scoped No-Record Actions
|
||||
|
||||
**Branch**: `feat/363-explicit-uiactioncontext-contract` | **Preparation Branch**: `363-explicit-uiactioncontext-contract` | **Date**: 2026-06-07 | **Spec**: `/Users/ahmeddarrazi/Documents/projects/wt-plattform/specs/363-explicit-uiactioncontext-contract/spec.md`
|
||||
**Input**: Feature specification from `/Users/ahmeddarrazi/Documents/projects/wt-plattform/specs/363-explicit-uiactioncontext-contract/spec.md`
|
||||
|
||||
**Note**: This plan is repo-aware and preparation-only. No application implementation is performed in this step.
|
||||
|
||||
## Summary
|
||||
|
||||
Add an explicit action-context contract for workspace- and environment-scoped no-record Filament actions.
|
||||
|
||||
The implementation should:
|
||||
|
||||
- introduce a narrow request-time `UiActionContext` contract
|
||||
- harden `UiEnforcement` so scoped no-record actions cannot silently use implicit `Filament::getTenant()` as product scope truth
|
||||
- preserve record-backed action behavior where scope comes from the record
|
||||
- retrofit representative latent-risk no-record actions
|
||||
- add first-click modal/no-run test helpers and action lifecycle tests
|
||||
- add a static guard that fails future risky scoped no-record actions without explicit context
|
||||
|
||||
No migrations, panel/provider changes, global-search changes, asset strategy changes, or new product workflows are planned.
|
||||
|
||||
## Technical Context
|
||||
|
||||
**Language/Version**: PHP 8.4.15
|
||||
**Primary Dependencies**: Laravel 12.52, Filament 5.2.1, Livewire 4.1.4, Pest 4.3.1
|
||||
**Storage**: PostgreSQL via Sail, but no schema changes are planned
|
||||
**Testing**: Pest Unit + Feature/Filament-Livewire + Architecture/guard; Browser optional only if visible UI hierarchy/copy changes materially
|
||||
**Validation Lanes**: fast-feedback, confidence, browser optional
|
||||
**Target Platform**: Laravel monolith in Sail / Dokploy container workflow
|
||||
**Project Type**: single web application (`apps/platform`)
|
||||
**Performance Goals**: no Graph calls during render/action-state/modal mount; static scan remains bounded and deterministic
|
||||
**Constraints**: no new persistence, no operation type, no capability string, no panel/provider, no asset registration, no global-search change, no compatibility shim, no broad record-backed action rewrite
|
||||
**Scale/Scope**: no-record scoped actions first, plus representative action retrofits and static recurrence guard
|
||||
|
||||
## UI / Surface Guardrail Plan
|
||||
|
||||
- **Guardrail scope**: changed existing actions on existing pages
|
||||
- **Affected routes/pages/actions/states/navigation/panel/provider surfaces**:
|
||||
- Inventory list `run_inventory_sync`
|
||||
- Policy list/header sync and related Policy Sync start surface
|
||||
- Entra Groups `sync_groups`
|
||||
- Evidence Snapshot `create_snapshot` and `create_first_snapshot`
|
||||
- Review Pack `generate_pack` and `generate_first`
|
||||
- Environment Review `create_review`
|
||||
- Environment Diagnostics `bootstrapOwner` and `mergeDuplicateMemberships`
|
||||
- Restore Run create entrypoint and create wizard
|
||||
- Environment Dashboard support request / support diagnostics actions
|
||||
- **No-impact class, if applicable**: N/A, because existing high-impact actions change context behavior
|
||||
- **Native vs custom classification summary**: native Filament pages/resources/actions with shared RBAC enforcement
|
||||
- **Shared-family relevance**: header/page/empty-state action family, RBAC UI enforcement family, OperationRun start family
|
||||
- **State layers in scope**: page render, action visibility, action disabled state, first-click modal mount, submit/execute handler
|
||||
- **Audience modes in scope**: operator-MSP and support-platform
|
||||
- **Decision/diagnostic/raw hierarchy plan**: show safe action state and missing-context copy only; keep low-level Livewire/Filament request details out of UI
|
||||
- **Raw/support gating plan**: no raw request, referer, token, Graph, credential, or payload data in visible UI
|
||||
- **One-primary-action / duplicate-truth control**: do not duplicate run outcome truth in action modals; after submit reuse existing OperationRun links/toasts
|
||||
- **Handling modes by drift class or surface**: review-mandatory for any scoped no-record action that opens a modal, dispatches work, creates an `OperationRun`, or mutates state
|
||||
- **Repository-signal treatment**: record-backed actions are context only unless the static guard proves they behave like no-record scoped actions
|
||||
- **Special surface test profiles**: standard-native-filament plus action-lifecycle-contract
|
||||
- **Required tests or manual smoke**: Unit + Feature/Filament-Livewire + static guard; Browser only if implementation changes visible copy/hierarchy materially
|
||||
- **Exception path and spread control**: bounded static-guard exceptions must name the file/action and why record/page scope is safe
|
||||
- **Active feature PR close-out entry**: Guardrail / Smoke Coverage
|
||||
- **UI/Productization coverage decision**: no new UI coverage registry update is expected because no new route/page family is introduced
|
||||
- **Coverage artifacts to update**: none by default
|
||||
- **No-impact rationale**: N/A
|
||||
- **Navigation / Filament provider-panel handling**: no panel provider, panel path, navigation, or cluster change
|
||||
- **Screenshot or page-report need**: no by default
|
||||
|
||||
## Shared Pattern & System Fit
|
||||
|
||||
- **Cross-cutting feature marker**: yes
|
||||
- **Systems touched**:
|
||||
- `apps/platform/app/Support/Rbac/UiEnforcement.php`
|
||||
- `apps/platform/app/Support/Rbac/WorkspaceUiEnforcement.php` as reference/comparison only unless small shared context support is justified
|
||||
- new `apps/platform/app/Support/Rbac/Actions/` contract classes if implementation confirms this namespace is still best
|
||||
- `apps/platform/app/Filament/Concerns/ResolvesPanelTenantContext.php`
|
||||
- selected existing Filament resources/pages/actions
|
||||
- selected existing action tests and new guard/test helper
|
||||
- **Shared abstractions reused**: existing RBAC helpers, capability resolvers, policies/gates, page context resolvers, OperationRun start helpers, Filament action testing helpers
|
||||
- **New abstraction introduced? why?**: yes, a narrow `UiActionContext` request-time contract is allowed because the problem is RBAC/isolation/queue legitimacy-critical and already repo-verified across multiple surfaces
|
||||
- **Why the existing abstraction was sufficient or insufficient**: `UiEnforcement` is the right shared path, but it currently allows ambiguous nullable no-record context and implicit Filament tenant fallback
|
||||
- **Bounded deviation / spread control**: keep new classes under an RBAC/action namespace; do not create a generic UI framework, presenter, workflow engine, or action catalog rewrite
|
||||
|
||||
## OperationRun UX Impact
|
||||
|
||||
- **Touches OperationRun start/completion/link UX?**: yes, start/mount/submit lifecycle only
|
||||
- **Central contract reused**: existing `OperationRunService`, run dispatch handlers, `OperationRunLinks`, `OperationUxPresenter`, and `OpsUxBrowserEvents`
|
||||
- **Delegated UX behaviors**: queued toasts, run links, run-enqueued browser events, and terminal lifecycle notifications remain unchanged
|
||||
- **Surface-owned behavior kept local**: action form values and confirmation/missing-context copy
|
||||
- **Queued DB-notification policy**: unchanged
|
||||
- **Terminal notification path**: unchanged
|
||||
- **Exception path**: if broader execution reauthorization is weaker than UI gating, stop and propose `OperationRun Start Authorization Contract Hardening`
|
||||
|
||||
## Provider Boundary & Portability Fit
|
||||
|
||||
- **Shared provider/platform boundary touched?**: no new provider seam
|
||||
- **Provider-owned seams**: existing Graph/provider jobs and services remain provider-owned and are not modified beyond receiving explicit, reauthorized scope
|
||||
- **Platform-core seams**: workspace/environment action context and RBAC UI enforcement
|
||||
- **Neutral platform terms / contracts preserved**: workspace, environment, record, system, product scope, action context
|
||||
- **Retained provider-specific semantics and why**: only current Microsoft/Graph semantics inside existing actions/jobs remain
|
||||
- **Bounded extraction or follow-up path**: none unless broader OperationRun execution authorization weakness is discovered
|
||||
|
||||
## Constitution Check
|
||||
|
||||
*GATE: Must pass before implementation starts. Re-check if scope changes.*
|
||||
|
||||
- Inventory-first: PASS. No inventory truth changes; Inventory Sync action context becomes explicit only.
|
||||
- Read/write separation: PASS. Modal open remains non-mutating; submit/execute must reauthorize before writes/jobs.
|
||||
- Graph contract path: PASS. No new Graph calls; render/mount must remain no-Graph.
|
||||
- Deterministic capabilities: PASS. Existing capabilities remain authoritative.
|
||||
- Workspace and tenant isolation: PASS. Explicit context improves workspace/environment scope safety.
|
||||
- RBAC-UX: PASS. UI state remains affordance only; server-side policies/gates remain execution truth.
|
||||
- TEST-GOV-001: PASS. Unit + Feature/action + static guard are the narrowest honest proof.
|
||||
- PROP-001 / ABSTR-001: PASS only because the new abstraction is security/isolation/action-lifecycle critical and already justified by repeated repo evidence.
|
||||
- PERSIST-001 / STATE-001: PASS. No new persisted truth or persisted status family is introduced.
|
||||
- XCUT-001 / LAYER-001: PASS. Extend the existing shared `UiEnforcement` path instead of adding local one-off action rules.
|
||||
- UI-COV-001: PASS. Existing reachable surfaces are classified; no new page family is expected.
|
||||
- LEAN-001: PASS. No compatibility shim for old no-record fallback behavior.
|
||||
|
||||
## Test Governance Check
|
||||
|
||||
- **Test purpose / classification by changed surface**:
|
||||
- Unit: `UiActionContext`, scope/source enums, resolver helpers, missing-context behavior, `UiEnforcement` context resolution
|
||||
- Feature/Filament-Livewire: selected page/resource actions, first-click modal mount, no-run/no-job on modal open, submit reauthorization, wrong-context/readonly behavior
|
||||
- Architecture/Feature guard: static source scan for risky scoped no-record actions without explicit context
|
||||
- Browser: optional smoke only if visible hierarchy/copy changes materially
|
||||
- **Affected validation lanes**: fast-feedback, confidence, browser optional
|
||||
- **Why this lane mix is the narrowest sufficient proof**: the behavior is request-time action lifecycle and static source guard behavior, not DB schema or provider API behavior
|
||||
- **Narrowest proving command(s)**:
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/Rbac/Actions tests/Unit/Support/Rbac/UiEnforcementScopedActionContextTest.php`
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Architecture/ScopedUiActionContextContractTest.php tests/Feature/Filament/InventoryItemResourceTest.php tests/Feature/PolicySyncStartSurfaceTest.php tests/Feature/RunStartAuthorizationTest.php`
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/EntraGroupAdminScopeTest.php tests/Feature/Evidence/EvidenceSnapshotResourceTest.php tests/Feature/ReviewPack/ReviewPackResourceTest.php tests/Feature/Filament/RestoreRunUiEnforcementTest.php`
|
||||
- **Fixture / helper / factory / seed / context cost risks**: keep workspace/environment/member/capability setup explicit; do not introduce full-context defaults in shared helpers
|
||||
- **Expensive defaults or shared helper growth introduced?**: no
|
||||
- **Heavy-family additions, promotions, or visibility changes**: none by default
|
||||
- **Surface-class relief / special coverage rule**: standard-native-filament plus action-lifecycle-contract
|
||||
- **Closing validation and reviewer handoff**: reviewers should verify no hidden `Filament::getTenant()` product-scope fallback for scoped no-record actions, no modal-open side effects, and no compatibility path
|
||||
- **Budget / baseline / trend follow-up**: none expected
|
||||
- **Review-stop questions**: did implementation broaden into record-backed action migration, OperationRun redesign, UI redesign, or product features?
|
||||
- **Escalation path**: document-in-feature for contained static-guard false positives; follow-up-spec for broader execution authorization weakness; reject-or-split for scope creep
|
||||
- **Active feature PR close-out entry**: Guardrail / Smoke Coverage
|
||||
- **Why no dedicated follow-up spec is needed now**: the root issue is explicit enough to solve as one bounded action-context contract
|
||||
|
||||
## Repo-Verified Runtime Surfaces Likely Affected
|
||||
|
||||
### Core RBAC / Context
|
||||
|
||||
- `apps/platform/app/Support/Rbac/UiEnforcement.php`
|
||||
- `apps/platform/app/Support/Rbac/WorkspaceUiEnforcement.php` (context/reference only unless sharing is justified)
|
||||
- `apps/platform/app/Filament/Concerns/ResolvesPanelTenantContext.php`
|
||||
- new `apps/platform/app/Support/Rbac/Actions/UiActionContext.php`
|
||||
- new `apps/platform/app/Support/Rbac/Actions/UiActionScope.php`
|
||||
- new `apps/platform/app/Support/Rbac/Actions/UiActionContextSource.php`
|
||||
- new `apps/platform/app/Support/Rbac/Actions/ResolvesUiActionContext.php`
|
||||
|
||||
### Representative Action Surfaces
|
||||
|
||||
- `apps/platform/app/Filament/Resources/InventoryItemResource/Pages/ListInventoryItems.php`
|
||||
- `apps/platform/app/Filament/Resources/PolicyResource.php`
|
||||
- `apps/platform/app/Filament/Resources/PolicyResource/Pages/ListPolicies.php`
|
||||
- `apps/platform/app/Filament/Resources/EntraGroupResource/Pages/ListEntraGroups.php`
|
||||
- `apps/platform/app/Filament/Resources/EvidenceSnapshotResource.php`
|
||||
- `apps/platform/app/Filament/Resources/EvidenceSnapshotResource/Pages/ListEvidenceSnapshots.php`
|
||||
- `apps/platform/app/Filament/Resources/ReviewPackResource.php`
|
||||
- `apps/platform/app/Filament/Resources/EnvironmentReviewResource.php`
|
||||
- `apps/platform/app/Filament/Pages/EnvironmentDiagnostics.php`
|
||||
- `apps/platform/app/Filament/Resources/RestoreRunResource.php`
|
||||
- `apps/platform/app/Filament/Resources/RestoreRunResource/Pages/CreateRestoreRun.php`
|
||||
- `apps/platform/app/Filament/Pages/EnvironmentDashboard.php`
|
||||
|
||||
### Tests / Guards
|
||||
|
||||
- `apps/platform/tests/Unit/Support/Rbac/Actions/*`
|
||||
- `apps/platform/tests/Unit/Support/Rbac/UiEnforcementScopedActionContextTest.php`
|
||||
- `apps/platform/tests/Feature/Architecture/ScopedUiActionContextContractTest.php`
|
||||
- `apps/platform/tests/Support/Filament/ScopedActionAssertions.php`
|
||||
- existing action tests under `apps/platform/tests/Feature/Filament`, `apps/platform/tests/Feature/Evidence`, `apps/platform/tests/Feature/ReviewPack`, and `apps/platform/tests/Feature/RunStartAuthorizationTest.php`
|
||||
- existing support action tests under `apps/platform/tests/Feature/SupportDiagnostics` and `apps/platform/tests/Feature/SupportRequests`
|
||||
|
||||
## Technical Approach
|
||||
|
||||
1. Re-read this spec, plan, tasks, checklist, the constitution, and relevant guidelines before runtime edits.
|
||||
2. Re-verify the current action callsites and exact action names.
|
||||
3. Add failing Unit coverage for context value objects and `UiEnforcement` scoped behavior.
|
||||
4. Add failing Feature/Filament coverage for the known latent-risk actions.
|
||||
5. Add the narrow `UiActionContext` contract and helper/trait.
|
||||
6. Harden `UiEnforcement` to require explicit context for scoped no-record actions while preserving record-backed paths.
|
||||
7. Retrofit representative actions to pass explicit context and reauthorize on submit.
|
||||
8. Add reusable first-click modal/no-run helper only where it reduces duplication.
|
||||
9. Add the static guard with actionable failures.
|
||||
10. Run focused tests, Pint dirty, and diff checks.
|
||||
|
||||
## Risk Controls
|
||||
|
||||
- Keep the first implementation scoped to no-record workspace/environment actions.
|
||||
- Do not remove valid record-backed context resolution.
|
||||
- Do not allow `Filament::getTenant()` as fallback product-scope truth for scoped no-record actions.
|
||||
- Keep modal open non-mutating.
|
||||
- Keep server-side authorization in handlers/services/policies.
|
||||
- Keep missing-context copy enterprise-safe and localizable later.
|
||||
- No new migrations, assets, global search, panel provider, navigation, capability, operation type, or route.
|
||||
- Stop if implementation needs persistence, broad OperationRun redesign, or many static-guard false positives across record-backed actions.
|
||||
|
||||
## Implementation Phases
|
||||
|
||||
### Phase 1: Baseline and Repo-Truth Inventory
|
||||
|
||||
Confirm current branch/worktree, re-read dependencies, and inventory exact callsites/action names before edits.
|
||||
|
||||
### Phase 2: Contract and Unit Tests
|
||||
|
||||
Add the action-context value object/enums/trait or equivalent and Unit coverage for workspace, environment, record, system, and missing context behavior.
|
||||
|
||||
### Phase 3: UiEnforcement Contract
|
||||
|
||||
Add explicit scoped-action API or compatible signature changes, remove implicit scoped no-record fallback, preserve record-backed behavior, and cover missing-context classification.
|
||||
|
||||
### Phase 4: Representative Action Retrofits
|
||||
|
||||
Retrofit Inventory Sync, Policy Sync, Entra Group Sync, Evidence Snapshot, Review Pack, Environment Review, Environment Diagnostics, Restore create, and Environment Dashboard support actions.
|
||||
|
||||
### Phase 5: Test Helper and Static Guard
|
||||
|
||||
Add the reusable first-click modal/no-run helper and static architecture guard.
|
||||
|
||||
### Phase 6: Validation and Close-Out
|
||||
|
||||
Run focused tests, optional browser smoke only if needed, Pint dirty, `git diff --check`, and record no-migration/no-asset/no-provider/global-search status.
|
||||
|
||||
## Project Structure
|
||||
|
||||
### Documentation (this feature)
|
||||
|
||||
```text
|
||||
specs/363-explicit-uiactioncontext-contract/
|
||||
├── spec.md
|
||||
├── plan.md
|
||||
├── tasks.md
|
||||
└── checklists/
|
||||
└── requirements.md
|
||||
```
|
||||
|
||||
### Application (later implementation only)
|
||||
|
||||
```text
|
||||
apps/platform/app/Support/Rbac/Actions/
|
||||
apps/platform/app/Support/Rbac/UiEnforcement.php
|
||||
apps/platform/app/Filament/...
|
||||
apps/platform/tests/...
|
||||
```
|
||||
|
||||
No application files are changed during this preparation step.
|
||||
462
specs/363-explicit-uiactioncontext-contract/spec.md
Normal file
462
specs/363-explicit-uiactioncontext-contract/spec.md
Normal file
@ -0,0 +1,462 @@
|
||||
# Feature Specification: Spec 363 - Explicit UiActionContext Contract for Scoped No-Record Actions
|
||||
|
||||
**Feature Branch**: `feat/363-explicit-uiactioncontext-contract`
|
||||
**Preparation Branch**: `363-explicit-uiactioncontext-contract`
|
||||
**Created**: 2026-06-07
|
||||
**Status**: Implemented
|
||||
**Type**: Filament/Livewire action-context safety / RBAC UX hardening / no new persistence
|
||||
**Runtime posture**: Harden workspace- and environment-scoped no-record Filament actions so render, first-click modal mount, and submit execution use explicit product scope instead of implicit Filament tenant fallback.
|
||||
**Input**: Direct user-provided Spec 363 draft in `/Users/ahmeddarrazi/.codex/attachments/36f3aea8-0303-4548-a83c-9f1cdd15f527/pasted-text.txt` plus repo inspection of Spec 362 root-cause audit and current action/RBAC seams.
|
||||
|
||||
## Dependencies And Historical Context
|
||||
|
||||
This package follows the action-context root-cause audit produced during Spec 362:
|
||||
|
||||
- `specs/362-sync-capture-backup-operation-semantics/artifacts/action-context-root-cause-audit.md` classifies the issue as **Case C - Systemic Action Context Contract Gap**.
|
||||
- The audit shows that Inventory Sync and Policy Sync already needed an explicit page resolver pattern to make first-click modal mounting reliable under `/livewire/update`.
|
||||
- The same latent class remains on no-record environment/workspace actions that can open modals, create `OperationRun` records, dispatch jobs, generate artifacts, or mutate support/diagnostics state.
|
||||
|
||||
Current repo truth already provides useful foundations:
|
||||
|
||||
- `App\Support\Rbac\UiEnforcement` centralizes environment-scoped UI affordance rules.
|
||||
- `App\Support\Rbac\WorkspaceUiEnforcement` already uses a stricter explicit workspace source pattern.
|
||||
- `App\Filament\Concerns\ResolvesPanelTenantContext` can resolve panel context across Livewire referer requests.
|
||||
- `OperationRun` and OperationRun UX helpers already make queued work observable.
|
||||
- Existing Filament/Livewire tests already use `mountAction()`, `callAction()`, queue fakes, and no-run assertions for Inventory and Policy Sync.
|
||||
|
||||
This spec turns those local fixes into an explicit product contract.
|
||||
|
||||
## Spec Candidate Check *(mandatory - SPEC-GATE-001)*
|
||||
|
||||
- **Problem**: Workspace- and environment-scoped no-record Filament actions can lose their original route/page context on Livewire update requests. When `UiEnforcement` falls back to `Filament::getTenant()` as product scope truth, an authorized operator can see silent disabled/hidden actions, modals that do not open, or render/submit scope divergence.
|
||||
- **Today's failure**:
|
||||
- Initial `/admin/...` page render can have enough context, while first-click `/livewire/update` action mounting does not.
|
||||
- Missing product context is collapsed into ordinary non-membership or missing-capability state.
|
||||
- Modal-open tests and "no OperationRun/job on modal mount" tests exist only for selected local fixes.
|
||||
- Latent no-record actions such as Entra Group Sync, Evidence Snapshot create, Review Pack generate, Environment Review create, Environment Diagnostics repair, Restore create entry, and Environment Dashboard support actions still need the same contract.
|
||||
- **User-visible improvement**: Authorized operators get reliable first-click modals and truthful disabled/missing-context states. High-impact actions create runs, dispatch jobs, generate artifacts, or mutate records only on submit after explicit reauthorization with the same workspace/environment context.
|
||||
- **Smallest enterprise-capable version**:
|
||||
- introduce a narrow `UiActionContext` contract for action product scope
|
||||
- make scoped no-record action enforcement require explicit context
|
||||
- preserve record-backed action behavior where scope comes from the record
|
||||
- retrofit representative latent-risk no-record actions
|
||||
- add reusable first-click modal/no-run test support
|
||||
- add a static guard for risky scoped no-record actions without explicit context
|
||||
- **Explicit non-goals**:
|
||||
- no migrations or persisted action-context table
|
||||
- no new product feature
|
||||
- no UI redesign or new route family
|
||||
- no OperationRun model redesign
|
||||
- no RBAC architecture rewrite
|
||||
- no broad rewrite of record-backed row/table/detail actions
|
||||
- no compatibility mode for old scoped no-record actions
|
||||
- no Filament panel/provider change
|
||||
- no global-search behavior change
|
||||
- no asset pipeline change
|
||||
- no broad support desk, billing, promotion, AI, or governance-inbox feature work
|
||||
- **Permanent complexity imported**: one value object, two small enums, one resolver trait or equivalent helper, one explicit scoped-action API on `UiEnforcement`, one reusable test helper, and one static architecture/guard test. No new persistence, operation type, capability string, or cross-domain UI framework is introduced.
|
||||
- **Why now**: Spec 362 proved this is not a local Inventory/Policy bug. New roadmap/productization work is likely to add modal-first, approval, support, entitlement, and OperationRun-starting actions; those should not inherit an implicit context fallback.
|
||||
- **Why not local**: A per-page resolver fix already repeated once. Continuing local fixes would keep every future no-record action responsible for rediscovering the same Livewire transport edge case and would leave no static guard against recurrence.
|
||||
- **Approval class**: Core Enterprise.
|
||||
- **Red flags triggered**: new abstraction and enum family, static guard, cross-cutting action-contract change. **Defense**: the abstraction is required for RBAC, tenant/workspace isolation, queue/job legitimacy, and operator trust; scope is limited to no-record scoped actions first and preserves record-backed paths.
|
||||
- **Score**: Nutzen: 2 | Dringlichkeit: 2 | Scope: 2 | Komplexitaet: 1 | Produktnaehe: 2 | Wiederverwendung: 2 | **Gesamt: 11/12**
|
||||
- **Decision**: approve.
|
||||
|
||||
## Candidate Source And Completed-Spec Guardrail
|
||||
|
||||
- **Candidate source**:
|
||||
- direct user-provided Spec 363 draft in `pasted-text.txt`
|
||||
- Spec 362 root-cause audit artifact under `specs/362-sync-capture-backup-operation-semantics/artifacts/action-context-root-cause-audit.md`
|
||||
- repo-verified current action patterns under `apps/platform/app/Filament` and `apps/platform/app/Support/Rbac`
|
||||
- **Queue boundary**: `docs/product/spec-candidates.md` states that no safe automatic next-best-prep target remains in the active queue. This package is an intentional manual promotion from direct user input, not an auto-selected backlog item.
|
||||
- **Completed-spec check result**:
|
||||
- no `specs/363-*` package existed before this prep
|
||||
- no `363-*` branch existed before this prep
|
||||
- runtime implementation must run from `feat/363-explicit-uiactioncontext-contract` based on `dev`; the current prep branch is not the final PR branch shape
|
||||
- Spec 362 is treated as implemented/root-cause context and is not modified
|
||||
- Specs 338, 340, 358, 359, 360, 361, and 362 are dependency/history context only and must not be rewritten or normalized here
|
||||
- completed implementation close-out, validation, smoke, and completed task markers in related specs remain historical evidence
|
||||
- **Close alternatives deferred**:
|
||||
- `OperationRun Start Authorization Contract Hardening` is deferred unless implementation proves execution authorization is weaker than the UI gate across more than this context class
|
||||
- full migration of every record-backed row/table/detail action is deferred because record-derived scope is a different, currently valid context source
|
||||
- customer-review, governance-inbox, promotion, commercial-entitlement, support-desk, and AI runtime productization remain future consumers of this contract, not hidden scope
|
||||
- **Smallest viable implementation slice**: explicit scoped-action context contract, representative no-record action retrofit, reusable tests, and static recurrence guard.
|
||||
|
||||
## Summary
|
||||
|
||||
This feature makes product scope explicit for workspace- and environment-scoped no-record Filament actions.
|
||||
|
||||
It does not replace Filament tenancy or record-backed authorization. It says that a no-record action that depends on workspace/environment scope must be given that scope explicitly at render, modal mount, and submit time. Missing context is a distinct fail-closed state, not an ordinary "you are not a member" or "you lack permission" state.
|
||||
|
||||
## Business/Product Value
|
||||
|
||||
- Prevents trust-damaging admin UX failures such as first-click modal misses, mysteriously disabled actions, and context-dependent action state drift.
|
||||
- Makes high-impact sync, evidence, review, restore, diagnostics, and support actions safer before broader productization work adds more modal-first workflows.
|
||||
- Reduces repeated implementation drift by making explicit action context a shared contract and a testable guardrail.
|
||||
|
||||
## Primary Users / Operators
|
||||
|
||||
- Tenant/MSP operators who start sync, evidence, review, restore, diagnostics, and support workflows from Filament admin surfaces.
|
||||
- Workspace owners/managers who expect capability-gated actions to be stable and honest.
|
||||
- Platform/support operators who need missing-context states to be diagnosable without exposing low-level transport details in the UI.
|
||||
|
||||
## Roadmap Relationship
|
||||
|
||||
This is governance and architecture hardening for the current sellable platform path.
|
||||
|
||||
It directly protects future features that will add modal-first and OperationRun-starting actions:
|
||||
|
||||
- Customer Review Workspace completion
|
||||
- Decision-Based Governance Inbox
|
||||
- Cross-Tenant Compare and Promotion
|
||||
- Commercial entitlement and billing-state gates
|
||||
- External Support Desk / PSA Handoff
|
||||
- governed AI execution surfaces
|
||||
|
||||
Those features should build on explicit action context rather than repeating the current local resolver pattern.
|
||||
|
||||
## Spec Scope Fields *(mandatory)*
|
||||
|
||||
- **Scope**: canonical-view plus workspace/environment action scope
|
||||
- **Primary Routes**:
|
||||
- existing `/admin/...` workspace-owned and environment-scoped Filament pages that expose no-record header/page/empty-state actions
|
||||
- existing environment resource pages for Inventory, Policies, Entra Groups, Evidence Snapshots, Review Packs, Environment Reviews, Restore Runs, Environment Diagnostics, and Environment Dashboard
|
||||
- **Data Ownership**:
|
||||
- no new table, column, or persisted truth
|
||||
- `Workspace` remains primary SaaS context
|
||||
- `ManagedEnvironment` remains managed target context inside a workspace
|
||||
- existing `OperationRun`, audit, evidence, review, backup, restore, and support records keep their current ownership
|
||||
- **RBAC**:
|
||||
- UI visibility/disabled state continues to use `UiEnforcement` or `WorkspaceUiEnforcement`
|
||||
- execution handlers must reauthorize server-side using the explicit workspace/environment context
|
||||
- non-members and wrong-scope actors remain deny-as-not-found where policy/route semantics require it
|
||||
- readonly and entitlement states must use the same explicit context used by modal and submit paths
|
||||
|
||||
For canonical-view specs:
|
||||
|
||||
- **Default filter behavior when tenant-context is active**: no-record action scope must come from an explicit page, workspace, environment, or record context resolver. It must not silently use remembered environment state or `Filament::getTenant()` as product scope truth.
|
||||
- **Explicit entitlement checks preventing cross-tenant leakage**: every submitted action must resolve a workspace/environment context that belongs to the current workspace and actor entitlement before creating runs, dispatching jobs, generating artifacts, or mutating records.
|
||||
|
||||
## UI Surface Impact *(mandatory - UI-COV-001)*
|
||||
|
||||
Does this spec add, remove, rename, or materially change any reachable UI surface?
|
||||
|
||||
- [ ] No UI surface impact
|
||||
- [x] Existing page changed
|
||||
- [ ] New page/route added
|
||||
- [ ] Navigation changed
|
||||
- [ ] Filament panel/provider surface changed
|
||||
- [ ] New modal/drawer/wizard/action added
|
||||
- [ ] New table/form/state added
|
||||
- [ ] Customer-facing surface changed
|
||||
- [x] Dangerous action changed
|
||||
- [ ] Status/evidence/review presentation changed
|
||||
- [x] Workspace/environment context presentation changed
|
||||
|
||||
## UI/Productization Coverage *(mandatory when UI Surface Impact is not "No UI surface impact")*
|
||||
|
||||
- **Route/page/surface**:
|
||||
- `App\Filament\Resources\InventoryItemResource\Pages\ListInventoryItems`
|
||||
- `App\Filament\Resources\PolicyResource`
|
||||
- `App\Filament\Resources\PolicyResource\Pages\ListPolicies`
|
||||
- `App\Filament\Resources\EntraGroupResource\Pages\ListEntraGroups`
|
||||
- `App\Filament\Resources\EvidenceSnapshotResource` and `Pages\ListEvidenceSnapshots`
|
||||
- `App\Filament\Resources\ReviewPackResource`
|
||||
- `App\Filament\Resources\EnvironmentReviewResource`
|
||||
- `App\Filament\Pages\EnvironmentDiagnostics`
|
||||
- `App\Filament\Resources\RestoreRunResource`
|
||||
- `App\Filament\Pages\EnvironmentDashboard`
|
||||
- **Current or new page archetype**: existing native Filament resource/list/page/action surfaces
|
||||
- **Design depth**: Domain Pattern Surface
|
||||
- **Repo-truth level**: repo-verified
|
||||
- **Existing pattern reused**: `UiEnforcement`, `WorkspaceUiEnforcement`, `ResolvesPanelTenantContext`, existing Filament action/modal testing patterns, existing OperationRun UX helpers
|
||||
- **New pattern required**: small action-context contract and static guard; no new page pattern or visual redesign
|
||||
- **Screenshot required**: no by default; one bounded Browser smoke only if implementation changes visible hierarchy or missing-context copy beyond existing tooltips/notifications
|
||||
- **Page audit required**: no new page-report identity is required by default
|
||||
- **Customer-safe review required**: no; affected surfaces are operator/admin surfaces
|
||||
- **Dangerous-action review required**: yes for high-impact and destructive-adjacent actions. Existing destructive actions must keep `->action(...)`, `->requiresConfirmation()`, server-side authorization, audit logging, and tests. Modal open must not create `OperationRun` records or dispatch jobs.
|
||||
- **Coverage files updated or explicitly not needed**:
|
||||
- [ ] `docs/ui-ux-enterprise-audit/route-inventory.md`
|
||||
- [ ] `docs/ui-ux-enterprise-audit/design-coverage-matrix.md`
|
||||
- [ ] `docs/ui-ux-enterprise-audit/page-reports/...`
|
||||
- [ ] `docs/ui-ux-enterprise-audit/strategic-surfaces.md`
|
||||
- [ ] `docs/ui-ux-enterprise-audit/grouped-follow-up-candidates.md`
|
||||
- [ ] `docs/ui-ux-enterprise-audit/unresolved-pages.md`
|
||||
- [x] `N/A - existing reachable UI surface families only`
|
||||
- **No-impact rationale when applicable**: N/A. This feature changes existing action behavior and workspace/environment context presentation, but does not add a new reachable route/page family.
|
||||
|
||||
## Cross-Cutting / Shared Pattern Reuse *(mandatory)*
|
||||
|
||||
- **Cross-cutting feature?**: yes
|
||||
- **Interaction class(es)**: header actions, page actions, empty-state actions, modal actions, OperationRun-starting actions, support/diagnostic actions, status/tooltip copy
|
||||
- **Systems touched**:
|
||||
- `App\Support\Rbac\UiEnforcement`
|
||||
- `App\Support\Rbac\WorkspaceUiEnforcement` as comparison context only unless implementation chooses to share a small value object
|
||||
- `App\Filament\Concerns\ResolvesPanelTenantContext`
|
||||
- existing Filament resource/page action definitions
|
||||
- existing action tests and guard tests
|
||||
- existing `OperationRun` creation/dispatch paths only through current handlers
|
||||
- **Existing pattern(s) to extend**: `UiEnforcement`, `WorkspaceUiEnforcement`, current page context resolvers, current Filament action tests
|
||||
- **Shared contract / presenter / builder / renderer to reuse**: `UiEnforcement` and page/record resolvers; no presenter or renderer is introduced
|
||||
- **Why the existing shared path is sufficient or insufficient**: the shared path exists, but `UiEnforcement` still allows ambiguous no-record scoped actions to fall back to implicit Filament tenant context. The contract must make scoped action context explicit.
|
||||
- **Allowed deviation and why**: a small new `App\Support\Rbac\Actions` namespace is allowed if it keeps action context isolated and avoids bloating `UiEnforcement` with unrelated UI framework semantics.
|
||||
- **Consistency impact**: missing-context handling, readonly/capability disabled state, modal mount behavior, OperationRun dispatch timing, and server reauthorization must stay consistent across all retrofitted actions.
|
||||
- **Review focus**: no hidden `Filament::getTenant()` fallback for no-record scoped actions, no modal-open side effects, no compatibility shim, no broad record-backed rewrite.
|
||||
|
||||
## OperationRun UX Impact *(mandatory)*
|
||||
|
||||
- **Touches OperationRun start/completion/link UX?**: yes, start semantics only
|
||||
- **Shared OperationRun UX contract/layer reused**: existing `OperationRunService`, action handlers, `OperationRunLinks`, `OperationUxPresenter`, and `OpsUxBrowserEvents`
|
||||
- **Delegated start/completion UX behaviors**: queued toast, `Open operation` / `View run` links, run-enqueued browser events, and terminal notification paths remain unchanged
|
||||
- **Local surface-owned behavior that remains**: action form inputs, confirmation wording, and missing-context notification/tooltip copy
|
||||
- **Queued DB-notification policy**: unchanged
|
||||
- **Terminal notification path**: unchanged
|
||||
- **Exception required?**: none. If execution authorization is found weaker than the UI gate beyond this context class, stop and create a follow-up instead of widening this spec.
|
||||
|
||||
## Provider Boundary / Platform Core Check *(mandatory)*
|
||||
|
||||
- **Shared provider/platform boundary touched?**: no new provider boundary is introduced
|
||||
- **Boundary classification**: platform-core UI/RBAC action context over current provider-backed operations
|
||||
- **Seams affected**: Filament action scope, workspace/environment context, run/job dispatch inputs, support/diagnostic mutation inputs
|
||||
- **Neutral platform terms preserved or introduced**: `workspace`, `environment`, `record`, `system`, `product scope`, `action context`
|
||||
- **Provider-specific semantics retained and why**: Microsoft/Graph semantics remain inside existing job/service handlers; this spec does not add provider-specific endpoints or contracts
|
||||
- **Why this does not deepen provider coupling accidentally**: the new contract names workspace/environment product scope rather than Microsoft tenant transport state, and it forbids treating Filament tenant context as platform truth for no-record scoped actions
|
||||
- **Follow-up path**: only `OperationRun Start Authorization Contract Hardening` if broader execution weakness is repo-verified during implementation
|
||||
|
||||
## UI / Surface Guardrail Impact
|
||||
|
||||
| Surface / Change | Operator-facing surface change? | Native vs Custom | Shared-Family Relevance | State Layers Touched | Exception Needed? | Low-Impact / `N/A` Note |
|
||||
|---|---|---|---|---|---|---|
|
||||
| Scoped no-record header/page actions | yes | Native Filament actions | header/page/modal action family | page, modal, Livewire action mount | no | existing pages only |
|
||||
| Missing action context state | yes | Native disabled/hidden/notification affordances | RBAC UX family | page, action state | no | copy must remain enterprise-safe |
|
||||
| OperationRun-starting action submit path | yes | Existing services/jobs | OperationRun start family | action submit, queue/job dispatch | no | completion UX unchanged |
|
||||
|
||||
## Decision-First Surface Role
|
||||
|
||||
| Surface | Decision Role | Human-in-the-loop Moment | Immediately Visible for First Decision | On-Demand Detail / Evidence | Why This Is Primary or Why Not | Workflow Alignment | Attention-load Reduction |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| Scoped action button/modal | Primary Action Surface | Operator decides whether to start sync, generate artifact, create review, repair diagnostics, restore, or request support | action enabled/disabled state and confirmation/modal availability | existing form fields, modal text, run link after submit | primary because it is where work begins | keeps scope decision attached to the action | avoids "button does nothing" and wrong permission interpretation |
|
||||
| Missing-context tooltip/notification | Secondary Explanation Surface | Operator needs to understand why a scoped action is unavailable | concise "environment context unavailable" explanation | none by default | secondary because it explains a blocked action | prevents false permission framing | avoids support/debug reconstruction |
|
||||
| OperationRun link after submit | Secondary Follow-through Surface | Operator inspects queued work | existing run link/notification | existing operation detail diagnostics | unchanged existing pattern | same OperationRun workflow | avoids duplicating result truth in modal |
|
||||
|
||||
## Audience-Aware Disclosure
|
||||
|
||||
| Surface | Audience Modes In Scope | Decision-First Default-Visible Content | Operator Diagnostics | Support / Raw Evidence | One Dominant Next Action | Hidden / Gated By Default | Duplicate-Truth Prevention |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| Scoped action button/modal | operator-MSP, support-platform | action state, form, confirmation, safe context wording | context source only in tests/log-safe diagnostics unless already appropriate | no raw Livewire/request detail in UI | run/submit the action or reload/select environment | technical transport details such as `getTenant null` | modal state and submit handler use one explicit context |
|
||||
| Missing-context state | operator-MSP, support-platform | "Environment context unavailable" style copy | no default raw IDs | raw request/referer data remains outside UI | reload workspace or select environment | low-level Livewire/Filament internals | missing context is distinct from permission denial |
|
||||
|
||||
## UI/UX Surface Classification
|
||||
|
||||
| Surface | Action Surface Class | Surface Type | Likely Next Operator Action | Primary Inspect/Open Model | Row Click | Secondary Actions Placement | Destructive Actions Placement | Canonical Collection Route | Canonical Detail Route | Scope Signals | Canonical Noun | Critical Truth Visible by Default | Exception Type / Justification |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| Existing resource/page header actions | Action / Modal / Workbench | High-impact no-record action | open modal, confirm, submit, or reload/select context | action/modal | N/A | existing page actions | existing confirmation/modal patterns | existing route family | existing route family | workspace/environment action context | Action / Operation | whether context and capability allow the action | none |
|
||||
| Existing empty-state actions | Action / Empty State | No-record generation action | create first snapshot/pack/review where allowed | action/modal | N/A | empty state | existing confirmation/modal patterns | existing route family | existing route family | explicit environment context | Action / Artifact | context and authorization are consistent | none |
|
||||
|
||||
## Operator Surface Contract
|
||||
|
||||
| Surface | Primary Persona | Decision / Operator Action Supported | Surface Type | Primary Operator Question | Default-visible Information | Diagnostics-only Information | Status Dimensions Used | Mutation Scope | Primary Actions | Dangerous Actions |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| Scoped no-record actions | Tenant operator / MSP operator | Start or generate environment/workspace work safely | existing Filament action/modal | Can I run this action for this exact workspace/environment now? | enabled/disabled/missing-context state and modal inputs | context source and technical request details only in tests/log-safe diagnostics | context present, membership, capability, entitlement, readonly | TenantPilot and queued provider work depending action | sync, generate, create, repair, request support | restore, diagnostics repair, delete/expire-adjacent actions keep confirmation and server authorization |
|
||||
|
||||
## Proportionality Review *(mandatory when structural complexity is introduced)*
|
||||
|
||||
- **New source of truth?**: no persisted source of truth. `UiActionContext` is a request-time product-scope contract.
|
||||
- **New persisted entity/table/artifact?**: no.
|
||||
- **New abstraction?**: yes, a narrow action-context value object/helper contract.
|
||||
- **New enum/state/reason family?**: yes, small request-time scope/source enums and missing-context reason classification.
|
||||
- **New cross-domain UI framework/taxonomy?**: no.
|
||||
- **Current operator problem**: trusted admin actions can silently fail, hide, disable, or mount inconsistently because product scope is implicit on Livewire update requests.
|
||||
- **Existing structure is insufficient because**: `UiEnforcement` accepts nullable no-record context and can fall back to `Filament::getTenant()`, while workspace-first admin surfaces need page/record/workspace/environment product context.
|
||||
- **Narrowest correct implementation**: make scoped no-record action context explicit, preserve valid record-backed context resolution, and guard only the risky class first.
|
||||
- **Ownership cost**: one reusable contract, focused action retrofits, static guard maintenance, and action lifecycle tests for high-impact no-record actions.
|
||||
- **Alternative intentionally rejected**: keep adding local page resolver closures without a central contract. Rejected because it leaves recurrence likely and missing context indistinguishable from authorization denial.
|
||||
- **Release truth**: current-release truth. The issue is repo-verified and already required local fixes.
|
||||
|
||||
### Compatibility posture
|
||||
|
||||
This feature assumes a pre-production environment.
|
||||
|
||||
Backward compatibility, legacy aliases, migration shims, historical fixtures, and compatibility-specific tests are out of scope. No compatibility fallback is allowed for scoped no-record actions that should use explicit context.
|
||||
|
||||
Record-backed actions are not legacy exceptions; they are a different valid context source.
|
||||
|
||||
## Testing / Lane / Runtime Impact *(mandatory for runtime behavior changes)*
|
||||
|
||||
- **Test purpose / classification**: Unit for context value objects and `UiEnforcement` context handling; Feature/Filament-Livewire for action visibility, first-click modal mount, submit reauthorization, and no-run/no-job-on-modal-open; Architecture/Feature guard for static source scanning; Browser optional smoke only if visible hierarchy/copy changes materially.
|
||||
- **Validation lane(s)**: fast-feedback, confidence, browser optional
|
||||
- **Why this classification and these lanes are sufficient**: the risk is request-time action context and Filament/Livewire lifecycle behavior, not schema or PostgreSQL-specific persistence.
|
||||
- **New or expanded test families**: one explicit Spec 363 Unit family, one explicit Spec 363 Feature/Architecture guard, and targeted extensions to existing action tests.
|
||||
- **Fixture / helper cost impact**: existing workspace/environment/user/capability factories plus current queue fakes; no new global seed or heavy default context.
|
||||
- **Heavy-family visibility / justification**: no heavy-governance family by default; Browser only if UI copy/hierarchy changes require visual smoke.
|
||||
- **Special surface test profile**: standard-native-filament plus action-lifecycle-contract.
|
||||
- **Standard-native relief or required special coverage**: use Filament action testing helpers for pages/actions. Header actions use `mountAction()` / `callAction()` and table header actions may use `Filament\Actions\Testing\TestAction::make(...)->table()` where appropriate.
|
||||
- **Reviewer handoff**: reviewers must confirm no modal-open side effects, no implicit `Filament::getTenant()` product-scope fallback for scoped no-record actions, no compatibility shim, and no broad record-backed churn.
|
||||
- **Budget / baseline / trend impact**: none expected beyond targeted action lifecycle tests.
|
||||
- **Escalation needed**: document-in-feature if a single false positive needs a bounded static-guard exception; follow-up-spec if execution authorization is broadly weaker than UI gating.
|
||||
- **Active feature PR close-out entry**: Guardrail / Smoke Coverage.
|
||||
- **Planned validation commands**:
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/Rbac/Actions tests/Unit/Support/Rbac/UiEnforcementScopedActionContextTest.php`
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Architecture/ScopedUiActionContextContractTest.php tests/Feature/Filament/InventoryItemResourceTest.php tests/Feature/PolicySyncStartSurfaceTest.php tests/Feature/RunStartAuthorizationTest.php`
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/EntraGroupAdminScopeTest.php tests/Feature/Evidence/EvidenceSnapshotResourceTest.php tests/Feature/ReviewPack/ReviewPackResourceTest.php tests/Feature/Filament/RestoreRunUiEnforcementTest.php`
|
||||
- `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent`
|
||||
- `git diff --check`
|
||||
|
||||
## User Scenarios & Testing *(mandatory)*
|
||||
|
||||
### User Story 1 - Explicit Context Contract (Priority: P1)
|
||||
|
||||
As a tenant operator, I need scoped actions to evaluate against the same workspace/environment context during render, first click, and submit, so that action state is reliable and not dependent on Livewire transport details.
|
||||
|
||||
**Why this priority**: This is the foundation that prevents first-click modal failures and render/submit drift across all retrofitted actions.
|
||||
|
||||
**Independent Test**: Unit tests prove `UiActionContext` can represent workspace, environment, record, system, and missing context, and `UiEnforcement` fails closed for scoped no-record actions without explicit context while preserving record-backed behavior.
|
||||
|
||||
**Acceptance Scenarios**:
|
||||
|
||||
1. **Given** a no-record environment-scoped action with explicit environment context, **When** Livewire evaluates visibility and disabled state, **Then** it uses that context instead of implicit Filament tenant fallback.
|
||||
2. **Given** a no-record environment-scoped action with missing context, **When** action state is evaluated, **Then** the action fails closed with missing-context reason distinct from non-membership and missing capability.
|
||||
3. **Given** a record-backed table/detail action, **When** action state is evaluated, **Then** the existing record-derived scope remains valid without broad retrofit churn.
|
||||
|
||||
---
|
||||
|
||||
### User Story 2 - Stable First-Click Modal Lifecycle (Priority: P1)
|
||||
|
||||
As an operator starting sync, evidence, review, restore, diagnostics, or support work, I need the modal or confirmation to open on first click without creating a run, dispatching a job, or mutating records until I submit.
|
||||
|
||||
**Why this priority**: The repo-verified failure mode is user-visible trust damage: buttons appear broken or create inconsistent action lifecycle behavior.
|
||||
|
||||
**Independent Test**: Filament/Livewire action tests mount each representative no-record action under workspace-scoped Livewire referer context, assert the action is mounted/open, and assert no `OperationRun`, queued provider job, audit side effect, or domain mutation happens on modal open unless explicitly intended and tested.
|
||||
|
||||
**Acceptance Scenarios**:
|
||||
|
||||
1. **Given** an authorized operator on the Inventory list with no Filament tenant on the Livewire update request, **When** they first click Run Inventory Sync, **Then** the modal mounts and no `inventory.sync` run or job is created.
|
||||
2. **Given** an authorized operator on Evidence Snapshot, Review Pack, Environment Review, Restore, Diagnostics, or Environment Dashboard surfaces, **When** they first click the scoped action, **Then** modal/confirmation state uses explicit action context and creates no run/job/mutation until submit.
|
||||
3. **Given** a readonly or entitlement-blocked operator, **When** action state is evaluated and submitted, **Then** disabled state and server-side denial use the same explicit context and no work is queued.
|
||||
|
||||
---
|
||||
|
||||
### User Story 3 - Recurrence Guard For Risky Actions (Priority: P1)
|
||||
|
||||
As a reviewer, I need a static guard that flags risky no-record scoped actions without explicit context so future feature work cannot reintroduce the same pattern.
|
||||
|
||||
**Why this priority**: Without a guard, the next modal-first or OperationRun-starting feature can repeat the bug even if current actions are fixed.
|
||||
|
||||
**Independent Test**: A Pest architecture/guard test scans `apps/platform/app/Filament` for risky scoped no-record action patterns and fails with actionable output when a candidate lacks `UiActionContext` / `forScopedAction` / canonical resolver markers.
|
||||
|
||||
**Acceptance Scenarios**:
|
||||
|
||||
1. **Given** a new no-record scoped action that uses `UiEnforcement::forAction()` and can dispatch work, open a modal, or create an `OperationRun`, **When** it lacks explicit context, **Then** the guard fails with file/action/fix guidance.
|
||||
2. **Given** a record-backed row/table/detail action, **When** it safely derives scope from the record, **Then** the guard does not require unnecessary `UiActionContext` churn.
|
||||
3. **Given** an unavoidable false positive, **When** a bounded exception is needed, **Then** it must be documented in this feature or a follow-up with a specific reason, not hidden in a permanent legacy allowlist.
|
||||
|
||||
---
|
||||
|
||||
### User Story 4 - Operator-Safe Missing Context Copy (Priority: P2)
|
||||
|
||||
As an operator, I need missing context to be explained as context unavailability, not as a false permission denial or low-level Livewire/Filament error.
|
||||
|
||||
**Why this priority**: The primary trust issue is silent or misleading UX. Copy does not need a full localization project, but it must be localizable later and not expose transport internals.
|
||||
|
||||
**Independent Test**: Feature tests assert missing-context state produces a distinct reason and, where visible, enterprise-safe copy such as "Environment context unavailable."
|
||||
|
||||
**Acceptance Scenarios**:
|
||||
|
||||
1. **Given** an action should remain visible but context cannot be resolved, **When** the operator sees the disabled state, **Then** the tooltip/notification says the environment/workspace context is unavailable rather than "you lack permission."
|
||||
2. **Given** missing context is logged or asserted in tests, **When** diagnostics are inspected, **Then** no secret, token, raw Graph payload, or unsupported request internals are exposed in UI copy.
|
||||
|
||||
## Functional Requirements
|
||||
|
||||
- **FR-363-001**: The implementation MUST introduce an explicit action-context contract that can represent workspace, environment, record, system, and missing scoped action context without persistence.
|
||||
- **FR-363-002**: The implementation MUST support a distinct missing-context reason such as `context_missing`, `workspace_missing`, or `environment_missing`.
|
||||
- **FR-363-003**: `UiEnforcement` MUST accept explicit scoped action context for no-record workspace/environment actions.
|
||||
- **FR-363-004**: Scoped no-record actions MUST NOT silently rely on `Filament::getTenant()` as product scope truth.
|
||||
- **FR-363-005**: Record-backed actions MAY continue to resolve context from their record when that record is the product scope source.
|
||||
- **FR-363-006**: Missing context MUST fail closed and MUST be distinguishable from non-membership and missing capability in tests.
|
||||
- **FR-363-007**: First-click modal/confirmation mount MUST NOT create an `OperationRun`, dispatch provider/write jobs, or mutate domain state unless a specific action intentionally audits open and tests that behavior.
|
||||
- **FR-363-008**: Submit/execute handlers MUST reauthorize server-side using the explicit context before creating runs, dispatching jobs, generating artifacts, or mutating data.
|
||||
- **FR-363-009**: Representative no-record actions MUST be retrofitted: `run_inventory_sync`, Policy Sync, `sync_groups`, `create_snapshot`, `create_first_snapshot`, `generate_pack`, `generate_first`, `create_review`, `bootstrapOwner`, `mergeDuplicateMemberships`, Restore create entry, and Environment Dashboard support actions.
|
||||
- **FR-363-010**: A static guard MUST flag risky scoped no-record action patterns without explicit context and provide actionable failure output.
|
||||
- **FR-363-011**: The implementation MUST keep destructive and high-impact actions on `Action::make(...)->action(...)` with `->requiresConfirmation()` where currently required.
|
||||
- **FR-363-012**: The implementation MUST NOT add new capabilities, operation types, routes, panels, assets, migrations, or global-search behavior.
|
||||
|
||||
## Non-Functional Requirements
|
||||
|
||||
- **NFR-363-001**: Filament remains v5 and Livewire remains v4.0+ compliant.
|
||||
- **NFR-363-002**: Laravel 12 panel providers remain registered in `apps/platform/bootstrap/providers.php`; no provider registration change is planned.
|
||||
- **NFR-363-003**: No Graph call may occur during render, action visibility, disabled-state evaluation, or modal mount.
|
||||
- **NFR-363-004**: Tests must stay focused: Unit + Feature/Filament-Livewire + static guard, with Browser only if visible behavior changes materially.
|
||||
- **NFR-363-005**: Missing-context copy must be enterprise-safe and localizable later; it must not expose low-level Livewire request state.
|
||||
- **NFR-363-006**: Static guard false positives must be resolved by narrowing the guard or documenting bounded exceptions, not by a broad legacy allowlist.
|
||||
|
||||
## Out Of Scope
|
||||
|
||||
- OperationRun status/outcome redesign.
|
||||
- New persisted context/audit table.
|
||||
- Full action-surface discovery framework rewrite.
|
||||
- Full migration of every record-backed action.
|
||||
- UI redesign or navigation changes.
|
||||
- Customer-facing portal/review productization.
|
||||
- Commercial billing-state implementation.
|
||||
- Cross-tenant promotion execution.
|
||||
- Support desk/PSA integration.
|
||||
- AI execution governance implementation.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- `UiActionContext` or an equivalent explicit request-time context contract exists and is covered by Unit tests.
|
||||
- `UiEnforcement` supports explicit scoped action context and no scoped no-record action silently relies on `Filament::getTenant()` as product scope truth.
|
||||
- Missing workspace/environment context fails closed and is test-observable as missing context, not only as non-membership or missing capability.
|
||||
- Representative no-record actions listed in this spec use explicit context or have documented repo-verified reasons for deferral.
|
||||
- First-click modal/confirmation mount tests prove no `OperationRun`, provider/write job, or domain mutation occurs before submit.
|
||||
- Submit/execute tests prove server-side reauthorization with explicit context.
|
||||
- A static guard fails future risky scoped no-record actions without explicit context and reports actionable fix guidance.
|
||||
- No migrations, assets, panel/provider changes, route/navigation changes, capability strings, operation types, or global-search changes are introduced.
|
||||
|
||||
## Data And Truth Source Requirements
|
||||
|
||||
- `UiActionContext` is request-time derived truth, not persistence.
|
||||
- Workspace/environment product scope is authoritative for no-record scoped actions.
|
||||
- Filament tenant context remains a framework transport/detail and may be used only when explicitly resolved into product context by a repo-approved resolver.
|
||||
- `OperationRun` remains the run/dispatch truth after submit.
|
||||
- Existing audit logs remain action-side-effect truth where handlers already audit.
|
||||
|
||||
## Auditability And Observability Requirements
|
||||
|
||||
- Existing audit events for support, diagnostics, restore, generation, sync, and run-start actions must remain.
|
||||
- Modal open must not create audit records unless the existing action intentionally records a safe open/read event and tests it.
|
||||
- OperationRun creation must include explicit workspace/environment scope as it does today through the handler's run-start path.
|
||||
- Static guard failures must name the file/action/reason/fix so reviewers can act without reverse-engineering the scan.
|
||||
|
||||
## Assumptions
|
||||
|
||||
- Current application versions are PHP 8.4.15, Laravel 12.52, Filament 5.2.1, Livewire 4.1.4, Pest 4.3.1, PostgreSQL via Sail.
|
||||
- The product remains pre-production, so no legacy compatibility shim is required for old scoped no-record behavior.
|
||||
- `ManagedEnvironment` is still the environment/tenant model used by current runtime code.
|
||||
- Existing policies, capability resolvers, and domain services remain the server-side authorization owners.
|
||||
|
||||
## Risks
|
||||
|
||||
- The static guard may initially produce false positives for record-backed or safe URL-only actions.
|
||||
- Retrofitting many action surfaces can conflict with active feature work if done as one broad PR.
|
||||
- Missing-context copy could become noisy if visible for actions that should be hidden entirely.
|
||||
- If implementation reveals broader execution authorization weakness, that must become a follow-up spec rather than expanding this package silently.
|
||||
|
||||
## Open Questions
|
||||
|
||||
- None blocking preparation. During implementation, exact action names and file names must be reverified against current repo truth before edits.
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- Representative no-record scoped actions mount reliably on first click under workspace-scoped Livewire requests.
|
||||
- Missing context is test-observable and distinct from permission denial.
|
||||
- Modal open creates no run/job/mutation for retrofitted actions.
|
||||
- Submit paths reauthorize and use explicit context.
|
||||
- Static guard catches new risky scoped no-record actions without explicit context.
|
||||
- No migrations, assets, panel provider changes, or global-search changes are introduced.
|
||||
|
||||
## Follow-Up Spec Candidates
|
||||
|
||||
Only create a follow-up if implementation discovers repo-verified broader weakness:
|
||||
|
||||
- `OperationRun Start Authorization Contract Hardening`: required only if execution-level authorization is inconsistent beyond UI action context.
|
||||
186
specs/363-explicit-uiactioncontext-contract/tasks.md
Normal file
186
specs/363-explicit-uiactioncontext-contract/tasks.md
Normal file
@ -0,0 +1,186 @@
|
||||
# Tasks: Spec 363 - Explicit UiActionContext Contract for Scoped No-Record Actions
|
||||
|
||||
**Input**: `/Users/ahmeddarrazi/Documents/projects/wt-plattform/specs/363-explicit-uiactioncontext-contract/spec.md`, `plan.md`, and `checklists/requirements.md`
|
||||
**Prerequisites**: `spec.md` and `plan.md`
|
||||
**Tests**: REQUIRED (Pest). Use Unit + Feature/Filament-Livewire + Architecture/guard. Browser is optional only if visible copy/hierarchy changes materially.
|
||||
**Operations**: Modal open must not create `OperationRun` records, dispatch provider/write jobs, or mutate records. Submit/execute must reauthorize with explicit context.
|
||||
**RBAC**: Reuse existing policies/gates, `UiEnforcement`, `WorkspaceUiEnforcement`, capability resolvers, and deny-as-not-found semantics. No new capability strings.
|
||||
**Filament / Panel Guardrails**: Filament remains v5 on Livewire v4. Provider registration stays in `apps/platform/bootstrap/providers.php`. No new panel, global-search change, or asset strategy is allowed.
|
||||
**Organization**: Tasks are ordered by dependency. Tests and guardrails come before or alongside runtime edits.
|
||||
|
||||
## Repo Baseline At Prep Time
|
||||
|
||||
- **Branch before Spec Kit creation**: `platform-dev`
|
||||
- **HEAD before Spec Kit creation**: `548a37c8 feat: implement sync capture backup operation semantics (#433)`
|
||||
- **`git status --short --branch` before Spec Kit creation**: clean
|
||||
- **Spec Kit branch created**: `363-explicit-uiactioncontext-contract`
|
||||
- **Implementation PR branch target**: `feat/363-explicit-uiactioncontext-contract` from `dev`; reconcile branch shape before runtime edits
|
||||
- **Candidate source**: direct user-provided Spec 363 draft in `/Users/ahmeddarrazi/.codex/attachments/36f3aea8-0303-4548-a83c-9f1cdd15f527/pasted-text.txt`
|
||||
- **Completed-spec context only**: Specs 338, 340, 358, 359, 360, 361, and 362 are dependency/history context and must not be reopened during Spec 363 implementation
|
||||
- **Scope guardrail**: no migrations, no panel/provider changes, no assets, no global-search changes, no OperationRun redesign, no broad record-backed action migration, and no product-feature expansion
|
||||
|
||||
## Test Governance Checklist
|
||||
|
||||
- [x] Lane assignment remains explicit and narrowest sufficient (Unit + Feature/Filament-Livewire + Architecture/guard; Browser optional only when visible UI changes require it).
|
||||
- [x] Shared helpers keep workspace/environment/member/capability setup opt-in and do not create expensive defaults.
|
||||
- [x] Tests prove business truth: context resolution, RBAC affordance, server reauthorization, no-run/no-job on modal open, and wrong-scope fail-closed behavior.
|
||||
- [x] Static guard failures are actionable and do not rely on broad permanent legacy allowlists.
|
||||
- [x] Final close-out records no-migration, no-asset, no-panel-provider, no-global-search, and no-compatibility-shim status.
|
||||
|
||||
## Implementation Close-Out Notes
|
||||
|
||||
- Runtime implementation ran on `feat/363-explicit-uiactioncontext-contract` from `dev`.
|
||||
- Repo-truth names differ from the draft: `TenantReviewResource`, `TenantDiagnostics`, and `TenantDashboard` are the current environment review/diagnostics/dashboard surfaces.
|
||||
- `apps/platform/tests/Support/Filament/ScopedActionAssertions.php` was not added because the final focused tests did not duplicate enough setup to justify a new helper.
|
||||
- Browser smoke was not run because the implementation does not materially change visible hierarchy or add new visible page/modal copy beyond the existing disabled-context tooltip path.
|
||||
- No migrations, assets, panel/provider registration changes, global-search changes, new capabilities, new operation types, or compatibility shim were introduced.
|
||||
|
||||
## Phase 1: Setup and Repo Truth Inventory
|
||||
|
||||
**Purpose**: confirm exact current branch, callsites, action names, and related completed-spec context before runtime edits.
|
||||
|
||||
- [x] T001 Re-read `spec.md`, `plan.md`, `checklists/requirements.md`, `.specify/memory/constitution.md`, `docs/ai-coding-rules.md`, `docs/architecture-guidelines.md`, `docs/security-guidelines.md`, `docs/testing-guidelines.md`, `docs/filament-guidelines.md`, `docs/research/filament-v5-notes.md`, and `specs/362-sync-capture-backup-operation-semantics/artifacts/action-context-root-cause-audit.md`.
|
||||
- [x] T002 Confirm current branch, working tree, and baseline commit with `git status --short --branch` and `git log -1 --oneline`; before runtime edits, ensure implementation runs on `feat/363-explicit-uiactioncontext-contract` from `dev` or document the branch reconciliation in close-out.
|
||||
- [x] T003 [P] Re-verify current `UiEnforcement` and `WorkspaceUiEnforcement` behavior in `apps/platform/app/Support/Rbac/UiEnforcement.php` and `apps/platform/app/Support/Rbac/WorkspaceUiEnforcement.php`.
|
||||
- [x] T004 [P] Re-verify Livewire referer context behavior in `apps/platform/app/Filament/Concerns/ResolvesPanelTenantContext.php`; the draft-named `tests/Unit/Filament/ResolvesPanelTenantContextLivewireRefererTest.php` is not present on this branch, so resolver behavior is covered through `ResolvesUiActionContextTest` and admin resolver guard tests.
|
||||
- [x] T005 [P] Re-inventory scoped no-record action callsites in `apps/platform/app/Filament` and record the exact current action names for Inventory, Policy, Entra Groups, Evidence Snapshot, Review Pack, Environment Review, Environment Diagnostics, Restore Run, and Environment Dashboard.
|
||||
- [x] T006 Confirm no application implementation from Specs 338/340/358/359/360/361/362 needs to be rewritten; use those packages as context only.
|
||||
|
||||
---
|
||||
|
||||
## Phase 2: Contract Unit Tests
|
||||
|
||||
**Purpose**: define the request-time action-context contract before changing action code.
|
||||
|
||||
- [x] T007 [P] Add failing Unit tests in `apps/platform/tests/Unit/Support/Rbac/Actions/UiActionContextTest.php` for workspace context, environment context, record context, system context, missing context, `requireWorkspace()`, and `requireEnvironment()`.
|
||||
- [x] T008 [P] Add failing Unit tests in `apps/platform/tests/Unit/Support/Rbac/Actions/ResolvesUiActionContextTest.php` or equivalent to prove page resolver, record resolver, workspace resolver, and missing-context behavior against actual repo relation names.
|
||||
- [x] T009 [P] Add failing Unit tests in `apps/platform/tests/Unit/Support/Rbac/UiEnforcementScopedActionContextTest.php` proving scoped no-record actions require explicit context and missing context is distinct from non-membership/missing capability.
|
||||
- [x] T010 [P] Add regression tests proving record-backed actions can still resolve scope from records without mandatory no-record context plumbing.
|
||||
|
||||
**Checkpoint**: tests describe the contract and fail for the current implicit fallback behavior.
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: Add Narrow Action Context Contract
|
||||
|
||||
**Purpose**: add the smallest support-layer API needed for scoped action context.
|
||||
|
||||
- [x] T011 Add `apps/platform/app/Support/Rbac/Actions/UiActionScope.php` with workspace, environment, record, and system scope values.
|
||||
- [x] T012 Add `apps/platform/app/Support/Rbac/Actions/UiActionContextSource.php` with explicit, page resolver, workspace context, record, Livewire referer, and missing source values where currently justified.
|
||||
- [x] T013 Add `apps/platform/app/Support/Rbac/Actions/UiActionContext.php` as a readonly request-time value object with `forWorkspace()`, `forEnvironment()`, `forRecord()`, `forSystem()`, `missing()`, `isMissing()`, missing-reason accessors, `requireWorkspace()`, and `requireEnvironment()` behavior or equivalent constructors/accessors.
|
||||
- [x] T014 Add `apps/platform/app/Support/Rbac/Actions/ResolvesUiActionContext.php` or an equivalent helper that wraps existing `ResolvesPanelTenantContext` and actual model relation names without inventing fake relations.
|
||||
- [x] T015 Confirm no new persistence, migration, capability, operation type, panel/provider, route, asset, or global-search behavior was introduced.
|
||||
|
||||
**Checkpoint**: the new contract is narrow, request-time only, and covered by Unit tests.
|
||||
|
||||
---
|
||||
|
||||
## Phase 4: Harden UiEnforcement For Scoped No-Record Actions
|
||||
|
||||
**Purpose**: make the shared RBAC UI path enforce explicit scoped context without breaking record-backed actions.
|
||||
|
||||
- [x] T016 Add an explicit scoped-action entrypoint such as `UiEnforcement::forScopedAction(Action $action, UiActionContext|Closure $context)` or a narrow compatible signature change that cannot be confused with nullable no-record context.
|
||||
- [x] T017 Update context resolution inside `UiEnforcement` so scoped no-record actions do not silently fall back to `Filament::getTenant()` as product scope truth.
|
||||
- [x] T018 Add internal missing-context classification so tests can distinguish context-missing from non-member and missing-capability states.
|
||||
- [x] T019 Preserve existing record/action/table/bulk behavior where product scope is derived from a record or selected records.
|
||||
- [x] T020 Keep destructive/high-impact action confirmation behavior intact: `Action::make(...)->action(...)`, `->requiresConfirmation()` where applicable, server authorization, audit, and notification paths.
|
||||
- [x] T021 Run the core Unit gate:
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/Rbac/Actions tests/Unit/Support/Rbac/UiEnforcementScopedActionContextTest.php tests/Unit/Support/Rbac/UiEnforcementTest.php`
|
||||
|
||||
**Checkpoint**: `UiEnforcement` supports explicit context, fails closed for missing context, and does not break existing record-backed tests.
|
||||
|
||||
---
|
||||
|
||||
## Phase 5: Retrofitted Action Tests First
|
||||
|
||||
**Purpose**: protect representative action lifecycle behavior before or during runtime retrofit.
|
||||
|
||||
- [x] T022 [P] Extend inventory start-surface coverage in `apps/platform/tests/Feature/Inventory/InventorySyncStartSurfaceTest.php`; `apps/platform/tests/Feature/Filament/InventoryItemResourceTest.php` was also run as the existing resource file.
|
||||
- [x] T023 [P] Extend `apps/platform/tests/Feature/PolicySyncStartSurfaceTest.php` to keep first-click modal mount, no `OperationRun`, and no queued job on modal open under Livewire referer context.
|
||||
- [x] T024 [P] Extend `apps/platform/tests/Feature/RunStartAuthorizationTest.php` / directory group coverage for `sync_groups` no-record action: readonly and no run/job until submit; shared missing-context behavior is covered in Unit because the page itself aborts before mounting without environment context.
|
||||
- [x] T025 [P] Extend `apps/platform/tests/Feature/Evidence/EvidenceSnapshotResourceTest.php` for `create_snapshot` first-click modal/no-run behavior; `create_first_snapshot` is covered by the static guard and existing empty-state coverage because it has no modal-open lifecycle.
|
||||
- [x] T026 [P] Extend `apps/platform/tests/Feature/ReviewPack/ReviewPackResourceTest.php` for `generate_pack` first-click modal/no-run behavior; `generate_first` stays covered through the shared action factory/static guard and existing readonly/entitlement empty-state assertions.
|
||||
- [x] T027 [P] Extend Tenant Review coverage for repo-current `TenantReviewResource::makeCreateReviewAction()` / `create_review` in existing tenant review UI tests and static guard.
|
||||
- [x] T028 [P] Extend Environment Diagnostics coverage for repo-current `TenantDiagnostics` actions `bootstrapOwner` and `mergeDuplicateMemberships` through existing diagnostics tests plus static guard.
|
||||
- [x] T029 [P] Extend restore UI/enforcement coverage for `RestoreRunResource::makeCreateAction()` and restore create/wizard through existing restore tests and static guard.
|
||||
- [x] T030 [P] Extend Environment Dashboard support action coverage for repo-current `TenantDashboard` support request and support diagnostics tests; support diagnostics retains its intentional audit-on-open behavior.
|
||||
|
||||
**Checkpoint**: tests capture representative action behavior and fail until actions use explicit context consistently.
|
||||
|
||||
---
|
||||
|
||||
## Phase 6: Retrofit Representative Actions
|
||||
|
||||
**Purpose**: move known latent-risk no-record scoped actions to explicit `UiActionContext`.
|
||||
|
||||
- [x] T031 Update `apps/platform/app/Filament/Resources/InventoryItemResource/Pages/ListInventoryItems.php` so `run_inventory_sync` uses explicit action context and keeps handler reauthorization/no-run-on-modal-open behavior.
|
||||
- [x] T032 Update `apps/platform/app/Filament/Resources/PolicyResource.php` and `apps/platform/app/Filament/Resources/PolicyResource/Pages/ListPolicies.php` so Policy Sync uses explicit action context and keeps existing queued OperationRun UX.
|
||||
- [x] T033 Update `apps/platform/app/Filament/Resources/EntraGroupResource/Pages/ListEntraGroups.php` so `sync_groups` uses explicit environment action context and no longer depends on implicit `Filament::getTenant()` for scoped no-record state.
|
||||
- [x] T034 Update `apps/platform/app/Filament/Resources/EvidenceSnapshotResource.php` and `apps/platform/app/Filament/Resources/EvidenceSnapshotResource/Pages/ListEvidenceSnapshots.php` so `create_snapshot` and `create_first_snapshot` use explicit environment action context.
|
||||
- [x] T035 Update `apps/platform/app/Filament/Resources/ReviewPackResource.php` so `generate_pack` and `generate_first` use explicit environment action context and entitlement/readonly checks use the same context.
|
||||
- [x] T036 Update repo-current `apps/platform/app/Filament/Resources/TenantReviewResource.php` so `create_review` uses explicit environment action context and submit still validates capability/access before creating review/compose work.
|
||||
- [x] T037 Update repo-current `apps/platform/app/Filament/Pages/TenantDiagnostics.php` so `bootstrapOwner` and `mergeDuplicateMemberships` use explicit environment action context and modal open remains non-mutating.
|
||||
- [x] T038 Update `apps/platform/app/Filament/Resources/RestoreRunResource.php` so Restore create entry/wizard context is explicit and restore/write gates remain separate.
|
||||
- [x] T039 Update repo-current `apps/platform/app/Filament/Pages/TenantDashboard.php` so support request and support diagnostics actions use explicit environment action context.
|
||||
- [x] T040 For any listed action whose current repo name differs from the draft, document the actual action name in the active feature close-out rather than inventing aliases.
|
||||
|
||||
**Checkpoint**: representative latent-risk actions use explicit context and tests prove first-click/modal/submit lifecycle behavior.
|
||||
|
||||
---
|
||||
|
||||
## Phase 7: Test Helper and Static Guard
|
||||
|
||||
**Purpose**: prevent recurrence without creating a broad framework.
|
||||
|
||||
- [x] T041 Add reusable test helper `apps/platform/tests/Support/Filament/ScopedActionAssertions.php` only if it reduces duplication across at least two retrofitted action tests; evaluated and not added.
|
||||
- [x] T042 Helper assertion requirements are satisfied inline in focused tests where needed; no helper was introduced.
|
||||
- [x] T043 Add `apps/platform/tests/Feature/Architecture/ScopedUiActionContextContractTest.php` to scan risky scoped no-record action patterns under `apps/platform/app/Filament`.
|
||||
- [x] T044 The guard flags guarded no-record action names, scoped-action wrapper markers, and regression to `UiEnforcement::forAction`.
|
||||
- [x] T045 Tune the guard to avoid record-backed row/table/detail false positives without hiding known risky actions.
|
||||
- [x] T046 Ensure guard failure output includes file, action or nearest action name, reason, and a fix hint such as using explicit `UiActionContext` / scoped action resolver.
|
||||
- [x] T047 Do not add a permanent legacy allowlist for old no-record scoped action patterns.
|
||||
|
||||
**Checkpoint**: future risky no-record scoped actions fail fast unless they declare explicit context.
|
||||
|
||||
---
|
||||
|
||||
## Phase 8: Validation
|
||||
|
||||
- [x] T048 Run the core context and enforcement Unit gate:
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/Rbac/Actions tests/Unit/Support/Rbac/UiEnforcementScopedActionContextTest.php tests/Unit/Support/Rbac/UiEnforcementTest.php`
|
||||
- [x] T049 Run the primary action lifecycle and guard gate:
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Architecture/ScopedUiActionContextContractTest.php tests/Feature/Filament/InventoryItemResourceTest.php tests/Feature/PolicySyncStartSurfaceTest.php tests/Feature/RunStartAuthorizationTest.php`
|
||||
- [x] T050 Run the representative contextual action tests:
|
||||
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/EntraGroupAdminScopeTest.php tests/Feature/Evidence/EvidenceSnapshotResourceTest.php tests/Feature/ReviewPack/ReviewPackResourceTest.php tests/Feature/Filament/RestoreRunUiEnforcementTest.php`
|
||||
- [x] T051 Run additional focused tests for repo-current Tenant Review, Tenant Diagnostics, Restore create, and Tenant Dashboard support files after implementation names the exact existing or new test files, including the relevant existing SupportDiagnostics/SupportRequests action tests when those surfaces are touched.
|
||||
- [x] T052 Browser smoke not run; implementation changed existing action context behavior but not visible hierarchy/copy materially enough to require a browser pass under this spec's rule.
|
||||
- [x] T053 Run `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent`.
|
||||
- [x] T054 Run `git diff --check`.
|
||||
- [x] T055 Record final close-out: changed files, new contract classes, retrofitted actions, intentionally untouched actions, static guard result, tests run, no legacy fallback retained for scoped no-record actions, and no migrations/assets/panel/global-search changes.
|
||||
|
||||
## Dependencies & Execution Order
|
||||
|
||||
- Phase 1 must complete first.
|
||||
- Phase 2 and Phase 3 establish the contract and should precede broad action retrofit.
|
||||
- Phase 4 blocks action retrofit because callsites need the final `UiEnforcement` API.
|
||||
- Phase 5 tests should be written before or beside Phase 6 runtime changes.
|
||||
- Phase 7 guard can be developed after the first retrofits clarify the marker pattern, but must pass before close-out.
|
||||
- Phase 8 closes the package.
|
||||
|
||||
## Parallel Opportunities
|
||||
|
||||
- T003, T004, and T005 can run in parallel.
|
||||
- T007, T008, T009, and T010 can run in parallel.
|
||||
- T022 through T030 can be split by action family after the helper approach is decided.
|
||||
- T031 through T039 can be split by action family after `UiEnforcement` API stabilizes.
|
||||
|
||||
## Explicit Non-Goals For Implementers
|
||||
|
||||
- Do not modify completed spec artifacts outside Spec 363.
|
||||
- Do not add migrations, tables, persisted status, or action-context audit tables.
|
||||
- Do not add new capabilities or operation types.
|
||||
- Do not change Filament panel provider registration or panel paths.
|
||||
- Do not enable or alter global search.
|
||||
- Do not add assets or require `filament:assets` because of this spec.
|
||||
- Do not rewrite record-backed actions unless the guard proves they are actually no-record scoped risk.
|
||||
- Do not turn this into support desk, billing, promotion, governance inbox, restore redesign, or AI runtime implementation.
|
||||
Loading…
Reference in New Issue
Block a user