Runtime & Integrations · Integrations · optional · deletable

Optional Lanes

Power on existing ports — and how to delete one.

Four optional lanes attach to existing ports through the lane framework. Each is opt-in and deletable: removing its file leaves the required suite green. None grants authority.

These add power without contaminating the required path. Each declares a deletion rule, and the “delete” step is literally “remove the file.”

The four lanes

LanePort · fileBehavior & deletion
LiveJudgeModel
live-judge
JudgeModel · judge_live.pyStdlib urllib HTTPS POST — no provider SDK; a non-/https endpoint raises MissingPrerequisite; a non-finite score ⇒ MALFORMED. Delete: the required judge suite stays green.
FileScorecardExportSink
score-sink-export
ScoreSink · score_sink_export.pyRead-only to_dict() publish to a local dir; an OSErrorLaneResult(BLOCKED); a failed publish must not change the verdict. Delete: local JSON + MD reports intact.
StubBackendTraceSource
trace-backend
TraceSource · trace_backend_stub.pyReads a local {"spans": [...]} file — no SDK; the vendor wrapper is dropped so no vendor object reaches the core. Delete: local JSONL trace route intact.
AsyncObservationTraceSource
async-observation
TraceSource · async_observation.pyReads a recording — observes, never orchestrates; carries parent_span_id/concurrent/timing as envelope metadata. Delete: required trace routes intact.
Evidence, not authority A lane may inform diagnostics but cannot override authority, and a ScoreSink failure cannot hide or change the core verdict. See Extension Lanes and docs/EXTENSION_GOVERNANCE.md.

Next steps