pi-usereq 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +6 -6
  3. package/package.json +1 -1
  4. package/pi-usereq/docs/REFERENCES.md +861 -704
  5. package/pi-usereq/docs/REQUIREMENTS.md +152 -95
  6. package/pi-usereq/docs/WORKFLOW.md +228 -65
  7. package/scripts/lib/extension-debug-harness.ts +2 -2
  8. package/scripts/tool-args-to-params.ts +2 -2
  9. package/src/cli.ts +12 -12
  10. package/src/core/debug-runtime.ts +2 -2
  11. package/src/core/extension-status.ts +98 -36
  12. package/src/core/pi-notify.ts +5 -5
  13. package/src/core/pi-usereq-tools.ts +4 -2
  14. package/src/core/prompt-command-catalog.ts +4 -5
  15. package/src/core/prompt-command-runtime.ts +347 -42
  16. package/src/core/prompts.ts +0 -2
  17. package/src/core/req-references-command.ts +175 -0
  18. package/src/core/req-reset-command.ts +323 -0
  19. package/src/core/resources.ts +6 -23
  20. package/src/core/runtime-project-paths.ts +21 -1
  21. package/src/core/settings-menu.ts +85 -28
  22. package/src/core/tool-runner.ts +26 -6
  23. package/src/index.ts +530 -104
  24. package/tests/attended-results-scenarios.ts +5 -5
  25. package/tests/cli-command-option-parity.test.ts +25 -25
  26. package/tests/debug-extension-harness.test.ts +8 -2
  27. package/tests/extension-registration.test.ts +1109 -76
  28. package/tests/oracle-project.test.ts +4 -4
  29. package/tests/oracle-standalone.test.ts +5 -5
  30. package/src/core/reference-payload.ts +0 -752
  31. package/src/resources/prompts/references.md +0 -64
  32. /package/tests/fixtures_attended_results/project/{references.json → summarize.json} +0 -0
  33. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_c.c.json +0 -0
  34. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_cpp.cpp.json +0 -0
  35. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_csharp.cs.json +0 -0
  36. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_elixir.ex.json +0 -0
  37. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_go.go.json +0 -0
  38. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_haskell.hs.json +0 -0
  39. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_java.java.json +0 -0
  40. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_javascript.js.json +0 -0
  41. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_kotlin.kt.json +0 -0
  42. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_lua.lua.json +0 -0
  43. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_perl.pl.json +0 -0
  44. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_php.php.json +0 -0
  45. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_python.py.json +0 -0
  46. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_ruby.rb.json +0 -0
  47. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_rust.rs.json +0 -0
  48. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_scala.scala.json +0 -0
  49. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_shell.sh.json +0 -0
  50. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_swift.swift.json +0 -0
  51. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_typescript.ts.json +0 -0
  52. /package/tests/fixtures_attended_results/standalone/{files-references → files-summarize}/fixture_zig.zig.json +0 -0
@@ -108,7 +108,7 @@
108
108
  - `extractLeadingDoxygenFields(...)`: extract file-level Doxygen fields when present [`src/core/token-counter.ts`]
109
109
  - `parseDoxygenComment(...)`: parse normalized Doxygen fields [`src/core/doxygen-parser.ts`]
110
110
  - `formatPackSummary(...)`: render aggregate summary [`src/core/token-counter.ts`]
111
- - `runFilesReferences(...)`: branch `--files-references`; emit monolithic explicit-file references markdown [`src/core/tool-runner.ts`]
111
+ - `runFilesSummarize(...)`: branch `--files-summarize`; emit monolithic explicit-file summary markdown [`src/core/tool-runner.ts`]
112
112
  - `generateMarkdown(...)`: analyze requested files and concatenate Python-compatible reference markdown sections [`src/core/generate-markdown.ts`]
113
113
  - `detectLanguage(...)`: map extension to language key [`src/core/generate-markdown.ts`]
114
114
  - `SourceAnalyzer.analyze(...)`: parse source elements [`src/core/source-analyzer.ts`]
@@ -208,7 +208,7 @@
208
208
  - `StaticCheckCommand.checkFile(...)`: run external executable against one file [`src/core/static-check.ts`]
209
209
  - `StaticCheckBase.headerLine(...)`: format checker header [`src/core/static-check.ts`]
210
210
  - `StaticCheckBase.emitLine(...)`: write checker output [`src/core/static-check.ts`]
211
- - `runReferences(...)`: branch `--references`; emit monolithic project references markdown [`src/core/tool-runner.ts`]
211
+ - `runSummarize(...)`: branch `--summarize`; emit monolithic project summary markdown [`src/core/tool-runner.ts`]
212
212
  - `resolveProjectSrcDirs(...)`: load configured source directories [`src/core/tool-runner.ts`]
213
213
  - `resolveProjectBase(...)`: validate project base path [`src/core/tool-runner.ts`]
214
214
  - `loadConfig(...)`: load config or defaults [`src/core/config.ts`]
@@ -417,10 +417,12 @@
417
417
  - `withProcessCwd(...)`: execute registration under the requested cwd [`scripts/lib/extension-debug-harness.ts`]
418
418
  - `piUsereqExtension(...)`: register extension commands, tools, shortcuts, and lifecycle hooks [`src/index.ts`]
419
419
  - `ensureBundledResourcesAccessible(...)`: validate installation-owned bundled resources before registration [`src/core/resources.ts`]
420
- - `registerPromptCommands(...)`: register bundled `req-*` prompt commands [`src/index.ts`]
420
+ - `registerReqResetCommand(...)`: register the specialized non-agentic `req-reset` command [`src/index.ts`]
421
+ - `registerReqReferencesCommand(...)`: register the specialized non-agentic `req-references` command with non-`idle` rejection that transitions workflow state to `error` [`src/index.ts`]
422
+ - `registerPromptCommands(...)`: register bundled prompt-backed `req-*` commands with non-`idle` rejection that transitions workflow state to `error` [`src/index.ts`]
421
423
  - `registerAgentTools(...)`: register structured agent tools [`src/index.ts`]
422
424
  - `registerConfigCommands(...)`: register configuration commands [`src/index.ts`]
423
- - `registerPiNotifyShortcut(...)`: register the configured sound-level shortcut when the runtime supports shortcuts [`src/index.ts`]
425
+ - `registerPiNotifyShortcut(...)`: register the configured sound-level shortcut and cycle only the active runtime sound level without persisting boot config [`src/index.ts`]
424
426
  - `loadProjectConfig(...)`: load the current project config for shortcut registration [`src/index.ts`]
425
427
  - `getProjectBase(...)`: resolve project base from command context cwd [`src/index.ts`]
426
428
  - `loadConfig(...)`: load config or defaults [`src/core/config.ts`]
@@ -433,6 +435,10 @@
433
435
  - `normalizePiNotifyCommand(...)`: normalize persisted sound commands [`src/core/pi-notify.ts`]
434
436
  - `isInsideGitRepo(...)`: probe git repository membership [`src/core/tool-runner.ts`]
435
437
  - `resolveGitRoot(...)`: resolve repository root [`src/core/tool-runner.ts`]
438
+ - `getPiUsereqRuntimeSoundLevel(...)`: read the active runtime sound level before shortcut cycling [`src/core/extension-status.ts`]
439
+ - `cyclePiNotifySoundLevel(...)`: compute the next active runtime sound level [`src/core/pi-notify.ts`]
440
+ - `setPiUsereqRuntimeSoundLevel(...)`: store the cycled runtime sound level and refresh the footer [`src/core/extension-status.ts`]
441
+ - `renderPiUsereqStatus(...)`: refresh the single-line footer after shortcut-driven runtime sound changes [`src/core/extension-status.ts`]
436
442
  - `buildDebugManual(...)`: render mode and per-command/per-tool examples, including JSON-oriented token-tool examples [`scripts/lib/extension-debug-harness.ts`]
437
443
  - `replaySessionStart(...)`: replay recorded `session_start` handlers and capture resulting UI state [`scripts/lib/extension-debug-harness.ts`]
438
444
  - `registerExtensionOffline(...)`: rebuild the recorded extension registration surface [`scripts/lib/extension-debug-harness.ts`]
@@ -464,7 +470,7 @@
464
470
  - `RecordingExtensionAPI.setActiveTools(...)`: replace active-tool set with runtime-visible names [`scripts/lib/recording-extension-api.ts`]
465
471
  - `RecordingExtensionAPI.getAllTools(...)`: expose supported builtin plus extension tool inventory [`scripts/lib/recording-extension-api.ts`]
466
472
  - `setPiUsereqStatusConfig(...)`: cache docs/tests/src and pi-notify values for later status renders [`src/core/extension-status.ts`]
467
- - `updateExtensionStatus(...)`: refresh stored context usage, reset or restore elapsed timers, reset workflow state for startup/new/reload, and render status text [`src/core/extension-status.ts`]
473
+ - `updateExtensionStatus(...)`: refresh stored context usage, reset or restore elapsed timers, load the active runtime sound level from persisted config during `session_start`, reset workflow state for startup/new/reload, and render status text [`src/core/extension-status.ts`]
468
474
  - `refreshContextUsage(...)`: sync the latest context-usage snapshot [`src/core/extension-status.ts`]
469
475
  - `RecordingCommandContext.getContextUsage(...)`: return the offline context-usage placeholder [`scripts/lib/recording-extension-api.ts`]
470
476
  - `shouldResetElapsedStateOnSessionStart(...)`: detect `startup|reload` elapsed-reset boundaries [`src/core/extension-status.ts`]
@@ -473,13 +479,18 @@
473
479
  - `shouldResetWorkflowStateOnSessionStart(...)`: detect `startup|new|reload` workflow-reset boundaries [`src/core/extension-status.ts`]
474
480
  - `persistElapsedState(...)`: mirror completed timers into process-scoped persistence [`src/core/extension-status.ts`]
