hanasand
Go to Console

Product readiness

Threat monitoring readiness

This page reads the same readiness contract used by the console. A row stays non-ready until the named backend contract is loaded, fresh, and tied to a workflow.

Rows ready

0/9

Checked

0s ago

Proof source

unavailable

Release gate

blocked

Readiness source

/api/product-progress

GET /api/product-progress must return product.progress.readiness.v1; HTTP, fetch, and schema failures stay explicit on this progressSource object.

State

unavailable

HTTP

0

Contract

product.progress.readiness.v1

product_progress_fetch_failed:Error

Product readiness ledger

not configured

This optional aggregate reads the hanasand.product_readiness.v1 artifact. It does not make rows ready unless their backend proof rows are loaded.

Ledger state

unavailable

Blocked rows

0/0

Age

not loaded

Stale after

2h

product_readiness_aggregate_not_configured

missing_dwm_entitlement_readiness_api missing_org_alert_export_readiness_api

Release blockers

What still needs proof

The release gate is derived from backend contracts. A blocker disappears only when the linked proof row becomes ready.

Proof links

45

Linked routes

24

Probe routes

9

dashboard

real_alert_generation, analyst_workflow

States
unavailable
Routes
/dashboard/ti/workbench

helpdesk

support_admin_audit

States
unavailable
Routes
/dashboard/system/impersonation

integration

deploy_live_status

States
unavailable
Routes
/status

org

organizations, shared_watchlists

States
unavailable
Routes
/dashboard/dwm

public-ti

public_ti_enrichment

States
unavailable
Routes
/ti/watchlist-terms

source

source_coverage

States
unavailable
Routes
/dashboard/ti/sources

webhook

webhook_delivery

States
needs_action
Routes
/dashboard/automations?setup=dwm

organizations

Owner: org

unavailable

missing_dwm_entitlement_readiness_api missing_org_alert_export_readiness_api

Contract
dwm.entitlement.readiness.v1 + organization.worker3_ui_readiness_proof.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
15m
Row id
entitlement_readiness,org_alert_export
Contract
dwm.entitlement.readiness.v1 + organization.worker3_ui_readiness_proof.v1
Dashboard row
entitlement_readiness,org_alert_export

GET /api/dwm/entitlements/readiness must return policy, checked role, allowed action, and blockers. GET /api/organizations/:id/alert-readiness must return readinessProof.readiness.organizationCanGenerateAlerts and active watchlist term counts.

Inspect

shared watchlists

Owner: org

unavailable

missing_org_alert_export_readiness_api

Contract
organization.worker3_ui_readiness_proof.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
15m
Row id
org_alert_export
Probe route
/api/organizations/:id/alert-readiness
Contract
organization.worker3_ui_readiness_proof.v1
Dashboard row
org_alert_export

GET /api/organizations/:id/alert-readiness must return readinessProof.readiness.organizationCanGenerateAlerts and active watchlist term counts.

Inspect

source coverage

Owner: source

unavailable

missing_source_proxy_worker_readiness

Contract
dwm.source_inventory.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
2h
Row id
source_inventory_probe
Probe route
/api/ti/scraper/control?q=<query>
Contract
dwm.source_inventory.v1
Dashboard row
source_inventory_probe

GET /api/ti/scraper/control?q=<query> must expose source inventory, source packs, workerReadiness, sourceFamilyCounts, and parserSourceFamilyCounts.

Inspect

real alert generation

Owner: dashboard

unavailable

missing_dashboard_alert_evidence missing_alert_generation_readiness

Contract
dashboard.alert_evidence.readiness.v1 + dwm.alert_generation_readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
dashboard_evidence,dashboard_evidence
Contract
dashboard.alert_evidence.readiness.v1 + dwm.alert_generation_readiness.v1
Dashboard row
dashboard_evidence,dashboard_evidence

Dashboard evidence is ready only when a backend alert is visible, delivery evidence matches it, source proxy is ready, and deploy probe is fresh. GET /api/dwm/alerts/generation-readiness must return dwm.alert_generation_readiness.v1 with candidates and a generation evidence window.

Inspect

webhook delivery

Owner: webhook

needs action

missing_webhook_lifecycle_health_api No delivery row is matched to a dashboard-visible alert.

Contract
dwm.webhook_health.readiness.v1 + dashboard.alert_evidence.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
webhook_health,dashboard_evidence
Contract
dwm.webhook_health.readiness.v1 + dashboard.alert_evidence.readiness.v1
Dashboard row
webhook_health,dashboard_evidence

GET /api/dwm/webhooks must return active destination count and lifecycle health, not only delivery rows.

