Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
407 lines
11 KiB
JSON
407 lines
11 KiB
JSON
[
|
|
{
|
|
"id": "T001",
|
|
"description": "getLatestTeamsConversationReferenceImpl returns the row with the most recent last_activity_at for a (tenant, microsoftUserId).",
|
|
"implemented": true,
|
|
"commitGroup": "conversation-reader",
|
|
"featureIds": [
|
|
"F001"
|
|
]
|
|
},
|
|
{
|
|
"id": "T002",
|
|
"description": "Reader filters by conversation_type (default 'personal') and ignores groupChat/channel rows for that user.",
|
|
"implemented": true,
|
|
"commitGroup": "conversation-reader",
|
|
"featureIds": [
|
|
"F001"
|
|
]
|
|
},
|
|
{
|
|
"id": "T003",
|
|
"description": "Reader is tenant-scoped: a reference for the same microsoftUserId under a different tenant is never returned.",
|
|
"implemented": true,
|
|
"commitGroup": "conversation-reader",
|
|
"featureIds": [
|
|
"F001"
|
|
]
|
|
},
|
|
{
|
|
"id": "T004",
|
|
"description": "Reader returns null (does not throw) when no matching row exists.",
|
|
"implemented": true,
|
|
"commitGroup": "conversation-reader",
|
|
"featureIds": [
|
|
"F002"
|
|
]
|
|
},
|
|
{
|
|
"id": "T005",
|
|
"description": "resolveTeamsRecipientLink maps a PSA user id to the Microsoft provider_account_id, which is reused as teams_conversation_references.microsoft_user_id.",
|
|
"implemented": true,
|
|
"commitGroup": "conversation-reader",
|
|
"featureIds": [
|
|
"F003"
|
|
]
|
|
},
|
|
{
|
|
"id": "T006",
|
|
"description": "resolveTeamsRecipientLink returns null when the PSA user has no Microsoft account link.",
|
|
"implemented": true,
|
|
"commitGroup": "conversation-reader",
|
|
"featureIds": [
|
|
"F003"
|
|
]
|
|
},
|
|
{
|
|
"id": "T007",
|
|
"description": "sendTeamsTestMessageImpl rejects/denies when the caller lacks the teams settings permission (withAuth gate).",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F005"
|
|
]
|
|
},
|
|
{
|
|
"id": "T008",
|
|
"description": "Test message returns skipped reason 'addon_inactive' and records a skipped delivery row when the addon is not active; sendBotActivity is never called.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F006",
|
|
"F012"
|
|
]
|
|
},
|
|
{
|
|
"id": "T009",
|
|
"description": "Test message returns 'integration_inactive' when install_status != 'active'.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F007"
|
|
]
|
|
},
|
|
{
|
|
"id": "T010",
|
|
"description": "Test message returns 'capability_disabled' when personal_bot is not in enabled_capabilities.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F007"
|
|
]
|
|
},
|
|
{
|
|
"id": "T011",
|
|
"description": "Test message returns 'bot_not_configured' (and never requests a Bot Framework token) when isBotConnectorConfigured() is false.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F008"
|
|
]
|
|
},
|
|
{
|
|
"id": "T012",
|
|
"description": "Test message returns 'missing_user_linkage' when the admin has no Microsoft account link.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F009"
|
|
]
|
|
},
|
|
{
|
|
"id": "T013",
|
|
"description": "Test message returns 'missing_conversation_reference' with the actionable hint when no conversation reference exists for the admin.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F010"
|
|
]
|
|
},
|
|
{
|
|
"id": "T014",
|
|
"description": "Happy path: test message calls sendBotActivity with the serviceUrl and conversationId from the stored reference and a test activity payload.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F011"
|
|
]
|
|
},
|
|
{
|
|
"id": "T015",
|
|
"description": "On successful send, a teams_notification_deliveries row is written with status='sent', category='test', destination_type='bot_test', destination_id=microsoft_user_id.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F012"
|
|
]
|
|
},
|
|
{
|
|
"id": "T016",
|
|
"description": "When sendBotActivity throws, the action records a status='failed' row with the error message and returns a failed result.",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F011",
|
|
"F012"
|
|
]
|
|
},
|
|
{
|
|
"id": "T017",
|
|
"description": "Two consecutive test sends record two distinct delivery rows (attempt nonce in idempotency_key prevents ON CONFLICT collapse).",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F012"
|
|
]
|
|
},
|
|
{
|
|
"id": "T018",
|
|
"description": "All test-message DB writes are tenant-scoped (no cross-tenant row written or read).",
|
|
"implemented": true,
|
|
"commitGroup": "test-message",
|
|
"featureIds": [
|
|
"F012"
|
|
]
|
|
},
|
|
{
|
|
"id": "T019",
|
|
"description": "runTeamsDiagnostics is permission-gated via withAuth and denies unauthorized callers.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F024"
|
|
]
|
|
},
|
|
{
|
|
"id": "T020",
|
|
"description": "Diagnostics report has the expected step ids/titles in order and each step carries a valid status.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F013",
|
|
"F014"
|
|
]
|
|
},
|
|
{
|
|
"id": "T021",
|
|
"description": "Addon check fails with recommendation when getTeamsAvailability returns addon_required.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F015"
|
|
]
|
|
},
|
|
{
|
|
"id": "T022",
|
|
"description": "Integration check fails when no teams_integrations row exists and warns when present but not active.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F016"
|
|
]
|
|
},
|
|
{
|
|
"id": "T023",
|
|
"description": "Capability check warns and names the missing capability when personal_bot or activity_notifications is absent.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F017"
|
|
]
|
|
},
|
|
{
|
|
"id": "T024",
|
|
"description": "Profile check fails when the selected profile is missing, archived, or lacks client_secret_ref.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F018"
|
|
]
|
|
},
|
|
{
|
|
"id": "T025",
|
|
"description": "Package check fails with no package metadata and warns when base URL is unresolvable.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F019"
|
|
]
|
|
},
|
|
{
|
|
"id": "T026",
|
|
"description": "Bot connector check fails with the TEAMS_BOT_APP_* recommendation when isBotConnectorConfigured() is false.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F020"
|
|
]
|
|
},
|
|
{
|
|
"id": "T027",
|
|
"description": "User-linkage check warns with the link recommendation when the admin has no Microsoft link.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F021"
|
|
]
|
|
},
|
|
{
|
|
"id": "T028",
|
|
"description": "Conversation-reference check warns with the 'message the bot first' recommendation when none exists for the admin.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F022"
|
|
]
|
|
},
|
|
{
|
|
"id": "T029",
|
|
"description": "Recent-delivery check reports the latest success and latest failure and warns when the most recent attempt failed.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F023"
|
|
]
|
|
},
|
|
{
|
|
"id": "T030",
|
|
"description": "Recent-delivery check reads only the current tenant's teams_notification_deliveries rows.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F023"
|
|
]
|
|
},
|
|
{
|
|
"id": "T031",
|
|
"description": "overallStatus = 'fail' when any check fails, 'warn' when none fail but some warn, 'pass' when all pass/skip.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F024"
|
|
]
|
|
},
|
|
{
|
|
"id": "T032",
|
|
"description": "Recommendations are deduplicated across checks.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F024"
|
|
]
|
|
},
|
|
{
|
|
"id": "T033",
|
|
"description": "Fully healthy tenant fixture yields overallStatus='pass' and no recommendations.",
|
|
"implemented": true,
|
|
"commitGroup": "diagnostics",
|
|
"featureIds": [
|
|
"F015",
|
|
"F016",
|
|
"F017",
|
|
"F018",
|
|
"F019",
|
|
"F020",
|
|
"F021",
|
|
"F022",
|
|
"F023",
|
|
"F024"
|
|
]
|
|
},
|
|
{
|
|
"id": "T034",
|
|
"description": "Diagnostics panel renders the step list with the correct status badge per step after Run diagnostics resolves.",
|
|
"implemented": true,
|
|
"commitGroup": "settings-ui",
|
|
"featureIds": [
|
|
"F026",
|
|
"F027"
|
|
]
|
|
},
|
|
{
|
|
"id": "T035",
|
|
"description": "Recommendations bullet list renders when the report includes recommendations and is hidden when empty.",
|
|
"implemented": true,
|
|
"commitGroup": "settings-ui",
|
|
"featureIds": [
|
|
"F028"
|
|
]
|
|
},
|
|
{
|
|
"id": "T036",
|
|
"description": "Send test message button shows a success confirmation on a sent result.",
|
|
"implemented": true,
|
|
"commitGroup": "settings-ui",
|
|
"featureIds": [
|
|
"F029",
|
|
"F030"
|
|
]
|
|
},
|
|
{
|
|
"id": "T037",
|
|
"description": "missing_conversation_reference skip renders the 'open the bot and message it first' guidance.",
|
|
"implemented": true,
|
|
"commitGroup": "settings-ui",
|
|
"featureIds": [
|
|
"F030"
|
|
]
|
|
},
|
|
{
|
|
"id": "T038",
|
|
"description": "Diagnostics and test-message buttons are disabled when the addon is missing or the integration is not active.",
|
|
"implemented": true,
|
|
"commitGroup": "settings-ui",
|
|
"featureIds": [
|
|
"F032"
|
|
]
|
|
},
|
|
{
|
|
"id": "T039",
|
|
"description": "Recent delivery summary (last success / last failure) renders from report data.",
|
|
"implemented": true,
|
|
"commitGroup": "settings-ui",
|
|
"featureIds": [
|
|
"F031"
|
|
]
|
|
},
|
|
{
|
|
"id": "T040",
|
|
"description": "All new UI strings resolve through i18n with their defaultValue fallbacks (no raw key leaks).",
|
|
"implemented": true,
|
|
"commitGroup": "i18n",
|
|
"featureIds": [
|
|
"F033",
|
|
"F034",
|
|
"F035"
|
|
]
|
|
},
|
|
{
|
|
"id": "T041",
|
|
"description": "Skip/fail reason codes each map to a defined i18n key.",
|
|
"implemented": true,
|
|
"commitGroup": "i18n",
|
|
"featureIds": [
|
|
"F034"
|
|
]
|
|
},
|
|
{
|
|
"id": "T042",
|
|
"description": "runTeamsDiagnostics and sendTeamsTestMessage are importable through the packages/integrations boundary used by TeamsIntegrationSettings.",
|
|
"implemented": true,
|
|
"commitGroup": "wiring",
|
|
"featureIds": [
|
|
"F036",
|
|
"F037"
|
|
]
|
|
},
|
|
{
|
|
"id": "T043",
|
|
"description": "Built dist of @alga-psa/microsoft-teams exposes the two new exports (smoke import).",
|
|
"implemented": true,
|
|
"commitGroup": "wiring",
|
|
"featureIds": [
|
|
"F038"
|
|
]
|
|
}
|
|
]
|