You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,6 +87,8 @@ go run ./cmd/bering discover \
87
87
88
88
Expected result: a deterministic `io.mb3r.bering.model@1.1.0` artifact.
89
89
90
+
`discover` also writes `out/bering-model.signal-quality.json` next to the model.
91
+
90
92
### 2) Validate an artifact
91
93
92
94
```bash
@@ -109,6 +111,8 @@ go run ./cmd/bering discover \
109
111
110
112
Expected result: a model artifact plus an `io.mb3r.bering.snapshot@1.1.0` envelope.
111
113
114
+
The snapshot gets its own `out/bering-snapshot.signal-quality.json` sidecar.
115
+
112
116
### 4) Run runtime mode
113
117
114
118
```bash
@@ -126,6 +130,8 @@ Useful endpoints:
126
130
-`GET /healthz`
127
131
-`GET /readyz`
128
132
-`GET /metrics`
133
+
-`GET /reconciliation/report`
134
+
-`GET /reconciliation/summary`
129
135
130
136
### 5) Use the result with Sheaft
131
137
@@ -160,6 +166,10 @@ This is the stable topology artifact intended for file-based consumers and tools
160
166
161
167
This wraps the model with runtime window metadata, ingest counts, coverage, provenance, topology diffs, and discovery-side copies of the same typed placement, resilience, and observed edge metadata.
162
168
169
+
### Signal quality report
170
+
171
+
Every batch model, batch snapshot, and runtime snapshot gets a separate `*.signal-quality.json` sidecar. The sidecar reports source mix, provenance, field coverage for typed enrichment fields, and warnings for low-coverage dimensions without changing the public model or snapshot schemas.
172
+
163
173
### Runtime reconciliation views
164
174
165
175
Runtime mode also keeps a conservative reconciliation layer for sparse traffic and telemetry gaps:
@@ -168,6 +178,7 @@ Runtime mode also keeps a conservative reconciliation layer for sparse traffic a
168
178
-`stable_core`: the high-confidence retained view
169
179
-`guardrail_union`: the conservative default downstream artifact
170
180
- a machine-readable reconciliation report for operators
181
+
- an operator-facing reconciliation summary in Markdown
171
182
172
183
These runtime views do not change the public `io.mb3r.bering.model@1.1.0` or `io.mb3r.bering.snapshot@1.1.0` contracts.
Copy file name to clipboardExpand all lines: docs/architecture.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,7 @@ Bering now has two user-facing flows built on one normalized discovery core.
11
11
3. The discovery engine or adapter-specific builder produces services, edges, endpoints, confidence, and overlay-driven metadata.
12
12
4. Bering writes the stable `io.mb3r.bering.model` artifact.
13
13
5. Optional `--snapshot-out` also writes a `io.mb3r.bering.snapshot` envelope.
14
+
6. Batch and runtime artifacts get adjacent signal-quality sidecars that report source mix, provenance, and typed-field coverage without changing the public schemas.
14
15
15
16
### Runtime flow
16
17
@@ -27,7 +28,7 @@ The runtime additions are intentionally interface-driven so future connectors ca
27
28
28
29
- source adapters: normalize external data into internal spans or overlays
The generated signal quality report calls out missing coverage for fields such as `services.placements`, `edges.request_timeout_ms`, `edges.retry_policy`, and `endpoints.custom_success_predicate`.
Use overlays when the trace-derived topology is acceptable but operational metadata comes from configuration, ownership catalogs, SLO catalogs, or curated policy files.
Use this when topology, placement, or resilience metadata already exists in a service registry, mesh export, inventory API, or curated file and you want Bering to publish the same stable model and snapshot artifacts without trace inference.
6
6
7
+
A reference non-trace adapter lives at [examples/adapters/service-catalog](../examples/adapters/service-catalog/README.md). It converts a small service catalog JSON document into `topology_api` JSON before calling `bering discover`.
8
+
7
9
## Contract line
8
10
9
11
-`bering discover` now emits `io.mb3r.bering.model@1.1.0` and `io.mb3r.bering.snapshot@1.1.0` by default.
The adapter is intentionally plain Go and has no service-catalog dependency. Real adapters should map their source-specific concepts into the same `topology_api` fields shown here: services, placements, shared resources, dependencies, resilience policy, policy scope, and endpoints.
0 commit comments