Inspect

analyst workflow

Owner: dashboard

unavailable

missing_analyst_case_readiness

Contract
analyst.workflow.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
analyst_workflow
Probe route
/api/cases
Contract
analyst.workflow.readiness.v1
Dashboard row
analyst_workflow

GET /api/cases must return a case linked to the dashboard-visible alert before analyst workflow is ready.

Inspect

support admin audit

Owner: helpdesk

unavailable

missing_helpdesk_audit_readiness_api

Contract
support.audit.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
1h
Row id
helpdesk_audit
Contract
support.audit.readiness.v1
Dashboard row
helpdesk_audit

GET /api/admin/support/readiness must return structured audit and recovery queue readiness.

Inspect

public ti enrichment

Owner: public-ti

unavailable

missing_public_ti_provenance_readiness_api

Contract
ti.public_provenance.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
1h
Row id
public_ti_provenance
Workflow
/ti
Contract
ti.public_provenance.readiness.v1
Dashboard row
public_ti_provenance

GET /api/public-ti/provenance/readiness must return source/evidence/freshness readiness.

Inspect

deploy live status

Owner: integration

unavailable

missing_live_deploy_probe

Contract
product.deploy_probe.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
deploy_probe
Workflow
/status
Probe route
Post-deploy probe must record deployed commit, frontend/API/scraper health, dashboard alert id, delivery id, and probe time.
Contract
product.deploy_probe.readiness.v1
Dashboard row
deploy_probe

Post-deploy probe must record deployed commit, frontend/API/scraper health, dashboard alert id, delivery id, and probe time.

Inspect

Readiness groups

Operational evidence

Each group is derived from readiness rows. Missing evidence shows the owner, blocker, and contract instead of a ready state.

Multi-organization monitoring

unavailable

Team monitoring needs organization access and shared watchlist proof before it can be treated as ready.

Owner
org
Rows
organizations, shared_watchlists
Contracts
Organizations: dwm.entitlement.readiness.v1 + organization.worker3_ui_readiness_proof.v1; Shared watchlists: organization.worker3_ui_readiness_proof.v1

missing_dwm_entitlement_readiness_api missing_org_alert_export_readiness_api

Open workflow

Source-backed intelligence

unavailable

Intelligence quality depends on current source coverage and source-linked TI enrichment.

Owner
source, public-ti
Rows
source_coverage, public_ti_enrichment
Contracts
Source coverage: dwm.source_inventory.v1; Public TI enrichment: ti.public_provenance.readiness.v1

missing_source_proxy_worker_readiness

Open workflow

Shared alert workflow

unavailable

The alert workflow is not complete until a real alert is visible and reviewable by an analyst.

Owner
dashboard
Rows
real_alert_generation, analyst_workflow
Contracts
Real alert generation: dashboard.alert_evidence.readiness.v1 + dwm.alert_generation_readiness.v1; Analyst workflow: analyst.workflow.readiness.v1

missing_dashboard_alert_evidence missing_alert_generation_readiness

Open workflow

Delivery destinations

needs action

Delivery needs webhook lifecycle proof and a matched delivery row.

Owner
webhook
Rows
webhook_delivery
Contracts
Webhook delivery: dwm.webhook_health.readiness.v1 + dashboard.alert_evidence.readiness.v1

missing_webhook_lifecycle_health_api No delivery row is matched to a dashboard-visible alert.

Open workflow

Enterprise support

unavailable

Support and release readiness need audit proof and a fresh deploy probe.

Owner
helpdesk, integration
Rows
support_admin_audit, deploy_live_status
Contracts
Support and admin audit: support.audit.readiness.v1; Deploy and live status: product.deploy_probe.readiness.v1

missing_helpdesk_audit_readiness_api

Open workflow

Organizations

Organization access needs entitlement and alert-term export proof.

unavailable
Owner
org
Contract
dwm.entitlement.readiness.v1 + organization.worker3_ui_readiness_proof.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
15m
Row id
entitlement_readiness,org_alert_export
Source
Missing /api/product-progress contract + Missing /api/product-progress contract
Contract
dwm.entitlement.readiness.v1 + organization.worker3_ui_readiness_proof.v1
Dashboard row
entitlement_readiness,org_alert_export

missing_dwm_entitlement_readiness_api missing_org_alert_export_readiness_api

GET /api/dwm/entitlements/readiness must return policy, checked role, allowed action, and blockers. GET /api/organizations/:id/alert-readiness must return readinessProof.readiness.organizationCanGenerateAlerts and active watchlist term counts.

Open

Shared watchlists

Organization alert-term export readiness is not loaded by product progress.

