Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: EwanJasper/SessionRelay
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: rui08984-dot/SessionRelay
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 20 commits
  • 21 files changed
  • 1 contributor

Commits on Sep 22, 2026

  1. fork 0.5.1-fork.1: root-cause fixes from dist-patch era + --global si…

    …ngle-daemon mode
    
    - zcode detectCompaction: reuse cached getConn (was new Database per session per cycle, never closed - handle leak + memory sawtooth root cause, upstream #2); healthCheck closes probe conn
    - cli/service windowsRunScript: quote nodeAbs (upstream #1) + chcp 65001 for CJK paths; vbs written UTF-16LE BOM (wscript misreads UTF-8 CJK paths as GBK)
    - capture/sync: per-session content-signature watermark (adapter.changeProbe: zcode MAX(rowid) aggregate, 2 SQL/cycle; file sources mtime+size) + known-in-db guard (rebuild/forget safe) + 10-min full sweep backstop -> idle daemon CPU 7.5% -> 0.08%
    - capture/watch: per-project named-pipe single-instance lock (upstream #2 instance accumulation); worker extraction; --global mode: one process adopts all registry projects dynamically
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    28c547c View commit details
    Browse the repository at this point in the history
  2. fork: global-instance pipe lock (fixed name, cwd-independent) - secon…

    …d --global process was adopting 0 projects and idling as zombie
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    7db7ae2 View commit details
    Browse the repository at this point in the history
  3. fork: sweep stops workers whose project config.json is gone - deleted…

    … projects were unreleasable (sqlite/cmd held open by this process), now auto-pruned within one sweep
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    3da65c3 View commit details
    Browse the repository at this point in the history
  4. fork: unify pipe-lock helpers (global+project share one code path, gl…

    …obal lock released on exit); fix ensureRegistered double-call that swallowed custom-adapter load errors (upstream wart)
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    56d54d0 View commit details
    Browse the repository at this point in the history
  5. fork: decisions --limit takes the NEWEST N (was oldest-N shown as '最近…

    …决策'); upstream wart exposed by brief quality audit
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    cd0f3ab View commit details
    Browse the repository at this point in the history
  6. fork: decision plausibility guard at extraction (reject table rows / …

    …markdown fragments / embedded JSON residue) + unresolved 14-day fade in CLI
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    2f893ef View commit details
    Browse the repository at this point in the history
  7. fork: unresolved --json actually emits JSON now (registration dropped…

    … opts.json - upstream wart the brief's text-fallback was papering over)
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    9683952 View commit details
    Browse the repository at this point in the history
  8. fork (audit round): 5 fixes from pattern-scan subagent

    - mcp adopt(): close previous project's db on switch (handle leak + EBUSY vs forget/rebuild)
    - archive: days/sizeMb 0 no longer treated as unset (0-days archive-everything footgun)
    - loadConfig: corrupt config.json -> readable error instead of raw stack
    - forget: corrupt preview snapshot now REJECTS --yes (fail-safe optimistic lock)
    - annotate_session/save --tag: re-include decision texts in meta_text (viaMeta search surface)
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    c63b5da View commit details
    Browse the repository at this point in the history
  9. test: defuse time-bomb in forget A1 (fixture date was absolute, '天前' …

    …assertion broke past the 30-day boundary on Sep 19) - suite is fully green (222) for the first time
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    2ab7390 View commit details
    Browse the repository at this point in the history
  10. fork (global mode): dual-write worker logs to each project's own watc…

    …h.log - per-project logs froze forever under the global daemon, making 'watch --status' print zombie tails in non-cwd projects
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    1377b12 View commit details
    Browse the repository at this point in the history
  11. fork (hardening round): 3 root-cures from deep sweep

    - watcher: runtime 'error' events (dir deleted / overflow / AV) had no listener -> EventEmitter throw kills the whole global daemon; now degrades to the existing 1s polling fallback (self-heal)
    - insertMessage: index text capped at 100KB (jieba sync tokenize of huge tool-dump messages stalled the event loop seconds); full content still stored, only FTS coverage capped
    - zcode discover: cache by source-db mtime (idle cycles = 0 SQL instead of unindexed lower() table scan per worker per event)
    - watch: wire the local anonymous stats counter into the daemon cycle (status panel's 'ignored 0' lied vs 34 real blocks)
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    3b7d74f View commit details
    Browse the repository at this point in the history
  12. fork CRITICAL fix: discover cache was keyed by source-db mtime only -…

    … with N workers sharing one source db, projects B/C received project A's session list and ingested it as their own (cross-project contamination, live: music 42->559, novel 15->495). Key now includes project root.
    Your Name
    Your Name committed Sep 22, 2026
    Configuration menu
    Copy the full SHA
    8e49450 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2026

  1. fix(capture): incremental decision refresh + workflow-origin exclusio…

    …n (4th-project field report)
    
    From a live field report (E:/mc整合包, 4th deployment, direct SQLite forensics):
    - P0 decisions froze for 20+h on long-lived sessions: extraction only ran at
      confirm (idle 10min -> pending -> 6h cooldown -> confirm); continuously-worked
      sessions never completed the loop. Fix: refreshExtraction() now runs at every
      pending transition (10-min idle), decisions lag <= 10min. confirmSession reuses it.
    - P1 88% of extracted decisions were workflow-subagent fragments: zcode adapter
      now tags title-matched subagent sessions with originHint='workflow' -> origin
      column -> listDecisions excludes them by default (data preserved, queries clean).
      Live: 36 sessions auto-tagged, visible decisions 82 -> 20, residue 0.
    - P2 decision text hard-cut at 90 chars produced mid-sentence/trailing-bracket
      fragments: cut at nearest pause char + trim trailing closers + reject
      leading-closer fragments.
    
    Tests: 222 -> 221 pass + 1 skipped, 0 failures.
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    3e7679e View commit details
    Browse the repository at this point in the history
  2. fix(capture): applyExtraction re-includes existing user_tags in meta_…

    …text (same family as annotate/save fix - confirm/refresh path was the missed third site)
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    f17f52d View commit details
    Browse the repository at this point in the history
  3. fix(query): dedupe unresolved questions across sessions (same questio…

    …n captured twice displayed twice in briefs)
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    3b69246 View commit details
    Browse the repository at this point in the history
  4. fix(extract): anchor only the noisy weak verbs (不用/直接用/优先用/统一用) to se…

    …ntence start; 最终用/最终选 stay strong (they are genuine final-choice verbs - caught by the suite)
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    3e00e97 View commit details
    Browse the repository at this point in the history
  5. perf(judge): pending-transition refresh becomes incremental (seq wate…

    …rmark from decisions column, O(delta) instead of O(full session)); topics/summary full rebuild stays at confirm - kills the last recurring CPU/RAM burst generator on long-lived sessions
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    5d76b3f View commit details
    Browse the repository at this point in the history
  6. fix(extract): question extraction gets a fragment guard too (list/tab…

    …le/bold residue rejected); briefs read unresolved entries via q field (title-only display was a silent regression from the --json fix)
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    80e3d5a View commit details
    Browse the repository at this point in the history
  7. fix(watch): wire the anonymous stats counter into runJudge (daemon-si…

    …de confirm counts were invisible in the status panel)
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    e4b0ba6 View commit details
    Browse the repository at this point in the history
  8. test: regression locks for fork additions - origin=workflow exclusion…

    … and incremental decision refresh (seq-watermark idempotency); guards the mc-report root-cures against silent breakage
    Your Name
    Your Name committed Sep 24, 2026
    Configuration menu
    Copy the full SHA
    691084f View commit details
    Browse the repository at this point in the history
Loading