rldyourterm
Crash-intolerant AI terminal runtime. Optimized for Claude Code, Codex, Gemini CLI.
Links
README
From the repo.
rldyourterm
DEPRECATED. This repository is archived and no longer maintained. It is kept read-only for reference; its GDS anchor records
lifecycle: archivedunderportfolio:archived-projects.
Crash-intolerant AI terminal runtime with v1.0 priorities locked as:
- stability,
- AI CLI compatibility (
Claude Code,Codex,Gemini CLI), - speed.
License
Licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See LICENSE. Repository governance validates AGPL license consistency in CI and Jenkins.
MVP runtime status
This repository now includes a Rust workspace with an MVP bootstrap path:
rldyourterm-app: CLI bootstrap + shell resolution + diagnostics events.rldyourterm-ui: single-window runtime scaffold with command-driven control hooks.scripts/mvp/*: executable compatibility harness for Claude/Codex/Gemini scenarios.
Single-window baseline is explicit and mandatory in v1.0 (window_count=1).
Quick checks
cargo check --locked -p rldyourterm-ui
cargo check --locked -p rldyourterm-app
Benchmarking
terminal_benchmark/ now provides two benchmark suites:
canonical-headlessfor deterministic CI-safe coverage acrosscore,services/session,ui,features/settings,features/shell-integration,features/font,features/render-gpupolicy helpers, andfeatures/render-cpulive-displayfor realwinitwindow pluswgpu/softbufferpresentation timing on a live display session
The canonical headless JSON report still marks app, foundation, foundation-platform, and features/diagnostics as correctness-only layers. The live-display suite is intentionally local/manual and does not run as a required PR CI gate.
Quick run:
cargo run --locked -p rldyourterm-terminal-benchmark -- --scenario all --scale standard
Structured JSON output:
cargo run --locked -p rldyourterm-terminal-benchmark -- \
--suite canonical-headless \
--scenario all \
--scale stress \
--format json \
--output /tmp/rldyourterm-terminal-benchmark.json
Headless CI-parity smoke run:
bash scripts/ci/run_terminal_benchmark_smoke.sh
Full benchmark suite:
bash scripts/ci/run_terminal_benchmark_full.sh
Live-display local smoke run:
bash scripts/ci/run_terminal_display_benchmark_smoke.sh
Live-display local full run:
bash scripts/ci/run_terminal_display_benchmark_full.sh
Controlled live-display calibration run:
bash scripts/ci/run_terminal_display_benchmark_controlled.sh
Controlled live-display calibration run with baseline refresh:
bash scripts/ci/run_terminal_display_benchmark_calibration.sh \
target/terminal-benchmark/live-display-controlled-report.json \
terminal_benchmark/baselines/live-display.controlled.json \
target/terminal-benchmark/live-display-controlled-calibration.json
Use TERMINAL_DISPLAY_BENCHMARK_COMPARISON_MODE=enforced only when you intentionally want the calibrated baseline to become a hard gate.
There is also a manual self-hosted GitHub workflow for the same controlled calibration flow:
.github/workflows/display-benchmark.yml- runner labels required:
self-hosted,display-benchmark, and the selected OS label - it uploads four artifacts: runner readiness report, controlled report, controlled baseline, calibration report
- artifact upload is
always()-style, so readiness and partial evidence survive failed calibration attempts
Optional threshold validation against versioned baselines:
TERMINAL_BENCHMARK_BASELINE=terminal_benchmark/baselines/canonical-headless.standard.json \
bash scripts/ci/run_terminal_benchmark_full.sh
TERMINAL_DISPLAY_BENCHMARK_BASELINE=terminal_benchmark/baselines/live-display.quick.json \
bash scripts/ci/run_terminal_display_benchmark_smoke.sh
Headless baselines are enforced. Live-display baselines are advisory by default: regressions are reported to stderr but do not turn the command into a hard failure unless you deliberately promote that policy.
Benchmark baseline scope is fail-closed:
portable-headlessbaselines apply only to canonical headless reportslocal-display-sessionbaselines apply only to generic local live-display reportscontrolled-display-sessionbaselines can only be refreshed from, and applied to, monitor-aware controlled live-display reports- controlled baselines now also carry exact environment requirements for the calibrated host profile, including display server hint and per-scenario CPU monitor metadata
Canonical local system suite:
bash scripts/ci/run_terminal_system_suite.sh
Canonical local system suite with optional live-display coverage:
bash scripts/ci/run_terminal_system_suite.sh --with-live-display smoke
Canonical local system suite with controlled live-display validation:
bash scripts/ci/run_terminal_system_suite.sh --with-live-display controlled
Canonical local system suite with baselines:
bash scripts/ci/run_terminal_system_suite.sh \
--benchmark-baseline terminal_benchmark/baselines/canonical-headless.standard.json \
--with-live-display smoke \
--live-display-baseline terminal_benchmark/baselines/live-display.quick.json
The system suite emits a machine-readable JSON report and validates the referenced full benchmark report and, when requested, the live-display benchmark report and benchmark baselines before returning success.
CPU live-display reports now include:
- suite-level environment metadata:
session_typeanddisplay_server_hint - phase-level timing for
redraw_dispatch, which captures the wait betweenrequest_redrawandRedrawRequested - phase-level timing for
buffer_acquire,raster, andpresent cpu_buffer_age_counts, which shows how often the softbuffer framebuffer arrives withage=0,age=1,age=2, orage>=3pacing_modeandmonitor_refresh_rate_millihz, which show whether the live run used monitor-driven cadence or the sameevent-drivenfallback that production uses when monitor timing is unavailablemonitor_nameandmonitor_scale_factor, which show whetherwinitexposed concrete monitor metadata for the run
Controlled live-display validation adds monitor-aware requirements:
steady-redraw-cpuandresize-cycle-cpumust usepacing_mode=monitor-cadence- monitor refresh and scale metadata must be present for those scenarios
- optional session/display-server expectations can be provided through
TERMINAL_DISPLAY_BENCHMARK_REQUIRED_SESSION_TYPEandTERMINAL_DISPLAY_BENCHMARK_REQUIRED_DISPLAY_SERVER_HINT
That keeps local display regressions explainable before touching production render code. The current CPU display path is explicitly age-aware and replays a two-frame damage history when softbuffer returns age=2.
CI/CD profile
- Current PR-visible check suite includes
CI,CodeQL,ClusterFuzzLite PR fuzzing,Scorecard,Semantic PR, andPR Automation. CIgate is strict for critical fan-out jobs (check/test/clippy/fmt/msrv/audit/denymust besuccess); onlycoveragemay beskippedwhen disabled.CodeQLpublishes Rust extraction diagnostics artifact and fails closed when diagnostics telemetry is missing/invalid; actionable diagnostics (ExtractionErrors > 0or non-benign extraction warnings) block merges, while known generated build-output warnings remain observable but non-blocking.- Release governance remains manual-only (
workflow_dispatch) with enforced preflight (terminal system suite,security gates,AI CLI compatibility matrix). - Weekly non-blocking soak lane:
.github/workflows/soak.ymlrunsscripts/mvp/run_matrix.shand publishes artifacts for long-run compatibility evidence.
Fuzzing
The repository includes cargo-fuzz targets and ClusterFuzzLite workflows.
Local quick run:
cargo install cargo-fuzz
cargo fuzz run parser_feed -- -max_total_time=30
Interactive Run
Run the binary directly as the terminal runtime (outside the MVP harness):
cargo run -q -p rldyourterm-app -- --mode auto --shell fish --window-count 1
Default non-harness runtime now launches the GUI window terminal path (single-window MVP baseline). If GUI initialization fails, runtime emits a warning and falls back to TTY mode. To force TTY mode explicitly:
cargo run -q -p rldyourterm-app -- --mode auto --shell fish --window-count 1 --tty
Or build once and run the binary directly:
cargo build -p rldyourterm-app
./target/debug/rldyourterm-app --mode auto --shell fish --window-count 1
MVP compatibility harness
MVP harness scenarios continue to run from scripts/mvp/* and do not replace interactive mode.
Required manual release gate (covers R-11, R-12, R-13):
bash scripts/mvp/run_matrix.sh 3
Extended compatibility soak:
bash scripts/mvp/run_matrix.sh 5
Run a single profile with optional extra commands:
bash scripts/mvp/run_profile.sh codex 3 recoverable:pty-write tick mode:cpu
Harness logs are written to scripts/mvp/output/.
Each required gate run must produce these evidence lines:
MVP_PROFILE_START ... single_window_required=1 release_governance=manual-only ...MVP_HARNESS ... single_window_required=1 release_governance=manual-onlyMVP_HARNESS_CMD ... --window-count 1 ...MVP_RESULT ... windows=1 ... single_window_required=1 single_window_enforced=yes ... release_governance=manual-only ...MVP_GATE_RESULT ... status=pass ...MVP_PROFILE_RESULT ... status=pass ...MVP_MATRIX_RESULT ... status=pass ...
Collected info
- ★ 0 stars
- ⎇ 1 forks
- Language: Rust
- Source updated: 9/10/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.