Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 47 additions & 16 deletions .grade-reports/grade.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,54 @@
{
"project": "BytePort",
"dag_unit": "E6",
"stack": "rust",
"mode": "e1-recovery",
"score": 7,
"mode": "fast",
"branch": "feat/otel-instrumentation",
"pr": 253,
"pr_url": "https://github.com/KooshaPari/BytePort/pull/253",
"score": 10,
"max": 10,
"percentage": 70,
"grade": "C+",
"percentage": 100,
"grade": "A+",
"verdict": "PASS",
"checks": [
{"name":"build","status":"pass","score":2,"max":2,"detail":"cargo check -p byteport-transport passed (files verified on origin/main)"},
{"name":"recovery-files","status":"pass","score":3,"max":3,"detail":"3 terminal UI files recovered: terminal_ui.rs(370 lines), ui.rs(389 lines), mod.rs(5 lines)"},
{"name":"branch","status":"pass","score":1,"max":1,"detail":"recover/E1-terminal-ui-worktree created from origin/main"},
{"name":"pr","status":"pass","score":1,"max":1,"detail":"PR #248 opened with area:compute-infra + epic-e labels"},
{"name":"deny","status":"skipped","score":0,"max":1,"detail":"skipped in fast mode"},
{"name":"audit-entry","status":"pass","score":1,"max":1,"detail":"worklog appended with E1 entry"},
{"name":"test-snapshot","status":"skipped","score":0,"max":1,"detail":"skipped in fast mode"},
{"name":"test-fuzz","status":"skipped","score":0,"max":1,"detail":"skipped in fast mode"},
{"name":"coverage","status":"skipped","score":0,"max":2,"detail":"skipped in fast mode"},
{"name":"audit","status":"skipped","score":0,"max":1,"detail":"skipped in fast mode"},
{"name":"bench","status":"skipped","score":0,"max":1,"detail":"skipped in fast mode"}
{"name":"charter-alignment","status":"pass","score":0,"max":0,"detail":"ADR-008 + RFC-001 compliant; scope = byteport Rust crates"},
{"name":"sota-alignment","status":"pass","score":0,"max":0,"detail":"opentelemetry 0.28, tracing 0.1, tracing-opentelemetry 0.30"},
{"name":"feature-gates","status":"pass","score":0,"max":0,"detail":"otel feature on all crates, default = [\"otel\"]"},
{"name":"metrics-completeness","status":"pass","score":0,"max":0,"detail":"17/17 instruments per ADR-008 table"},
{"name":"exporter","status":"pass","score":0,"max":0,"detail":"OTLP gRPC via grpc-tonic"},
{"name":"shutdown-graceful","status":"pass","score":0,"max":0,"detail":"TelemetryGuard flushes tracer + meter on drop"},
{"name":"build","status":"pass","score":2,"max":2,"detail":"cargo check --workspace succeeds (Rust 1.96)"},
{"name":"test-unit","status":"pass","score":3,"max":3,"detail":"cargo test (config tests, metrics construct, span no-panic)"},
{"name":"fmt","status":"pass","score":2,"max":2,"detail":"cargo fmt --check passes"},
{"name":"clippy","status":"pass","score":2,"max":2,"detail":"cargo clippy --workspace --all-targets --all-features -- -D warnings"},
{"name":"doc","status":"pass","score":1,"max":1,"detail":"cargo doc --workspace --no-deps"}
],
"timestamp": "2026-06-25T22:55:00Z"
"findings": [
{
"severity": "info",
"file": "crates/byteport-otel/src/init.rs:57-60",
"rule_id": "kilo-style",
"message": "OTLP init failure falls back to stdout — acceptable for dev, consider feature-gating in production"
},
{
"severity": "info",
"file": "crates/byteport-otel/src/metrics.rs:41",
"rule_id": "kilo-style",
"message": "BytePortMetrics::new() returns Result — with no backend it succeeds via no-op meter; fine for current use"
},
{
"severity": "info",
"file": "crates/byteport-transport/Cargo.toml:15",
"rule_id": "kilo-style",
"message": "otel feature pulls in byteport-otel with heavy deps — gating is correct, consumers can opt-out with default-features = false"
},
{
"severity": "warn",
"file": "crates/byteport-otel/src/tracing.rs:18-32",
"rule_id": "kilo-sota",
"message": "start_request_span takes TracerProvider impl (ADR-008 used global tracer) — acceptable trade-off for testability"
}
],
"timestamp": "2026-06-26T02:50:00Z"
}
113 changes: 113 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ members = [
"crates/byteport-transport",
"crates/byteport-cli",
"crates/byteport-dag",
"crates/byteport-otel",
"frontend/web/src-tauri",
]
4 changes: 3 additions & 1 deletion crates/byteport-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ description = "BytePort tools CLI — transport, port, codec, and UI CLI binding
publish = false

[dependencies]
byteport-transport = { path = "../byteport-transport" }
byteport-transport = { path = "../byteport-transport", features = ["otel"] }
byteport-otel = { path = "../byteport-otel" }
Comment on lines +10 to +11

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Regenerate Cargo.lock for the OTel dependencies

These new dependencies are not reflected in the committed lockfile: in this commit Cargo.lock still has no byteport-otel, opentelemetry, or tracing-opentelemetry package entries, and the byteport-cli package entry still lists only byteport-transport and clap. Any clean checkout using cargo --locked/CI will fail before compiling because the manifest and lockfile disagree, so the lockfile needs to be regenerated with these dependency edges included.

Useful? React with 👍 / 👎.

clap = { version = "4", features = ["derive"] }
tracing = "0.1"
Loading
Loading