475
481
  - `syncPiUsereqStatusTicker(...)`: start or stop the live elapsed ticker [`src/core/extension-status.ts`]
476
- - `renderPiUsereqStatus(...)`: render the status/current-path/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
482
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
477
483
  - `createStatusThemeAdapter(...)`: constrain status rendering to CLI-supported `accent`, `warning`, `dim`, and `error` theme tokens [`src/core/extension-status.ts`]
478
- - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, current-path, elapsed semantics, and sound status fields [`src/core/extension-status.ts`]
484
+ - `resolveStatusBranchValue(...)`: resolve the active git branch from the current context cwd before footer rendering [`src/core/extension-status.ts`]
485
+ - `resolveRuntimeGitBranchName(...)`: resolve the active git branch for the current execution path [`src/core/runtime-project-paths.ts`]
486
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the active execution path [`src/core/runtime-project-paths.ts`]
487
+ - `isInsideGitRepo(...)`: test git work-tree membership [`src/core/runtime-project-paths.ts`]
488
+ - `resolveGitRoot(...)`: resolve repository root [`src/core/runtime-project-paths.ts`]
489
+ - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, branch, context gauge, elapsed semantics, and the active runtime sound status field [`src/core/extension-status.ts`]
479
490
  - `formatStatusField(...)`: render one colored text field [`src/core/extension-status.ts`]
480
491
  - `formatRenderedStatusField(...)`: render one pre-styled field [`src/core/extension-status.ts`]
481
492
  - `formatWorkflowStateValue(...)`: render the workflow-state value with error highlighting when required [`src/core/extension-status.ts`]
482
- - `formatContextUsageBar(...)`: render the icon-based context gauge [`src/core/extension-status.ts`]
493
+ - `formatContextUsageBar(...)`: render the icon-based context gauge with the non-error status value token below 90 percent and `error` at or above 90 percent [`src/core/extension-status.ts`]
483
494
  - `resolveContextUsageIconText(...)`: map normalized context usage to the fixed-width gauge icon [`src/core/extension-status.ts`]
484
495
  - `formatElapsedStatusValue(...)`: compose `⏱︎`, `⚑`, and `⌛︎` timer segments [`src/core/extension-status.ts`]
485
496
  - `formatCompletedStatusDuration(...)`: render completed timers or the unset placeholder [`src/core/extension-status.ts`]
@@ -512,39 +523,67 @@
512
523
  - `registerExtensionOffline(...)`: rebuild the recorded extension registration surface [`scripts/lib/extension-debug-harness.ts`]
513
524
  - `RecordingCommandContext(...)`: initialize the recorded command-context UI adapter and deterministic theme-color encoding [`scripts/lib/recording-extension-api.ts`]
514
525
  - `withProcessCwd(...)`: execute the named command under the requested cwd [`scripts/lib/extension-debug-harness.ts`]
515
- - `ensureBundledResourcesAccessible(...)`: validate installation-owned bundled resources when invoking `req-*` handlers [`src/core/resources.ts`]
526
+ - `ensureBundledResourcesAccessible(...)`: validate installation-owned bundled resources when invoking bundled prompt-backed `req-*` handlers [`src/core/resources.ts`]
516
527
  - `getProjectBase(...)`: resolve command project base [`src/index.ts`]
517
528
  - `loadProjectConfig(...)`: load command runtime config [`src/index.ts`]
529
+ - `resolveReqResetPromptRequest(...)`: resolve the recoverable prompt execution plan for `req-reset` from in-memory or persisted prompt state [`src/index.ts`]
530
+ - `prepareReqResetCommandExecution(...)`: derive base-path recovery and generated cleanup facts for `req-reset` [`src/core/req-reset-command.ts`]
531
+ - `buildReqResetWorktreeNamePattern(...)`: derive the generated worktree-name matcher from the configured prefix plus repository basename [`src/core/req-reset-command.ts`]
532
+ - `executeReqResetCommandExecution(...)`: preserve transcript, restore `base-path`, and force-remove matching worktrees plus branches for `req-reset` [`src/core/req-reset-command.ts`]
533
+ - `preservePromptCommandExecutionTranscript(...)`: copy execution-session records into the original session file when recovery plan data exists [`src/core/prompt-command-runtime.ts`]
534
+ - `restorePromptCommandExecution(...)`: switch back to the original session-backed base path before cleanup [`src/core/prompt-command-runtime.ts`]
535
+ - `listReqResetMatchingWorktreeRoots(...)`: enumerate registered and sibling generated worktrees targeted for deletion [`src/core/req-reset-command.ts`]
536
+ - `listReqResetRegisteredWorktreeRoots(...)`: enumerate registered git worktree roots [`src/core/req-reset-command.ts`]
537
+ - `listReqResetSiblingWorktreeRoots(...)`: enumerate sibling generated worktree directories [`src/core/req-reset-command.ts`]
538
+ - `deletePromptWorktree(...)`: force-remove one matching worktree plus its linked branch [`src/core/prompt-command-runtime.ts`]
539
+ - `listReqResetMatchingBranchNames(...)`: enumerate remaining matching branches after worktree deletion [`src/core/req-reset-command.ts`]
540
+ - `runCapture(...)`: run `git branch -D` for remaining matching branches [`src/core/req-reset-command.ts`]
541
+ - `rejectNonIdleReqCommand(...)`: abort non-`idle` replayed `req-references` or bundled prompt commands by transitioning workflow state to `error` [`src/index.ts`]
542
+ - `prepareReqReferencesCommandExecution(...)`: validate git state and resolve direct-write references execution facts for `req-references` [`src/core/req-references-command.ts`]
543
+ - `validatePromptGitState(...)`: validate clean runtime repository state while ignoring extension-owned debug-log artifacts [`src/core/prompt-command-runtime.ts`]
544
+ - `executeReqReferencesCommandExecution(...)`: regenerate `REFERENCES.md`, stage only the target file, create the fixed commit, and verify clean repository state for `req-references` [`src/core/req-references-command.ts`]
545
+ - `runReferences(...)`: generate summarize-equivalent markdown, overwrite `REFERENCES.md`, and return the status-only success payload [`src/core/tool-runner.ts`]
546
+ - `getGitAddTargetPath(...)`: resolve the staged path relative to the git root [`src/core/req-references-command.ts`]
547
+ - `runCapture(...)`: run git add, commit, and status subprocesses [`src/core/req-references-command.ts`]
548
+ - `listResidualGitStatusLines(...)`: confirm no residual git-status rows remain after commit [`src/core/req-references-command.ts`]
549
+ - `buildIgnoredGitStatusPaths(...)`: ignore extension-owned debug-log artifacts during cleanliness verification [`src/core/req-references-command.ts`]
518
550
  - `renderPrompt(...)`: render prompt-command payloads with bundled commit-instruction expansion plus conditional pi.dev governance guidance [`src/core/prompts.ts`]
519
551
  - `deliverPromptCommand(...)`: dispatch prompt replay into the current recorded session [`src/index.ts`]
520
552
  - External boundaries: `RecordingExtensionAPI.sendUserMessage(...)` records the delivered prompt payload.
521
553
  - `configurePiUsereq(...)`: execute the interactive configuration menu [`src/index.ts`]
522
554
  - `buildPiUsereqMenuChoices(...)`: serialize top-level settings actions including effective worktree locking and the display-only config-path row [`src/index.ts`]
523
555
  - `formatProjectConfigPathForMenu(...)`: format the current config path with the shared `~`-relative path formatter for menu display [`src/index.ts`]
524
- - `showPiUsereqSettingsMenu(...)`: render the shared settings-menu UI for top-level and submenu actions [`src/core/settings-menu.ts`]
556
+ - `showPiUsereqSettingsMenu(...)`: render the shared settings-menu UI for top-level and submenu actions, keeping inline toggle rows open while rebuilding dependent rows in place [`src/core/settings-menu.ts`]
525
557
  - `formatPiUsereqSettingsMenuTitle(...)`: rebuild the menu title with active-theme semantics [`src/core/settings-menu.ts`]
526
558
  - `buildPiUsereqSettingsListTheme(...)`: prefer shared CLI settings-list theming and fall back during offline replay [`src/core/settings-menu.ts`]
527
559
  - `buildFallbackPiUsereqSettingsListTheme(...)`: mirror CLI settings-list token roles from the callback-local theme [`src/core/settings-menu.ts`]
528
- - `buildSettingItems(...)`: map menu choices into settings-list rows, apply optional dim tones, and disable non-selectable actions [`src/core/settings-menu.ts`]
560
+ - `buildSettingItems(...)`: map menu choices into settings-list rows, apply optional dim tones, disable non-selectable actions, and expose inline value cycles [`src/core/settings-menu.ts`]
561
+ - `setSettingsListSelectedIndex(...)`: restore the focused row during in-place menu rebuilds [`src/core/settings-menu.ts`]
562
+ - `getSettingsListSelectedIndex(...)`: expose the focused row for the offline bridge after inline toggle handling [`src/core/settings-menu.ts`]
529
563
  - `saveProjectConfig(...)`: persist menu updates on save-and-close [`src/index.ts`]
530
564
  - `setPiUsereqStatusConfig(...)`: cache the saved config for footer rendering [`src/core/extension-status.ts`]
531
- - `renderPiUsereqStatus(...)`: render the current-path/context/elapsed/sound footer after save-and-close with CLI-theme token overlays [`src/core/extension-status.ts`]
565
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer after save-and-close with CLI-theme token overlays [`src/core/extension-status.ts`]
532
566
  - `createStatusThemeAdapter(...)`: constrain status rendering to CLI-supported `accent`, `warning`, `dim`, and `error` theme tokens [`src/core/extension-status.ts`]
