Add a read-only GTK/libadwaita agenda backed by khal, with calendar
filters, Nix packaging, desktop metadata, and model tests.
Assisted-by: pi (gpt-5.6-sol)
Allow authorization to consume either a raw ID token or the complete Jagex successful-login URL from stdin when no desktop URL handler is available.
Assisted-by: pi (gpt-5.6-sol)
Replace the legacy chained OAuth flow with the official launcher beta's single ID-token exchange and game session API. Register the rshub callback and permit its narrowly scoped qutebrowser handoff.
Assisted-by: pi (gpt-5.6-sol)
Expose website and runelite-mcp through the shared package registry, keeping flake outputs generic and host consumers on the overlaid package set.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Move the package expression and Gradle dependency lock alongside the project source, and update the package set to call it there.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Add generation-aware cursor polling for typed state, skill, carried-item, movement, and privacy-safe interaction changes. Bound retained records and wire output, reset player history across lifecycle boundaries, and verify live XP/item correlation through Pi.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Build the RuneLite MCP jar reproducibly from projects/runelite-mcp and install it into RuneLite's developer-mode sideload directory through Home Manager.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Package Arroquw's Alt1 Electron fork from source, configure its protocol and persistence, and add Hyprland rules for XWayland overlays. Patch the capture IPC so settings diagnostics and applets can use the detected RuneScape client.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Expose a reusable jagex-auth wrapLaunch helper and apply it to all RuneScape clients in the Home Manager feature.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Import the collection through pkgs/default.nix while preserving the combined Hydra derivation and per-wallpaper attributes.
Assisted-by: pi (openai-codex/gpt-5.6-sol)
Drop the minicava package (pkgs/minicava + the pkgs/default.nix entry) and its
unused custom/minicava waybar module. No longer used. Verified pkgs and the
atlas host still evaluate.
Assisted-by: pi (opus-4.8)
Remove LibreChat, its nginx vhost, local MongoDB persistence, and the Codex OpenAI proxy package/module it depended on. Also drop the now-unused taygeta sops entries.
Assisted-by: pi (gpt-5.5)
With store=false nothing is persisted server-side, so input items can't
be referenced by id. On multi-turn/tool-call rounds (e.g. MCP) LibreChat
replays prior reasoning items (rs_...) by id without their
encrypted_content, and the backend 404s ("Items are not persisted when
`store` is set to false ... remove this item from your input"). Strip
bare reasoning references from `input`, keeping any that still carry
encrypted_content.
Assisted-by: pi (claude-opus-4-8)
Fold LibreChat's flat `reasoning_effort`/`reasoning_summary` params into
the nested `reasoning` object the Responses API expects (the backend
400s on the flat keys), and always request a `summary: "auto"` so a
human-readable chain-of-thought streams back. Omitting `effort` when
LibreChat sends none lets the backend pick the model default, so the
UI's "auto" effort works too.
Assisted-by: pi (claude-opus-4-8)
LibreChat injects a `user` field into the request body, but the Codex
backend 400s with "Unsupported parameter: user". Drop it in
shape_responses_body alongside the sampling params gpt-5 reasoning
models already reject.
Assisted-by: pi (claude-opus-4-8)
Bridges LibreChat's native Responses API custom endpoint to the ChatGPT Codex
backend at chatgpt.com/backend-api/codex/responses. It exchanges a refresh token
(CODEX_REFRESH_TOKEN) for access tokens on demand, derives the chatgpt-account-id
from the id_token claims, injects the headers the backend gates on (originator,
OpenAI-Beta, session), and reshapes the body (store:false, streaming, inline
reasoning). Nothing is persisted to disk.
Serves GET /v1/models, POST /v1/responses (streaming passthrough, or reassembled
into a single response object for non-streaming callers), and GET /health.
Ships a services.codex-openai-proxy NixOS module (host, port, environmentFile).
The ChatGPT account only accepts a subset of model ids (gpt-5.5, gpt-5.4,
gpt-5.4-mini); others such as gpt-5, the -codex variants, and gpt-5.5-mini 400.
Probe with /v1/responses if OpenAI rotates the allowed set.
Assisted-by: pi (claude-opus-4-8)
Add a lightweight LSP that surfaces LLM-authored suggestions as Helix diagnostics and code actions, plus Pi tools to publish and clear suggestions.
Assisted-by: pi (openai-codex/gpt-5.5)