unavailable
Owner
org
Contract
organization.worker3_ui_readiness_proof.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
15m
Row id
org_alert_export
Source
Missing /api/product-progress contract
Probe route
/api/organizations/:id/alert-readiness
Contract
organization.worker3_ui_readiness_proof.v1
Dashboard row
org_alert_export

missing_org_alert_export_readiness_api

GET /api/organizations/:id/alert-readiness must return readinessProof.readiness.organizationCanGenerateAlerts and active watchlist term counts.

Open

Source coverage

Source inventory proxy is unavailable from the dashboard.

unavailable
Owner
source
Contract
dwm.source_inventory.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
2h
Row id
source_inventory_probe
Source
/api/ti/scraper/control
Probe route
/api/ti/scraper/control?q=<query>
Contract
dwm.source_inventory.v1
Dashboard row
source_inventory_probe

missing_source_proxy_worker_readiness

GET /api/ti/scraper/control?q=<query> must expose source inventory, source packs, workerReadiness, sourceFamilyCounts, and parserSourceFamilyCounts.

Open

Real alert generation

missing_dashboard_alert_evidence missing_alert_generation_readiness

unavailable
Owner
dashboard
Contract
dashboard.alert_evidence.readiness.v1 + dwm.alert_generation_readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
dashboard_evidence,dashboard_evidence
Source
Missing /api/product-progress contract + Missing /api/product-progress contract
Contract
dashboard.alert_evidence.readiness.v1 + dwm.alert_generation_readiness.v1
Dashboard row
dashboard_evidence,dashboard_evidence

missing_dashboard_alert_evidence missing_alert_generation_readiness

Dashboard evidence is ready only when a backend alert is visible, delivery evidence matches it, source proxy is ready, and deploy probe is fresh. GET /api/dwm/alerts/generation-readiness must return dwm.alert_generation_readiness.v1 with candidates and a generation evidence window.

Open

Webhook delivery

Webhook delivery needs lifecycle proof and a delivery matched to a dashboard alert.

needs action
Owner
webhook
Contract
dwm.webhook_health.readiness.v1 + dashboard.alert_evidence.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
webhook_health,dashboard_evidence
Source
Missing /api/product-progress contract
Contract
dwm.webhook_health.readiness.v1 + dashboard.alert_evidence.readiness.v1
Dashboard row
webhook_health,dashboard_evidence

missing_webhook_lifecycle_health_api No delivery row is matched to a dashboard-visible alert.

GET /api/dwm/webhooks must return active destination count and lifecycle health, not only delivery rows.

Open

Analyst workflow

Analyst case readiness is not loaded by product progress.

unavailable
Owner
dashboard
Contract
analyst.workflow.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
analyst_workflow
Source
Missing /api/product-progress contract
Probe route
/api/cases
Contract
analyst.workflow.readiness.v1
Dashboard row
analyst_workflow

missing_analyst_case_readiness

GET /api/cases must return a case linked to the dashboard-visible alert before analyst workflow is ready.

Open

Support and admin audit

Helpdesk and structured audit readiness is not loaded by product progress.

unavailable
Owner
helpdesk
Contract
support.audit.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
1h
Row id
helpdesk_audit
Source
Missing /api/product-progress contract
Contract
support.audit.readiness.v1
Dashboard row
helpdesk_audit

missing_helpdesk_audit_readiness_api

GET /api/admin/support/readiness must return structured audit and recovery queue readiness.

Open

Public TI enrichment

Public TI provenance readiness is not loaded by product progress.

unavailable
Owner
public-ti
Contract
ti.public_provenance.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
1h
Row id
public_ti_provenance
Source
Missing /api/product-progress contract
Workflow
/ti
Contract
ti.public_provenance.readiness.v1
Dashboard row
public_ti_provenance

missing_public_ti_provenance_readiness_api

GET /api/public-ti/provenance/readiness must return source/evidence/freshness readiness.

Open

Deploy and live status

Deploy probe recency is not loaded by product progress.

unavailable
Owner
integration
Contract
product.deploy_probe.readiness.v1
Checked
0s ago
Age
not loaded
Stale
no
Stale after
10m
Row id
deploy_probe
Source
Missing /api/product-progress contract
Workflow
/status
Probe route
Post-deploy probe must record deployed commit, frontend/API/scraper health, dashboard alert id, delivery id, and probe time.
Contract
product.deploy_probe.readiness.v1
Dashboard row
deploy_probe

missing_live_deploy_probe

Post-deploy probe must record deployed commit, frontend/API/scraper health, dashboard alert id, delivery id, and probe time.

Open