533
- - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with current-path, consolidated elapsed semantics, and sound status fields [`src/core/extension-status.ts`]
567
+ - `resolveStatusBranchValue(...)`: resolve the active git branch from the current context cwd before footer rendering [`src/core/extension-status.ts`]
568
+ - `resolveRuntimeGitBranchName(...)`: resolve the active git branch for the current execution path [`src/core/runtime-project-paths.ts`]
569
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the active execution path [`src/core/runtime-project-paths.ts`]
570
+ - `isInsideGitRepo(...)`: test git work-tree membership [`src/core/runtime-project-paths.ts`]
571
+ - `resolveGitRoot(...)`: resolve repository root [`src/core/runtime-project-paths.ts`]
572
+ - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, branch, context gauge, consolidated elapsed semantics, and the active runtime sound status field [`src/core/extension-status.ts`]
534
573
  - `formatStatusField(...)`: render one colored text field [`src/core/extension-status.ts`]
535
574
  - `formatRenderedStatusField(...)`: render one pre-styled field [`src/core/extension-status.ts`]
536
- - `formatContextUsageBar(...)`: render the icon-based context gauge [`src/core/extension-status.ts`]
575
+ - `formatContextUsageBar(...)`: render the icon-based context gauge with the non-error status value token below 90 percent and `error` at or above 90 percent [`src/core/extension-status.ts`]
537
576
  - `formatElapsedStatusValue(...)`: compose `⏱︎`, `⚑`, and `⌛︎` timer segments [`src/core/extension-status.ts`]
538
577
  - `formatCompletedStatusDuration(...)`: render completed timers or the unset placeholder [`src/core/extension-status.ts`]
539
578
  - `formatStatusDuration(...)`: render `M:SS` durations [`src/core/extension-status.ts`]
540
- - `configureStaticCheckMenu(...)`: interactive guided static-check editor with per-language enable toggles [`src/index.ts`]
541
- - `configurePiUsereqToolsMenu(...)`: interactive active-tool editor without a status-reference action [`src/index.ts`]
542
- - `configurePiNotifyMenu(...)`: interactive notify, sound, and Pushover editor with dedicated event submenus [`src/index.ts`]
543
- - `buildPiNotifyMenuChoices(...)`: serialize command-notify, sound, and Pushover blocks plus shared-event submenu launchers [`src/index.ts`]
579
+ - `configureStaticCheckMenu(...)`: interactive guided static-check editor with in-place per-language enable toggles [`src/index.ts`]
580
+ - `configurePiUsereqToolsMenu(...)`: interactive active-tool editor whose per-tool toggle submenu keeps focus while cycling `on|off` values [`src/index.ts`]
581
+ - `configurePiNotifyMenu(...)`: interactive notify, sound, and Pushover editor with in-place global toggles, credential-locked enablement guidance text, persisted boot-sound edits, and dedicated event submenus [`src/index.ts`]
582
+ - `buildPiNotifyMenuChoices(...)`: serialize command-notify, sound, and Pushover blocks plus shared-event submenu launchers, including boot-sound rows sourced from persisted config [`src/index.ts`]
544
583
  - `buildPiNotifyEventLauncherChoice(...)`: serialize one event-submenu launcher row with a compact enabled-toggle summary [`src/index.ts`]
545
- - `buildPiNotifyPushoverRows(...)`: serialize direct Pushover rows plus the shared event-submenu launcher [`src/index.ts`]
546
- - `configurePiNotifyEventMenu(...)`: interactive completed/interrupted/failed event editor for one notification transport [`src/index.ts`]
547
- - `buildPiNotifyEventMenuChoices(...)`: serialize shared event rows plus submenu reset/save actions [`src/index.ts`]
584
+ - `buildPiNotifyPushoverRows(...)`: serialize direct Pushover rows with locked enablement guidance text plus the shared event-submenu launcher [`src/index.ts`]
585
+ - `configurePiNotifyEventMenu(...)`: interactive completed/interrupted/failed event editor that keeps focus while toggling `on|off` rows for one notification transport [`src/index.ts`]
586
+ - `buildPiNotifyEventMenuChoices(...)`: serialize shared event rows plus the submenu reset action [`src/index.ts`]
548
587
  - `resetPiNotifyEventMenuToDefaults(...)`: restore default event toggles for one notification transport [`src/index.ts`]
549
588
  - `resolvePiNotifyEventLabel(...)`: map one event-toggle key to the human-readable menu label [`src/index.ts`]
550
589
  - `togglePiNotifyFlag(...)`: toggle one persisted boolean notification setting [`src/index.ts`]
@@ -562,13 +601,13 @@
562
601
  - `TokenCounter(...)`: lazily resolve `js-tiktoken` only when token counting executes [`src/core/token-counter.ts`]
563
602
  - `loadJsTiktokenModule(...)`: convert missing tokenizer dependencies into deterministic `ReqError` failures [`src/core/token-counter.ts`]
564
603
  - `buildCountFileMetricsResult(...)`: assemble direct-access per-file metrics and metadata [`src/core/token-counter.ts`]
565
- - `runFilesReferences(...)`: execute the monolithic explicit-file references markdown runner [`src/core/tool-runner.ts`]
604
+ - `runFilesSummarize(...)`: execute the monolithic explicit-file summary markdown runner [`src/core/tool-runner.ts`]
566
605
  - `generateMarkdown(...)`: analyze requested files and concatenate Python-compatible reference markdown sections [`src/core/generate-markdown.ts`]
567
606
  - `runFilesCompress(...)`: execute the monolithic explicit-file compression markdown runner [`src/core/tool-runner.ts`]
568
607
  - `compressFiles(...)`: compress each file into markdown blocks [`src/core/compress-files.ts`]
569
608
  - `runFilesSearch(...)`: execute the monolithic explicit-file construct-search markdown runner [`src/core/tool-runner.ts`]
570
609
  - `searchConstructsInFiles(...)`: select constructs by tag and regex [`src/core/find-constructs.ts`]
571
- - `runReferences(...)`: execute the monolithic project references markdown runner [`src/core/tool-runner.ts`]
610
+ - `runSummarize(...)`: execute the monolithic project summary markdown runner [`src/core/tool-runner.ts`]
572
611
  - `runCompress(...)`: execute the monolithic project compression markdown runner [`src/core/tool-runner.ts`]
573
612
  - `runSearch(...)`: execute the monolithic project construct-search markdown runner [`src/core/tool-runner.ts`]
574
613
  - `runTokens(...)`: execute the monolithic canonical-doc token runner [`src/core/tool-runner.ts`]
@@ -577,6 +616,12 @@
577
616
  - `buildMonolithicToolExecuteResult(...)`: wrap runner stdout or stderr into tool content plus execution details [`src/core/agent-tool-json.ts`]
578
617
  - `buildToolExecutionSection(...)`: normalize residual stdout, stderr, and exit-code metadata [`src/core/agent-tool-json.ts`]
579
618
  - `normalizeToolFailure(...)`: convert runner failures into deterministic execution records [`src/core/agent-tool-json.ts`]
619
+ - `executeStatusTool(...)`: execute one CLI-style runner and wrap one status-only content block plus minimal execution details [`src/index.ts`]
620
+ - `runReferences(...)`: generate summarize-equivalent references markdown, overwrite `REFERENCES.md`, and return the status-only success payload [`src/core/tool-runner.ts`]
621
+ - `runSummarize(...)`: execute the project summary markdown runner reused as the reference-file source [`src/core/tool-runner.ts`]
622
+ - `buildMonolithicToolExecuteResult(...)`: wrap status stdout or stderr into tool content plus execution details [`src/core/agent-tool-json.ts`]
623
+ - `buildToolExecutionSection(...)`: normalize residual stdout, stderr, and exit-code metadata [`src/core/agent-tool-json.ts`]
624
+ - `normalizeToolFailure(...)`: convert runner failures into deterministic execution records [`src/core/agent-tool-json.ts`]
580
625
  - `runSdkSmoke(...)`: replay offline `session_start`, probe the official SDK runtime, and compare inventories [`scripts/lib/sdk-smoke.ts`]
581
626
  - `replaySessionStart(...)`: capture the offline `session_start` contract [`scripts/lib/extension-debug-harness.ts`]
582
627
  - `probeSdkRuntime(...)`: load the official SDK runtime and extract extension-owned inventory [`scripts/lib/sdk-smoke.ts`]
@@ -621,19 +666,109 @@
621
666
  - `ensureBundledResourcesAccessible(...)`: validate installation-owned bundled resources [`src/core/resources.ts`]
622
667
  - `getBundledResourceRoot(...)`: resolve installation-owned resource root [`src/core/resources.ts`]
623
668
  - `getInstallationPath(...)`: resolve the installed extension root from the executing module [`src/core/path-context.ts`]
