This is an automated email from the ASF dual-hosted git repository.

zqr10159 pushed a commit to branch 2.0.0
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/2.0.0 by this push:
     new 4516009dbd Document three-signal alpha cutoff
4516009dbd is described below

commit 4516009dbdde2bf84b01efb36b7bc37735664a94
Author: Logic <[email protected]>
AuthorDate: Tue Jun 9 17:55:52 2026 +0800

    Document three-signal alpha cutoff
---
 docs/alpha-preview.md                           | 54 +++++++++++++++++++++++++
 web-next/scripts/alpha-preview-contract.test.ts | 41 +++++++++++++++++++
 2 files changed, 95 insertions(+)

diff --git a/docs/alpha-preview.md b/docs/alpha-preview.md
index a0819467ea..14226dadd1 100644
--- a/docs/alpha-preview.md
+++ b/docs/alpha-preview.md
@@ -97,6 +97,57 @@ Optional strict assertions can be added with:
 - `TOPOLOGY_G6_BROWSER_EXPECTED_WIDE_ZOOM`
 - `TOPOLOGY_G6_BROWSER_EXPECTED_OPERATOR_BOUNDS`
 
+## Three-Signal SigNoz-Alignment Alpha Cutoff
+
+HertzBeat 2.0 treats SigNoz as a product-shape reference for the alpha
+observability workspace, not as a full parity claim. The alpha cutoff is the
+operator workflow where metrics, logs, and traces can stay attached to the same
+HertzBeat entity context, be saved as reusable views, be composed into
+dashboards, and drill from service or operation metrics into related traces and
+logs.
+
+This alpha scope includes:
+
+- OTLP metrics, logs, and traces carrying HertzBeat entity context through
+  `entityId`, `entityType`, `entityName`, service, namespace, environment,
+  collector, template, and source query parameters.
+- Saved query views, dashboard panel drafts, dashboard variables, and persisted
+  dashboards for metrics, logs, and traces.
+- A service overview dashboard with RED-style metrics, Apdex, database calls,
+  external calls, key operations, logs, log errors, traces, trace errors,
+  exceptions, exception messages, and firing alerts.
+- An operation drilldown dashboard from `operationName` context, with metrics
+  filtered by `operation`, logs filtered by `http.route`, traces filtered by
+  `operationName`, and exceptions grouped by `exception.type`.
+- Runtime dashboard evidence flows from metric/log/trace points into related
+  signal handoffs, evidence panel drafts, and breakout panel drafts.
+- Stable entity binding from OpenTelemetry resource identity such as
+  `service.name`, host, and Kubernetes pod attributes.
+
+This alpha scope does not claim full SigNoz parity. In particular, it does not
+claim public dashboard sharing, Terraform-managed dashboards, a prebuilt
+dashboard template marketplace, a ClickHouse SQL dashboard builder, a log
+pipeline builder, cost-meter dashboards, full flamegraph parity, or automatic
+APM RED metric derivation from traces beyond the explicit telemetry/query data
+seeded or stored in the current HertzBeat runtime.
+
+Runtime signal dimensions such as `trace_id`, `span.name`, `http.route`,
+`operation`, `operationName`, `exception.type`, and `exception.message` are
+filter, group-by, handoff, and drilldown dimensions. They must not be promoted
+into long-lived `ObserveEntity` identities unless a later design explicitly
+adds an endpoint or operation entity model.
+
+The focused live proof for this cutoff is:
+
+```shell
+TRACE_ID=6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b bash 
script/dev/run-three-signal-live-proof.sh
+```
+
+That proof starts a non-persistent H2 backend, seeds OTLP metrics/logs/traces,
+verifies entity binding and signal query breakouts, starts `web-next`, and runs
+live browser checks for saved-view dashboard replay, service overview, and
+operation drilldown.
+
 ## Local Scale Proof Data
 
 Large topology scale proof data is not seeded by default. The local demo seeder
@@ -117,6 +168,9 @@ required alpha setup.
 
 - The Next.js frontend is still an alpha preview and may not yet match every
   legacy Angular workflow.
+- Three-signal work is scoped to the alpha cutoff above. Do not describe it as
+  full SigNoz parity unless a later release adds and proves the omitted product
+  capabilities.
 - Topology large-graph behavior is optimized for inspection with render
   windows, table drilldown, and optional browser smoke. Continue filing cases
   where real data feels confusing or slow.
diff --git a/web-next/scripts/alpha-preview-contract.test.ts 
b/web-next/scripts/alpha-preview-contract.test.ts
new file mode 100644
index 0000000000..bcf4f20aab
--- /dev/null
+++ b/web-next/scripts/alpha-preview-contract.test.ts
@@ -0,0 +1,41 @@
+import { readFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+
+import { describe, expect, it } from 'vitest';
+
+const repoRoot = resolve(process.cwd(), '..');
+
+describe('alpha preview documentation contract', () => {
+  it('keeps the three-signal SigNoz-alignment scope honest and live-proof 
backed', () => {
+    const source = readFileSync(resolve(repoRoot, 'docs/alpha-preview.md'), 
'utf8');
+    const collapsed = source.replace(/\s+/g, ' ');
+
+    expect(source).toContain('## Three-Signal SigNoz-Alignment Alpha Cutoff');
+    expect(source).toContain('not as a full parity claim');
+    expect(collapsed).toContain('operator workflow where metrics, logs, and 
traces can stay attached to the same HertzBeat entity context');
+    expect(collapsed).toContain('Saved query views, dashboard panel drafts, 
dashboard variables, and persisted');
+    expect(collapsed).toContain('A service overview dashboard with RED-style 
metrics, Apdex, database calls');
+    expect(collapsed).toContain('An operation drilldown dashboard from 
`operationName` context');
+    expect(collapsed).toContain('metrics filtered by `operation`');
+    expect(collapsed).toContain('logs filtered by `http.route`');
+    expect(collapsed).toContain('traces filtered by `operationName`');
+    expect(collapsed).toContain('Runtime dashboard evidence flows from 
metric/log/trace points');
+    expect(collapsed).toContain('Stable entity binding from OpenTelemetry 
resource identity');
+
+    expect(collapsed).toContain('does not claim full SigNoz parity');
+    expect(collapsed).toContain('public dashboard sharing');
+    expect(collapsed).toContain('Terraform-managed dashboards');
+    expect(collapsed).toContain('prebuilt dashboard template marketplace');
+    expect(collapsed).toContain('ClickHouse SQL dashboard builder');
+    expect(collapsed).toContain('log pipeline builder');
+    expect(collapsed).toContain('cost-meter dashboards');
+    expect(collapsed).toContain('full flamegraph parity');
+    expect(collapsed).toContain('automatic APM RED metric derivation from 
traces');
+
+    expect(collapsed).toContain('Runtime signal dimensions such as `trace_id`, 
`span.name`, `http.route`');
+    expect(collapsed).toContain('must not be promoted into long-lived 
`ObserveEntity` identities');
+    expect(source).toContain('TRACE_ID=6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b bash 
script/dev/run-three-signal-live-proof.sh');
+    expect(collapsed).toContain('saved-view dashboard replay, service 
overview, and operation drilldown');
+    expect(collapsed).toContain('Do not describe it as');
+  });
+});


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to