Commit Graph

  • 635679c13d docs: DataDome 401/403 findings (Reuters, Libération) master kyle 2026-10-02 17:08:35 -07:00
  • 682b9b8044 docs(search): don't threshold JSON score as Tavily 682b9b8044 kyle 2026-09-29 15:33:57 -07:00
  • 8b26776cdd feat(search): P3.1 filters and multi-query merge kyle 2026-09-29 15:30:19 -07:00
  • 5c6a4a40ec docs: P3.1 E1–E3 exact_match quotes, domain OR, Warn comment kyle 2026-09-29 15:11:28 -07:00
  • 73ff7b6bb2 docs: P3.1 fold Claude R1–R10 before titan kyle 2026-09-29 15:09:17 -07:00
  • 7f4f0d50bf docs: P3.1 search filters and multi-query merge kyle 2026-09-29 15:03:14 -07:00
  • 5a59f7ae22 Merge P6: asynchronous batch fetch (POST /v1/batch, status, one result, cancel; sift batch) kyleandClaude Opus 5.5 2026-09-26 23:28:23 -07:00
  • a452aa16a1 P6 review: runner shutdown, cancel-while-busy, concurrent submits, batch-off 503, transactional store, CLI 202 kyleandClaude Opus 5.5 2026-09-26 23:27:47 -07:00
  • be48ecb550 cli: sift batch submit|status|get|cancel; README and skill kyleandornith-1.5-35b-a3b 2026-09-26 23:13:48 -07:00
  • 484c33f986 serve: [batch] config; open the store, reap jobs killed by a restart, start the runner kyleandornith-1.5-35b-a3b 2026-09-26 23:06:46 -07:00
  • 692a334c09 api: /v1/batch — submit, status summary, one result, cancel kyleandornith-1.5-35b-a3b 2026-09-26 22:59:05 -07:00
  • 72e0828360 api: NewBatchRunner — the batch fetch adapter, retry on busy, outcome metrics kyleandornith-1.5-35b-a3b 2026-09-26 22:43:28 -07:00
  • 0d923bc366 api: v1fetch's per-target pipeline becomes fetchTarget (no behaviour change) kyleandornith-1.5-35b-a3b 2026-09-26 22:34:56 -07:00
  • e0168f7d65 metrics: sift_batch_* series (jobs, targets, depth, in-flight, durations, bytes) kyleandornith-1.5-35b-a3b 2026-09-26 22:21:59 -07:00
  • 816a76fe5b batch: workers — round-robin, serial per job, busy retry, cancel in flight, hooks kyleandornith-1.5-35b-a3b 2026-09-26 22:18:35 -07:00
  • 0e691a6b4f Merge master into p6: task 03 design section kyleandClaude Opus 5.5 2026-09-26 21:49:42 -07:00
  • 38f0689ae3 P6 task 03: an explicit Design section (state, worker loop, Cancel, Close) after the first attempt spent its whole reply deliberating the concurrency kyleandClaude Opus 5.5 2026-09-26 21:49:35 -07:00
  • e2ddb2e9d7 batch: runner core — types, Submit with idempotency and caps, Status, Touch, Cancel kyleandornith-1.5-35b-a3b 2026-09-26 21:30:35 -07:00
  • 013a39cb4b Merge master into p6: the task 02 split, guard.PreCheck, AGENTS.md rule 6 kyleandClaude Opus 5.5 2026-09-26 21:14:22 -07:00
  • 103ec3d05a P6 during the run: split the runner task (02 core, 03 workers); guard.PreCheck as an owner commit; AGENTS.md: write code into files early kyleandClaude Opus 5.5 2026-09-26 21:14:08 -07:00
  • 2529cb8e84 dcache: batch job and target tables with a sliding lease, sweep and byte budget kyleandornith-1.5-35b-a3b 2026-09-26 20:38:42 -07:00
  • 583a35883d PLAN: future work — digest retrieval misses terse summary facts (RP2040 PIO count, prod check after P5b) kyleandClaude Opus 5.5 2026-09-26 20:34:57 -07:00
  • 94da9d9127 skill: confirm numbers and counts from a digest with --grep; the question refusal is now only past 5000 chunks kyleandClaude Opus 5.5 2026-09-26 20:33:19 -07:00
  • bdc093ee02 Merge the P6 plan (asynchronous batch fetch), revised after owner review; Kyle to re-review kyleandClaude Opus 5.5 2026-09-26 20:18:24 -07:00
  • 6e0949d58f Merge P5c: POST /v1/extract and sift extract (PDFs already on a host) kyleandClaude Opus 5.5 2026-09-26 19:56:53 -07:00
  • a804f5ac93 P5c review: bound concurrent uploads; warnings is a list; sift extract keeps a base-URL path kyleandClaude Opus 5.5 2026-09-26 19:56:49 -07:00
  • 3a3a470cd7 cli: sift extract uploads a local PDF; README and skill kyleandornith-1.5-35b-a3b 2026-09-26 19:52:09 -07:00
  • 7c40531891 api: POST /v1/extract answers an uploaded PDF like a fetched one (content-addressed cache) kyleandornith-1.5-35b-a3b 2026-09-26 19:37:45 -07:00
  • 0481b6e32f Merge P5b: long-document questions (page-aware chunks, BM25 first, cached embeddings built in the background) kyleandClaude Opus 5.5 2026-09-26 19:02:55 -07:00
  • 64d08a358d P5b review: background embedder re-queues a failed document and waits for a busy gate; no empty vectors cached kyleandClaude Opus 5.5 2026-09-26 19:02:51 -07:00
  • 8cdb3e8537 api: questions on long PDFs are answered (retrieval in the digest meta); README and skill kyleandornith-1.5-35b-a3b 2026-09-26 18:52:28 -07:00
  • f6644c9278 digest: cache chunk embeddings; long documents answer from BM25 while embedding in the background kyleandornith-1.5-35b-a3b 2026-09-26 18:44:28 -07:00
  • 300b46bb67 PLAN: future work — paywalled pages to archive snapshots (Kyle, possible P7) kyleandClaude Opus 5.5 2026-09-26 18:05:55 -07:00
  • 7b7eb4e19b P5b README: changes during the run (KV overflow on run 1; my fixture-size bug in task 02's given test) kyleandClaude Opus 5.5 2026-09-26 17:58:12 -07:00
  • 7595ad8519 digest: SplitPages keeps every chunk on its page; BM25 scorer kyleandornith-1.5-35b-a3b 2026-09-26 17:33:50 -07:00
  • d52a4fa1e6 P5b given test: the embedding-cache test used a 12-page document (4.6k tokens), under SmallDoc, so the rules make it "whole", not "hybrid"; use 30 pages (11.7k tokens, 10 chunks) and assert the precondition kyleandClaude Opus 5.5 2026-09-26 17:57:14 -07:00
  • 218eaa8b53 P6 plan, owner review folded in: caller travels with the job, 1–2 round-robin workers, busy retry, summary reads, local-only tests, 8 tasks kyleandClaude Opus 5.5 2026-09-26 17:55:50 -07:00
  • 63e70e19fc P6 plan: asynchronous batch fetch endpoint — phase spec, task plan, given tests kyleandDeepSeek V4 Pro 2026-09-26 12:07:24 -07:00
  • b1da18d49e PLAN: future work — asynchronous batch fetch endpoint (Kyle, after P5c) kyleandClaude Opus 5.5 2026-09-26 11:03:43 -07:00
  • 49d96e197b P5b and P5c plans: long-document retrieval (BM25 first, background embedding) and /v1/extract + sift extract; given tests kyleandClaude Opus 5.5 2026-09-26 11:01:18 -07:00
  • 1311cf38d4 pdfdoc test: RE2 timing bound 1 s -> 10 s (race detector made it flaky: 1.0-1.9 s) kyleandClaude Opus 5.5 2026-09-26 10:53:52 -07:00
  • c89281200a docs: bring README, skill and dist up to date through P5a kyleandClaude Opus 5.5 2026-09-26 10:21:51 -07:00
  • 01c8d9daeb Merge P5a: PDF documents (extraction in a child, pool, cache, map, pages, grep, cited digests) kyleandClaude Opus 5.5 2026-09-26 04:48:53 -07:00
  • 7bfe567223 Merge remote-tracking branch 'origin/master' into p5a p5a kyle 2026-09-26 04:48:21 -07:00
  • aafc1d1c28 P5a review: outlines from named destinations; pool race; fast over-limit; revalidation under the limiter; Accept pdf kyleandClaude Opus 5.5 2026-09-26 04:48:17 -07:00
  • 2eb8c843ef p5a: pdftest gains NamedDests (owner review); review notes kyleandClaude Opus 5.5 2026-09-26 04:48:13 -07:00
  • 7e78de633f P5a: digests cite pages; sift_pdf_* metrics; sift fetch --pages/--grep; skill, unit and README kyleandornith-1.5-35b-a3b 2026-09-26 04:36:49 -07:00
  • 09f738bcac api: PDF cache with revalidation; pages and grep; refuse questions on very long documents kyleandornith-1.5-35b-a3b 2026-09-26 04:23:21 -07:00
  • 93ec310113 api: serve PDFs — extraction in the child under the pool, full text or map, errors kyleandornith-1.5-35b-a3b 2026-09-26 04:04:11 -07:00
  • 9c858aded9 Merge remote-tracking branch 'origin/master' into p5a kyle 2026-09-26 03:12:35 -07:00
  • c8d0e2b44a run-plan: per-session timeout (SESSION_MAX, default 90 min) kyleandClaude Opus 5.5 2026-09-26 03:12:26 -07:00
  • 5ce625be33 p5a: split task 06 (too large: looped 3h) into 06-api-pdf and 07-api-cache-pages; old 07 is 08 kyleandClaude Opus 5.5 2026-09-26 03:12:07 -07:00
  • 41a68feb06 pdfdoc: page markers, the map for long documents, page ranges, grep kyleandornith-1.5-35b-a3b 2026-09-25 23:52:11 -07:00
  • bb9a6544d1 pdfpool: a few extraction slots, a short queue, single-flight, one job per caller kyleandornith-1.5-35b-a3b 2026-09-25 23:32:16 -07:00
  • b93b7d5816 dcache: PDF document cache (per URL and caller class, whole-document eviction) kyleandornith-1.5-35b-a3b 2026-09-25 23:05:12 -07:00
  • f57aaef59e pdftext: extract PDF text in a re-exec'd child (sift pdftext) with a deadline kyleandornith-1.5-35b-a3b 2026-09-25 22:58:05 -07:00
  • 13365a2daa clean, fetch: recognise PDFs; 100 MB / 120 s for PDFs; FetchIf revalidates kyleandornith-1.5-35b-a3b 2026-09-25 22:40:04 -07:00
  • 6a3b6dab71 run-plan: give opencode an empty stdin (1.15 waits for EOF on a piped stdin and hangs in the background) kyleandClaude Opus 5.5 2026-09-25 22:38:33 -07:00
  • 7fa5bd21b2 p5a: fix a deadlock in the given TestFetchIf (lock held across a request); run notes kyleandClaude Opus 5.5 2026-09-25 21:45:57 -07:00
  • cfde35397a P5a plan: PDF documents — seven Ornith tasks with acceptance tests first p5a-plan kyleandClaude Opus 5.5 2026-09-25 20:47:38 -07:00
  • 3f2b78d4aa docs: P5a — PDF documents (pure-Go extract in a re-exec'd child, per-page cache, map, pages/grep, 2-worker pool) kyleandClaude Opus 5.5 2026-09-25 20:19:39 -07:00
  • 4372673184 p2.7: prometheus /metrics kyle 2026-09-23 21:49:38 -07:00
  • c19a58d1e3 docs: P2.7 prometheus /metrics kyle 2026-09-23 21:36:48 -07:00
  • e62cfc8660 p3: no Tavily daily cap for restricted callers kyle 2026-09-23 16:27:07 -07:00
  • 1c57845ebd p3: keep original URLs on RRF/dedupe; rerank=false is not a merge kyle 2026-09-23 16:04:45 -07:00
  • b6e1cdf825 p3: map Brave LLM Context; RRF merge; per-source no_rerank kyle 2026-09-23 16:02:21 -07:00
  • eb4e46d036 p3: blind titles, cap snippets, equalise k; abort cached dumps kyle 2026-09-23 15:32:45 -07:00
  • 7558eca46d p3: bake-off collector that refuses a mislabelled dump kyle 2026-09-23 15:29:46 -07:00
  • 35e2356541 p3: actually blind bake-off packs kyle 2026-09-23 14:13:26 -07:00
  • 9a8dae3948 p3: harvest 28 bake-off queries with targets and blind protocol kyle 2026-09-23 14:09:42 -07:00
  • 8ca3adec9e cli: do not fall through to ~/.config from a non-default HERMES_HOME kyle 2026-09-23 12:39:17 -07:00
  • 429f6b207e p3: tavily parse errors degrade; retry DNS on search kyle 2026-09-23 12:22:31 -07:00
  • f748e695b1 p2.6: warn when permit_restricted has no key kyle 2026-09-23 12:19:10 -07:00
  • d7873403ff p3: search API, pinned sources, cache, CLI kyle 2026-09-23 12:17:51 -07:00
  • 3687636ed7 p2.6: partition dcache by caller class; pin restricted workspace kyle 2026-09-23 11:51:39 -07:00
  • 7be4ed1d43 p2.5: redact reason/err for permit_restricted logs kyle 2026-09-23 11:47:37 -07:00
  • 2d376d3ad1 docs: P3 spec — search API, sources, cache, bake-off kyle 2026-09-23 11:43:03 -07:00
  • 85113f9c0b p2.5: log host=- for permit_restricted callers kyle 2026-09-23 11:40:45 -07:00
  • e36da19f57 p2.4: restricted workspace for permitted callers kyle 2026-09-23 08:33:58 -07:00
  • 14eb7808ce docs: skill matches shipped P2 (no search, recover, fallback cap) kyle 2026-09-23 06:00:50 -07:00
  • 767c12c1af p2.3: pin chunk 0, hybrid score, keep question on retry kyle 2026-09-23 03:18:29 -07:00
  • 5dbc7e4094 p2.2: cap embed inputs at 3000 runes, retry too-large 500 kyle 2026-09-23 03:03:11 -07:00
  • 16a7d678d3 p2.1: honcho-embed, wayback http/204, memento, keys owner kyle 2026-09-23 02:41:46 -07:00
  • 2db001e0d7 p2: 120s write timeout and flags after the URL kyle 2026-09-23 00:28:59 -07:00
  • a992216ec0 p2: widen document fence for space and zero-width kyle 2026-09-23 00:09:14 -07:00
  • ff87a04f94 p2: fence document tags, atomic fleetctx, harden workspace kyle 2026-09-23 00:01:04 -07:00
  • 2f9d3d97e6 p2: digest with in-sift FIFO, SQLite caches, Honcho context, recover kyle 2026-09-22 23:54:49 -07:00
  • 505e113b64 docs: P2 scope line matches §2a caches kyleandClaude Opus 5.5 2026-09-22 23:47:24 -07:00
  • 9f8d9f4f13 docs: P2 — bounded in-sift queue; digest + chunk-embedding caches pulled forward kyleandClaude Opus 5.5 2026-09-22 23:47:09 -07:00
  • cb0cb83fb9 docs: P2 spec — digest (bounded, streaming, thinking off), Honcho context (guardian-star refused), recover ladder kyleandClaude Opus 5.5 2026-09-22 23:43:40 -07:00
  • 0598c8985b p1.1: note IPv4-only self-IP assumption kyle 2026-09-22 23:01:19 -07:00
  • 447842f860 p1.1: dynamic self-IP deny (DDNS/trace, keep previous, atomic swap) kyle 2026-09-22 22:59:08 -07:00
  • dca635fb62 p1: vendorHash = null when vendor/ is committed kyle 2026-09-22 22:27:24 -07:00
  • fac1462e7b p1: ExecStart must invoke sift serve kyle 2026-09-22 22:11:28 -07:00
  • d404657820 docs: P1.1 dynamic self-IP deny (DDNS/trace discovery, keep previous, atomic swap) kyleandClaude Opus 5.5 2026-09-22 22:06:20 -07:00
  • 8e3a6cd339 p1: cap jq output, log refusals, fail contract without SDK kyle 2026-09-22 22:02:38 -07:00
  • 9444a35322 p1: /v2/scrape, /v1/fetch, auth, CLI, contract tests kyle 2026-09-22 21:54:01 -07:00
  • 6cb206fb27 docs: P1 spec — clean fetch, auth, CLI, contract facts from firecrawl-py 4.17.0, talos wiring kyleandClaude Opus 5.5 2026-09-22 21:38:29 -07:00
  • 099b94979c p0: IANA special-purpose deny table, extra deny prefixes kyle 2026-09-22 21:33:52 -07:00
  • 3b41d6ffbc plan: UA decided — default sift/<ver>, config override, measure bot-blocks kyleandClaude Opus 5.5 2026-09-22 21:28:04 -07:00