624
- - `registerPromptCommands(...)`: register one command per prompt name using runtime prompt-front-matter descriptions, recover a live bootstrap cwd when stale command contexts still point at deleted worktrees, gate orchestration on `idle`, transition workflow state through `checking|running|error`, prepare a forked execution session with the active session directory, persist prompt metadata for switch-triggered rebinding, switch the active pi CLI session to the verified execution cwd before prompt handoff, append dedicated workflow-activation debug entries, capture the replacement-session context, dispatch the rendered prompt into the forked active session through that context, record `running` immediately after delivery handoff starts, and only then await the wrapped prompt-delivery promise whose stale post-restore rejections are suppressed [`src/index.ts`]
669
+ - `registerReqResetCommand(...)`: register the specialized non-agentic `req-reset` command that accepts any workflow state, restores `base-path`, force-removes matching generated worktrees plus branches, clears recoverable prompt state when restoration succeeds, and returns to `idle` without worktree creation or LLM initialization [`src/index.ts`]
670
+ - `resolveReqResetPromptRequest(...)`: resolve the recoverable prompt execution plan from in-memory or persisted prompt state [`src/index.ts`]
671
+ - `resolveLiveBootstrapCwd(...)`: recover the live command cwd while preserving a worktree-backed session when it still exists [`src/index.ts`]
672
+ - `syncContextCwdMirror(...)`: best-effort realign the command-context `cwd` mirror to the recovered live cwd before reset execution [`src/index.ts`]
673
+ - `bootstrapRuntimePathState(...)`: refresh static runtime path facts from the recovered `base-path` before reset execution [`src/core/path-context.ts`]
674
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the recovered `base-path` [`src/core/runtime-project-paths.ts`]
675
+ - `loadProjectConfig(...)`: load config and normalize persisted directory paths for reset execution [`src/index.ts`]
676
+ - `getProjectBase(...)`: resolve project base from the recovered runtime base path [`src/index.ts`]
677
+ - `loadConfig(...)`: load config or defaults [`src/core/config.ts`]
678
+ - `getProjectConfigPath(...)`: resolve config file path [`src/core/config.ts`]
679
+ - `getDefaultConfig(...)`: build default config [`src/core/config.ts`]
680
+ - `normalizeEnabledPiUsereqTools(...)`: canonicalize startup tools [`src/core/pi-usereq-tools.ts`]
681
+ - `setPiUsereqStatusConfig(...)`: cache docs/tests/src and pi-notify values for status rendering [`src/core/extension-status.ts`]
682
+ - `setPiUsereqWorkflowState(...)`: update workflow state directly for running, idle, or error during `req-reset` execution [`src/core/extension-status.ts`]
683
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
684
+ - `createStatusThemeAdapter(...)`: constrain status rendering to CLI-supported `accent`, `warning`, `dim`, and `error` theme tokens [`src/core/extension-status.ts`]
685
+ - `resolveStatusBranchValue(...)`: resolve the active git branch from the current context cwd before footer rendering [`src/core/extension-status.ts`]
686
+ - `resolveRuntimeGitBranchName(...)`: resolve the active git branch for the current execution path [`src/core/runtime-project-paths.ts`]
687
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the active execution path [`src/core/runtime-project-paths.ts`]
688
+ - `isInsideGitRepo(...)`: test git work-tree membership [`src/core/runtime-project-paths.ts`]
689
+ - `resolveGitRoot(...)`: resolve repository root [`src/core/runtime-project-paths.ts`]
690
+ - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, branch, context gauge, elapsed semantics, and the active runtime sound status field [`src/core/extension-status.ts`]
691
+ - `formatStatusField(...)`: render one colored text field [`src/core/extension-status.ts`]
692
+ - `formatRenderedStatusField(...)`: render one pre-styled field [`src/core/extension-status.ts`]
693
+ - `formatWorkflowStateValue(...)`: render the workflow-state value with error highlighting when required [`src/core/extension-status.ts`]
694
+ - `formatContextUsageBar(...)`: render the icon-based context gauge with the non-error status value token below 90 percent and `error` at or above 90 percent [`src/core/extension-status.ts`]
695
+ - `resolveContextUsageIconText(...)`: map normalized context usage to the fixed-width gauge icon [`src/core/extension-status.ts`]
696
+ - `formatElapsedStatusValue(...)`: compose `⏱︎`, `⚑`, and `⌛︎` timer segments [`src/core/extension-status.ts`]
697
+ - `formatCompletedStatusDuration(...)`: render completed timers or the unset placeholder [`src/core/extension-status.ts`]
698
+ - `formatStatusDuration(...)`: render `M:SS` durations [`src/core/extension-status.ts`]
699
+ - `prepareReqResetCommandExecution(...)`: derive the generated cleanup matcher, sibling parent path, and optional recovery plan for `req-reset` [`src/core/req-reset-command.ts`]
700
+ - `buildReqResetWorktreeNamePattern(...)`: derive the generated worktree-name matcher from the configured prefix plus repository basename [`src/core/req-reset-command.ts`]
701
+ - `executeReqResetCommandExecution(...)`: preserve transcript, restore `base-path`, and force-remove matching worktrees plus branches [`src/core/req-reset-command.ts`]
702
+ - `preservePromptCommandExecutionTranscript(...)`: copy execution-session records into the original session file when recovery plan data exists [`src/core/prompt-command-runtime.ts`]
703
+ - `restorePromptCommandExecution(...)`: switch back to the original session-backed base path before cleanup [`src/core/prompt-command-runtime.ts`]
704
+ - `listReqResetMatchingWorktreeRoots(...)`: enumerate registered and sibling generated worktrees targeted for deletion [`src/core/req-reset-command.ts`]
705
+ - `listReqResetRegisteredWorktreeRoots(...)`: enumerate registered git worktree roots [`src/core/req-reset-command.ts`]
706
+ - `listReqResetSiblingWorktreeRoots(...)`: enumerate sibling generated worktree directories [`src/core/req-reset-command.ts`]
707
+ - `deletePromptWorktree(...)`: force-remove one matching worktree plus its linked branch [`src/core/prompt-command-runtime.ts`]
708
+ - `listReqResetMatchingBranchNames(...)`: enumerate remaining matching branches after worktree deletion [`src/core/req-reset-command.ts`]
709
+ - `runCapture(...)`: run `git branch -D` for remaining matching branches [`src/core/req-reset-command.ts`]
710
+ - `clearPersistedPromptCommandRuntimeState(...)`: clear persisted prompt workflow and reusable session context after successful recovery [`src/core/prompt-command-state.ts`]
711
+ - `notifyContextSafely(...)`: emit stale-safe success or error notifications after reset execution [`src/index.ts`]
712
+ - `registerReqReferencesCommand(...)`: register the specialized non-agentic `req-references` command that rejects non-`idle` invocation by transitioning workflow state to `error`, otherwise validates git state, regenerates `REFERENCES.md`, stages only that file, creates the fixed commit, verifies clean repository state, and returns to `idle` without worktree routing [`src/index.ts`]
713
+ - `rejectNonIdleReqCommand(...)`: abort non-`idle` `req-references` re-entry by transitioning workflow state to `error` [`src/index.ts`]
714
+ - `resolveLiveBootstrapCwd(...)`: recover a live bootstrap cwd from the command context, runtime path state, or process cwd when stale worktree paths no longer exist [`src/index.ts`]
715
+ - `syncContextCwdMirror(...)`: best-effort realign the command-context `cwd` mirror to the recovered live cwd before direct references execution [`src/index.ts`]
716
+ - `bootstrapRuntimePathState(...)`: refresh static and dynamic runtime path facts for direct references execution [`src/core/path-context.ts`]
717
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the recovered live cwd [`src/core/runtime-project-paths.ts`]
718
+ - `getProjectBase(...)`: resolve project base from the recovered command-context cwd [`src/index.ts`]
719
+ - `loadProjectConfig(...)`: load config and normalize persisted directory paths for the recovered command-context cwd [`src/index.ts`]
720
+ - `getProjectBase(...)`: resolve project base from the recovered command-context cwd [`src/index.ts`]
721
+ - `loadConfig(...)`: load config or defaults [`src/core/config.ts`]
722
+ - `getProjectConfigPath(...)`: resolve config file path [`src/core/config.ts`]
723
+ - `getDefaultConfig(...)`: build default config [`src/core/config.ts`]
724
+ - `normalizeEnabledPiUsereqTools(...)`: canonicalize startup tools [`src/core/pi-usereq-tools.ts`]
725
+ - `setPiUsereqStatusConfig(...)`: cache docs/tests/src and pi-notify values for status rendering [`src/core/extension-status.ts`]
726
+ - `setPiUsereqWorkflowState(...)`: update workflow state directly for checking, running, idle, or error during `req-references` execution [`src/core/extension-status.ts`]
727
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
728
+ - `createStatusThemeAdapter(...)`: constrain status rendering to CLI-supported `accent`, `warning`, `dim`, and `error` theme tokens [`src/core/extension-status.ts`]
729
+ - `resolveStatusBranchValue(...)`: resolve the active git branch from the current context cwd before footer rendering [`src/core/extension-status.ts`]
730
+ - `resolveRuntimeGitBranchName(...)`: resolve the active git branch for the current execution path [`src/core/runtime-project-paths.ts`]
731
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the active execution path [`src/core/runtime-project-paths.ts`]
732
+ - `isInsideGitRepo(...)`: test git work-tree membership [`src/core/runtime-project-paths.ts`]
733
+ - `resolveGitRoot(...)`: resolve repository root [`src/core/runtime-project-paths.ts`]
734
+ - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, branch, context gauge, elapsed semantics, and the active runtime sound status field [`src/core/extension-status.ts`]
735
+ - `formatStatusField(...)`: render one colored text field [`src/core/extension-status.ts`]
736
+ - `formatRenderedStatusField(...)`: render one pre-styled field [`src/core/extension-status.ts`]
737
+ - `formatWorkflowStateValue(...)`: render the workflow-state value with error highlighting when required [`src/core/extension-status.ts`]
738
+ - `formatContextUsageBar(...)`: render the icon-based context gauge with the non-error status value token below 90 percent and `error` at or above 90 percent [`src/core/extension-status.ts`]
739
+ - `resolveContextUsageIconText(...)`: map normalized context usage to the fixed-width gauge icon [`src/core/extension-status.ts`]
740
+ - `formatElapsedStatusValue(...)`: compose `⏱︎`, `⚑`, and `⌛︎` timer segments [`src/core/extension-status.ts`]
741
+ - `formatCompletedStatusDuration(...)`: render completed timers or the unset placeholder [`src/core/extension-status.ts`]
742
+ - `formatStatusDuration(...)`: render `M:SS` durations [`src/core/extension-status.ts`]
743
+ - `prepareReqReferencesCommandExecution(...)`: validate git state and resolve the configured references target before direct execution [`src/core/req-references-command.ts`]
744
+ - `validatePromptGitState(...)`: validate clean runtime repository state through slash-command-owned git checks while ignoring extension-owned debug-log artifacts [`src/core/prompt-command-runtime.ts`]
745
+ - `throwPromptGitStatusError(...)`: normalize slash-command git-preflight failures [`src/core/prompt-command-runtime.ts`]
746
+ - `executeReqReferencesCommandExecution(...)`: regenerate `REFERENCES.md`, stage only the target file, create the fixed commit, and verify clean repository state [`src/core/req-references-command.ts`]
747
+ - `runReferences(...)`: generate summarize-equivalent references markdown, overwrite `REFERENCES.md`, and return the status-only success payload [`src/core/tool-runner.ts`]
748
+ - `runSummarize(...)`: execute the project summary markdown runner reused as the reference-file source [`src/core/tool-runner.ts`]
749
+ - `getGitAddTargetPath(...)`: resolve the staged path relative to the git root [`src/core/req-references-command.ts`]
750
+ - `runCapture(...)`: run git add, commit, and status subprocesses [`src/core/req-references-command.ts`]
751
+ - `listResidualGitStatusLines(...)`: confirm no residual git-status rows remain after commit [`src/core/req-references-command.ts`]
752
+ - `buildIgnoredGitStatusPaths(...)`: ignore extension-owned debug-log artifacts during cleanliness verification [`src/core/req-references-command.ts`]
753
+ - `registerPromptCommands(...)`: register one bundled prompt-backed command per prompt name using runtime prompt level-one heading descriptions, reject non-`idle` re-entry by transitioning workflow state to `error`, recover a live bootstrap cwd when stale command contexts still point at deleted worktrees, otherwise transition workflow state through `checking|running|error`, prepare a forked execution session with the active session directory, persist prompt metadata for switch-triggered rebinding, switch the active pi CLI session to the verified execution cwd before prompt handoff, append dedicated workflow-activation debug entries, capture the replacement-session context, dispatch the rendered prompt into the forked active session through that context, record `running` immediately after delivery handoff starts, and only then await the wrapped prompt-delivery promise whose stale post-restore rejections are suppressed [`src/index.ts`]
754
+ - `rejectNonIdleReqCommand(...)`: abort non-`idle` bundled prompt re-entry by transitioning workflow state to `error` [`src/index.ts`]
625
755
  - `resolveLiveBootstrapCwd(...)`: recover a live bootstrap cwd from the command context, runtime path state, or process cwd when stale worktree paths no longer exist [`src/index.ts`]
626
756
  - `syncContextCwdMirror(...)`: best-effort realign the command-context `cwd` mirror to the recovered live cwd before prompt preflight [`src/index.ts`]
627
757
  - `transitionPromptWorkflowState(...)`: update workflow state and append gated `workflow_state` debug entries only after the transition completes [`src/index.ts`]
628
758
  - `setPiUsereqWorkflowState(...)`: update workflow state before prompt preflight, prompt handoff, or command-side failure [`src/core/extension-status.ts`]
629
759
  - `logPromptWorkflowStateChange(...)`: append selected prompt workflow-transition debug entries [`src/index.ts`]
630
- - `renderPiUsereqStatus(...)`: render the status/current-path/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
760
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
631
761
  - `createStatusThemeAdapter(...)`: constrain status rendering to CLI-supported `accent`, `warning`, `dim`, and `error` theme tokens [`src/core/extension-status.ts`]
632
- - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, current-path, elapsed semantics, and sound status fields [`src/core/extension-status.ts`]
762
+ - `resolveStatusBranchValue(...)`: resolve the active git branch from the current context cwd before footer rendering [`src/core/extension-status.ts`]
763
+ - `resolveRuntimeGitBranchName(...)`: resolve the active git branch for the current execution path [`src/core/runtime-project-paths.ts`]
764
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the active execution path [`src/core/runtime-project-paths.ts`]
765
+ - `isInsideGitRepo(...)`: test git work-tree membership [`src/core/runtime-project-paths.ts`]
766
+ - `resolveGitRoot(...)`: resolve repository root [`src/core/runtime-project-paths.ts`]
767
+ - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, branch, context gauge, elapsed semantics, and the active runtime sound status field [`src/core/extension-status.ts`]
633
768
  - `formatStatusField(...)`: render one colored text field [`src/core/extension-status.ts`]
634
769
  - `formatRenderedStatusField(...)`: render one pre-styled field [`src/core/extension-status.ts`]
635
770
  - `formatWorkflowStateValue(...)`: render the workflow-state value with error highlighting when required [`src/core/extension-status.ts`]
636
- - `formatContextUsageBar(...)`: render the icon-based context gauge [`src/core/extension-status.ts`]
771
+ - `formatContextUsageBar(...)`: render the icon-based context gauge with the non-error status value token below 90 percent and `error` at or above 90 percent [`src/core/extension-status.ts`]
637
772
  - `resolveContextUsageIconText(...)`: map normalized context usage to the fixed-width gauge icon [`src/core/extension-status.ts`]
638
773
  - `formatElapsedStatusValue(...)`: compose `⏱︎`, `⚑`, and `⌛︎` timer segments [`src/core/extension-status.ts`]
639
774
  - `formatCompletedStatusDuration(...)`: render completed timers or the unset placeholder [`src/core/extension-status.ts`]
@@ -720,7 +855,7 @@
720
855
  - `cleanupPromptWorktreeCreation(...)`: remove registered worktree entries, leftover directories, and matching branches [`src/core/prompt-command-runtime.ts`]
721
856
  - `promptWorktreeRegistered(...)`: test whether the sibling worktree remains registered [`src/core/prompt-command-runtime.ts`]
722
857
  - `promptWorktreeBranchExists(...)`: test whether the matching branch remains present [`src/core/prompt-command-runtime.ts`]
723
- - `registerAgentTools(...)`: register structured pi tools whose execute callbacks reuse internal runner families, token-optimized payload builders, and compact-plus-expanded custom result renderers [`src/index.ts`]
858
+ - `registerAgentTools(...)`: register structured pi tools whose execute callbacks reuse internal runner families, the status-only references writer, token-optimized payload builders, and compact-plus-expanded custom result renderers [`src/index.ts`]
724
859
  - `ensureBundledResourcesAccessible(...)`: validate installation-owned bundled resources for tool executes that need bundled assets [`src/core/resources.ts`]
725
860
  - `getBundledResourceRoot(...)`: resolve installation-owned resource root [`src/core/resources.ts`]
726
861
  - `getInstallationPath(...)`: resolve the installed extension root from the executing module [`src/core/path-context.ts`]
@@ -741,10 +876,10 @@
741
876
  - `buildStructuredToolRenderResult(...)`: attach compact invocation-parameter summaries and expanded monolithic result renderers to every agent tool [`src/index.ts`]
742
877
  - `executeMonolithicTool(...)`: execute one CLI-style runner and wrap one monolithic content block plus minimal execution details [`src/index.ts`]
743
878
  - `runFilesTokens(...)`: execute the monolithic token pack-summary runner [`src/core/tool-runner.ts`]
744
- - `runFilesReferences(...)`: execute the monolithic explicit-file references markdown runner [`src/core/tool-runner.ts`]
879
+ - `runFilesSummarize(...)`: execute the monolithic explicit-file summary markdown runner [`src/core/tool-runner.ts`]
745
880
  - `runFilesCompress(...)`: execute the monolithic explicit-file compression markdown runner [`src/core/tool-runner.ts`]
746
881
  - `runFilesSearch(...)`: execute the monolithic explicit-file construct-search markdown runner [`src/core/tool-runner.ts`]
747
- - `runReferences(...)`: execute the monolithic project references markdown runner [`src/core/tool-runner.ts`]
882
+ - `runSummarize(...)`: execute the monolithic project summary markdown runner [`src/core/tool-runner.ts`]
748
883
  - `runCompress(...)`: execute the monolithic project compression markdown runner [`src/core/tool-runner.ts`]
749
884
  - `runSearch(...)`: execute the monolithic project construct-search markdown runner [`src/core/tool-runner.ts`]
750
885
  - `runTokens(...)`: execute the monolithic canonical-doc token runner [`src/core/tool-runner.ts`]
@@ -753,6 +888,12 @@
753
888
  - `buildMonolithicToolExecuteResult(...)`: wrap runner stdout or stderr into tool content plus execution details [`src/core/agent-tool-json.ts`]
754
889
  - `buildToolExecutionSection(...)`: normalize residual stdout, stderr, and exit-code metadata [`src/core/agent-tool-json.ts`]
755
890
  - `normalizeToolFailure(...)`: convert runner failures into deterministic execution records [`src/core/agent-tool-json.ts`]
891
+ - `executeStatusTool(...)`: execute one CLI-style runner and wrap one status-only content block plus minimal execution details [`src/index.ts`]
892
+ - `runReferences(...)`: generate summarize-equivalent references markdown, overwrite `REFERENCES.md`, and return the status-only success payload [`src/core/tool-runner.ts`]
893
+ - `runSummarize(...)`: execute the project summary markdown runner reused as the reference-file source [`src/core/tool-runner.ts`]
894
+ - `buildMonolithicToolExecuteResult(...)`: wrap status stdout or stderr into tool content plus execution details [`src/core/agent-tool-json.ts`]
895
+ - `buildToolExecutionSection(...)`: normalize residual stdout, stderr, and exit-code metadata [`src/core/agent-tool-json.ts`]
896
+ - `normalizeToolFailure(...)`: convert runner failures into deterministic execution records [`src/core/agent-tool-json.ts`]
756
897
  - `registerConfigCommands(...)`: register interactive configuration commands [`src/index.ts`]
757
898
  - `configurePiUsereq(...)`: interactive configuration menu root [`src/index.ts`]
758
899
  - `configurePiUsereq(...)`: serve the inline `show-config` action inside the shared settings-menu flow [`src/index.ts`]
@@ -769,7 +910,7 @@
769
910
  - `runCapture(...)`: run git subprocess [`src/core/tool-runner.ts`]
770
911
  - `resolveGitRoot(...)`: resolve repository root [`src/core/tool-runner.ts`]
