Skip to content

feat: add versioned JSONL script output - #315

Merged
swananan merged 2 commits into
mainfrom
feature/script-output-jsonl-pr
Oct 7, 2026
Merged

swananan merged 2 commits into
mainfrom
feature/script-output-jsonl-pr

Conversation

@swananan

@swananan swananan commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Script consumers currently have to parse Pretty/Plain display text. Add --script-output jsonl (or [script] output = "jsonl") to emit one compact JSON object per payload-producing event with schema_version: 1.

The v1 contract retains PID/TID, nanosecond timestamps, trace metadata, static value diagnostics, runtime expression errors, and backtrace stop statuses and codes. JSONL adds no ANSI colors and sends readiness markers to stderr. Include the JSON Schema, English/Chinese configuration docs, and CLI/e2e regression coverage. Variable values remain formatted strings.

Update the existing locked rustls dependency from 0.23.40 to 0.23.45, along with its required rustls-webpki patch update to 0.103.15, to resolve RUSTSEC-2026-0285 reported by the Supply Chain checks. This changes only the lockfile and preserves the audit and dependency policies.

Local validation after the dependency update:

  • cargo audit --deny warnings: passed.
  • cargo deny check advisories bans licenses sources: passed all four checks.
  • cargo fmt --all -- --check: passed.
  • cargo clippy --all-targets --all-features -- -D warnings -D clippy::undocumented_unsafe_blocks: passed for the workspace default members.
  • cargo test -p ghostscope-debuginfod -p ghostscope --all-features: 129 passed.
  • Debuginfod host-to-host e2e through the runner service: 1 passed; job afb9dc65eace, exit code 0.
  • JSONL host-to-host e2e through the runner service: 3 passed; job af3d5304334c, exit code 0.

Before replaying the feature patch onto the latest main, the full standard host-to-host e2e suite passed all 380 tests (runner job 4896f969cd1f). That full suite was not rerun locally after the replay or dependency update; current-head local e2e validation focused on debuginfod and JSONL behavior. Container topology suites were not rerun locally because this change does not alter container behavior. The PR workflows provide the full standard and container e2e coverage.

Emit structured events with schema version 1, trace metadata, value
diagnostics, expression errors, and backtrace stop states. Keep readiness
markers on stderr in JSONL mode.

Document the contract with a JSON Schema and add CLI and e2e coverage.
Update rustls to 0.23.45 and its required rustls-webpki patch release.
This resolves RUSTSEC-2026-0285 reported by both Supply Chain checks
without changing the audit or dependency policies.
@swananan
swananan merged commit b71c6d7 into main Oct 7, 2026
24 checks passed
@swananan
swananan deleted the feature/script-output-jsonl-pr branch October 7, 2026 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant