Skip to content

Latest commit

 

History

History
189 lines (110 loc) · 6.64 KB

File metadata and controls

189 lines (110 loc) · 6.64 KB

changes

PI_RULES environment settings in top-level help (2026-08-03)

What changed

  • args.ts: the Environment Variables section now lists PI_RULES_DISABLED, PI_RULES_MAX_RULE_CHARS, and PI_RULES_MAX_RESULT_CHARS with their accepted values and defaults.

Why

  • The settings added in #670 were documented in the README but omitted from senpi --help, leaving the two environment-only character limits undiscoverable from the CLI.

Why extension system couldn't handle this

  • The static Environment Variables section belongs to printHelp() and extensions can register flags, not help entries for environment settings.

Expected merge conflict zones on next upstream sync

  • LOW: args.ts Environment Variables rows.

senpi --list-tips prints the tip catalog as JSON (2026-07-29)

What changed

  • args.ts: added the --list-tips boolean flag next to --list-models, with a help row.
  • list-tips.ts (new): collectTips() renders every TIP_DEFINITIONS entry through the default KeybindingsManager (the same construction the tips tests use for live keys) into {id, text, requiresCommand?} records; listTips() prints the array as 2-space-indented JSON.
  • main.ts: mirrors every --list-models dispatch branch for the new flag - plain runtime metadata command, in-memory session manager, early exit before first-time setup, and print-mode project trust - except the flag needs no model runtime, so it prints and exits without creating agent-session services.
  • Coverage: test/suite/list-tips.test.ts pins the full catalog id order (including fallback-chains-setting), non-empty rendered text, and requiresCommand gating.

Why

  • The tip catalog teaches most of the fork's surface but was only visible one line at a time; a JSON dump gives scripts and the give-me-tips skill the whole catalog in one pass.

Why extension system couldn't handle this

  • Flag parsing and pre-runtime dispatch run before extensions load.

Expected merge conflict zones on next upstream sync

  • MEDIUM: args.ts flag table and parse branches.
  • LOW: main.ts dispatch branches; list-tips.ts is additive.

Removed legacy --neo CLI flags and launcher plumbing (2026-07-26)

What changed

  • Removed the gated --neo flag family, help text, launcher modules, and early-dispatch path. Unknown long flags continue to use the extension-flag channel.

Why

  • The retired Go TUI no longer has a supported entry point.

Expected merge conflict zones on next upstream sync

  • LOW: removal-only change in fork-owned CLI glue.

System-prompt flags forwarded to the neo launcher argv (2026-07-18)

What changed

  • neo/build-argv.ts: forwards --system-prompt and repeated --append-system-prompt from the parsed classic argv so the Go client can put them in the handshake runtimeOptions (daemon side in ../modes/rpc/changes.md 2026-07-18).

Why

  • The launcher forwards every runtime-relevant flag; these two were parsed but dropped, so neo clients silently lost them through the shared daemon.

Why extension system couldn't handle this

  • Pre-runtime launcher argv construction; extensions are not loaded yet.

Expected merge conflict zones on next upstream sync

  • LOW: neo/ is fork-only.

Neo launcher flags and daemon plumbing (2026-07-06)

What changed

  • args.ts: added --neo, --neo-isolated, hidden --neo-bin, and --listen <path>. (History: a gated --neo flag first landed 2026-05-18, was removed with the TS neo-tui package on 2026-05-26, and returned 2026-07-06 for the Go TUI handoff.)
  • neo/ (fork-only): launch.ts, build-argv.ts, platform.ts, resolve-binary.ts, daemon-launch.ts — resolves the per-platform @code-yeongyu/senpi-neo-tui-<platform>-<arch> binary (SENPI_NEO_BIN--neo-binrequire.resolve), builds child argv, and launches the shared daemon.

Why

  • The neo Go TUI ships as a separate binary; the CLI owns flag parsing and binary resolution for the handoff (dispatch in ../changes.md 2026-07-06, daemon serving in ../modes/rpc/changes.md).

Why extension system couldn't handle this

  • Flag parsing and pre-runtime dispatch run before extensions load.

Expected merge conflict zones on next upstream sync

  • MEDIUM: args.ts flag table and parse branches.
  • LOW: neo/ (fork-only directory).

External stdout guard wiring in startup UIs (2026-07-04)

What changed

  • config-selector.ts and startup-ui.ts: wire the ProcessTerminal external stdout guard so stray console.log output during startup dialogs (trust prompt, onboarding, session picker) and the config selector is hidden from the screen and appended, redacted, to the debug log.

Why

  • QA showed a stray console.log corrupting the trust dialog (core/log side in ../core/changes.md 2026-07-04).

Why extension system couldn't handle this

  • Startup dialogs run before extensions load.

Expected merge conflict zones on next upstream sync

  • LOW: TUI construction sites in config-selector.ts / startup-ui.ts.

App-server subcommand args (2026-07-02)

What changed

  • args.ts: added senpi app-server subcommand parsing (--listen ws://…, stdio) with 2026-07-03 review hardening; project-trust.ts threads the app-server app mode through trust resolution.

Why

  • The fork's app-server mode needs CLI plumbing next to the existing modes (dispatch in ../changes.md 2026-07-02).

Why extension system couldn't handle this

  • Subcommand parsing precedes extension loading.

Expected merge conflict zones on next upstream sync

  • MEDIUM: args.ts subcommand/flag parsing.
  • LOW: project-trust.ts mode threading.

Full model catalog in model command (2026-06-21)

What changed

  • list-models.ts: the model command lists the full catalog instead of only the narrowed/favorite subset.

Why

  • With the fork's favoriteModels narrowing (see ../core/changes.md favorite-model entries), the command otherwise hid installable models users wanted to switch to.

Why extension system couldn't handle this

  • The model command's listing is built-in CLI behavior.

Expected merge conflict zones on next upstream sync

  • LOW: list-models.ts catalog listing.

Senpi package command wording (2026-05-02)

What changed

  • args.ts: Top-level help now documents senpi update as updating senpi instead of pi.

Why

  • The forked CLI should not tell users that self-update targets upstream pi.

Why extension system couldn't handle this

  • The built-in help text is emitted before extension-registered flags are appended.

Expected merge conflict zones on next upstream sync

  • LOW: package-command rows in printHelp().