771
912
  - `runCapture(...)`: run git subprocess [`src/core/tool-runner.ts`]
772
- - `registerPiNotifyShortcut(...)`: register the configured sound-level shortcut when the runtime supports shortcuts [`src/index.ts`]
913
+ - `registerPiNotifyShortcut(...)`: register the configured sound-level shortcut and cycle only the active runtime sound level without persisting boot config [`src/index.ts`]
773
914
  - `getProcessCwdSafe(...)`: resolve a fallback-safe process cwd for extension-load registration [`src/index.ts`]
774
915
  - `loadProjectConfig(...)`: load config for shortcut registration [`src/index.ts`]
775
916
  - `getProjectBase(...)`: resolve project base from command context cwd [`src/index.ts`]
@@ -781,8 +922,12 @@
781
922
  - `normalizePiNotifySoundLevel(...)`: normalize persisted sound level [`src/core/pi-notify.ts`]
782
923
  - `normalizePiNotifyShortcut(...)`: normalize persisted shortcut [`src/core/pi-notify.ts`]
783
924
  - `normalizePiNotifyCommand(...)`: normalize persisted sound commands [`src/core/pi-notify.ts`]
925
+ - `getPiUsereqRuntimeSoundLevel(...)`: read the active runtime sound level before shortcut cycling [`src/core/extension-status.ts`]
926
+ - `cyclePiNotifySoundLevel(...)`: compute the next active runtime sound level [`src/core/pi-notify.ts`]
927
+ - `setPiUsereqRuntimeSoundLevel(...)`: store the cycled runtime sound level and refresh the footer [`src/core/extension-status.ts`]
928
+ - `renderPiUsereqStatus(...)`: refresh the single-line footer after shortcut-driven runtime sound changes [`src/core/extension-status.ts`]
784
929
  - `registerExtensionStatusHooks(...)`: register shared wrappers for lifecycle telemetry hooks and suppress the documented stale-extension-context callbacks that can arrive after successful session replacement [`src/index.ts`]
785
- - `handleExtensionStatusEvent(...)`: process intercepted hook payloads through shared status helpers, tool-result debug logging, dedicated workflow-closure plus shutdown diagnostics built from pre-shutdown prompt snapshots, workflow-state transitions, recover a live bootstrap cwd during `session_start` when stale context mirrors still point at deleted worktrees, matched-success prompt-command restoration to `base-path` plus merge and worktree deletion, stale-safe closure notifications, and matched-failure base-path restoration plus closure-error notification using persisted replacement-session contexts when event hooks omit `switchSession()` [`src/index.ts`]
930
+ - `handleExtensionStatusEvent(...)`: process intercepted hook payloads through shared status helpers, tool-result debug logging, dedicated workflow-closure plus shutdown diagnostics built from pre-shutdown prompt snapshots, workflow-state transitions, recover a live bootstrap cwd during `session_start` when stale context mirrors still point at deleted worktrees, matched-success prompt-command restoration to `base-path` plus stash-assisted merge and worktree deletion even after a busy-command rejection moved workflow state to `error`, warning-only closure notifications when restored `base-path` changes are reapplied, stale-safe closure notifications, and matched-failure base-path restoration plus closure-error notification using persisted replacement-session contexts when event hooks omit `switchSession()` [`src/index.ts`]
786
931
  - `resolveLiveBootstrapCwd(...)`: recover a live bootstrap cwd from the startup context, runtime path state, or process cwd when stale worktree paths no longer exist [`src/index.ts`]
787
932
  - `syncContextCwdMirror(...)`: best-effort realign the startup context `cwd` mirror to the recovered live cwd before startup config loads [`src/index.ts`]
788
933
  - `loadProjectConfig(...)`: session-start configuration load from the recovered live cwd [`src/index.ts`]
@@ -800,7 +945,7 @@
800
945
  - `resolveDebugProjectBase(...)`: prefer static `base-path` for debug-log writes during worktree-backed prompt runs and recover a live bootstrap cwd when no prompt plan is active [`src/index.ts`]
801
946
  - `notifyContextSafely(...)`: suppress stale replacement-context notification failures after session replacement while preserving closure progress [`src/index.ts`]
802
947
  - `logDebugToolExecution(...)`: append selected tool-result debug entries [`src/core/debug-runtime.ts`]
803
- - `updateExtensionStatus(...)`: refresh stored context usage, reset or restore persisted elapsed timers on `session_start`, restore persisted prompt-command state when the active session matches the forked execution session, resynchronize that state on later lifecycle hooks after switch-triggered rebinding, preserve in-memory prompt-command state plus process-scoped persistence across `session_shutdown`, accumulate completed runtime, and render status text while tolerating stale replacement contexts [`src/core/extension-status.ts`]
948
+ - `updateExtensionStatus(...)`: refresh stored context usage, reset or restore persisted elapsed timers on `session_start`, load the active runtime sound level from persisted config on `session_start`, restore persisted prompt-command state when the active session matches the forked execution session, resynchronize that state on later lifecycle hooks after switch-triggered rebinding, preserve in-memory prompt-command state plus process-scoped persistence across `session_shutdown`, accumulate completed runtime, and render status text while tolerating stale replacement contexts [`src/core/extension-status.ts`]
804
949
  - `refreshContextUsage(...)`: sync the latest context-usage snapshot [`src/core/extension-status.ts`]
805
950
  - `shouldResetElapsedStateOnSessionStart(...)`: detect `startup|reload` reset boundaries [`src/core/extension-status.ts`]
806
951
  - `resetElapsedState(...)`: clear in-memory and persisted completed timers [`src/core/extension-status.ts`]
@@ -815,13 +960,18 @@
815
960
  - `persistPromptCommandState(...)`: mirror workflow state plus pending or active prompt execution plans into process-scoped persistence [`src/core/extension-status.ts`]
816
961
  - `writePersistedPromptCommandRuntimeState(...)`: store workflow state plus pending or active prompt execution plans on `globalThis` [`src/core/prompt-command-state.ts`]
817
962
  - `syncPiUsereqStatusTicker(...)`: start or stop the live elapsed ticker [`src/core/extension-status.ts`]
818
- - `renderPiUsereqStatus(...)`: render the status/current-path/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
963
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
819
964
  - `createStatusThemeAdapter(...)`: constrain status rendering to CLI-supported `accent`, `warning`, `dim`, and `error` theme tokens [`src/core/extension-status.ts`]
820
- - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, current-path, elapsed semantics, and sound status fields [`src/core/extension-status.ts`]
965
+ - `resolveStatusBranchValue(...)`: resolve the active git branch from the current context cwd before footer rendering [`src/core/extension-status.ts`]
966
+ - `resolveRuntimeGitBranchName(...)`: resolve the active git branch for the current execution path [`src/core/runtime-project-paths.ts`]
967
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the active execution path [`src/core/runtime-project-paths.ts`]
968
+ - `isInsideGitRepo(...)`: test git work-tree membership [`src/core/runtime-project-paths.ts`]
969
+ - `resolveGitRoot(...)`: resolve repository root [`src/core/runtime-project-paths.ts`]
970
+ - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, branch, context gauge, elapsed semantics, and the active runtime sound status field [`src/core/extension-status.ts`]
821
971
  - `formatStatusField(...)`: render one colored text field [`src/core/extension-status.ts`]
822
972
  - `formatRenderedStatusField(...)`: render one pre-styled field [`src/core/extension-status.ts`]
823
973
  - `formatWorkflowStateValue(...)`: render the workflow-state value with error highlighting when required [`src/core/extension-status.ts`]
824
- - `formatContextUsageBar(...)`: render the icon-based context gauge [`src/core/extension-status.ts`]
974
+ - `formatContextUsageBar(...)`: render the icon-based context gauge with the non-error status value token below 90 percent and `error` at or above 90 percent [`src/core/extension-status.ts`]
825
975
  - `resolveContextUsageIconText(...)`: map normalized context usage to the fixed-width gauge icon [`src/core/extension-status.ts`]
826
976
  - `formatElapsedStatusValue(...)`: compose `⏱︎`, `⚑`, and `⌛︎` timer segments [`src/core/extension-status.ts`]
827
977
  - `formatCompletedStatusDuration(...)`: render completed timers or the unset placeholder [`src/core/extension-status.ts`]
@@ -870,12 +1020,18 @@
870
1020
  - `logPromptWorkflowEvent(...)`: append selected workflow-closure and workflow-session-shutdown debug entries [`src/index.ts`]
871
1021
  - `transitionPromptWorkflowState(...)`: transition workflow state for matched-success merge handling and final idle restoration, and append gated workflow-state debug entries immediately after each transition [`src/index.ts`]
872
1022
  - `setPiUsereqWorkflowState(...)`: transition workflow state for matched-success merge handling and final idle restoration [`src/core/extension-status.ts`]
873
- - `renderPiUsereqStatus(...)`: render the status/current-path/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
1023
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer with CLI-theme token overlays [`src/core/extension-status.ts`]
874
1024
  - `logPromptWorkflowStateChange(...)`: append selected prompt workflow-transition debug entries [`src/index.ts`]
875
- - `finalizePromptCommandExecution(...)`: verify persisted execution-session header metadata plus live worktree artifacts, restore the original session-backed base path through the persisted replacement-session context when lifecycle hooks omit `switchSession()`, merge the matched successful worktree branch with `--ff-only` from `base-path`, delete the worktree and branch after merge success, and append selected merge plus workflow-restore debug entries [`src/core/prompt-command-runtime.ts`]
1025
+ - `finalizePromptCommandExecution(...)`: verify persisted execution-session header metadata plus live worktree artifacts, synchronize the successful execution transcript into the restored base session, restore the original session-backed base path through the persisted replacement-session context when lifecycle hooks omit `switchSession()`, execute the matched successful stash-assisted `base-path` merge sequence, delete the worktree and branch after merge success, and carry a warning-only closure result when restored `base-path` changes are reapplied [`src/core/prompt-command-runtime.ts`]
876
1026
  - `verifyPromptCommandClosureArtifacts(...)`: verify execution-session header cwd, worktree registration, branch presence, and worktree-path existence without requiring worktree-session reactivation after prompt end [`src/core/prompt-command-runtime.ts`]
