Skip to content

replace flock-based daemon liveness with socket-ping detection#4

Merged
rsnodgrass merged 1 commit intomainfrom
ajit/rec_019c688a-19c0-76f7-8763-597f072fc52f
Feb 17, 2026
Merged

replace flock-based daemon liveness with socket-ping detection#4
rsnodgrass merged 1 commit intomainfrom
ajit/rec_019c688a-19c0-76f7-8763-597f072fc52f

Conversation

@port8080
Copy link
Copy Markdown
Contributor

@port8080 port8080 commented Feb 17, 2026

Summary

  • Replace flock-based daemon singleton enforcement with socket-ping liveness detection
  • Remove all lock files (.lock), platform-specific flock/LockFileEx code, and setsid/detach logic
  • Claude manages the daemon process lifecycle — flock mutual exclusion is unnecessary
  • If two daemons briefly overlap, the inactivity timeout cleans up the stale one harmlessly
  • IsRunning() now pings the Unix socket (100ms timeout) instead of checking flock
  • IsHealthy() distinguishes "no socket" (not running) from "socket exists but unresponsive" (hung)

Discussion

https://www.sageox.ai/team/team_jihjpfkt8b/media/recordings/rec_019c688a-19c0-76f7-8763-597f072fc52f

Session

https://www.sageox.ai/repo/repo_019c5812-01e9-7b7d-b5b1-321c471c9777/sessions/2026-02-17T11-44-user-OxIOgz/view

Test plan

  • make lint — 0 issues
  • make test — all passing
  • Manual: ox agent prime starts daemon, ox daemon status confirms
  • Manual: ox status without daemon — works, shows daemon not running
  • Manual: SAGEOX_DAEMON=false ox agent prime — no daemon starts
@port8080
Copy link
Copy Markdown
Contributor Author

@port8080 port8080 requested a review from rsnodgrass February 17, 2026 20:26
@rsnodgrass rsnodgrass merged commit c74bbdc into main Feb 17, 2026
@rsnodgrass rsnodgrass deleted the ajit/rec_019c688a-19c0-76f7-8763-597f072fc52f branch February 17, 2026 20:27
port8080 added a commit that referenced this pull request Feb 18, 2026
port8080 added a commit that referenced this pull request Feb 18, 2026
port8080 added a commit that referenced this pull request Feb 18, 2026
port8080 added a commit that referenced this pull request Feb 18, 2026
@rsnodgrass rsnodgrass added session SageOx Session sageox SageOx Links labels Feb 18, 2026
jmf-pobox added a commit to punt-labs/quarry that referenced this pull request Feb 28, 2026
Examined sageox/ox#4. The product surface is a conversation recording
link and a session link in the PR body. The hosted web UI is for
browsing. The capture mechanism is logging.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jmf-pobox added a commit to punt-labs/quarry that referenced this pull request Feb 28, 2026
* fix: hook matcher now matches standalone MCP tool names

The PostToolUse suppress-output hook only matched plugin-namespaced
tool names (mcp__plugin_quarry_quarry__*). Standalone MCP servers
use mcp__quarry__* which the matcher missed, causing raw JSON output
in non-plugin sessions.

Closes quarry-fsx

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: route /quarry sync through background CLI to avoid blocking

The sync_all_registrations MCP tool blocks the conversation for
10-30s with large knowledge bases. Route through `quarry sync` via
Bash run_in_background instead — user gets notified on completion
and can keep working.

Closes quarry-9cj

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: ambient knowledge vision and README update

Add research/vision.md documenting the full architecture for quarry
as Claude Code's ambient memory layer — passive learning via hooks,
active recall via session briefings and PreToolUse nudges, config-driven
selectivity via /quarry learn, and staging queue for async ingestion.

Update README Automagic Mode section to Ambient Knowledge, framing the
distinction between quarry as a tool (projections) and quarry as a
plugin (host integration that changes Claude Code's behavior).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: SageOx competitive analysis

Hosted context platform solving the same core problem (knowledge
evaporates between agent sessions). Quarry's position is open source,
local-first, individual/small-team — not enterprise. Notes git-based
team sharing as a potential future direction.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: soften provenance distinction in competitive analysis

Provenance is logging with correlation — save the conversation, save
the commit, tag them together. Quarry's learning hooks already produce
the raw material. The sharp line between knowledge tools and provenance
tools was overstated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: add SageOx PR analysis — two URLs is the whole product

Examined sageox/ox#4. The product surface is a conversation recording
link and a session link in the PR body. The hosted web UI is for
browsing. The capture mechanism is logging.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: add shadow branch storage model to vision

Following Entire.io's pattern (entire/checkpoints/v1), captured
content could live on a git shadow branch — pushed alongside code
via pre-push hook, pulled by teammates, vectorized locally. Simplest
possible team sharing: no server, no accounts, git handles sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: quarry as force multiplier for design tools

PR/FAQ meeting transcripts, Z spec elaborations, risk assessments,
and competitive analyses are high-value design artifacts locked in
single conversations. Quarry's ambient capture makes them searchable
across sessions — design tools become cumulative rather than starting
from zero each time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: PR/FAQ for Quarry Ambient Knowledge vision

New hypothesis-stage PR/FAQ exploring quarry as Claude Code's ambient
memory layer. Two loops: passive learning captures web research and
session transcripts; active recall nudges Claude before redundant web
searches. Includes researcher-verified evidence (Qodo survey, Entire.io,
SageOx, Limitless/Meta), competitive landscape with Windsurf Cascade
Memories, and platform risk analysis.

Peer reviewed: addressed TAM grounding, Usability risk upgrade to Medium,
opportunity cost FAQ, scaling FAQ, Anthropic platform risk, and Qodo
three-tier stat accuracy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address CI and review feedback on PR #70

- Fix 15 markdownlint errors across README, research, and vision docs
  (code block language tags, blank lines around lists, bare URLs)
- Replace absolute paths with relative links in research file
- Qualify README ambient knowledge section as planned/future behavior
- Add --db awareness note to /quarry sync command
- Document PR workflow with gh pr checks/comments in CLAUDE.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sageox SageOx Links session SageOx Session

2 participants