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

@rsnodgrass
This is how we do programming the SageOx way
https://github.com/user-attachments/assets/165dcea6-2b8d-4fc3-93b9-8202df4b5b48

@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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants