Skip to content

Commit 5252efc

Browse files
mpstatonclaude
andcommitted
new(changelog, context-v): ship-log the didi crawl; plan flips to Shipped, spec revision v0.1.2.1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UvYzx7vDWeafnkAi2nEQeb
1 parent 72cf25d commit 5252efc

3 files changed

Lines changed: 91 additions & 1 deletion
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
date_created: 2026-07-24
3+
date_modified: 2026-07-24
4+
title: "Didi crawls the web — three targets, one relevance brief, candidates never writes"
5+
lede: "The workbench's 🤖 era begins: one organization.crawl capability (Sonnet + Anthropic server-side web search) crawls for relevant identity links, pulse streams, or team members, steered by a per-workspace operator-editable relevance brief — proven live against Aspen in 65 seconds with the brief visibly shaping what came back."
6+
publish: true
7+
authors:
8+
- Michael Staton
9+
augmented_with:
10+
- Claude Code on Claude Fable 5
11+
files_changed:
12+
- services/prompt-runner/src/crawl.ts
13+
- services/prompt-runner/src/server.ts
14+
- services/workspace/src/chat.ts
15+
- services/workspace/src/capabilities.ts
16+
- services/record-surrealdb-resolver/src/resolver.ts
17+
- services/record-surrealdb-resolver/src/handlers.ts
18+
- apps/search-and-add/src/App.svelte
19+
- apps/search-and-add/src/lib/search-client.ts
20+
- apps/search-and-add/src/lib/types.ts
21+
- apps/org-workbench/src/AdditiveList.svelte
22+
- apps/org-workbench/src/OrgCard.svelte
23+
- apps/org-workbench/src/App.svelte
24+
- apps/org-workbench/src/PeopleReveal.svelte
25+
- apps/org-workbench/src/StagedPeople.svelte
26+
- apps/org-workbench/src/BriefPanel.svelte
27+
- apps/org-workbench/src/lib/org-client.ts
28+
- apps/org-workbench/src/lib/types.ts
29+
- apps/org-workbench/src/app.css
30+
tags:
31+
- Didi-Crawl
32+
- Org-Workbench
33+
- Search-And-Add
34+
- Relevance-Brief
35+
- Prompt-Runner
36+
- Affiliations
37+
---
38+
39+
# Didi crawls the web
40+
41+
## What shipped ([#33](https://github.com/lossless-group/augment-it/issues/33))
42+
43+
The operator's insight driving the whole build: *web-search-equipped agents
44+
get this retrieval shape mostly right, quickly* — so the manual
45+
query-composing 🔍 gains an agentic sibling. One capability,
46+
`organization.crawl`, served by prompt-runner (the LLM gateway): a single
47+
Sonnet turn with Anthropic server-side web search composes the queries,
48+
searches, filters by the relevance brief, and returns **candidates — never
49+
writes**. Three targets:
50+
51+
- **"crawl for relevant identity links"** → 🤖 on the links list → the
52+
search-and-add rail's new **crawl mode** (scan-mode's twin: no term bar,
53+
same results list, per-row ➕ — now carrying the model's `kind` into the
54+
write instead of re-inferring it).
55+
- **"crawl for relevant pulse streams"** → same door; a stream's real title
56+
("Today's Credentials") rides the ➕ as its `name`.
57+
- **"crawl for relevant team members"** → 🤖 on People → candidates stage in
58+
the new `StagedPeople` section: accept runs the candidate check —
59+
no-match rows flow straight through `person.apply` + `person.affiliate`
60+
(team-page URL as the observation's source), ambiguous rows open the
61+
pick-or-create gate. The people-policy filter is never silent
62+
(`filtered_note` renders under the staged rows).
63+
64+
## The relevance brief
65+
66+
`relevance_briefs` in SurrealDB behind `client.brief.get`/`set` — one prose
67+
document per workspace client carrying the topical scope and the people
68+
policy, edited in place via the workbench header's 📋 panel, loaded
69+
server-side into every crawl so the button door and the (chat-legal, per
70+
`CHAT_CAPABILITY_NAMES`) chat door read the same intent. reach-edu's brief
71+
is seeded with the operator's stated policy: education & workforce
72+
development, all major leadership plus covering team members.
73+
74+
## Proven live
75+
76+
Smoke over NATS against the Aspen safe target: brief upsert + read-back
77+
clean; the links crawl returned in **65 seconds** with 8 correctly-kinded
78+
candidates, all deduped against what the org already had — and one that
79+
only a brief-steered agent would rank: the Education & Society Program's
80+
LinkedIn, tagged "directly relevant to education and workforce development
81+
focus." Candidates only; the canonical layer untouched.
82+
83+
Typechecks and svelte-checks clean across three services and both remotes;
84+
all three service containers rebuilt. Remaining human rung: the operator
85+
walk-through (crawl a thin org's three lists end to end; edit the brief and
86+
watch selection change) — and the chat-rail conversational door rides the
87+
didi-chat team-page plan.

context-v/plans/Didi-Crawl-Three-Targets-Relevance-Brief-And-Staged-Team-Ingest.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ tags:
1616
- Didi-Chat
1717
- Crawl
1818
- Relevance-Brief
19-
status: Implementing
19+
status: Shipped
20+
date_first_published: 2026-07-24
21+
post_ship_note: "Shipped same-day in 72cf25d (gh #33). Live-proven: brief round-trip + a 65s Aspen links crawl, 8 correctly-kinded deduped candidates incl. a brief-steered find. Deviations: none of substance — the search-and-add ➕ passes the model's kind/name through addResult (small extension the plan implied), and StagedPeople remounts per-crawl via a keyed block. Chat door is capability-legal only; conversational plumbing stays with the didi-chat plan."
2022
---
2123

2224
# Didi crawl — the v1.2 build

context-v/specs/Augment-From-DB-Flow.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ date_first_published: 2026-07-22
1212
exploration_of_record: "[[../explorations/Augment-From-DB-Flow-Two-New-Microfrontends]]"
1313
post_ship_note: "All five phases implemented, proven, and pushed on 2026-07-22 (attempt(augment-from-db, …, step1–5)). Pending: the operator browser walk-throughs each phase plan names, and the parked open questions (fire-log persistence, pack-template seed terms, pinned-deploy env-configurable remote URLs). Deviations from the as-specced snippets are recorded in each phase plan's post_ship_note — notably organization.streams.add (a verb the spec missed), the localStorage-hardened D2 launch contract, and relevance as string|null."
1414
revisions:
15+
- "2026-07-24 — v0.1.2.1: §v1.2 IMPLEMENTED same day ([[../plans/Didi-Crawl-Three-Targets-Relevance-Brief-And-Staged-Team-Ingest]], changelog 2026-07-24_06, gh #33): organization.crawl in prompt-runner (Sonnet + server-side web_search), relevance_briefs + client.brief.get/set + BriefPanel, search-and-add crawl mode, StagedPeople team ingest, chat-legal capability. Open questions closed: substrate = model-with-web-search (packs remain the manual 🔍's); brief storage = server-side resolver-owned; candidate UI = search-and-add reuse for links/streams, workbench staging for team."
1516
- "2026-07-24 — v0.1.2.0: third crawl target added to §v1.2 — 'crawl for relevant team members' (the team-page identifier + ingester): agent finds team/leadership pages, extracts people, selects per the relevance brief's people policy (default: all major leadership + all team members covering Education & Workforce Development and related strategies/topics), stages into the didi-chat team-page plan's verify-then-write flow. Relevance brief now explicitly carries topical scope AND people policy."
1617
- "2026-07-24 — v0.1.1.0: §v1.2 extensions added — the coverage roster recorded as shipped (OrgRoster + organization.roster, gh #32, un-deferring #20's layer 2), and the didi agent-crawl capability specified: 'crawl for relevant identity links / pulse streams' as chat verb AND list button (one implementation, two triggers), candidates-into-state never direct writes, driven by a per-workspace operator-editable relevance brief. Plan pending; composes with the didi-chat team-page plan."
1718
- "2026-07-22 — v0.1.0.0: status → Shipped. Phases 2–5 executed same day ([[../plans/Augment-From-DB-Phase-2-Org-Workbench-Remote]], [[../plans/Augment-From-DB-Phase-3-Search-And-Add-Remote]], [[../plans/Augment-From-DB-Phase-4-People-Reveal-And-Add-Person]], [[../plans/Augment-From-DB-Phase-5-Stream-Scan-Mode]]; changelog 2026-07-22_02 through _05). Both remotes live (:3014, :3016); stream-scan flip-test proven against Aspen's blog."

0 commit comments

Comments
 (0)