1027
+ - `preservePromptCommandExecutionTranscript(...)`: append or materialize the restored base-session transcript from the execution-session JSONL before the base-path switch [`src/core/prompt-command-runtime.ts`]
1028
+ - `readPromptSessionJsonLines(...)`: parse execution-session JSONL records and parse original-session JSONL records when a persisted base session already exists [`src/core/prompt-command-runtime.ts`]
1029
+ - `readPromptSessionFileCwd(...)`: verify the restored session header cwd equals `base-path` after transcript synchronization [`src/core/prompt-command-runtime.ts`]
1030
+ - `readPromptSessionJsonLines(...)`: re-read the restored base session and verify copied execution entry identifiers [`src/core/prompt-command-runtime.ts`]
877
1031
  - `restorePromptCommandExecution(...)`: switch back to the original session-backed base path, reuse the persisted replacement-session context keyed by the execution-session file, append optional workflow-restore debug entries, clear active worktree path facts, and realign the live `ctx.cwd` mirror before merge or merge-abort return [`src/core/prompt-command-runtime.ts`]
878
- - `deletePromptWorktree(...)`: delete the merged worktree and branch after successful fast-forward merge [`src/core/prompt-command-runtime.ts`]
1032
+ - `finalizePromptCommandMerge(...)`: inspect tracked `base-path` changes, run `git stash` plus `git stash pop` around the existing `--ff-only` merge when tracked changes exist, emit a warning-only merge result after reapplying local changes, and append selected merge debug entries [`src/core/prompt-command-runtime.ts`]
1033
+ - `listPromptTrackedBasePathChanges(...)`: parse tracked staged or unstaged `git status --porcelain` rows and ignore untracked or ignored rows before stash-assisted merge selection [`src/core/prompt-command-runtime.ts`]
1034
+ - `deletePromptWorktree(...)`: delete the merged worktree and branch after successful stash-assisted fast-forward merge [`src/core/prompt-command-runtime.ts`]
879
1035
  - `restorePromptCommandExecution(...)`: switch back to the original session-backed base path when interrupted, failed, or unmatched prompt-end events skip merge and retain the worktree for manual recovery, reusing the persisted replacement-session context when lifecycle hooks omit `switchSession()` [`src/core/prompt-command-runtime.ts`]
880
1036
  - `shouldRunPiNotifyCommand(...)`: validate prompt-scoped command-notify prerequisites [`src/core/pi-notify.ts`]
881
1037
  - `isPiNotifyOutcomeEnabled(...)`: map `completed|interrupted|failed` to the selected toggle set [`src/core/pi-notify.ts`]
@@ -930,11 +1086,13 @@
930
1086
  - `formatDebugMenuSummary(...)`: summarize global debug mode plus selected tool and prompt counts [`src/index.ts`]
931
1087
  - `formatProjectConfigPathForMenu(...)`: format the current config path with the shared `~`-relative path formatter for menu display [`src/index.ts`]
932
1088
  - `buildTerminalSettingsMenuChoices(...)`: append the canonical `Reset defaults` row without `Save and close` [`src/index.ts`]
933
- - `showPiUsereqSettingsMenu(...)`: render the shared settings-menu UI for top-level and submenu actions [`src/core/settings-menu.ts`]
1089
+ - `showPiUsereqSettingsMenu(...)`: render the shared settings-menu UI for top-level and submenu actions, keeping inline toggle rows open while rebuilding dependent rows in place [`src/core/settings-menu.ts`]
934
1090
  - `formatPiUsereqSettingsMenuTitle(...)`: rebuild the menu title with active-theme semantics [`src/core/settings-menu.ts`]
935
1091
  - `buildPiUsereqSettingsListTheme(...)`: prefer shared CLI settings-list theming and fall back during offline replay [`src/core/settings-menu.ts`]
936
1092
  - `buildFallbackPiUsereqSettingsListTheme(...)`: mirror CLI settings-list token roles from the callback-local theme [`src/core/settings-menu.ts`]
937
- - `buildSettingItems(...)`: map menu choices into settings-list rows, apply optional dim tones, and disable non-selectable actions [`src/core/settings-menu.ts`]
1093
+ - `buildSettingItems(...)`: map menu choices into settings-list rows, apply optional dim tones, disable non-selectable actions, and expose inline value cycles [`src/core/settings-menu.ts`]
1094
+ - `setSettingsListSelectedIndex(...)`: restore the focused row during in-place menu rebuilds [`src/core/settings-menu.ts`]
1095
+ - `getSettingsListSelectedIndex(...)`: expose the focused row for the offline bridge after inline toggle handling [`src/core/settings-menu.ts`]
938
1096
  - `persistConfigChange(...)`: persist config immediately after every settings mutation and refresh status rendering [`src/index.ts`]
939
1097
  - `getProjectBase(...)`: resolve project base from command context cwd [`src/index.ts`]
940
1098
  - `saveConfig(...)`: persist config JSON [`src/core/config.ts`]
@@ -943,18 +1101,23 @@
943
1101
  - `getProjectBase(...)`: resolve project base from command context cwd [`src/index.ts`]
944
1102
  - `getProjectConfigPath(...)`: resolve the persisted config path [`src/core/config.ts`]
945
1103
  - `setPiUsereqStatusConfig(...)`: cache the just-saved docs/tests/src and pi-notify values for status rendering [`src/core/extension-status.ts`]
946
- - `renderPiUsereqStatus(...)`: render the status/current-path/context/elapsed/sound footer after save-and-close with CLI-theme token overlays [`src/core/extension-status.ts`]
1104
+ - `renderPiUsereqStatus(...)`: refresh live context usage and render the status/branch/context/elapsed/sound footer after save-and-close with CLI-theme token overlays [`src/core/extension-status.ts`]
947
1105
  - `createStatusThemeAdapter(...)`: constrain status rendering to CLI-supported `accent`, `warning`, `dim`, and `error` theme tokens [`src/core/extension-status.ts`]
948
- - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, current-path, elapsed semantics, and sound status fields [`src/core/extension-status.ts`]
1106
+ - `resolveStatusBranchValue(...)`: resolve the active git branch from the current context cwd before footer rendering [`src/core/extension-status.ts`]
1107
+ - `resolveRuntimeGitBranchName(...)`: resolve the active git branch for the current execution path [`src/core/runtime-project-paths.ts`]
1108
+ - `resolveRuntimeGitPath(...)`: resolve the runtime git root for the active execution path [`src/core/runtime-project-paths.ts`]
1109
+ - `isInsideGitRepo(...)`: test git work-tree membership [`src/core/runtime-project-paths.ts`]
1110
+ - `resolveGitRoot(...)`: resolve repository root [`src/core/runtime-project-paths.ts`]
1111
+ - `buildPiUsereqStatusText(...)`: compose the single-line footer payload with workflow state, branch, context gauge, elapsed semantics, and the active runtime sound status field [`src/core/extension-status.ts`]
949
1112
  - `formatStatusField(...)`: render one colored text field [`src/core/extension-status.ts`]
950
1113
  - `formatRenderedStatusField(...)`: render one pre-styled field [`src/core/extension-status.ts`]
951
1114
  - `formatWorkflowStateValue(...)`: render the workflow-state value with error highlighting when required [`src/core/extension-status.ts`]
952
- - `formatContextUsageBar(...)`: render the icon-based context gauge [`src/core/extension-status.ts`]
1115
+ - `formatContextUsageBar(...)`: render the icon-based context gauge with the non-error status value token below 90 percent and `error` at or above 90 percent [`src/core/extension-status.ts`]
953
1116
  - `resolveContextUsageIconText(...)`: map normalized context usage to the fixed-width gauge icon [`src/core/extension-status.ts`]
954
1117
  - `formatElapsedStatusValue(...)`: compose `⏱︎`, `⚑`, and `⌛︎` timer segments [`src/core/extension-status.ts`]
955
1118
  - `formatCompletedStatusDuration(...)`: render completed timers or the unset placeholder [`src/core/extension-status.ts`]
956
1119
  - `formatStatusDuration(...)`: render `M:SS` durations [`src/core/extension-status.ts`]
957
- - `configureStaticCheckMenu(...)`: interactive guided static-check editor with per-language enable toggles [`src/index.ts`]
1120
+ - `configureStaticCheckMenu(...)`: interactive guided static-check editor with in-place per-language enable toggles [`src/index.ts`]
958
1121
  - `getStaticCheckLanguageConfigForMenu(...)`: resolve a menu-facing per-language static-check object [`src/index.ts`]
959
1122
  - `countConfiguredStaticCheckLanguages(...)`: count languages that retain checker entries [`src/index.ts`]
960
1123
  - `countEnabledStaticCheckLanguages(...)`: count languages whose enable flag is on [`src/index.ts`]
@@ -962,21 +1125,21 @@
962
1125
  - `buildStaticCheckMenuChoices(...)`: serialize guided add/remove actions plus direct per-language toggle rows [`src/index.ts`]
963
1126
  - `getSupportedStaticCheckLanguageSupport(...)`: enumerate supported languages and extensions [`src/core/static-check.ts`]
964
1127
  - `getSupportedStaticCheckLanguages(...)`: enumerate canonical supported languages [`src/core/static-check.ts`]
