Skip to content

feat: add scoped rail diagnostic ingress (refs #3092) - #3094

Merged
mblua merged 2 commits into
mainfrom
chore/3092-rail-diagnostic-ingress
Oct 18, 2026
Merged

mblua merged 2 commits into
mainfrom
chore/3092-rail-diagnostic-ingress

Conversation

@mblua

@mblua mblua commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Adds append_rail_diagnostic to Tauri and Web dispatch so the upcoming rail instrumentation can send each enabled diagnostic record to the existing backend logger. The shared adapter validates a closed, bounded payload, returns a fixed private error for invalid records, and emits one Debug record with a fixed target. Existing log filters, file append/rotation and save_debug_logs behavior stay intact.

This is P01 of #3083. It provides the backend without enabling frontend collection yet. It does not repair the intermittent click issue or promise durable writes on shutdown.

Closes #3092.

Validation on bdc8a018829c3085061f3530570cc556a426971f:

  • Six issue_3083 tests passed, including the production emitter through a local gate/formatter to actual temporary files: Info/invalid negatives, Debug/Trace positives, append and rotation/continuity.
  • Locked all-targets Cargo check passed. Layering guards passed: loops (1), instance gitignore (5), project settings (3).
  • Rust dependency SCC member sets and all 1,211 module pairs match the base; generated arc records match tracked bytes. check:arcs, check:cycles and diff checks passed.
  • Rust and architecture independent reviewers both PASS on code and positive file proof. Four approved Rust paths only; logging.rs changes are test-only.

The first instance-gitignore guard attempt failed in link.exe with 0xc0000142 before a test assertion. One continuation passed after process-only build/temp output overrides confined outputs to this repository; the project-settings guard then passed. This does not establish or repair the original linker cause. No tracked/global build configuration changed.

Approved frozen phase: .ac/plans/3083-rail-click-diagnostics/v3-P01-backend.md, SHA256 BADDB49D18EE497D56761D54B637C7FC689E2219620CF98836818BAF52EE8A00. Full v3 exact five-party consensus and cold-start gate recorded externally in approval-v3.json and implementation-cold-gate-v3-P01.md. Evidence: room25 room-shared/3092-P01/, including shipper results and both code reviews. Required and triggered PR CI must pass on the exact head before merge. No packaged build or interactive test requested.

@sonarqubecloud

Copy link
Copy Markdown

@mblua

mblua commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

Current-main triage after the stale-base notice: PR head remains bdc8a018829c3085061f3530570cc556a426971f; origin/main is now a4c18bfa66aad051627378ae885798af405ed59e (four commits ahead from #3089).

The complete incoming delta changes only:

  • src/shared/types.ts: optional profile-pair id_hash metadata and identity documentation.
  • src/shared/ipc.transport.test.ts: profile/settings metadata projection and serialization fixtures.

This delta is unrelated to P01's four Rust files and the rail diagnostic ingress. It changes no Rust source/module graph, rail DTO/emitter/dispatch, logger, dependencies/lockfiles, build configuration or CI workflows. The TypeScript additions do not consume the new rail command or alter its inputs.

Retaining this reviewed and locally tested head and its current CI under the unrelated-delta policy; no branch update or duplicate CI run for this delta. Merge still requires the applicable required and triggered checks to pass on this exact head, with any conditional skips explained. The upcoming P02 frontend phase will start from current main and preserve these changes after P01 lands.

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.

P01: Persist scoped rail diagnostics through the existing logger

1 participant