965
- - `buildTerminalSettingsMenuChoices(...)`: append canonical terminal rows to the selector menu [`src/index.ts`]
966
- - `buildSupportedStaticCheckLanguageChoices(...)`: serialize supported languages with enablement, configured counts, and terminal rows [`src/index.ts`]
1128
+ - `buildTerminalSettingsMenuChoices(...)`: append the canonical value-less `Reset defaults` row to the selector menu [`src/index.ts`]
1129
+ - `buildSupportedStaticCheckLanguageChoices(...)`: serialize supported languages with enablement, configured counts, and the value-less terminal reset row [`src/index.ts`]
967
1130
  - `getSupportedStaticCheckLanguageSupport(...)`: enumerate supported languages and extensions [`src/core/static-check.ts`]
968
1131
  - `getSupportedStaticCheckLanguages(...)`: enumerate canonical supported languages [`src/core/static-check.ts`]
969
- - `buildTerminalSettingsMenuChoices(...)`: append canonical terminal rows to the selector menu [`src/index.ts`]
970
- - `buildConfiguredStaticCheckLanguageChoices(...)`: serialize configured languages plus terminal rows for removal flows [`src/index.ts`]
1132
+ - `buildTerminalSettingsMenuChoices(...)`: append the canonical value-less `Reset defaults` row to the selector menu [`src/index.ts`]
1133
+ - `buildConfiguredStaticCheckLanguageChoices(...)`: serialize configured languages plus the value-less terminal reset row for removal flows [`src/index.ts`]
971
1134
  - `getSupportedStaticCheckLanguageSupport(...)`: enumerate supported languages and extensions [`src/core/static-check.ts`]
972
1135
  - `getSupportedStaticCheckLanguages(...)`: enumerate canonical supported languages [`src/core/static-check.ts`]
973
- - `buildTerminalSettingsMenuChoices(...)`: append canonical terminal rows to the selector menu [`src/index.ts`]
1136
+ - `buildTerminalSettingsMenuChoices(...)`: append the canonical value-less `Reset defaults` row to the selector menu [`src/index.ts`]
974
1137
  - `resetStaticCheckConfig(...)`: restore documented per-language static-check defaults [`src/index.ts`]
975
1138
  - `getDefaultStaticCheckConfig(...)`: build documented per-language static-check defaults [`src/core/config.ts`]
976
1139
  - `createStaticCheckLanguageConfig(...)`: clone checker entries and derive the enable flag [`src/core/config.ts`]
977
1140
  - `createStaticCheckLanguageConfig(...)`: create empty per-language configs for toggle and removal flows [`src/core/config.ts`]
978
1141
  - `shellSplit(...)`: parse optional parameter input [`src/core/utils.ts`]
979
- - `configurePiUsereqToolsMenu(...)`: interactive active-tool editor without a status-reference action [`src/index.ts`]
1142
+ - `configurePiUsereqToolsMenu(...)`: interactive active-tool editor whose per-tool toggle submenu keeps focus while cycling `on|off` values [`src/index.ts`]
980
1143
  - `applyConfiguredPiUsereqTools(...)`: enforce configured active-tool set [`src/index.ts`]
981
1144
  - `getConfiguredEnabledPiUsereqTools(...)`: canonicalize configured enabled tools [`src/index.ts`]
982
1145
  - `normalizeEnabledPiUsereqTools(...)`: canonicalize configurable active tools [`src/core/pi-usereq-tools.ts`]
@@ -987,30 +1150,30 @@
987
1150
  - `getConfiguredEnabledPiUsereqTools(...)`: canonicalize configured enabled tools [`src/index.ts`]
988
1151
  - `normalizeEnabledPiUsereqTools(...)`: canonicalize configurable active tools [`src/core/pi-usereq-tools.ts`]
989
1152
  - `getPiUsereqStartupTools(...)`: enumerate configurable tools from runtime inventory in documented menu order [`src/index.ts`]
990
- - `buildPiUsereqToolToggleChoices(...)`: serialize per-tool startup-toggle rows plus terminal reset/save actions [`src/index.ts`]
991
- - `buildTerminalSettingsMenuChoices(...)`: append canonical terminal rows to the selector menu [`src/index.ts`]
992
- - `configureDebugMenu(...)`: interactive debug editor for global enablement, log path, status-change logging, dedicated workflow-event logging, workflow filters, reset confirmation, and per-tool plus per-prompt toggles [`src/index.ts`]
993
- - `buildDebugMenuChoices(...)`: serialize global debug controls, workflow-event toggles, canonical tool and prompt toggles, and terminal rows [`src/index.ts`]
1153
+ - `buildPiUsereqToolToggleChoices(...)`: serialize per-tool startup-toggle rows plus the value-less terminal reset action [`src/index.ts`]
1154
+ - `buildTerminalSettingsMenuChoices(...)`: append the canonical value-less `Reset defaults` row to the selector menu [`src/index.ts`]
1155
+ - `configureDebugMenu(...)`: interactive debug editor with in-place enable or disable toggles, workflow filters, reset confirmation, and per-tool plus per-prompt selectors [`src/index.ts`]
1156
+ - `buildDebugMenuChoices(...)`: serialize global debug controls, workflow-event toggles, canonical tool and prompt toggles, and the value-less terminal reset row [`src/index.ts`]
994
1157
  - `buildDebugMenuChoice(...)`: dim and disable locked debug rows while global debug is off [`src/index.ts`]
995
1158
  - `getDebugToolToggleNames(...)`: enumerate debuggable tool names in canonical grouped order [`src/index.ts`]
996
1159
  - `selectDebugLogOnStatus(...)`: select one explicit workflow-state filter or `any` [`src/index.ts`]
997
1160
  - `confirmResetChanges(...)`: require explicit approval before applying reset mutations [`src/index.ts`]
998
1161
  - `resetDebugConfigToDefaults(...)`: restore the debug configuration subtree to documented defaults [`src/index.ts`]
999
- - `configurePiNotifyMenu(...)`: interactive notify, sound, and Pushover editor with credential-locked enablement, immediate-save mutations, reset confirmation, and dedicated event submenus [`src/index.ts`]
1000
- - `buildPiNotifyMenuChoices(...)`: serialize command-notify, sound, and Pushover blocks plus shared-event submenu launchers and terminal rows [`src/index.ts`]
1162
+ - `configurePiNotifyMenu(...)`: interactive notify, sound, and Pushover editor with in-place global toggles, credential-locked enablement guidance text, immediate-save persisted boot-sound mutations, reset confirmation, and dedicated event submenus [`src/index.ts`]
1163
+ - `buildPiNotifyMenuChoices(...)`: serialize command-notify, sound, and Pushover blocks plus shared-event submenu launchers and the value-less terminal reset row, including boot-sound rows sourced from persisted config [`src/index.ts`]
1001
1164
  - `buildPiNotifyEventLauncherChoice(...)`: serialize one event-submenu launcher row with a compact enabled-toggle summary [`src/index.ts`]
1002
- - `buildPiNotifyPushoverRows(...)`: serialize direct Pushover rows with locked enablement plus the shared event-submenu launcher [`src/index.ts`]
1003
- - `buildTerminalSettingsMenuChoices(...)`: append canonical terminal rows [`src/index.ts`]
1004
- - `configurePiNotifyEventMenu(...)`: interactive completed/interrupted/failed event editor for one notification transport [`src/index.ts`]
1005
- - `buildPiNotifyEventMenuChoices(...)`: serialize shared event rows plus submenu reset/save actions [`src/index.ts`]
1165
+ - `buildPiNotifyPushoverRows(...)`: serialize direct Pushover rows with locked enablement guidance text plus the shared event-submenu launcher [`src/index.ts`]
1166
+ - `buildTerminalSettingsMenuChoices(...)`: append the canonical value-less `Reset defaults` row [`src/index.ts`]
1167
+ - `configurePiNotifyEventMenu(...)`: interactive completed/interrupted/failed event editor that keeps focus while toggling `on|off` rows for one notification transport [`src/index.ts`]
1168
+ - `buildPiNotifyEventMenuChoices(...)`: serialize shared event rows plus the submenu reset action [`src/index.ts`]
1006
1169
  - `resetPiNotifyEventMenuToDefaults(...)`: restore default event toggles for one notification transport [`src/index.ts`]
1007
1170
  - `resolvePiNotifyEventLabel(...)`: map one event-toggle key to the human-readable menu label [`src/index.ts`]
1008
1171
  - `togglePiNotifyFlag(...)`: toggle one persisted boolean notification setting [`src/index.ts`]
1009
1172
  - `togglePiNotifyFlag(...)`: toggle one persisted boolean notification setting [`src/index.ts`]
1010
- - `selectPiNotifySoundLevel(...)`: present the `Enable sound` selector with subtree-local reset/save actions [`src/index.ts`]
1011
- - `buildTerminalSettingsMenuChoices(...)`: append canonical terminal rows to the selector menu [`src/index.ts`]
1012
- - `selectPiNotifyPushoverPriority(...)`: present the `Normal|High` priority selector with subtree-local reset/save actions [`src/index.ts`]
1013
- - `buildTerminalSettingsMenuChoices(...)`: append canonical terminal rows to the selector menu [`src/index.ts`]
1173
+ - `selectPiNotifySoundLevel(...)`: present the `Enable sound (boot value)` selector while preserving the active runtime sound level [`src/index.ts`]
1174
+ - `buildTerminalSettingsMenuChoices(...)`: append the canonical value-less `Reset defaults` row to the selector menu [`src/index.ts`]
1175
+ - `selectPiNotifyPushoverPriority(...)`: present the `Normal|High` priority selector with the subtree-local reset action [`src/index.ts`]
1176
+ - `buildTerminalSettingsMenuChoices(...)`: append the canonical value-less `Reset defaults` row to the selector menu [`src/index.ts`]
1014
1177
  - `resetPiNotifyConfigToDefaults(...)`: restore notification settings to documented defaults [`src/index.ts`]
1015
1178
  - `getDefaultConfig(...)`: restore default config on reset and subtree-local selector resets [`src/core/config.ts`]
1016
1179
  - `normalizeEnabledPiUsereqTools(...)`: canonicalize configurable active tools [`src/core/pi-usereq-tools.ts`]