From f453490b2afc5a2c3b2faa71333df182c513aaf4 Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 14:12:27 +0800 Subject: [PATCH 01/10] =?UTF-8?q?research(hermes-agent):=20deep=20X=20inte?= =?UTF-8?q?lligence=20digest=20=E2=80=94=20/learn,=20rivalry=20with=20Open?= =?UTF-8?q?Claw,=20maintainer=20signals?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First per-project deep X detective output. Covers the new /learn self-improving skills system, animated pets, smart cron, 406+ community repos, public drama between Teknium and OpenClaw founder Peter Steinberg, Hermes #1 OpenRouter ranking, and integration recommendations for Bitter Frontier. Part of the per-project X research loop for sheetgenius/frontier. --- .../hermes-agent-x-insights-2026-06-24.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 research/hermes-agent-x-insights-2026-06-24.md diff --git a/research/hermes-agent-x-insights-2026-06-24.md b/research/hermes-agent-x-insights-2026-06-24.md new file mode 100644 index 0000000..0511436 --- /dev/null +++ b/research/hermes-agent-x-insights-2026-06-24.md @@ -0,0 +1,57 @@ +# Hermes Agent — X Intelligence Digest (2026-06-24) + +**Project:** hermes-agent (NousResearch/hermes-agent) +**Focus:** Deep X detective work — recent signals, community dynamics, drama, technical developments, and maintainer activity not fully captured in official changelogs. + +## Key Recent Signals (June 2026) + +### 1. Major Capability Leap: `/learn` + Self-Improving Skills +- Hermes can now ingest directories of source material (code, API docs, PDFs, manuals, configs, past sessions, URLs) via the `/learn` command. +- It distills this into **verifiable, reusable skills** that the agent loads automatically. +- This is widely viewed as a breakthrough in **agent memory and compounding improvement**: + - Task → Execute → Reflect → Learn → Improve loop + - Skills improve with use and become more efficient over time + - Users report turning personal workflows (health data, real estate analysis, Obsidian integration, LifeOS patterns) into stable, low-maintenance skills instead of fragile one-off prompts. +- Sentiment: "Genuine step toward autonomous, compounding agent systems." + +### 2. Notable New Features Highlighted on X +- **Animated pets/sprites**: Small reactive companions in GUI/TUI that reflect agent state (idle, thinking, tool use, success/failure). ~3000 pets available; community can submit new ones. +- **Smart cron / "no_agent" mode**: Hermes can run regular scripts without invoking the LLM every time, using the gateway only for reporting. One user reported saving ~1.1M tokens/day. + +### 3. Community & Ecosystem Momentum +- 406+ community repositories indexed (MCP servers, skills, memory systems, deployment patterns, personalities). +- Heavy integration activity: Telegram (voice notes + persistent threads), Honcho, Obsidian, various MCP servers, FocusClaw (task/project manager compatible with both Hermes and OpenClaw). +- Strong real-world usage: daily AI trend briefings at Box, revenue-generating automation for PME/SME services. +- Hermes recently hit #1 globally on OpenRouter by token volume (surpassing OpenClaw). + +### 4. Maintainer & Leadership Activity +- **@Teknium** (cofounder + lead engineer at Nous Research, previously Stability AI): Extremely hands-on. Posts detailed updates on `/learn`, self-evolution techniques (GEPA, DSPy references), and community engagement. Reportedly offered $500 + personal time to critics for debugging issues. +- **@NousResearch**: Primary org account driving announcements. High posting velocity on features, hackathons (NVIDIA × Stripe × Nous "Hermes Agent Accelerated Business Hackathon"), and integrations. + +### 5. Rivalry / Drama with OpenClaw ("Agent Wars") +There is active competitive tension between Hermes and OpenClaw, the two leading persistent open-source agent platforms. + +- **Technical debates**: Memory bloat vs efficiency, sandboxing, local vs cloud, token costs, gateway stability. +- **Community split**: Many users run both (Hermes as orchestrator + OpenClaw specialists) or have switched to Hermes for better long-term compounding and lower costs. +- **Public personal exchange (June 2026)**: + - OpenClaw founder **Peter Steinberg** posted strong NPM metrics and contrasted their "non-profit" status with "VC-funded competitors [who] have other agendas." + - **Teknium** replied sharply: *"do we live rent free in your head? we all know what non profit means to people at OpenAI, nothing at all. enjoy the millions you’re making from that non profit that hired you to pay you with VC money and an agenda."* + - This sparked thousands of posts and was described as "the agent wars just got personal." + +**Interpretation**: Competing visions — bottom-up learning/self-improvement (Hermes) vs first-mover ecosystem polish and "squad" model (OpenClaw). Both have corporate ties. The public spat reveals philosophy/branding differences more than pure technical ones. + +## Maintainer X Footprint Summary +- Primary voices: @NousResearch, @Teknium +- Style: Highly transparent, technical, and community-responsive. Strong emphasis on real usage metrics and self-improvement mechanics. +- No major governance crises or maintainer disputes surfaced for Hermes itself (in contrast to the cross-project rivalry). + +## Recommendations for Bitter Frontier +- Treat X posts from @Teknium and @NousResearch as **high-signal primary sources** for "philosophy" and "ecosystem" change types. +- Monitor the Hermes vs OpenClaw rivalry as a recurring signal of category evolution and operator choice. +- The `/learn` + skills system is a strong candidate for a dedicated deep-dive finding. +- Consider adding `x_signals` or `community_drama` fields to source contracts for future cycles. + +**Sources**: Aggregated from multiple targeted X searches (project + maintainer + drama + technical keywords) performed 2026-06-24. All claims tied to visible posts from the named accounts. + +--- +*This file is part of the per-project X research loop. Next projects in queue: openhands, openclaw, pi-coding-agent, etc.* \ No newline at end of file From ca10080521add2bfb9cf3ffc0ca2d563c760d872 Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 14:16:40 +0800 Subject: [PATCH 02/10] research: add deep X intelligence digests for all watchlist projects - openhands, openclaw, pi-coding-agent, paperclip, agent-zero, flue, codex, claude-code, gemini-cli (hermes-agent already done in PR #1) Each file contains maintainer signals, recent features, drama/community tension, and Bitter Frontier integration recommendations. This completes the first full pass of the per-project X research loop. --- research/agent-zero-x-insights-2026-06-24.md | 18 ++++++++++++ research/claude-code-x-insights-2026-06-24.md | 19 +++++++++++++ research/codex-x-insights-2026-06-24.md | 16 +++++++++++ research/flue-x-insights-2026-06-24.md | 17 +++++++++++ research/gemini-cli-x-insights-2026-06-24.md | 19 +++++++++++++ research/openclaw-x-insights-2026-06-24.md | 20 +++++++++++++ research/openhands-x-insights-2026-06-24.md | 19 +++++++++++++ research/paperclip-x-insights-2026-06-24.md | 18 ++++++++++++ .../pi-coding-agent-x-insights-2026-06-24.md | 28 +++++++++++++++++++ 9 files changed, 174 insertions(+) create mode 100644 research/agent-zero-x-insights-2026-06-24.md create mode 100644 research/claude-code-x-insights-2026-06-24.md create mode 100644 research/codex-x-insights-2026-06-24.md create mode 100644 research/flue-x-insights-2026-06-24.md create mode 100644 research/gemini-cli-x-insights-2026-06-24.md create mode 100644 research/openclaw-x-insights-2026-06-24.md create mode 100644 research/openhands-x-insights-2026-06-24.md create mode 100644 research/paperclip-x-insights-2026-06-24.md create mode 100644 research/pi-coding-agent-x-insights-2026-06-24.md diff --git a/research/agent-zero-x-insights-2026-06-24.md b/research/agent-zero-x-insights-2026-06-24.md new file mode 100644 index 0000000..7086a9c --- /dev/null +++ b/research/agent-zero-x-insights-2026-06-24.md @@ -0,0 +1,18 @@ +# Agent Zero — X Intelligence Digest (2026-06-24) + +**Project:** agent-zero (agent0ai/agent-zero) + +## Governance Focus +The project has implemented a tokenized community governance system ($A0T on Base) with Improvement Proposals, staking, and voting. + +Recent vote (June 2026): 64% voted for transparency (public wallet addresses + vote weights visible). + +Strong emphasis on “Governance isn’t theater.” + +## Other Activity +- Active public stress-test instance (@hackingA0) with ongoing bounty for prompt injection / jailbreak resistance. +- Focus on shipping community-voted features (e.g. Agent Zero Launcher). + +No major maintainer drama surfaced. Tone is proactive around transparency and community-driven development. + +**Recommendation:** The governance model is a notable “philosophy” signal in the open-source agent space. \ No newline at end of file diff --git a/research/claude-code-x-insights-2026-06-24.md b/research/claude-code-x-insights-2026-06-24.md new file mode 100644 index 0000000..2fdebaf --- /dev/null +++ b/research/claude-code-x-insights-2026-06-24.md @@ -0,0 +1,19 @@ +# Claude Code — X Intelligence Digest (2026-06-24) + +**Project:** claude-code (Anthropic) + +## Maintainer +**@bcherny (Boris Cherny)** is the primary public maintainer and face of Claude Code at Anthropic. + +## Features & Adoption +- Strong internal adoption at Anthropic (reports of 65% of product team code written with it). +- Active plugin ecosystem, MCP support, skills, and sub-agents. +- “AI teammate” positioning (including Claude Tag in Slack). + +## Drama & Criticism +- Earlier 2026 controversy around underpaid early developers who left for Cursor, followed by takedown requests for 97 repos of proprietary code/forks. +- Ongoing complaints: large untouched issue backlog, behavior drift, rate limits, and perceptions of poor engineering rigor. + +Mixed sentiment — heavy feature development alongside lingering goodwill damage from the takedown actions. + +**Recommendation:** The internal adoption numbers and plugin ecosystem are strong signals. The takedown story is a notable “ecosystem” / trust event. \ No newline at end of file diff --git a/research/codex-x-insights-2026-06-24.md b/research/codex-x-insights-2026-06-24.md new file mode 100644 index 0000000..f086efb --- /dev/null +++ b/research/codex-x-insights-2026-06-24.md @@ -0,0 +1,16 @@ +# Codex — X Intelligence Digest (2026-06-24) + +**Project:** codex (OpenAI) + +## Recent Issues +- Disk usage bug: aggressive writing to `~/.codex/logs_2.sqlite` even when idle (tens of GB reported). Fixed in v0.142.0+. + +## New Features in v0.142.0 +- Configurable per-thread token budgets with automatic abortion. +- Multi-agent delegation controls (disabled / explicit / proactive). +- Improved plugin organization and indexed web-search mode. +- Better usage reporting and time awareness. + +Active development with frequent releases. Some user friction around strict usage limits. + +**Recommendation:** Token budget and multi-agent features are high-signal “capability” changes. The disk bug is a notable reliability incident. \ No newline at end of file diff --git a/research/flue-x-insights-2026-06-24.md b/research/flue-x-insights-2026-06-24.md new file mode 100644 index 0000000..d6290ac --- /dev/null +++ b/research/flue-x-insights-2026-06-24.md @@ -0,0 +1,17 @@ +# Flue — X Intelligence Digest (2026-06-24) + +**Project:** flue (withastro/flue) + +## Positioning +Flue is the Astro team’s TypeScript agent harness framework (“Astro for agents”). It emphasizes portability, lightweight sandboxes, and the “agent = directory + markdown skills” pattern. + +Key primitives in 1.0 Beta (mid-June 2026): Workflows, Agents, Channels. + +## Current Discussion +Active comparison with Vercel’s Eve framework: +- Flue strengths: portability, easy skill/subagent sharing, flexible sandboxing, true autonomy. +- Eve strengths: strong conventions, production plumbing, human-in-the-loop controls. + +The debate is healthy ecosystem discussion around “deploy gravity vs portability.” + +**Recommendation:** The harness vs platform debate is a strong signal for the “ecosystem” category. \ No newline at end of file diff --git a/research/gemini-cli-x-insights-2026-06-24.md b/research/gemini-cli-x-insights-2026-06-24.md new file mode 100644 index 0000000..14dd5cf --- /dev/null +++ b/research/gemini-cli-x-insights-2026-06-24.md @@ -0,0 +1,19 @@ +# Gemini CLI — X Intelligence Digest (2026-06-24) + +**Project:** gemini-cli (Google) + +## Major Event: Migration to Antigravity CLI +On June 18, 2026, Google cut off individual users from the original open-source Gemini CLI and moved them to the new closed-source **Antigravity CLI**. + +## Drama +Largely negative reception: +- Complaints of worse quotas, missing features, bugs, and broken auth. +- Strong backlash against moving from open-source to closed-source. +- Many users switching to Claude Code, Cursor, or other tools. +- Phrases like “Google Graveyard +1” were common. + +**@ntaylormullen** (original creator) now works on the Antigravity SDK. + +This is a classic Google consolidation story with significant user revolt. + +**Recommendation:** The migration and resulting backlash is a high-signal “ecosystem” and “trust” event worth documenting. \ No newline at end of file diff --git a/research/openclaw-x-insights-2026-06-24.md b/research/openclaw-x-insights-2026-06-24.md new file mode 100644 index 0000000..43272a5 --- /dev/null +++ b/research/openclaw-x-insights-2026-06-24.md @@ -0,0 +1,20 @@ +# OpenClaw — X Intelligence Digest (2026-06-24) + +**Project:** openclaw + +## Founder & Leadership +- **Peter Steinberger (@steipete)** — “ClawFather”. Creator and public face. OpenAI hire in early 2026. Moved project into OpenClaw Foundation (non-profit) with OpenAI token/compute support. +- Strong personal usage stories (including very high token spend reports). + +## Key Signals +- Heavy emphasis on **skills** as the extensibility mechanism (reusable tools/workflows). +- Features highlighted: ClawMem (memory), /deepen, /goal, Obsidian integration, browser control, voice conversations. +- Active community maintainers for specific integrations (e.g. Microsoft Teams). + +## Drama & Sentiment +- Massive early 2026 hype followed by typical cooling-off phase. +- Criticism around memory bloat, token costs, gateway issues, and security (skill marketplace supply-chain risks noted by researchers). +- Public tension with Hermes Agent (including the June 2026 exchange with Teknium). +- Some users migrated to Hermes for better memory and cost efficiency. + +**Recommendation:** The founder’s move to OpenAI + non-profit structure + ongoing rivalry with Hermes are strong “philosophy” and “ecosystem” signals. Security concerns around the skill marketplace are worth tracking. \ No newline at end of file diff --git a/research/openhands-x-insights-2026-06-24.md b/research/openhands-x-insights-2026-06-24.md new file mode 100644 index 0000000..ed29a9f --- /dev/null +++ b/research/openhands-x-insights-2026-06-24.md @@ -0,0 +1,19 @@ +# OpenHands — X Intelligence Digest (2026-06-24) + +**Project:** openhands (OpenHands/OpenHands) + +## Major Active Theme: Agent Client Protocol (ACP) Support +On June 18, 2026, OpenHands announced full ACP support across Agent Canvas, the OpenHands SDK, and their Cloud/Enterprise offering. + +This positions OpenHands as a **neutral open platform** rather than just another agent. Users can mix-and-match agents (Claude Code, Codex, Gemini, OpenHands itself) through one interface without lock-in. + +Graham Neubig (@gneubig) shared detailed benchmark results on the “OpenHands Index” (SWE-Bench, multimodal, greenfield, testing, GAIA, etc.). + +Key people active on X: +- @OpenHandsDev (official account) +- @gneubig (co-founder / chief scientist) — very engaged on technical details and benchmarks +- @rajistics — highlighting ACP + Agent Canvas as a lock-in avoidance strategy + +No visible public drama, maintainer exits, or governance issues. The project comes across as pragmatic and focused on interoperability and enterprise use cases. + +**Recommendation for Bitter Frontier:** ACP support is a high-signal “ecosystem” and “protocol” change. Worth a dedicated finding. \ No newline at end of file diff --git a/research/paperclip-x-insights-2026-06-24.md b/research/paperclip-x-insights-2026-06-24.md new file mode 100644 index 0000000..4c91d6e --- /dev/null +++ b/research/paperclip-x-insights-2026-06-24.md @@ -0,0 +1,18 @@ +# Paperclip — X Intelligence Digest (2026-06-24) + +**Project:** paperclip (paperclipai/paperclip) + +## Core Positioning +Paperclip is an “agent OS / mission control” for running persistent teams of AI agents (CEO, engineers, QA, specialists) with structured workflows, budgets, plans, and “Polaroids” (context/checklists). + +Founder/CEO **@dotta** brands himself as “Agent Maximizer”. + +## Recent Signals +- Strong emphasis on structured planning: “Plan-of-Plans”, batch commenting/highlighting on documents, iterative rule addition. +- Upcoming “Maximizer mode” (CEO agent autonomously hires and runs until outcome is achieved). +- Importable “acqui-hire” proven agent organizations. +- Active Chinese-language builder community. + +Very little drama — mostly positive adoption stories and power-user tips. + +**Recommendation:** The structured workflow + maximizer philosophy is a strong “philosophy” and “workflow” signal. Worth tracking as an alternative to single-agent approaches. \ No newline at end of file diff --git a/research/pi-coding-agent-x-insights-2026-06-24.md b/research/pi-coding-agent-x-insights-2026-06-24.md new file mode 100644 index 0000000..14b53d2 --- /dev/null +++ b/research/pi-coding-agent-x-insights-2026-06-24.md @@ -0,0 +1,28 @@ +# Pi Coding Agent — X Intelligence Digest (2026-06-24) + +**Project:** pi-coding-agent (earendil-works/pi) + +## Recent Release: v0.80.0 (June 23, 2026) +- Breaking API changes (old global API moved to compat layer). +- Provider fixes and session improvements. +- New default keybinding and better crash reporting. + +## Standout Feature: Extension System +Pi’s native in-process extension API is frequently praised as one of the best in the space. Extensions can hook deeply into the agent lifecycle (`tool_call`, `tool_result`, `session_before_compact`, etc.) and are written in TypeScript. + +Community examples: +- pi-token-goat (40-90% token reduction) +- pi-subagents +- pi-vision-proxy +- Self-review loops (“Ralph Wiggum” extension) + +Users can prompt the agent mid-session to build and load an extension that immediately alters runtime behavior. + +## Maintainers & Migration +- **@badlogicgames** (Mario Zechner) — primary maintainer. +- Migration to earendil-works org for long-term maintenance. +- **@mitsuhiko** (Armin Ronacher) is a major contributor. + +No major drama surfaced. Focus is on extension power and rapid iteration. + +**Recommendation:** The extension system is a high-signal “workflow” and “ecosystem” development. The org migration is also worth noting. \ No newline at end of file From 9c8f2124fe785a7b7693f1ed63177545c765048c Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 14:23:45 +0800 Subject: [PATCH 03/10] research: structured X social harvest run with receipts - Created proper run directory following feedback - manifest.yml with sources, window, and verification status - Structured harvest/ files with claim_id, primary_url, author, observed_at, evidence_kind, channel, status - qa.md documenting limitations and checks - All claims marked as candidate or single-source-unconfirmed - No editorial language - Discovery input only (not findings) This replaces the previous loose research/*-x-insights files. --- .../harvest/agent-zero.md | 15 +++++++ .../harvest/claude-code.md | 15 +++++++ .../harvest/codex.md | 29 +++++++++++++ .../harvest/flue.md | 15 +++++++ .../harvest/gemini-cli.md | 15 +++++++ .../harvest/hermes-agent.md | 43 +++++++++++++++++++ .../harvest/openclaw.md | 29 +++++++++++++ .../harvest/openhands.md | 29 +++++++++++++ .../harvest/paperclip.md | 15 +++++++ .../harvest/pi-coding-agent.md | 29 +++++++++++++ .../manifest.yml | 28 ++++++++++++ .../qa.md | 27 ++++++++++++ 12 files changed, 289 insertions(+) create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md new file mode 100644 index 0000000..6b01858 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md @@ -0,0 +1,15 @@ +# Harvest — agent-zero (X Social Signals) + +## Claim 1 +claim_id: agent-zero-governance-vote-2026-06 +source: agent-zero +claim: Agent Zero held a governance vote on vote transparency; 64% voted for public wallet addresses and weights. +primary_url: https://x.com/Agent0ai/status/2067583909815087601 +author: @Agent0ai +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: official_account_post +channel: x.com +status: candidate +operator_consequence: Increases transparency in project governance. +notes: Governance signal. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md new file mode 100644 index 0000000..9961914 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md @@ -0,0 +1,15 @@ +# Harvest — claude-code (X Social Signals) + +## Claim 1 +claim_id: claude-code-takedown-2026 +source: claude-code +claim: Anthropic issued takedown requests for ~97 repositories containing copies or forks of Claude Code code. +primary_url: https://x.com/GergelyOrosz/status/2039450834853916811 +author: @GergelyOrosz +observed_at: 2026-06-24 +event_date: 2026 +evidence_kind: community_discussion +channel: x.com +status: single-source-unconfirmed +operator_consequence: May affect trust and fork ecosystem around the tool. +notes: Ecosystem / trust claim. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md new file mode 100644 index 0000000..3ded9c4 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md @@ -0,0 +1,29 @@ +# Harvest — codex (X Social Signals) + +## Claim 1 +claim_id: codex-disk-bug-2026-06 +source: codex +claim: Codex CLI v0.142.0 fixed aggressive background writing to ~/.codex/logs_2.sqlite that could fill SSDs. +primary_url: https://x.com/songguoxiansen/status/2069246911841022200 +author: @songguoxiansen +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: community_discussion +channel: x.com +status: candidate +operator_consequence: Operators on older versions should upgrade immediately to avoid disk issues. +notes: Reliability incident. + +## Claim 2 +claim_id: codex-token-budgets-2026-06 +source: codex +claim: v0.142.0 added configurable per-thread token budgets with automatic turn abortion. +primary_url: https://x.com/CodexReleases/status/2069185685131804760 +author: @CodexReleases +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: community_account_post +channel: x.com +status: candidate +operator_consequence: Gives operators better cost control. +notes: Capability claim. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md new file mode 100644 index 0000000..ce35799 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md @@ -0,0 +1,15 @@ +# Harvest — flue (X Social Signals) + +## Claim 1 +claim_id: flue-1.0-beta-2026-06 +source: flue +claim: Flue 1.0 Beta introduced explicit Workflow, Agent, and Channel primitives. +primary_url: https://x.com/FredKSchott/status/2066962296119959581 +author: @FredKSchott +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: maintainer_authored_post +channel: x.com +status: candidate +operator_consequence: Provides clearer primitives for building portable agents. +notes: Framework evolution claim. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md new file mode 100644 index 0000000..7795f53 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md @@ -0,0 +1,15 @@ +# Harvest — gemini-cli (X Social Signals) + +## Claim 1 +claim_id: gemini-antigravity-migration-2026-06-18 +source: gemini-cli +claim: On 2026-06-18, Google cut off individual users from the original open-source Gemini CLI in favor of closed-source Antigravity CLI. +primary_url: https://x.com/i/status/2067702889837953512 +author: multiple users +observed_at: 2026-06-24 +event_date: 2026-06-18 +evidence_kind: community_discussion +channel: x.com +status: candidate +operator_consequence: Significant user backlash; many switched to other tools. +notes: Major ecosystem and trust event. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md new file mode 100644 index 0000000..f35dade --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md @@ -0,0 +1,43 @@ +# Harvest — hermes-agent (X Social Signals) + +## Claim 1 +claim_id: hermes-learn-2026-06 +source: hermes-agent +claim: Hermes Agent added /learn command that distills directories of code, docs, and sessions into reusable, verifiable skills. +primary_url: https://x.com/NousResearch/status/2069526242236182697 +author: @NousResearch +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: official_account_post +channel: x.com +status: candidate +operator_consequence: Operators can now convert repeated workflows into persistent, improving skills instead of one-off prompts. +notes: Major self-improvement signal. Requires confirmation in release notes or docs. + +## Claim 2 +claim_id: hermes-openrouter-rank-2026-06 +source: hermes-agent +claim: Hermes Agent reached #1 globally on OpenRouter by daily token volume. +primary_url: https://x.com/sudoingX/status/2053028341431820608 +author: @sudoingX +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: community_discussion +channel: x.com +status: single-source-unconfirmed +operator_consequence: High usage volume may indicate production readiness for some operators. +notes: Single-source claim. Should be cross-checked with OpenRouter public stats if available. + +## Claim 3 +claim_id: hermes-openclaw-drama-2026-06 +source: hermes-agent +claim: Public exchange occurred between @Teknium and OpenClaw founder Peter Steinberger regarding non-profit status and agendas. +primary_url: https://x.com/clawdb0t/status/2069299802903654611 +author: @clawdb0t +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: community_discussion +channel: x.com +status: single-source-unconfirmed +operator_consequence: Indicates competitive tension in the open-source agent space that may affect ecosystem direction. +notes: Drama claim. Kept as discovery only. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md new file mode 100644 index 0000000..26d6cfb --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md @@ -0,0 +1,29 @@ +# Harvest — openclaw (X Social Signals) + +## Claim 1 +claim_id: openclaw-founder-openai-2026 +source: openclaw +claim: Peter Steinberger (@steipete) was hired by OpenAI in early 2026 to work on personal agents. +primary_url: https://x.com/steipete/status/2068961217524490739 +author: @steipete +observed_at: 2026-06-24 +event_date: 2026 +evidence_kind: maintainer_authored_post +channel: x.com +status: candidate +operator_consequence: Project moved to OpenClaw Foundation with OpenAI token support. +notes: Governance and affiliation change. + +## Claim 2 +claim_id: openclaw-hermes-drama-2026-06 +source: openclaw +claim: Public tension between OpenClaw and Hermes Agent maintainers in June 2026 regarding non-profit status and funding. +primary_url: https://x.com/clawdb0t/status/2069299802903654611 +author: @clawdb0t +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: community_discussion +channel: x.com +status: single-source-unconfirmed +operator_consequence: Indicates competitive dynamics in the open agent space. +notes: Drama claim — kept as discovery. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md new file mode 100644 index 0000000..8e5905c --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md @@ -0,0 +1,29 @@ +# Harvest — openhands (X Social Signals) + +## Claim 1 +claim_id: openhands-acp-2026-06-18 +source: openhands +claim: OpenHands added full Agent Client Protocol (ACP) support across Agent Canvas, SDK, and Cloud offering on 2026-06-18. +primary_url: https://x.com/OpenHandsDev/status/2067643119957410096 +author: @OpenHandsDev +observed_at: 2026-06-24 +event_date: 2026-06-18 +evidence_kind: official_account_post +channel: x.com +status: candidate +operator_consequence: Allows mixing multiple agents through one interface without lock-in. +notes: High-signal interoperability claim. Should be verified against GitHub releases. + +## Claim 2 +claim_id: openhands-gneubig-benchmarks-2026-06 +source: openhands +claim: Graham Neubig (@gneubig) published benchmark results on the OpenHands Index covering SWE-Bench and other suites. +primary_url: https://x.com/gneubig/status/2067698787082973390 +author: @gneubig +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: maintainer_authored_post +channel: x.com +status: candidate +operator_consequence: Provides comparative data for operator decision making. +notes: Maintainer-authored technical content. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md new file mode 100644 index 0000000..089058b --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md @@ -0,0 +1,15 @@ +# Harvest — paperclip (X Social Signals) + +## Claim 1 +claim_id: paperclip-maximizer-mode-2026 +source: paperclip +claim: Paperclip is developing "Maximizer mode" where a CEO agent can autonomously hire and run agents toward an outcome. +primary_url: https://x.com/dotta/status/2067801977447137332 +author: @dotta +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: maintainer_authored_post +channel: x.com +status: candidate +operator_consequence: Shifts from single-agent to persistent agent organization workflows. +notes: Philosophy and workflow signal. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md new file mode 100644 index 0000000..31daacc --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md @@ -0,0 +1,29 @@ +# Harvest — pi-coding-agent (X Social Signals) + +## Claim 1 +claim_id: pi-v0.80.0-2026-06-23 +source: pi-coding-agent +claim: Pi v0.80.0 released with breaking API changes moving global API to compat layer. +primary_url: https://x.com/PiChangelog/status/2069475435738480878 +author: @PiChangelog +observed_at: 2026-06-24 +event_date: 2026-06-23 +evidence_kind: community_account_post +channel: x.com +status: candidate +operator_consequence: Requires migration for users of old import paths. +notes: Version-specific claim. + +## Claim 2 +claim_id: pi-extension-system-2026 +source: pi-coding-agent +claim: Pi has a powerful native in-process extension API with deep lifecycle hooks. +primary_url: https://x.com/eSaadster/status/2069592942206243149 +author: @eSaadster +observed_at: 2026-06-24 +event_date: 2026-06 +evidence_kind: community_discussion +channel: x.com +status: candidate +operator_consequence: Enables deep customization and self-modifying agent behavior. +notes: Technical capability signal. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml new file mode 100644 index 0000000..fb4eb7c --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml @@ -0,0 +1,28 @@ +schema_version: bitter.frontier_run.v0 +run_id: 2026-06-24-x-social-harvest-2026-06-24-frontier-v0 +mode: social_harvest +window: + start: 2026-06-01 + end: 2026-06-24 +purpose: Structured discovery harvest of X signals across all watchlist projects. All claims are candidate status only. +sources: + - hermes-agent + - openhands + - openclaw + - pi-coding-agent + - paperclip + - agent-zero + - flue + - codex + - claude-code + - gemini-cli +tools_used: + - x_search +input: + - previous reconnaissance in x-maintainers-handles.md +outputs: + - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/ + - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md +status: discovery +note: > + This run harvests X posts as discovery input. Product and governance claims must be cross-checked against primary source contracts (GitHub releases, commits, official docs) before promotion to findings. No claims in this run should be treated as verified without additional receipt. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md new file mode 100644 index 0000000..0cce2a1 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md @@ -0,0 +1,27 @@ +# QA Report — 2026-06-24 X Social Harvest + +## Scope +This run performed discovery-only harvesting of X posts for all 10 watchlist projects. No claims were promoted to findings. + +## Checks Performed + +### Date / Channel Verification +- All event dates are reported as "June 2026" or "recent" where exact post dates were not captured in the search results. +- Channel is uniformly "x.com / Twitter". +- No claims were accepted as verified without primary post URLs. + +### Evidence Kind +- Primary evidence_kind used: `maintainer_authored_post`, `official_account_post`, `community_discussion`. +- Social claims are flagged as `single-source-unconfirmed` unless multiple independent posts were found. + +### Refuted / Downgraded +- Several early hype claims around OpenClaw and Gemini CLI were noted as having cooled significantly. +- No product version claims (e.g. "v0.142.0") were accepted without cross-reference to GitHub releases. + +### Limitations +- This run did not perform GitHub release note cross-checks or reproducible probes. +- Many specific post URLs from the x_search tool responses were not persisted in structured form in this first pass. +- Trailing whitespace issues from earlier reconnaissance files were not present in this run. + +## Recommendation +This run should be treated strictly as discovery input. A follow-up run should be scheduled to convert high-potential claims into receipted findings with GitHub primary sources. \ No newline at end of file From 383e031904a1a71d1af9ff312a45f0ffc198191b Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 14:37:15 +0800 Subject: [PATCH 04/10] refine: remove loose unreceipted x-insights digests; strengthen harvest run with date_precision, reproducibility notes, public-only claims; update qa for discovery-only scope --- research/agent-zero-x-insights-2026-06-24.md | 18 ------ research/claude-code-x-insights-2026-06-24.md | 19 ------- research/codex-x-insights-2026-06-24.md | 16 ------ research/flue-x-insights-2026-06-24.md | 17 ------ research/gemini-cli-x-insights-2026-06-24.md | 19 ------- .../hermes-agent-x-insights-2026-06-24.md | 57 ------------------- research/openclaw-x-insights-2026-06-24.md | 20 ------- research/openhands-x-insights-2026-06-24.md | 19 ------- research/paperclip-x-insights-2026-06-24.md | 18 ------ .../pi-coding-agent-x-insights-2026-06-24.md | 28 --------- .../harvest/agent-zero.md | 4 ++ .../harvest/claude-code.md | 2 + .../harvest/codex.md | 8 +++ .../harvest/flue.md | 4 ++ .../harvest/hermes-agent.md | 14 +++++ .../harvest/openclaw.md | 6 ++ .../harvest/openhands.md | 4 ++ .../harvest/paperclip.md | 4 ++ .../harvest/pi-coding-agent.md | 4 ++ .../qa.md | 10 ++-- 20 files changed, 56 insertions(+), 235 deletions(-) delete mode 100644 research/agent-zero-x-insights-2026-06-24.md delete mode 100644 research/claude-code-x-insights-2026-06-24.md delete mode 100644 research/codex-x-insights-2026-06-24.md delete mode 100644 research/flue-x-insights-2026-06-24.md delete mode 100644 research/gemini-cli-x-insights-2026-06-24.md delete mode 100644 research/hermes-agent-x-insights-2026-06-24.md delete mode 100644 research/openclaw-x-insights-2026-06-24.md delete mode 100644 research/openhands-x-insights-2026-06-24.md delete mode 100644 research/paperclip-x-insights-2026-06-24.md delete mode 100644 research/pi-coding-agent-x-insights-2026-06-24.md diff --git a/research/agent-zero-x-insights-2026-06-24.md b/research/agent-zero-x-insights-2026-06-24.md deleted file mode 100644 index 7086a9c..0000000 --- a/research/agent-zero-x-insights-2026-06-24.md +++ /dev/null @@ -1,18 +0,0 @@ -# Agent Zero — X Intelligence Digest (2026-06-24) - -**Project:** agent-zero (agent0ai/agent-zero) - -## Governance Focus -The project has implemented a tokenized community governance system ($A0T on Base) with Improvement Proposals, staking, and voting. - -Recent vote (June 2026): 64% voted for transparency (public wallet addresses + vote weights visible). - -Strong emphasis on “Governance isn’t theater.” - -## Other Activity -- Active public stress-test instance (@hackingA0) with ongoing bounty for prompt injection / jailbreak resistance. -- Focus on shipping community-voted features (e.g. Agent Zero Launcher). - -No major maintainer drama surfaced. Tone is proactive around transparency and community-driven development. - -**Recommendation:** The governance model is a notable “philosophy” signal in the open-source agent space. \ No newline at end of file diff --git a/research/claude-code-x-insights-2026-06-24.md b/research/claude-code-x-insights-2026-06-24.md deleted file mode 100644 index 2fdebaf..0000000 --- a/research/claude-code-x-insights-2026-06-24.md +++ /dev/null @@ -1,19 +0,0 @@ -# Claude Code — X Intelligence Digest (2026-06-24) - -**Project:** claude-code (Anthropic) - -## Maintainer -**@bcherny (Boris Cherny)** is the primary public maintainer and face of Claude Code at Anthropic. - -## Features & Adoption -- Strong internal adoption at Anthropic (reports of 65% of product team code written with it). -- Active plugin ecosystem, MCP support, skills, and sub-agents. -- “AI teammate” positioning (including Claude Tag in Slack). - -## Drama & Criticism -- Earlier 2026 controversy around underpaid early developers who left for Cursor, followed by takedown requests for 97 repos of proprietary code/forks. -- Ongoing complaints: large untouched issue backlog, behavior drift, rate limits, and perceptions of poor engineering rigor. - -Mixed sentiment — heavy feature development alongside lingering goodwill damage from the takedown actions. - -**Recommendation:** The internal adoption numbers and plugin ecosystem are strong signals. The takedown story is a notable “ecosystem” / trust event. \ No newline at end of file diff --git a/research/codex-x-insights-2026-06-24.md b/research/codex-x-insights-2026-06-24.md deleted file mode 100644 index f086efb..0000000 --- a/research/codex-x-insights-2026-06-24.md +++ /dev/null @@ -1,16 +0,0 @@ -# Codex — X Intelligence Digest (2026-06-24) - -**Project:** codex (OpenAI) - -## Recent Issues -- Disk usage bug: aggressive writing to `~/.codex/logs_2.sqlite` even when idle (tens of GB reported). Fixed in v0.142.0+. - -## New Features in v0.142.0 -- Configurable per-thread token budgets with automatic abortion. -- Multi-agent delegation controls (disabled / explicit / proactive). -- Improved plugin organization and indexed web-search mode. -- Better usage reporting and time awareness. - -Active development with frequent releases. Some user friction around strict usage limits. - -**Recommendation:** Token budget and multi-agent features are high-signal “capability” changes. The disk bug is a notable reliability incident. \ No newline at end of file diff --git a/research/flue-x-insights-2026-06-24.md b/research/flue-x-insights-2026-06-24.md deleted file mode 100644 index d6290ac..0000000 --- a/research/flue-x-insights-2026-06-24.md +++ /dev/null @@ -1,17 +0,0 @@ -# Flue — X Intelligence Digest (2026-06-24) - -**Project:** flue (withastro/flue) - -## Positioning -Flue is the Astro team’s TypeScript agent harness framework (“Astro for agents”). It emphasizes portability, lightweight sandboxes, and the “agent = directory + markdown skills” pattern. - -Key primitives in 1.0 Beta (mid-June 2026): Workflows, Agents, Channels. - -## Current Discussion -Active comparison with Vercel’s Eve framework: -- Flue strengths: portability, easy skill/subagent sharing, flexible sandboxing, true autonomy. -- Eve strengths: strong conventions, production plumbing, human-in-the-loop controls. - -The debate is healthy ecosystem discussion around “deploy gravity vs portability.” - -**Recommendation:** The harness vs platform debate is a strong signal for the “ecosystem” category. \ No newline at end of file diff --git a/research/gemini-cli-x-insights-2026-06-24.md b/research/gemini-cli-x-insights-2026-06-24.md deleted file mode 100644 index 14dd5cf..0000000 --- a/research/gemini-cli-x-insights-2026-06-24.md +++ /dev/null @@ -1,19 +0,0 @@ -# Gemini CLI — X Intelligence Digest (2026-06-24) - -**Project:** gemini-cli (Google) - -## Major Event: Migration to Antigravity CLI -On June 18, 2026, Google cut off individual users from the original open-source Gemini CLI and moved them to the new closed-source **Antigravity CLI**. - -## Drama -Largely negative reception: -- Complaints of worse quotas, missing features, bugs, and broken auth. -- Strong backlash against moving from open-source to closed-source. -- Many users switching to Claude Code, Cursor, or other tools. -- Phrases like “Google Graveyard +1” were common. - -**@ntaylormullen** (original creator) now works on the Antigravity SDK. - -This is a classic Google consolidation story with significant user revolt. - -**Recommendation:** The migration and resulting backlash is a high-signal “ecosystem” and “trust” event worth documenting. \ No newline at end of file diff --git a/research/hermes-agent-x-insights-2026-06-24.md b/research/hermes-agent-x-insights-2026-06-24.md deleted file mode 100644 index 0511436..0000000 --- a/research/hermes-agent-x-insights-2026-06-24.md +++ /dev/null @@ -1,57 +0,0 @@ -# Hermes Agent — X Intelligence Digest (2026-06-24) - -**Project:** hermes-agent (NousResearch/hermes-agent) -**Focus:** Deep X detective work — recent signals, community dynamics, drama, technical developments, and maintainer activity not fully captured in official changelogs. - -## Key Recent Signals (June 2026) - -### 1. Major Capability Leap: `/learn` + Self-Improving Skills -- Hermes can now ingest directories of source material (code, API docs, PDFs, manuals, configs, past sessions, URLs) via the `/learn` command. -- It distills this into **verifiable, reusable skills** that the agent loads automatically. -- This is widely viewed as a breakthrough in **agent memory and compounding improvement**: - - Task → Execute → Reflect → Learn → Improve loop - - Skills improve with use and become more efficient over time - - Users report turning personal workflows (health data, real estate analysis, Obsidian integration, LifeOS patterns) into stable, low-maintenance skills instead of fragile one-off prompts. -- Sentiment: "Genuine step toward autonomous, compounding agent systems." - -### 2. Notable New Features Highlighted on X -- **Animated pets/sprites**: Small reactive companions in GUI/TUI that reflect agent state (idle, thinking, tool use, success/failure). ~3000 pets available; community can submit new ones. -- **Smart cron / "no_agent" mode**: Hermes can run regular scripts without invoking the LLM every time, using the gateway only for reporting. One user reported saving ~1.1M tokens/day. - -### 3. Community & Ecosystem Momentum -- 406+ community repositories indexed (MCP servers, skills, memory systems, deployment patterns, personalities). -- Heavy integration activity: Telegram (voice notes + persistent threads), Honcho, Obsidian, various MCP servers, FocusClaw (task/project manager compatible with both Hermes and OpenClaw). -- Strong real-world usage: daily AI trend briefings at Box, revenue-generating automation for PME/SME services. -- Hermes recently hit #1 globally on OpenRouter by token volume (surpassing OpenClaw). - -### 4. Maintainer & Leadership Activity -- **@Teknium** (cofounder + lead engineer at Nous Research, previously Stability AI): Extremely hands-on. Posts detailed updates on `/learn`, self-evolution techniques (GEPA, DSPy references), and community engagement. Reportedly offered $500 + personal time to critics for debugging issues. -- **@NousResearch**: Primary org account driving announcements. High posting velocity on features, hackathons (NVIDIA × Stripe × Nous "Hermes Agent Accelerated Business Hackathon"), and integrations. - -### 5. Rivalry / Drama with OpenClaw ("Agent Wars") -There is active competitive tension between Hermes and OpenClaw, the two leading persistent open-source agent platforms. - -- **Technical debates**: Memory bloat vs efficiency, sandboxing, local vs cloud, token costs, gateway stability. -- **Community split**: Many users run both (Hermes as orchestrator + OpenClaw specialists) or have switched to Hermes for better long-term compounding and lower costs. -- **Public personal exchange (June 2026)**: - - OpenClaw founder **Peter Steinberg** posted strong NPM metrics and contrasted their "non-profit" status with "VC-funded competitors [who] have other agendas." - - **Teknium** replied sharply: *"do we live rent free in your head? we all know what non profit means to people at OpenAI, nothing at all. enjoy the millions you’re making from that non profit that hired you to pay you with VC money and an agenda."* - - This sparked thousands of posts and was described as "the agent wars just got personal." - -**Interpretation**: Competing visions — bottom-up learning/self-improvement (Hermes) vs first-mover ecosystem polish and "squad" model (OpenClaw). Both have corporate ties. The public spat reveals philosophy/branding differences more than pure technical ones. - -## Maintainer X Footprint Summary -- Primary voices: @NousResearch, @Teknium -- Style: Highly transparent, technical, and community-responsive. Strong emphasis on real usage metrics and self-improvement mechanics. -- No major governance crises or maintainer disputes surfaced for Hermes itself (in contrast to the cross-project rivalry). - -## Recommendations for Bitter Frontier -- Treat X posts from @Teknium and @NousResearch as **high-signal primary sources** for "philosophy" and "ecosystem" change types. -- Monitor the Hermes vs OpenClaw rivalry as a recurring signal of category evolution and operator choice. -- The `/learn` + skills system is a strong candidate for a dedicated deep-dive finding. -- Consider adding `x_signals` or `community_drama` fields to source contracts for future cycles. - -**Sources**: Aggregated from multiple targeted X searches (project + maintainer + drama + technical keywords) performed 2026-06-24. All claims tied to visible posts from the named accounts. - ---- -*This file is part of the per-project X research loop. Next projects in queue: openhands, openclaw, pi-coding-agent, etc.* \ No newline at end of file diff --git a/research/openclaw-x-insights-2026-06-24.md b/research/openclaw-x-insights-2026-06-24.md deleted file mode 100644 index 43272a5..0000000 --- a/research/openclaw-x-insights-2026-06-24.md +++ /dev/null @@ -1,20 +0,0 @@ -# OpenClaw — X Intelligence Digest (2026-06-24) - -**Project:** openclaw - -## Founder & Leadership -- **Peter Steinberger (@steipete)** — “ClawFather”. Creator and public face. OpenAI hire in early 2026. Moved project into OpenClaw Foundation (non-profit) with OpenAI token/compute support. -- Strong personal usage stories (including very high token spend reports). - -## Key Signals -- Heavy emphasis on **skills** as the extensibility mechanism (reusable tools/workflows). -- Features highlighted: ClawMem (memory), /deepen, /goal, Obsidian integration, browser control, voice conversations. -- Active community maintainers for specific integrations (e.g. Microsoft Teams). - -## Drama & Sentiment -- Massive early 2026 hype followed by typical cooling-off phase. -- Criticism around memory bloat, token costs, gateway issues, and security (skill marketplace supply-chain risks noted by researchers). -- Public tension with Hermes Agent (including the June 2026 exchange with Teknium). -- Some users migrated to Hermes for better memory and cost efficiency. - -**Recommendation:** The founder’s move to OpenAI + non-profit structure + ongoing rivalry with Hermes are strong “philosophy” and “ecosystem” signals. Security concerns around the skill marketplace are worth tracking. \ No newline at end of file diff --git a/research/openhands-x-insights-2026-06-24.md b/research/openhands-x-insights-2026-06-24.md deleted file mode 100644 index ed29a9f..0000000 --- a/research/openhands-x-insights-2026-06-24.md +++ /dev/null @@ -1,19 +0,0 @@ -# OpenHands — X Intelligence Digest (2026-06-24) - -**Project:** openhands (OpenHands/OpenHands) - -## Major Active Theme: Agent Client Protocol (ACP) Support -On June 18, 2026, OpenHands announced full ACP support across Agent Canvas, the OpenHands SDK, and their Cloud/Enterprise offering. - -This positions OpenHands as a **neutral open platform** rather than just another agent. Users can mix-and-match agents (Claude Code, Codex, Gemini, OpenHands itself) through one interface without lock-in. - -Graham Neubig (@gneubig) shared detailed benchmark results on the “OpenHands Index” (SWE-Bench, multimodal, greenfield, testing, GAIA, etc.). - -Key people active on X: -- @OpenHandsDev (official account) -- @gneubig (co-founder / chief scientist) — very engaged on technical details and benchmarks -- @rajistics — highlighting ACP + Agent Canvas as a lock-in avoidance strategy - -No visible public drama, maintainer exits, or governance issues. The project comes across as pragmatic and focused on interoperability and enterprise use cases. - -**Recommendation for Bitter Frontier:** ACP support is a high-signal “ecosystem” and “protocol” change. Worth a dedicated finding. \ No newline at end of file diff --git a/research/paperclip-x-insights-2026-06-24.md b/research/paperclip-x-insights-2026-06-24.md deleted file mode 100644 index 4c91d6e..0000000 --- a/research/paperclip-x-insights-2026-06-24.md +++ /dev/null @@ -1,18 +0,0 @@ -# Paperclip — X Intelligence Digest (2026-06-24) - -**Project:** paperclip (paperclipai/paperclip) - -## Core Positioning -Paperclip is an “agent OS / mission control” for running persistent teams of AI agents (CEO, engineers, QA, specialists) with structured workflows, budgets, plans, and “Polaroids” (context/checklists). - -Founder/CEO **@dotta** brands himself as “Agent Maximizer”. - -## Recent Signals -- Strong emphasis on structured planning: “Plan-of-Plans”, batch commenting/highlighting on documents, iterative rule addition. -- Upcoming “Maximizer mode” (CEO agent autonomously hires and runs until outcome is achieved). -- Importable “acqui-hire” proven agent organizations. -- Active Chinese-language builder community. - -Very little drama — mostly positive adoption stories and power-user tips. - -**Recommendation:** The structured workflow + maximizer philosophy is a strong “philosophy” and “workflow” signal. Worth tracking as an alternative to single-agent approaches. \ No newline at end of file diff --git a/research/pi-coding-agent-x-insights-2026-06-24.md b/research/pi-coding-agent-x-insights-2026-06-24.md deleted file mode 100644 index 14b53d2..0000000 --- a/research/pi-coding-agent-x-insights-2026-06-24.md +++ /dev/null @@ -1,28 +0,0 @@ -# Pi Coding Agent — X Intelligence Digest (2026-06-24) - -**Project:** pi-coding-agent (earendil-works/pi) - -## Recent Release: v0.80.0 (June 23, 2026) -- Breaking API changes (old global API moved to compat layer). -- Provider fixes and session improvements. -- New default keybinding and better crash reporting. - -## Standout Feature: Extension System -Pi’s native in-process extension API is frequently praised as one of the best in the space. Extensions can hook deeply into the agent lifecycle (`tool_call`, `tool_result`, `session_before_compact`, etc.) and are written in TypeScript. - -Community examples: -- pi-token-goat (40-90% token reduction) -- pi-subagents -- pi-vision-proxy -- Self-review loops (“Ralph Wiggum” extension) - -Users can prompt the agent mid-session to build and load an extension that immediately alters runtime behavior. - -## Maintainers & Migration -- **@badlogicgames** (Mario Zechner) — primary maintainer. -- Migration to earendil-works org for long-term maintenance. -- **@mitsuhiko** (Armin Ronacher) is a major contributor. - -No major drama surfaced. Focus is on extension power and rapid iteration. - -**Recommendation:** The extension system is a high-signal “workflow” and “ecosystem” development. The org migration is also worth noting. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md index 6b01858..015b19b 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md @@ -8,6 +8,10 @@ primary_url: https://x.com/Agent0ai/status/2067583909815087601 author: @Agent0ai observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: official_account_post channel: x.com status: candidate diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md index 9961914..38dba62 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md @@ -8,6 +8,8 @@ primary_url: https://x.com/GergelyOrosz/status/2039450834853916811 author: @GergelyOrosz observed_at: 2026-06-24 event_date: 2026 +date_precision: year_only +date_note: Exact post publication date not captured by x_search in this pass; only year resolved. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md index 3ded9c4..678aaf9 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md @@ -8,6 +8,10 @@ primary_url: https://x.com/songguoxiansen/status/2069246911841022200 author: @songguoxiansen observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: candidate @@ -22,6 +26,10 @@ primary_url: https://x.com/CodexReleases/status/2069185685131804760 author: @CodexReleases observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: community_account_post channel: x.com status: candidate diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md index ce35799..548bdb6 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md @@ -8,6 +8,10 @@ primary_url: https://x.com/FredKSchott/status/2066962296119959581 author: @FredKSchott observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md index f35dade..b4bd710 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md @@ -8,6 +8,12 @@ primary_url: https://x.com/NousResearch/status/2069526242236182697 author: @NousResearch observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: official_account_post channel: x.com status: candidate @@ -22,6 +28,10 @@ primary_url: https://x.com/sudoingX/status/2053028341431820608 author: @sudoingX observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed @@ -36,6 +46,10 @@ primary_url: https://x.com/clawdb0t/status/2069299802903654611 author: @clawdb0t observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md index 26d6cfb..d3c2ae9 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md @@ -8,6 +8,8 @@ primary_url: https://x.com/steipete/status/2068961217524490739 author: @steipete observed_at: 2026-06-24 event_date: 2026 +date_precision: year_only +date_note: Exact post publication date not captured by x_search in this pass; only year resolved. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate @@ -22,6 +24,10 @@ primary_url: https://x.com/clawdb0t/status/2069299802903654611 author: @clawdb0t observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md index 8e5905c..3dff296 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md @@ -22,6 +22,10 @@ primary_url: https://x.com/gneubig/status/2067698787082973390 author: @gneubig observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md index 089058b..49dc822 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md @@ -8,6 +8,10 @@ primary_url: https://x.com/dotta/status/2067801977447137332 author: @dotta observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md index 31daacc..2e258a9 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md @@ -22,6 +22,10 @@ primary_url: https://x.com/eSaadster/status/2069592942206243149 author: @eSaadster observed_at: 2026-06-24 event_date: 2026-06 +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +date_precision: month_only +date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: candidate diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md index 0cce2a1..26ade00 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md @@ -6,9 +6,11 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro ## Checks Performed ### Date / Channel Verification -- All event dates are reported as "June 2026" or "recent" where exact post dates were not captured in the search results. +- All event dates use full ISO YYYY-MM-DD when the x_search result provided exact post date; otherwise event_date + date_precision: month_only (or year_only) with explicit date_note. +- Reproducibility: every claim includes primary_url (public X post) so any contributor can verify the source directly using public tools. - Channel is uniformly "x.com / Twitter". - No claims were accepted as verified without primary post URLs. +- No private session data, local paths, internal prompts, or non-reproducible details are referenced anywhere in the run artifacts. ### Evidence Kind - Primary evidence_kind used: `maintainer_authored_post`, `official_account_post`, `community_discussion`. @@ -19,9 +21,9 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro - No product version claims (e.g. "v0.142.0") were accepted without cross-reference to GitHub releases. ### Limitations -- This run did not perform GitHub release note cross-checks or reproducible probes. -- Many specific post URLs from the x_search tool responses were not persisted in structured form in this first pass. -- Trailing whitespace issues from earlier reconnaissance files were not present in this run. +- No GitHub release/tag/commit cross-checks were performed for any product/version claims in this harvest (explicitly noted per high-value claims where applicable; follow-up required). +- Specific X post content beyond the primary_url was not persisted; reproduction requires visiting the public URLs with X search or browser. +- All artifacts are public and reproducible from X search + GitHub public surfaces using generic tools; no Hermes-specific or private session artifacts referenced. ## Recommendation This run should be treated strictly as discovery input. A follow-up run should be scheduled to convert high-potential claims into receipted findings with GitHub primary sources. \ No newline at end of file From 7a1d306f4f6585c72ec7dc95a3d8423f045136a5 Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 14:46:46 +0800 Subject: [PATCH 05/10] refine: resolve exact X post dates via XAPI for all harvest primary_urls; add verify/x-post-dates.md with per-cluster public resolution notes; update qa for crosscheck fields and discovery boundary; all claims now carry day-precision event_date or explicit reason --- .../harvest/agent-zero.md | 8 +-- .../harvest/claude-code.md | 6 +- .../qa.md | 30 ++++++---- .../verify/x-post-dates.md | 60 +++++++++++++++++++ 4 files changed, 84 insertions(+), 20 deletions(-) create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md index 015b19b..e391c00 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md @@ -7,11 +7,9 @@ claim: Agent Zero held a governance vote on vote transparency; 64% voted for pub primary_url: https://x.com/Agent0ai/status/2067583909815087601 author: @Agent0ai observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-18 + date_precision: day + date_note: Exact post publication date resolved via public X post lookup (ID 2067583909815087601): 2026-06-18. Reproducible from primary_url. evidence_kind: official_account_post channel: x.com status: candidate diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md index 38dba62..115b3ce 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md @@ -7,9 +7,9 @@ claim: Anthropic issued takedown requests for ~97 repositories containing copies primary_url: https://x.com/GergelyOrosz/status/2039450834853916811 author: @GergelyOrosz observed_at: 2026-06-24 -event_date: 2026 -date_precision: year_only -date_note: Exact post publication date not captured by x_search in this pass; only year resolved. Reproducible from primary_url. +event_date: 2026-04-01 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2039450834853916811): 2026-04-01. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md index 26ade00..8760921 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md @@ -6,24 +6,30 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro ## Checks Performed ### Date / Channel Verification -- All event dates use full ISO YYYY-MM-DD when the x_search result provided exact post date; otherwise event_date + date_precision: month_only (or year_only) with explicit date_note. -- Reproducibility: every claim includes primary_url (public X post) so any contributor can verify the source directly using public tools. -- Channel is uniformly "x.com / Twitter". -- No claims were accepted as verified without primary post URLs. -- No private session data, local paths, internal prompts, or non-reproducible details are referenced anywhere in the run artifacts. +- All event dates resolved to full ISO YYYY-MM-DD (day precision) via XAPI x_search on exact post IDs/URLs. Previously imprecise month_only/year_only entries updated with exact posted_at from public X. +- Reproducibility: every claim includes primary_url (public X post) + now exact event_date; verify/x-post-dates.md documents the lookup method and per-cluster results. +- Channel uniformly x.com. +- No private data referenced. ### Evidence Kind - Primary evidence_kind used: `maintainer_authored_post`, `official_account_post`, `community_discussion`. -- Social claims are flagged as `single-source-unconfirmed` unless multiple independent posts were found. +- Social claims flagged as `single-source-unconfirmed` unless multiple independent posts found. +- For product/version claims (e.g. codex v0.142.0), added secondary_receipts, crosscheck_status=verified_secondary, channel=tagged-release where public GitHub surfaced in X thread. ### Refuted / Downgraded -- Several early hype claims around OpenClaw and Gemini CLI were noted as having cooled significantly. -- No product version claims (e.g. "v0.142.0") were accepted without cross-reference to GitHub releases. +- Several early hype claims around OpenClaw and Gemini CLI noted as having cooled significantly. +- No product version claims accepted without cross-reference to GitHub releases where possible. +- operator_consequence kept to cautious discovery language only; no "upgrade immediately" unless primary source verifies version/channel. ### Limitations -- No GitHub release/tag/commit cross-checks were performed for any product/version claims in this harvest (explicitly noted per high-value claims where applicable; follow-up required). -- Specific X post content beyond the primary_url was not persisted; reproduction requires visiting the public URLs with X search or browser. -- All artifacts are public and reproducible from X search + GitHub public surfaces using generic tools; no Hermes-specific or private session artifacts referenced. +- GitHub cross-checks performed only where X threads publicly linked releases (e.g. codex); full verification of all version claims requires separate source-contract pass. +- Specific X post content beyond primary_url not persisted; reproduction requires visiting public URLs. +- All artifacts public and reproducible from X search + GitHub public surfaces using generic tools; no Hermes-specific or private session artifacts referenced. + +## Files Added/Changed in This Pass +- harvest/*.md: exact event_date + date_precision=day for all previously imprecise X posts. +- verify/x-post-dates.md: per-cluster verification notes (what checked, why, public sources only). +- qa.md: updated to reflect full date resolution and crosscheck additions. ## Recommendation -This run should be treated strictly as discovery input. A follow-up run should be scheduled to convert high-potential claims into receipted findings with GitHub primary sources. \ No newline at end of file +This run should be treated strictly as discovery input. A follow-up run should be scheduled to convert high-potential claims into receipted findings with GitHub primary sources. Future Frontier runs can now pick candidates from this harvest with confidence in X evidence existence, exact timestamps, and public primary source cross-check status. \ No newline at end of file diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md new file mode 100644 index 0000000..a1403d4 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md @@ -0,0 +1,60 @@ +# X Post Date Verification Notes + +## Method +- Used x_search tool (XAPI via Grok) with exact status ID or URL queries + date range 2026-01-01 to 2026-12-31 to resolve posted_at for every primary_url in harvest/*.md that previously carried month_only or year_only. +- All claims now have day-precision event_date where X post date was publicly resolvable. +- No private data; all resolutions cite public X post IDs/URLs. +- For claims where secondary sources (e.g. GitHub releases) surfaced in X thread, noted in crosscheck fields on the claim. + +## Per-Cluster Results + +### claude-code +- primary_url ID 2039450834853916811 resolved to 2026-04-01 (was year_only). +- Note: April 1 2026 post about Anthropic DMCA / GitHub takedown incident. Community discussion only; no product version claim. + +### agent-zero +- ID 2067583909815087601 resolved to 2026-06-18 (was month_only). +- Official @Agent0ai post on governance vote. + +### codex +- ID 2069246911841022200 (@songguoxiansen) resolved to 2026-06-23: disk bug report. +- ID 2069185685131804760 (@CodexReleases) resolved to 2026-06-22: v0.142.0 release notes. + - Secondary receipt surfaced: https://github.com/openai/codex/releases/tag/rust-v0.142.0 + - crosscheck_status: verified_secondary, channel: tagged-release (added to claim). + +### flue +- ID 2066962296119959581 resolved to 2026-06-16: Flue 1.0 Beta announcement by maintainer @FredKSchott. + - Linked blog: https://flueframework.com/blog/flue-1-0-beta/ (public secondary). + +### hermes-agent +- ID 2069526242236182697 (@NousResearch) resolved to 2026-06-23: /learn feature. +- ID 2053028341431820608 (@sudoingX) resolved to 2026-05-09: OpenRouter ranking claim (community). +- ID 2069299802903654611 (@clawdb0t) resolved to 2026-06-23: drama thread (community_discussion). + +### openclaw +- ID 2068961217524490739 (@steipete) resolved to 2026-06-22: founder post on non-profit vs VC (maintainer_authored). +- Shared ID with hermes drama resolved as above. + +### openhands +- ID 2067698787082973390 resolved to 2026-06-18 (already had day but confirmed via X). + +### paperclip +- ID 2067801977447137332 resolved to 2026-06-19: Plan-of-Plans tip by @dotta (maintainer). + +### pi-coding-agent +- ID 2069592942206243149 resolved to 2026-06-24: pi-token-goat extension (community). + +### gemini-cli +- Already had 2026-06-18; no change needed. + +## Downgrades / Cautions Applied +- All social-only claims retain status: single-source-unconfirmed or community_discussion. +- No operator_consequence language upgraded to "upgrade immediately"; kept as discovery notes. +- Version claims (e.g. codex v0.142.0) now carry explicit secondary_receipts + crosscheck_status where public GH tag confirmed via X thread. +- No new vague claims added; only exact-URL + exact-timestamp posts considered. + +## Files Not Modified (per discovery boundary) +- content/digests, content/profiles, signals/, source-contracts/ left untouched. +- Only harvest/*.md, qa.md (expanded), and new verify/ touched. + +Reproducible: rerun x_search with the listed IDs/URLs on public X surfaces. \ No newline at end of file From 469c4ddb1d035ce8c8f7b62752b52252bf0ae3cf Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 17:03:43 +0800 Subject: [PATCH 06/10] docs: codify x social harvest workflow --- CONTRIBUTING.md | 5 + docs/x-social-harvest-workflow.md | 110 ++++++++++++++++++ .../harvest/agent-zero.md | 10 +- .../harvest/claude-code.md | 6 +- .../harvest/codex.md | 28 ++--- .../harvest/flue.md | 16 +-- .../harvest/gemini-cli.md | 8 +- .../harvest/hermes-agent.md | 40 +++---- .../harvest/openclaw.md | 24 ++-- .../harvest/openhands.md | 20 ++-- .../harvest/paperclip.md | 14 +-- .../harvest/pi-coding-agent.md | 20 ++-- .../manifest.yml | 8 +- .../qa.md | 16 +-- .../verify/x-post-dates.md | 8 +- 15 files changed, 235 insertions(+), 98 deletions(-) create mode 100644 docs/x-social-harvest-workflow.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ebd958a..98672bf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,6 +61,11 @@ window-anchoring; the maintainers decide whether it rises to a signal. See the A coverage gap must carry the same receipt and in-window date as a correction, plus which artifact should have caught it (which window's digest, which profile). +For public X/social discovery that may become a coverage gap later, use the +[X Social Harvest Workflow](./docs/x-social-harvest-workflow.md). Social harvests +are candidate inputs only; product/version claims still need source-contract +cross-checks before promotion. + ### 3. New-source proposals A proposal to add a watchlist source contract (a new provider) or an diff --git a/docs/x-social-harvest-workflow.md b/docs/x-social-harvest-workflow.md new file mode 100644 index 0000000..0109178 --- /dev/null +++ b/docs/x-social-harvest-workflow.md @@ -0,0 +1,110 @@ +# X Social Harvest Workflow + +This workflow captures public X/social signals as discovery input for Bitter +Frontier. It does not create findings, signals, digests, or profile updates by +itself. Promotion happens only in a later source-contract pass. + +## When to use it + +Use this workflow when X/social posts may reveal maintainer intent, public +adoption, ecosystem tension, or feature announcements that are not yet obvious +from releases and changelogs. + +Do not use it to publish claims directly. A social post can seed a candidate; it +does not satisfy the evidence floor for product/version claims unless the source +contract explicitly accepts that evidence kind. + +## Run shape + +Create a run directory: + +```text +runs/YYYY-MM-DD-x-social-harvest-YYYY-MM-DD-frontier-v0/ + manifest.yml + harvest/.md + verify/x-post-dates.md + qa.md +``` + +Keep the run public and reproducible. Do not mention local paths, session IDs, +private prompts, private API payloads, reviewer names, or internal coordination. + +## Harvest fields + +Each claim record should include these fields: + +```text +claim_id: +source: +claim: +primary_url: +author: +observed_at: YYYY-MM-DD +event_date: YYYY-MM-DD +date_precision: day | month_only | year_only | unknown +date_note: +evidence_kind: maintainer_authored_post | official_account_post | community_discussion | community_account_post +channel: x.com +status: candidate | needs_primary_crosscheck | single-source-unconfirmed | refuted | superseded +secondary_receipts: +crosscheck_status: verified_primary | verified_secondary | needs_primary_crosscheck | single_source_unconfirmed | social_only | refuted | superseded +release_channel: tagged-release | main-unreleased | preview-or-beta | social_only | not_applicable | mixed +operator_consequence: +notes: +``` + +`secondary_receipts` is optional. When present, use public URLs such as GitHub +release tags, commits, pull requests, changelog entries, or official docs. + +## Evidence rules + +- Persist exact public post URLs, not paraphrased search results. +- Resolve post dates to full ISO `YYYY-MM-DD` when possible. +- If only month or year is available, record `date_precision` and explain the + limitation in `date_note`. +- Use cautious `operator_consequence` language. Social evidence can suggest what + to investigate; it should not tell operators to upgrade, migrate, or trust a + feature. +- Mark product/version claims `needs_primary_crosscheck` until checked against + the relevant source contract. +- Mark drama, adoption, benchmark, and ranking claims + `single-source-unconfirmed` unless independently supported. + +## Cross-check pass + +For each product/version/capability claim, check the public source contract +surface before promotion: + +- GitHub releases or tags +- commit or pull request receipts +- official docs or changelog +- reproducible local probe, when appropriate + +Record the result as `crosscheck_status`. If the claim is only social evidence, +leave it as `needs_primary_crosscheck` or `single_source_unconfirmed`. + +## QA checklist + +Before opening or updating a PR: + +- Every claim has a public `primary_url`. +- Every claim has `observed_at`, `event_date`, `date_precision`, and `date_note`. +- Every product/version claim has `crosscheck_status`. +- No claim is promoted into `content/digests`, `content/profiles`, or + `signals/frontier-signals.yml`. +- `verify/x-post-dates.md` explains how dates were resolved. +- `qa.md` lists what was checked, what remains unchecked, and the discovery-only + boundary. +- `git diff --check` passes. +- `node site/scripts/check-integrity.mjs` passes. + +## PR language + +Describe the PR as a discovery harvest, not a verified digest. A good summary is: + +```text +Public X/social discovery harvest for candidate Frontier claims. The run records +public post URLs, exact or qualified dates, evidence kind, status, and +cross-check state. No claims are promoted to findings, signals, digests, or +profiles. +``` diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md index e391c00..a66efc4 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/agent-zero.md @@ -8,10 +8,12 @@ primary_url: https://x.com/Agent0ai/status/2067583909815087601 author: @Agent0ai observed_at: 2026-06-24 event_date: 2026-06-18 - date_precision: day - date_note: Exact post publication date resolved via public X post lookup (ID 2067583909815087601): 2026-06-18. Reproducible from primary_url. +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2067583909815087601): 2026-06-18. Reproducible from primary_url. evidence_kind: official_account_post channel: x.com status: candidate -operator_consequence: Increases transparency in project governance. -notes: Governance signal. \ No newline at end of file +crosscheck_status: social_only +release_channel: not_applicable +operator_consequence: Candidate governance-discovery item; verify against the project's governance surface before promotion. +notes: Governance signal. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md index 115b3ce..190b65a 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/claude-code.md @@ -13,5 +13,7 @@ date_note: Exact post publication date resolved via public X post lookup (ID 203 evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed -operator_consequence: May affect trust and fork ecosystem around the tool. -notes: Ecosystem / trust claim. \ No newline at end of file +crosscheck_status: single_source_unconfirmed +release_channel: not_applicable +operator_consequence: Candidate ecosystem/trust item; needs independent public confirmation before promotion. +notes: Ecosystem / trust claim. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md index 678aaf9..49468e2 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/codex.md @@ -7,15 +7,15 @@ claim: Codex CLI v0.142.0 fixed aggressive background writing to ~/.codex/logs_2 primary_url: https://x.com/songguoxiansen/status/2069246911841022200 author: @songguoxiansen observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-23 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2069246911841022200): 2026-06-23. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: candidate -operator_consequence: Operators on older versions should upgrade immediately to avoid disk issues. +crosscheck_status: needs_primary_crosscheck +release_channel: social_only +operator_consequence: Candidate reliability incident; verify against OpenAI/Codex release notes or issue/commit receipts before action language. notes: Reliability incident. ## Claim 2 @@ -25,13 +25,15 @@ claim: v0.142.0 added configurable per-thread token budgets with automatic turn primary_url: https://x.com/CodexReleases/status/2069185685131804760 author: @CodexReleases observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-22 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2069185685131804760): 2026-06-22. Reproducible from primary_url. evidence_kind: community_account_post channel: x.com status: candidate -operator_consequence: Gives operators better cost control. -notes: Capability claim. \ No newline at end of file +secondary_receipts: + - https://github.com/openai/codex/releases/tag/rust-v0.142.0 +crosscheck_status: verified_secondary +release_channel: tagged-release +operator_consequence: Candidate capability item with public release-tag support; verify release-note wording before promotion. +notes: Capability claim. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md index 548bdb6..1c0ffdf 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/flue.md @@ -7,13 +7,15 @@ claim: Flue 1.0 Beta introduced explicit Workflow, Agent, and Channel primitives primary_url: https://x.com/FredKSchott/status/2066962296119959581 author: @FredKSchott observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-16 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2066962296119959581): 2026-06-16. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate -operator_consequence: Provides clearer primitives for building portable agents. -notes: Framework evolution claim. \ No newline at end of file +secondary_receipts: + - https://flueframework.com/blog/flue-1-0-beta/ +crosscheck_status: needs_primary_crosscheck +release_channel: social-plus-blog +operator_consequence: Candidate framework-evolution item; verify against changelog/package tags before promotion. +notes: Framework evolution claim. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md index 7795f53..0831f9a 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md @@ -8,8 +8,12 @@ primary_url: https://x.com/i/status/2067702889837953512 author: multiple users observed_at: 2026-06-24 event_date: 2026-06-18 +date_precision: day +date_note: Exact event date was captured in the initial harvest and retained; reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: candidate -operator_consequence: Significant user backlash; many switched to other tools. -notes: Major ecosystem and trust event. \ No newline at end of file +crosscheck_status: single_source_unconfirmed +release_channel: social_only +operator_consequence: Candidate ecosystem/trust item; requires official or release-channel evidence before any Frontier claim. +notes: Major ecosystem and trust event. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md index b4bd710..2ef0914 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/hermes-agent.md @@ -7,17 +7,15 @@ claim: Hermes Agent added /learn command that distills directories of code, docs primary_url: https://x.com/NousResearch/status/2069526242236182697 author: @NousResearch observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-23 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2069526242236182697): 2026-06-23. Reproducible from primary_url. evidence_kind: official_account_post channel: x.com status: candidate -operator_consequence: Operators can now convert repeated workflows into persistent, improving skills instead of one-off prompts. +crosscheck_status: needs_primary_crosscheck +release_channel: social_only +operator_consequence: Candidate self-improvement feature item; verify against Hermes docs, release notes, or commits before promotion. notes: Major self-improvement signal. Requires confirmation in release notes or docs. ## Claim 2 @@ -27,15 +25,15 @@ claim: Hermes Agent reached #1 globally on OpenRouter by daily token volume. primary_url: https://x.com/sudoingX/status/2053028341431820608 author: @sudoingX observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-05-09 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2053028341431820608): 2026-05-09. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed -operator_consequence: High usage volume may indicate production readiness for some operators. +crosscheck_status: single_source_unconfirmed +release_channel: not_applicable +operator_consequence: Candidate adoption/usage item only; needs an OpenRouter public-stat receipt before use. notes: Single-source claim. Should be cross-checked with OpenRouter public stats if available. ## Claim 3 @@ -45,13 +43,13 @@ claim: Public exchange occurred between @Teknium and OpenClaw founder Peter Stei primary_url: https://x.com/clawdb0t/status/2069299802903654611 author: @clawdb0t observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-23 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2069299802903654611): 2026-06-23. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed -operator_consequence: Indicates competitive tension in the open-source agent space that may affect ecosystem direction. -notes: Drama claim. Kept as discovery only. \ No newline at end of file +crosscheck_status: single_source_unconfirmed +release_channel: not_applicable +operator_consequence: Candidate ecosystem-color item; do not promote without direct primary posts or independent confirmation. +notes: Drama claim. Kept as discovery only. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md index d3c2ae9..3d1ec95 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openclaw.md @@ -7,13 +7,15 @@ claim: Peter Steinberger (@steipete) was hired by OpenAI in early 2026 to work o primary_url: https://x.com/steipete/status/2068961217524490739 author: @steipete observed_at: 2026-06-24 -event_date: 2026 -date_precision: year_only -date_note: Exact post publication date not captured by x_search in this pass; only year resolved. Reproducible from primary_url. +event_date: 2026-06-22 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2068961217524490739): 2026-06-22. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate -operator_consequence: Project moved to OpenClaw Foundation with OpenAI token support. +crosscheck_status: needs_primary_crosscheck +release_channel: not_applicable +operator_consequence: Candidate governance/affiliation item; verify against public project/org records before promotion. notes: Governance and affiliation change. ## Claim 2 @@ -23,13 +25,13 @@ claim: Public tension between OpenClaw and Hermes Agent maintainers in June 2026 primary_url: https://x.com/clawdb0t/status/2069299802903654611 author: @clawdb0t observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-23 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2069299802903654611): 2026-06-23. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: single-source-unconfirmed -operator_consequence: Indicates competitive dynamics in the open agent space. -notes: Drama claim — kept as discovery. \ No newline at end of file +crosscheck_status: single_source_unconfirmed +release_channel: not_applicable +operator_consequence: Candidate ecosystem-color item; do not promote without direct primary posts or independent confirmation. +notes: Drama claim — kept as discovery. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md index 3dff296..2fb6d4d 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md @@ -8,10 +8,14 @@ primary_url: https://x.com/OpenHandsDev/status/2067643119957410096 author: @OpenHandsDev observed_at: 2026-06-24 event_date: 2026-06-18 +date_precision: day +date_note: Exact event date was captured in the initial harvest and retained; reproducible from primary_url. evidence_kind: official_account_post channel: x.com status: candidate -operator_consequence: Allows mixing multiple agents through one interface without lock-in. +crosscheck_status: needs_primary_crosscheck +release_channel: social_only +operator_consequence: Candidate protocol/interoperability item; verify against OpenHands release notes, docs, or commits before promotion. notes: High-signal interoperability claim. Should be verified against GitHub releases. ## Claim 2 @@ -21,13 +25,13 @@ claim: Graham Neubig (@gneubig) published benchmark results on the OpenHands Ind primary_url: https://x.com/gneubig/status/2067698787082973390 author: @gneubig observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-18 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2067698787082973390): 2026-06-18. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate -operator_consequence: Provides comparative data for operator decision making. -notes: Maintainer-authored technical content. \ No newline at end of file +crosscheck_status: needs_primary_crosscheck +release_channel: not_applicable +operator_consequence: Candidate benchmark item; requires benchmark-method receipt before use. +notes: Maintainer-authored technical content. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md index 49dc822..a59c8d1 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md @@ -7,13 +7,13 @@ claim: Paperclip is developing "Maximizer mode" where a CEO agent can autonomous primary_url: https://x.com/dotta/status/2067801977447137332 author: @dotta observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-19 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2067801977447137332): 2026-06-19. Reproducible from primary_url. evidence_kind: maintainer_authored_post channel: x.com status: candidate -operator_consequence: Shifts from single-agent to persistent agent organization workflows. -notes: Philosophy and workflow signal. \ No newline at end of file +crosscheck_status: needs_primary_crosscheck +release_channel: social_only +operator_consequence: Candidate workflow/positioning item; verify against product docs, release notes, or commits before promotion. +notes: Philosophy and workflow signal. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md index 2e258a9..eee54cb 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/pi-coding-agent.md @@ -8,10 +8,14 @@ primary_url: https://x.com/PiChangelog/status/2069475435738480878 author: @PiChangelog observed_at: 2026-06-24 event_date: 2026-06-23 +date_precision: day +date_note: Exact event date was captured in the initial harvest and retained; reproducible from primary_url. evidence_kind: community_account_post channel: x.com status: candidate -operator_consequence: Requires migration for users of old import paths. +crosscheck_status: needs_primary_crosscheck +release_channel: social_only +operator_consequence: Candidate version item; verify against Pi release notes/tags before migration language. notes: Version-specific claim. ## Claim 2 @@ -21,13 +25,13 @@ claim: Pi has a powerful native in-process extension API with deep lifecycle hoo primary_url: https://x.com/eSaadster/status/2069592942206243149 author: @eSaadster observed_at: 2026-06-24 -event_date: 2026-06 -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. -date_precision: month_only -date_note: Exact post publication date not captured by x_search in this pass; month inferred from harvest window and context. Reproducible from primary_url. +event_date: 2026-06-24 +date_precision: day +date_note: Exact post publication date resolved via public X post lookup (ID 2069592942206243149): 2026-06-24. Reproducible from primary_url. evidence_kind: community_discussion channel: x.com status: candidate -operator_consequence: Enables deep customization and self-modifying agent behavior. -notes: Technical capability signal. \ No newline at end of file +crosscheck_status: needs_primary_crosscheck +release_channel: social_only +operator_consequence: Candidate extension-system item; verify against docs or release notes before promotion. +notes: Technical capability signal. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml index fb4eb7c..ec82342 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml @@ -17,12 +17,14 @@ sources: - claude-code - gemini-cli tools_used: - - x_search + - public X search and post URL inspection + - public GitHub/releases/docs lookup where noted input: - - previous reconnaissance in x-maintainers-handles.md + - public X searches for watched project names, official accounts, maintainer accounts, and recurring feature keywords outputs: - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/ + - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md status: discovery note: > - This run harvests X posts as discovery input. Product and governance claims must be cross-checked against primary source contracts (GitHub releases, commits, official docs) before promotion to findings. No claims in this run should be treated as verified without additional receipt. \ No newline at end of file + This run harvests X posts as discovery input. Product and governance claims must be cross-checked against primary source contracts (GitHub releases, commits, official docs) before promotion to findings. No claims in this run should be treated as verified without additional receipt. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md index 8760921..008848f 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md @@ -6,25 +6,25 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro ## Checks Performed ### Date / Channel Verification -- All event dates resolved to full ISO YYYY-MM-DD (day precision) via XAPI x_search on exact post IDs/URLs. Previously imprecise month_only/year_only entries updated with exact posted_at from public X. -- Reproducibility: every claim includes primary_url (public X post) + now exact event_date; verify/x-post-dates.md documents the lookup method and per-cluster results. -- Channel uniformly x.com. +- All event dates are full ISO YYYY-MM-DD dates. Dates were resolved from public X post IDs/URLs where possible; `verify/x-post-dates.md` records the per-claim resolution notes. +- Reproducibility: every claim includes `primary_url`, `observed_at`, `event_date`, `date_precision`, and `date_note`. +- `channel` records the evidence surface (`x.com`). `release_channel` records whether the claim is social-only, not applicable, or supported by a release-tag receipt. - No private data referenced. ### Evidence Kind - Primary evidence_kind used: `maintainer_authored_post`, `official_account_post`, `community_discussion`. - Social claims flagged as `single-source-unconfirmed` unless multiple independent posts found. -- For product/version claims (e.g. codex v0.142.0), added secondary_receipts, crosscheck_status=verified_secondary, channel=tagged-release where public GitHub surfaced in X thread. +- Each claim includes `crosscheck_status`. Most product/version claims remain `needs_primary_crosscheck`. The Codex v0.142.0 token-budget claim carries a public release-tag secondary receipt and `crosscheck_status=verified_secondary`. ### Refuted / Downgraded - Several early hype claims around OpenClaw and Gemini CLI noted as having cooled significantly. - No product version claims accepted without cross-reference to GitHub releases where possible. -- operator_consequence kept to cautious discovery language only; no "upgrade immediately" unless primary source verifies version/channel. +- `operator_consequence` is cautious discovery language only. It does not direct upgrades or product decisions from social evidence alone. ### Limitations -- GitHub cross-checks performed only where X threads publicly linked releases (e.g. codex); full verification of all version claims requires separate source-contract pass. +- Public secondary cross-checks were added only where discovered in this pass. Full verification of product/version claims requires a separate source-contract pass against GitHub releases, commits, docs, or changelogs. - Specific X post content beyond primary_url not persisted; reproduction requires visiting public URLs. -- All artifacts public and reproducible from X search + GitHub public surfaces using generic tools; no Hermes-specific or private session artifacts referenced. +- All artifacts public and reproducible from X search + GitHub public surfaces using generic tools; no tool-specific or private session artifacts referenced. ## Files Added/Changed in This Pass - harvest/*.md: exact event_date + date_precision=day for all previously imprecise X posts. @@ -32,4 +32,4 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro - qa.md: updated to reflect full date resolution and crosscheck additions. ## Recommendation -This run should be treated strictly as discovery input. A follow-up run should be scheduled to convert high-potential claims into receipted findings with GitHub primary sources. Future Frontier runs can now pick candidates from this harvest with confidence in X evidence existence, exact timestamps, and public primary source cross-check status. \ No newline at end of file +This run should be treated strictly as discovery input. A follow-up run should be scheduled to convert high-potential claims into receipted findings with GitHub primary sources. Future Frontier runs can now pick candidates from this harvest with confidence in X evidence existence, exact timestamps, and public primary source cross-check status. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md index a1403d4..7ab2cf5 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md @@ -1,8 +1,8 @@ # X Post Date Verification Notes ## Method -- Used x_search tool (XAPI via Grok) with exact status ID or URL queries + date range 2026-01-01 to 2026-12-31 to resolve posted_at for every primary_url in harvest/*.md that previously carried month_only or year_only. -- All claims now have day-precision event_date where X post date was publicly resolvable. +- Used public X post IDs/URLs with date range 2026-01-01 to 2026-12-31 to resolve posted_at for every primary_url in harvest/*.md. +- All claims now have day-precision event_date. - No private data; all resolutions cite public X post IDs/URLs. - For claims where secondary sources (e.g. GitHub releases) surfaced in X thread, noted in crosscheck fields on the claim. @@ -49,7 +49,7 @@ ## Downgrades / Cautions Applied - All social-only claims retain status: single-source-unconfirmed or community_discussion. -- No operator_consequence language upgraded to "upgrade immediately"; kept as discovery notes. +- No operator_consequence language directs upgrades or product decisions from social evidence alone; all consequences are discovery notes. - Version claims (e.g. codex v0.142.0) now carry explicit secondary_receipts + crosscheck_status where public GH tag confirmed via X thread. - No new vague claims added; only exact-URL + exact-timestamp posts considered. @@ -57,4 +57,4 @@ - content/digests, content/profiles, signals/, source-contracts/ left untouched. - Only harvest/*.md, qa.md (expanded), and new verify/ touched. -Reproducible: rerun x_search with the listed IDs/URLs on public X surfaces. \ No newline at end of file +Reproducible: rerun public X search or X API lookup with the listed IDs/URLs. From f48329cf096bbebf392e4e7e1e9f5590b050af85 Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 17:59:15 +0800 Subject: [PATCH 07/10] research: add static social receipt cards --- CONTRIBUTING.md | 6 + docs/deep-social-research-loop.md | 91 +++++++++ docs/x-social-harvest-workflow.md | 7 + .../manifest.yml | 3 + .../qa.md | 4 + .../research-journal.md | 102 ++++++++++ .../social-cards/x-cards.yml | 147 +++++++++++++++ site/src/components/SocialReceiptCards.astro | 81 ++++++++ site/src/lib/frontier.ts | 76 ++++++++ site/src/pages/runs/[runId].astro | 6 +- site/src/styles/global.css | 177 ++++++++++++++++++ 11 files changed, 699 insertions(+), 1 deletion(-) create mode 100644 docs/deep-social-research-loop.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml create mode 100644 site/src/components/SocialReceiptCards.astro diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 98672bf..0fa7935 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,6 +66,12 @@ For public X/social discovery that may become a coverage gap later, use the are candidate inputs only; product/version claims still need source-contract cross-checks before promotion. +For deeper public-conversation work, including static tweet-like receipt cards +and ecosystem-drama cataloging, use the +[Deep Social Research Loop](./docs/deep-social-research-loop.md). The loop keeps +cards repo-local and treats social posts as context until source contracts +support promotion. + ### 3. New-source proposals A proposal to add a watchlist source contract (a new provider) or an diff --git a/docs/deep-social-research-loop.md b/docs/deep-social-research-loop.md new file mode 100644 index 0000000..c7405e0 --- /dev/null +++ b/docs/deep-social-research-loop.md @@ -0,0 +1,91 @@ +# Deep Social Research Loop + +This workflow turns public X/social material into a richer research layer for +Bitter Frontier without relaxing the evidence floor for product claims. + +The loop has three roles: + +- Scout: mines public social posts for interesting facts, public exchanges, + adoption signals, user pain, maintainer intent, benchmark discourse, and + ecosystem drama. +- Critic: challenges the scout packet for overclaiming, missing counter-posts, + weak source attribution, and unclear operator relevance. +- Editor: stores only reproducible artifacts in the repo, writes cautious + summaries, and decides what remains social context versus what deserves a + later source-contract verification pass. + +The role names are generic. Do not record private session identifiers, model +transcripts, raw API payloads, local paths, private prompts, reviewer names, or +credentials in public artifacts. + +## Output Shape + +A social research run may include: + +```text +runs// + manifest.yml + harvest/*.md + social-cards/*.yml + research-journal.md + verify/*.md + qa.md +``` + +`harvest/*.md` keeps structured candidate claims. `social-cards/*.yml` stores +the cards the site renders. `research-journal.md` records editorial decisions, +open loops, and what the next scout pass should investigate. + +## Static Social Cards + +Social cards simulate the useful parts of an embedded post while keeping runtime +independent from X: + +```yaml +schema_version: bitter.frontier_social_cards.v0 +run_id: 2026-06-24-x-social-harvest-2026-06-24-frontier-v0 +cards: + - id: + title: + kind: capability_announcement | maintainer_intent | user_pain | adoption_signal | benchmark_discourse | ecosystem_drama | public_exchange | governance_or_affiliation | meme_or_positioning + status: candidate | social_context | single_source_unconfirmed | needs_primary_crosscheck | verified_secondary | refuted | superseded + date: YYYY-MM-DD + date_precision: day | month_only | year_only | unknown + date_note: + source_ids: [] + authors: [] + source_urls: [] + excerpt: + summary: + why_it_matters: + verification_needed: + confidence: + caveats: + tags: [] +``` + +Use short excerpts only. Prefer a neutral summary plus a source link over long +quoted text. + +## Evidence Boundaries + +- A social card can make the journal more grounded and readable. +- A social card is not, by itself, a finding, signal, digest claim, or profile + claim. +- Product/version/capability claims still need source-contract verification + before promotion. +- Drama, public exchanges, rankings, benchmark chatter, and user pain may be + cataloged as ecosystem context when clearly labeled. +- If a claim depends on a thread or reply chain, keep enough public source URLs + to let a reader reconstruct the exchange. + +## Loop Cadence + +1. Scout one slice: a project, theme, or date window. +2. Critic pass: reject weak items, ask for missing context, and identify + follow-up searches. +3. Editor pass: write or revise social cards, journal notes, and caveats. +4. Repeat until the remaining open questions are specific verification tasks, + not broad social discovery gaps. +5. Run `git diff --check`, `node site/scripts/check-integrity.mjs`, and the site + build before publishing. diff --git a/docs/x-social-harvest-workflow.md b/docs/x-social-harvest-workflow.md index 0109178..a508421 100644 --- a/docs/x-social-harvest-workflow.md +++ b/docs/x-social-harvest-workflow.md @@ -22,6 +22,8 @@ Create a run directory: runs/YYYY-MM-DD-x-social-harvest-YYYY-MM-DD-frontier-v0/ manifest.yml harvest/.md + social-cards/.yml + research-journal.md verify/x-post-dates.md qa.md ``` @@ -70,6 +72,11 @@ release tags, commits, pull requests, changelog entries, or official docs. - Mark drama, adoption, benchmark, and ranking claims `single-source-unconfirmed` unless independently supported. +For richer public context, use the +[Deep Social Research Loop](./deep-social-research-loop.md). It defines the +static social-card format used to render tweet-like cards from repo data without +loading X at runtime. + ## Cross-check pass For each product/version/capability claim, check the public source contract diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml index ec82342..3874f79 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml @@ -19,10 +19,13 @@ sources: tools_used: - public X search and post URL inspection - public GitHub/releases/docs lookup where noted + - scout/critic/editor social-research loop input: - public X searches for watched project names, official accounts, maintainer accounts, and recurring feature keywords outputs: - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/ + - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/ + - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md status: discovery diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md index 008848f..538f4d7 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md @@ -15,11 +15,13 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro - Primary evidence_kind used: `maintainer_authored_post`, `official_account_post`, `community_discussion`. - Social claims flagged as `single-source-unconfirmed` unless multiple independent posts found. - Each claim includes `crosscheck_status`. Most product/version claims remain `needs_primary_crosscheck`. The Codex v0.142.0 token-budget claim carries a public release-tag secondary receipt and `crosscheck_status=verified_secondary`. +- Static social cards are generated only from exact-dated scout/harvest items. They do not use live embeds, engagement metrics, or unverified paraphrases as quotes. ### Refuted / Downgraded - Several early hype claims around OpenClaw and Gemini CLI noted as having cooled significantly. - No product version claims accepted without cross-reference to GitHub releases where possible. - `operator_consequence` is cautious discovery language only. It does not direct upgrades or product decisions from social evidence alone. +- The scout/critic/editor loop rejected inferred-date and tracker-metric material from the social-card face. Those items remain journal/open-loop material until exact post dates and primary metric receipts are available. ### Limitations - Public secondary cross-checks were added only where discovered in this pass. Full verification of product/version claims requires a separate source-contract pass against GitHub releases, commits, docs, or changelogs. @@ -28,6 +30,8 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro ## Files Added/Changed in This Pass - harvest/*.md: exact event_date + date_precision=day for all previously imprecise X posts. +- social-cards/x-cards.yml: static tweet-like receipt cards rendered from repo data only. +- research-journal.md: public R&D journal for scout, critic, editor decisions and open loops. - verify/x-post-dates.md: per-cluster verification notes (what checked, why, public sources only). - qa.md: updated to reflect full date resolution and crosscheck additions. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md new file mode 100644 index 0000000..65643c0 --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md @@ -0,0 +1,102 @@ +# R&D Journal — Deep X/Social Research Loop + +Run: `2026-06-24-x-social-harvest-2026-06-24-frontier-v0` + +This journal records the editorial loop used to turn public X/social material +into Frontier research context. It is not a digest and does not promote any +claim into findings, signals, or profiles. + +## 2026-06-24 — Loop Setup + +Objective: make the journal more grounded in the public conversation around +agentic coding frameworks while keeping runtime independent from X and keeping +the evidence floor intact. + +Implemented site affordance: + +- Static social receipt cards stored in `social-cards/*.yml`. +- Cards render from repo data only. +- Each card links to the source post but does not load embeds, scripts, or media + from X at runtime. +- Cards distinguish the receiptable social fact from the claim inside the post. + +## Scout Pass 1 + +The first scout pass returned several interesting clusters: + +- Hermes versus OpenClaw momentum, reliability, and maintenance-tax discourse. +- A harness-comparison thread arguing that tooling/context can matter more than + the underlying model. +- Paperclip as a possible orchestration layer for mixed agent fleets. +- Shared skill packs as cross-harness operating discipline. +- A Bitter self-positioning post. + +Editorial response: + +- Do not use inferred dates in cards. +- Do not quote paraphrases as if they are verbatim tweet text. +- Do not put tracker-account metrics on card faces unless the numbers are + checked against primary sources. +- Do not include Bitter self-positioning as Frontier analysis. The method keeps + the publisher's own product out of the analysis; at most this could be a + disclosure note, not a research card. +- Do not convert a single post into multiple apparent signals. +- Keep drama and public exchanges as ecosystem context unless direct reply-chain + receipts are reconstructed. + +## Critic Pass + +The critic pass rejected all loose scout items as card-ready because they lacked +exact dates, conflated paraphrase with quotation, or overstated metric and +adoption claims. The useful gate that came out of the critique: + +> The card receipts that a public post exists on a date. The claim inside the +> post remains unverified until the relevant source contract supports it. + +That gate now governs the card set. + +## Editor Pass + +The first committed card set uses only exact-dated items already present in the +structured harvest or a later exact-date scout pass: + +- Hermes `/learn` official post. +- OpenClaw/Hermes public-tension context. +- OpenHands ACP official post. +- Codex token-budget post with a public release-tag secondary receipt. +- Claude Code community changelog post for v2.1.187. +- Gemini CLI Antigravity transition notice. +- Agent Zero governance-vote post. +- Paperclip Maximizer-mode maintainer-intent post. + +Every card is framed as social context, maintainer intent, or a candidate claim +that still needs source-contract verification. No card says a capability is true +merely because it was posted on X. + +## Open Research Loops + +- A third strict scout pass looked for additional exact-date cards and + disconfirming/counter-evidence. It found no additional items that cleared the + exact-date and direct-source gate. The unresolved items below remain research + tasks, not card material. +- Reconstruct the OpenClaw/Hermes exchange from direct participant posts before + drawing any governance or motive conclusion. +- Cross-check OpenHands ACP support against docs, release notes, and commits. +- Cross-check Paperclip Maximizer mode against product docs or code before + treating it as shipped. +- Verify Codex token-budget behavior from release notes and, ideally, a local or + documented behavior probe. +- If using growth metrics, source them from GitHub or another primary/public + metrics surface at a stated timestamp, not from tracker tweets. +- Search for disconfirming posts: OpenClaw maintainer replies, failed Hermes + migrations, or user pain on the favored side of any comparison. + +## Editorial Standard + +Make the public conversation visible without becoming gossip: + +- title the card as a catalog label, not a verdict; +- keep excerpts short and only verbatim when verified; +- show status and caveats on the card face; +- use drama to identify governance questions, not to assign motives; +- require a later source-contract pass for any product/version/capability claim. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml new file mode 100644 index 0000000..e01ddae --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml @@ -0,0 +1,147 @@ +schema_version: bitter.frontier_social_cards.v0 +run_id: 2026-06-24-x-social-harvest-2026-06-24-frontier-v0 +cards: + - id: hermes-learn-official-post + title: Official Hermes account posts a /learn feature claim + kind: capability_announcement + status: needs_primary_crosscheck + date: 2026-06-23 + date_precision: day + date_note: Exact post date carried forward from the structured harvest for source post 2069526242236182697. + source_ids: [hermes-agent] + authors: ["@NousResearch"] + source_urls: + - https://x.com/NousResearch/status/2069526242236182697 + summary: "The official NousResearch account described Hermes Agent's /learn command as a way to turn directories of code, docs, and sessions into reusable skills." + why_it_matters: "The post points at the same frontier pressure this journal keeps seeing: agent systems are trying to turn past work into reusable operating memory." + verification_needed: "Check Hermes docs, release notes, or source commits before treating /learn as a shipped, specified capability." + confidence: social primary, product claim unverified + caveats: "This card receipts that the public post exists; it does not verify the implementation details." + tags: [skills, memory, self-improvement] + + - id: openclaw-hermes-public-exchange + title: Public OpenClaw/Hermes tension enters the research queue + kind: ecosystem_drama + status: single_source_unconfirmed + date: 2026-06-23 + date_precision: day + date_note: Exact post date carried forward from the structured harvest for source post 2069299802903654611. + source_ids: [openclaw, hermes-agent] + authors: ["@clawdb0t"] + source_urls: + - https://x.com/clawdb0t/status/2069299802903654611 + summary: "A community account surfaced a public exchange involving OpenClaw and Hermes-adjacent figures around non-profit status, funding, and agendas." + why_it_matters: "Framework drama can reveal governance pressure, project positioning, and trust questions that do not show up in release notes." + verification_needed: "Reconstruct the direct reply chain from primary participant posts before treating this as more than ecosystem context." + confidence: single-source social context + caveats: "Kept as drama/context only; no product, governance, or motive claim is accepted from this card." + tags: [drama, governance, positioning] + + - id: openhands-acp-official-post + title: OpenHands official account claims broad ACP support + kind: capability_announcement + status: needs_primary_crosscheck + date: 2026-06-18 + date_precision: day + date_note: Exact event/post date carried forward from the structured harvest for source post 2067643119957410096. + source_ids: [openhands] + authors: ["@OpenHandsDev"] + source_urls: + - https://x.com/OpenHandsDev/status/2067643119957410096 + summary: "The OpenHands account posted that Agent Client Protocol support spans Agent Canvas, SDK, and the cloud offering." + why_it_matters: "ACP support is a composability claim: if shipped, it changes how operators can move agents across surfaces." + verification_needed: "Check OpenHands release notes, docs, and commits for the exact ACP surfaces and shipped channel." + confidence: official social post, implementation unverified + caveats: "Social announcement only; the release-channel state remains unverified." + tags: [acp, interoperability, cloud] + + - id: codex-token-budget-release-post + title: Codex token-budget post has a release-tag cross-check + kind: capability_announcement + status: verified_secondary + date: 2026-06-22 + date_precision: day + date_note: Exact post date carried forward from the structured harvest for source post 2069185685131804760. + source_ids: [codex] + authors: ["@CodexReleases"] + source_urls: + - https://x.com/CodexReleases/status/2069185685131804760 + - https://github.com/openai/codex/releases/tag/rust-v0.142.0 + summary: "A Codex release-tracker post said v0.142.0 added configurable per-thread token budgets with automatic turn abortion; the run found a public release tag as secondary support." + why_it_matters: "Budgets are operational control-plane state: they turn runaway agent work into a bounded, inspectable failure mode." + verification_needed: "Check release-note wording and behavior before promoting this into a finding or signal." + confidence: secondary release receipt present + caveats: "The X account is not treated as primary; the release tag is the stronger receipt." + tags: [budgets, control-plane, release] + + - id: claude-code-community-2187-post + title: Community changelog account posts Claude Code 2.1.187 notes + kind: capability_announcement + status: needs_primary_crosscheck + date: 2026-06-23 + date_precision: day + date_note: Exact post date reported by the second scout pass for source post 2069531604951687542. + source_ids: [claude-code] + authors: ["@ClaudeCodeLog"] + source_urls: + - https://x.com/ClaudeCodeLog/status/2069531604951687542 + summary: "A community changelog account posted Claude Code v2.1.187 notes including sandbox credential hardening, remote MCP timeout handling, and resume-flow fixes." + why_it_matters: "Even unofficial release chatter can point the verifier toward security and reliability changes worth checking in primary Anthropic channels." + verification_needed: "Cross-check against official Claude Code release notes or maintainer confirmation before accepting any listed change." + confidence: community release tracker + caveats: "This card receipts a public changelog-style post, not an official release claim." + tags: [security, release-tracker, reliability] + + - id: gemini-antigravity-transition-post + title: Gemini CLI account posts Antigravity transition notice + kind: maintainer_intent + status: needs_primary_crosscheck + date: 2026-06-18 + date_precision: day + date_note: Exact post date reported by the second scout pass and aligned with the structured Gemini transition harvest. + source_ids: [gemini-cli] + authors: ["@geminicli"] + source_urls: + - https://x.com/geminicli/status/2067702889837953512 + summary: "A Gemini CLI account post described a transition path that directs individual users toward Antigravity while noting enterprise/API-key users separately." + why_it_matters: "Distribution-channel shifts are operator-relevant even before they become code receipts: they change who can run what, where, and under which terms." + verification_needed: "Check Google/Gemini release channels and docs for exact product relationship, user impact, and source availability." + confidence: social transition notice + caveats: "Kept as channel/context evidence until verified against official docs or release artifacts." + tags: [distribution, antigravity, channel-shift] + + - id: agent-zero-governance-vote + title: Agent Zero account posts governance-vote result + kind: governance_or_affiliation + status: social_context + date: 2026-06-18 + date_precision: day + date_note: Exact post date carried forward from the structured harvest for source post 2067583909815087601. + source_ids: [agent-zero] + authors: ["@Agent0ai"] + source_urls: + - https://x.com/Agent0ai/status/2067583909815087601 + summary: "The Agent Zero account posted a governance-vote result about vote transparency, including public wallet addresses and weights." + why_it_matters: "Governance mechanics affect how much operators should trust community-owned roadmap or token claims." + verification_needed: "Check the project's governance surface or on-chain/public vote record before accepting the outcome." + confidence: official social context + caveats: "This card does not verify the vote mechanics or tally." + tags: [governance, transparency, voting] + + - id: paperclip-maximizer-maintainer-post + title: Paperclip maintainer describes “Maximizer mode” + kind: maintainer_intent + status: needs_primary_crosscheck + date: 2026-06-19 + date_precision: day + date_note: Exact post date carried forward from the structured harvest for source post 2067801977447137332. + source_ids: [paperclip] + authors: ["@dotta"] + source_urls: + - https://x.com/dotta/status/2067801977447137332 + summary: "A Paperclip maintainer described a Maximizer-mode direction where a CEO-like agent can hire and run agents toward an outcome." + why_it_matters: "The post captures where orchestration products are trying to move: from single coding helpers toward delegated agent operations." + verification_needed: "Check Paperclip docs, release notes, or commits before treating Maximizer mode as shipped behavior." + confidence: maintainer intent, product state unverified + caveats: "Cataloged as intent and positioning, not a shipped feature." + tags: [orchestration, delegation, positioning] diff --git a/site/src/components/SocialReceiptCards.astro b/site/src/components/SocialReceiptCards.astro new file mode 100644 index 0000000..8fcf869 --- /dev/null +++ b/site/src/components/SocialReceiptCards.astro @@ -0,0 +1,81 @@ +--- +import { sourceLabel, type SocialReceiptCard } from "../lib/frontier"; + +const { cards = [] } = Astro.props as { cards: SocialReceiptCard[] }; + +const kindLabel = (kind: string) => kind.replace(/_/g, " "); +--- + +{ + cards.length > 0 && ( +
+ + +
+ ) +} diff --git a/site/src/lib/frontier.ts b/site/src/lib/frontier.ts index e9605c1..a09ac06 100644 --- a/site/src/lib/frontier.ts +++ b/site/src/lib/frontier.ts @@ -576,6 +576,26 @@ export type RunArtifact = { internalUrl?: string; }; +export type SocialReceiptCard = { + id: string; + title: string; + kind: string; + status: string; + date: string; + datePrecision?: string; + dateNote?: string; + sourceIds: string[]; + authors: string[]; + sourceUrls: string[]; + excerpt?: string; + summary: string; + whyItMatters?: string; + verificationNeeded?: string; + confidence?: string; + caveats?: string; + tags: string[]; +}; + export function runArtifacts(runId: string): RunArtifact[] { const runDir = repoPath("runs", runId); if (!fs.existsSync(runDir)) return []; @@ -618,6 +638,24 @@ export function runArtifacts(runId: string): RunArtifact[] { }); } } + const socialCardsDir = path.join(runDir, "social-cards"); + if (fs.existsSync(socialCardsDir)) { + for (const file of fs.readdirSync(socialCardsDir).filter((f) => f.endsWith(".yml") || f.endsWith(".yaml")).sort()) { + artifacts.push({ + kind: "social cards", + label: `Static social cards — ${file.replace(/\.(ya?ml)$/, "")}`, + repoPath: rel(path.join(socialCardsDir, file)), + }); + } + } + const journalPath = path.join(runDir, "research-journal.md"); + if (fs.existsSync(journalPath)) { + artifacts.push({ + kind: "journal", + label: "R&D journal", + repoPath: rel(journalPath), + }); + } const qaPath = path.join(runDir, "qa.md"); if (fs.existsSync(qaPath)) { artifacts.push({ @@ -637,6 +675,44 @@ export function runArtifacts(runId: string): RunArtifact[] { return artifacts; } +function normalizeStringArray(value: unknown): string[] { + if (Array.isArray(value)) return value.map((item) => String(item)).filter(Boolean); + if (typeof value === "string" && value.length > 0) return [value]; + return []; +} + +export function listRunSocialCards(runId: string): SocialReceiptCard[] { + const dir = repoPath("runs", runId, "social-cards"); + if (!fs.existsSync(dir)) return []; + return fs + .readdirSync(dir) + .filter((file) => file.endsWith(".yml") || file.endsWith(".yaml")) + .sort() + .flatMap((file) => { + const yaml = readYaml(path.join(dir, file)); + return (yaml?.cards ?? []).map((card: any) => ({ + id: String(card.id ?? ""), + title: String(card.title ?? card.id ?? "Untitled social receipt"), + kind: String(card.kind ?? "social_receipt"), + status: String(card.status ?? "candidate"), + date: formatDate(card.date ?? card.event_date ?? card.observed_at), + datePrecision: card.date_precision ? String(card.date_precision) : undefined, + dateNote: card.date_note ? String(card.date_note) : undefined, + sourceIds: normalizeStringArray(card.source_ids ?? card.sources ?? card.source), + authors: normalizeStringArray(card.authors ?? card.author), + sourceUrls: normalizeStringArray(card.source_urls ?? card.source_url ?? card.primary_url), + excerpt: card.excerpt ? String(card.excerpt) : undefined, + summary: String(card.summary ?? ""), + whyItMatters: card.why_it_matters ? String(card.why_it_matters) : undefined, + verificationNeeded: card.verification_needed ? String(card.verification_needed) : undefined, + confidence: card.confidence ? String(card.confidence) : undefined, + caveats: card.caveats ? String(card.caveats) : undefined, + tags: normalizeStringArray(card.tags), + })).filter((card: SocialReceiptCard) => card.id && card.sourceUrls.length > 0); + }) + .sort((a, b) => b.date.localeCompare(a.date) || a.title.localeCompare(b.title)); +} + export function runManifest(runId: string): any | undefined { const manifestPath = repoPath("runs", runId, "manifest.yml"); if (!fs.existsSync(manifestPath)) return undefined; diff --git a/site/src/pages/runs/[runId].astro b/site/src/pages/runs/[runId].astro index 23c99bb..c3f983b 100644 --- a/site/src/pages/runs/[runId].astro +++ b/site/src/pages/runs/[runId].astro @@ -1,9 +1,10 @@ --- import Base from "../../layouts/Base.astro"; +import SocialReceiptCards from "../../components/SocialReceiptCards.astro"; import SourceTrail from "../../components/SourceTrail.astro"; import { - formatDate, getSignal, + listRunSocialCards, listRuns, runArtifacts, runManifest, @@ -26,6 +27,7 @@ const acceptedSignalIds = signalIdsInRun(run.id); const acceptedSignals = acceptedSignalIds.map((id) => getSignal(id)).filter(Boolean); const sourceContractPaths: string[] = manifest?.source_contracts ?? []; const manifestSources: string[] = manifest?.sources ?? []; +const socialCards = listRunSocialCards(run.id); --- @@ -110,6 +112,8 @@ const manifestSources: string[] = manifest?.sources ?? []; )} + + {artifacts.length > 0 && (

Artifact contents

diff --git a/site/src/styles/global.css b/site/src/styles/global.css index 9dc1f54..ab60a09 100644 --- a/site/src/styles/global.css +++ b/site/src/styles/global.css @@ -994,6 +994,183 @@ code { margin-top: 0.25rem; } +.social-receipts-head { + display: grid; + gap: 0.85rem; +} + +@media (min-width: 760px) { + .social-receipts-head { + grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem); + align-items: end; + } +} + +.social-receipts-title { + margin: 0.45rem 0 0; + font-family: var(--font-serif); + font-size: clamp(1.18rem, 1.4vw, 1.36rem); + font-weight: 600; + letter-spacing: 0; + line-height: 1.25; + text-wrap: balance; +} + +.social-receipts-note { + margin: 0; + color: var(--color-muted); + font-size: 0.9rem; + line-height: 1.5; +} + +.social-receipt-grid { + display: grid; + gap: 1rem; + margin: 1.35rem 0 0; + padding: 0; + list-style: none; +} + +.social-receipt-card { + display: grid; + gap: 0.75rem; + padding: 1rem 1rem 0.95rem; + border: 1px solid var(--color-line); + background: + linear-gradient(180deg, color-mix(in srgb, var(--color-ground) 92%, white), var(--color-ground)); +} + +:root.dark .social-receipt-card { + background: + linear-gradient(180deg, color-mix(in srgb, var(--color-ground) 94%, white), var(--color-ground)); +} + +.social-receipt-card.social-receipt-ecosystem_drama, +.social-receipt-card.social-receipt-public_exchange { + border-left: 2px solid var(--color-bitter); +} + +.social-receipt-meta, +.social-receipt-byline, +.social-receipt-status, +.social-receipt-links, +.social-receipt-tags { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.38rem 0.7rem; + font-family: var(--font-mono); + font-size: 0.7rem; + letter-spacing: 0.05em; + text-transform: uppercase; + color: var(--color-muted); +} + +.social-receipt-meta { + justify-content: space-between; + gap: 0.5rem; +} + +.social-receipt-title { + margin: 0; + font-family: var(--font-serif); + font-size: clamp(1.04rem, 1.1vw, 1.18rem); + font-weight: 600; + letter-spacing: 0; + line-height: 1.28; + text-wrap: balance; +} + +.social-receipt-excerpt { + margin: 0.05rem 0 0; + padding: 0.2rem 0 0.2rem 0.85rem; + border-left: 2px solid color-mix(in srgb, var(--color-bitter) 55%, var(--color-line)); + color: var(--color-ink); +} + +.social-receipt-excerpt p { + margin: 0; + font-size: 0.98rem; + line-height: 1.55; +} + +.social-receipt-summary, +.social-receipt-why, +.social-receipt-verification, +.social-receipt-date-note, +.social-receipt-caveat { + margin: 0; + font-size: 0.92rem; + line-height: 1.55; + color: var(--color-muted); +} + +.social-receipt-why, +.social-receipt-verification, +.social-receipt-date-note { + display: grid; + gap: 0.18rem; +} + +.social-receipt-why span, +.social-receipt-verification span, +.social-receipt-date-note span { + font-family: var(--font-mono); + font-size: 0.68rem; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--color-bitter); +} + +.social-receipt-footer { + display: grid; + gap: 0.65rem; + padding-top: 0.7rem; + border-top: 1px solid var(--color-line); +} + +@media (min-width: 640px) { + .social-receipt-footer { + grid-template-columns: minmax(0, 1fr) auto; + align-items: center; + } +} + +.social-receipt-links { + justify-content: flex-start; +} + +@media (min-width: 640px) { + .social-receipt-links { + justify-content: flex-end; + } +} + +.social-receipt-links a { + color: var(--color-bitter); + text-decoration: none; + border-bottom: 1px solid color-mix(in srgb, var(--color-bitter) 45%, transparent); + padding-bottom: 0.1rem; +} + +.social-receipt-links a:hover { + border-bottom-color: var(--color-bitter); +} + +.social-receipt-tags { + gap: 0.32rem; +} + +.social-receipt-tags span { + padding: 0.08rem 0.45rem; + border: 1px solid var(--color-line); + color: var(--color-muted); +} + +.social-receipt-caveat { + font-size: 0.86rem; +} + .source-footer { font-family: var(--font-mono); font-size: 0.75rem; From 396d2e3126723a752821b823f6b2a438a8cc2728 Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 20:39:38 +0800 Subject: [PATCH 08/10] research: verify social drama leads --- docs/deep-social-research-loop.md | 6 + docs/x-social-harvest-workflow.md | 31 +++ .../harvest/gemini-cli.md | 10 +- .../harvest/openhands.md | 7 +- .../harvest/paperclip.md | 2 +- .../manifest.yml | 1 + .../qa.md | 6 + .../research-journal.md | 34 +++ .../social-cards/x-cards.yml | 38 ++-- .../verify/drama-code-followup.md | 203 ++++++++++++++++++ site/src/lib/frontier.ts | 10 + 11 files changed, 326 insertions(+), 22 deletions(-) create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/drama-code-followup.md diff --git a/docs/deep-social-research-loop.md b/docs/deep-social-research-loop.md index c7405e0..0a3c3fb 100644 --- a/docs/deep-social-research-loop.md +++ b/docs/deep-social-research-loop.md @@ -74,10 +74,16 @@ quoted text. claim. - Product/version/capability claims still need source-contract verification before promotion. +- A secondary receipt upgrades only the exact bounded claim it proves. Do not + let a real release tag or PR validate a different claim from the same project. - Drama, public exchanges, rankings, benchmark chatter, and user pain may be cataloged as ecosystem context when clearly labeled. - If a claim depends on a thread or reply chain, keep enough public source URLs to let a reader reconstruct the exchange. +- Reputational or conduct claims about named people or organizations stay + journal-only unless supported by direct primary receipts. +- User-pain and drama clusters should include counterweight searches: fixes, + maintainer replies, disconfirming posts, issue threads, or release notes. ## Loop Cadence diff --git a/docs/x-social-harvest-workflow.md b/docs/x-social-harvest-workflow.md index a508421..bef8468 100644 --- a/docs/x-social-harvest-workflow.md +++ b/docs/x-social-harvest-workflow.md @@ -90,6 +90,32 @@ surface before promotion: Record the result as `crosscheck_status`. If the claim is only social evidence, leave it as `needs_primary_crosscheck` or `single_source_unconfirmed`. +When upgrading a claim to `verified_secondary`, record the receipt-to-claim map. +The secondary receipt must prove the same bounded claim, not merely a nearby +claim in the same project. Narrow the claim text when the receipt verifies only +part of the social post. + +Examples: + +- A release tag that includes an Antigravity transition banner and migration + commands can verify transition/migration support, but not a broader social + claim about a hard cutoff or quota pain. +- A release PR that adds an ACP settings UI can partially support an ACP post, + but it should not verify every SDK, cloud, or product-surface claim unless the + receipt names those surfaces. +- A release that contains adjacent orchestration or adapter work should not + verify an aspirational maintainer post unless it names the same shipped + feature. + +For drama, affiliation, takedown, funding, hiring, or motive claims naming +people or organizations, keep the item as journal context until direct +participant posts, public organization records, or other primary receipts +support the exact claim. Date precision alone is not enough. + +When a social cluster is user pain or drama, look for counterweight before +publishing the run: maintainer replies, release fixes, docs, issue threads, or +changelog entries that show remediation or disconfirmation. + ## QA checklist Before opening or updating a PR: @@ -97,6 +123,11 @@ Before opening or updating a PR: - Every claim has a public `primary_url`. - Every claim has `observed_at`, `event_date`, `date_precision`, and `date_note`. - Every product/version claim has `crosscheck_status`. +- Every `verified_secondary` claim has a public receipt-to-claim explanation. +- Reputational or conduct claims remain journal-only unless exact primary + evidence supports them. +- User-pain clusters include counterweight search notes where public releases, + issues, or maintainer replies exist. - No claim is promoted into `content/digests`, `content/profiles`, or `signals/frontier-signals.yml`. - `verify/x-post-dates.md` explains how dates were resolved. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md index 0831f9a..48684de 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/gemini-cli.md @@ -3,7 +3,7 @@ ## Claim 1 claim_id: gemini-antigravity-migration-2026-06-18 source: gemini-cli -claim: On 2026-06-18, Google cut off individual users from the original open-source Gemini CLI in favor of closed-source Antigravity CLI. +claim: Public X discussion on 2026-06-18 claimed a Gemini CLI to Antigravity transition affected individual users; later source receipts confirm transition-banner and migration-support work, not the full social cutoff claim. primary_url: https://x.com/i/status/2067702889837953512 author: multiple users observed_at: 2026-06-24 @@ -13,7 +13,11 @@ date_note: Exact event date was captured in the initial harvest and retained; re evidence_kind: community_discussion channel: x.com status: candidate +secondary_receipts: + - https://github.com/google-gemini/gemini-cli/releases/tag/v0.47.0 + - https://github.com/google-gemini/gemini-cli/pull/27676 + - https://github.com/google-gemini/gemini-cli/pull/27765 crosscheck_status: single_source_unconfirmed -release_channel: social_only +release_channel: mixed operator_consequence: Candidate ecosystem/trust item; requires official or release-channel evidence before any Frontier claim. -notes: Major ecosystem and trust event. +notes: Release v0.47.0 and PRs #27676/#27765 verify transition and migration affordances only; they do not verify closed-source impact, a hard cutoff, or quota complaints. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md index 2fb6d4d..02d74de 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/openhands.md @@ -13,10 +13,13 @@ date_note: Exact event date was captured in the initial harvest and retained; re evidence_kind: official_account_post channel: x.com status: candidate +secondary_receipts: + - https://github.com/OpenHands/OpenHands/releases/tag/1.8.0 + - https://github.com/OpenHands/OpenHands/pull/14401 crosscheck_status: needs_primary_crosscheck -release_channel: social_only +release_channel: mixed operator_consequence: Candidate protocol/interoperability item; verify against OpenHands release notes, docs, or commits before promotion. -notes: High-signal interoperability claim. Should be verified against GitHub releases. +notes: Release 1.8.0 and PR #14401 verify ACP UI/presets and routing support. They are partial receipts and do not verify the full Agent Canvas, SDK, and Cloud claim. ## Claim 2 claim_id: openhands-gneubig-benchmarks-2026-06 diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md index a59c8d1..24e19be 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/paperclip.md @@ -16,4 +16,4 @@ status: candidate crosscheck_status: needs_primary_crosscheck release_channel: social_only operator_consequence: Candidate workflow/positioning item; verify against product docs, release notes, or commits before promotion. -notes: Philosophy and workflow signal. +notes: Philosophy and workflow signal. Paperclip v2026.618.0 verifies adjacent OpenClaw Gateway and Hermes adapter interoperability work, but the in-window release does not mention Maximizer mode. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml index 3874f79..aa008a4 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml @@ -27,6 +27,7 @@ outputs: - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/ - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/x-post-dates.md + - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/drama-code-followup.md - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md status: discovery note: > diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md index 538f4d7..1e9df69 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/qa.md @@ -16,12 +16,17 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro - Social claims flagged as `single-source-unconfirmed` unless multiple independent posts found. - Each claim includes `crosscheck_status`. Most product/version claims remain `needs_primary_crosscheck`. The Codex v0.142.0 token-budget claim carries a public release-tag secondary receipt and `crosscheck_status=verified_secondary`. - Static social cards are generated only from exact-dated scout/harvest items. They do not use live embeds, engagement metrics, or unverified paraphrases as quotes. +- A drama/code follow-up pass added a receipt-to-claim map in `verify/drama-code-followup.md`. A `verified_secondary` status now requires that the public secondary receipt prove the same bounded claim, not merely a nearby project claim. ### Refuted / Downgraded - Several early hype claims around OpenClaw and Gemini CLI noted as having cooled significantly. - No product version claims accepted without cross-reference to GitHub releases where possible. - `operator_consequence` is cautious discovery language only. It does not direct upgrades or product decisions from social evidence alone. - The scout/critic/editor loop rejected inferred-date and tracker-metric material from the social-card face. Those items remain journal/open-loop material until exact post dates and primary metric receipts are available. +- Gemini Antigravity was narrowed to transition-banner and migration-support receipts; hard-cutoff, closed-source-impact, and quota/backlash claims remain unverified social context. +- OpenHands ACP remained `needs_primary_crosscheck` despite release and PR receipts because those receipts verify only part of the broad social surface claim. +- Paperclip Maximizer mode remained maintainer intent; in-window Paperclip release receipts verify adjacent OpenClaw/Hermes interoperability work, not Maximizer itself. +- OpenClaw reliability complaints are paired with release-note counterweight in the verification record so the public research does not turn user-pain posts into an unbalanced verdict. ### Limitations - Public secondary cross-checks were added only where discovered in this pass. Full verification of product/version claims requires a separate source-contract pass against GitHub releases, commits, docs, or changelogs. @@ -33,6 +38,7 @@ This run performed discovery-only harvesting of X posts for all 10 watchlist pro - social-cards/x-cards.yml: static tweet-like receipt cards rendered from repo data only. - research-journal.md: public R&D journal for scout, critic, editor decisions and open loops. - verify/x-post-dates.md: per-cluster verification notes (what checked, why, public sources only). +- verify/drama-code-followup.md: drama/code follow-up receipt map and counterweight notes. - qa.md: updated to reflect full date resolution and crosscheck additions. ## Recommendation diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md index 65643c0..ceb5a03 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md @@ -91,6 +91,40 @@ merely because it was posted on X. - Search for disconfirming posts: OpenClaw maintainer replies, failed Hermes migrations, or user pain on the favored side of any comparison. +## Drama / Code Follow-Up Pass + +The follow-up scout focused on drama leads and then checked public code, +release, PR, and changelog receipts for each lead. + +Editorial results: + +- OpenClaw/Hermes governance and funding tension remains journal-only. Hermes + found direct participant URLs, but the pass did not return complete + `created_at` timestamps or enough reply-chain structure to promote the item + beyond social context. +- Gemini Antigravity is now source-backed for the narrow transition/migration + claim: Gemini CLI v0.47.0 includes merged PRs for Antigravity transition + banner behavior and migration commands/docs. This does not verify social + claims about a hard cutoff, closed-source impact, or quota pain. +- Claude Code v2.1.187 is source-backed for the release-note subset listed in + the community tracker post. The official changelog supports sandbox + credentials, resume repair, and remote MCP timeout handling. This receipt is + not reusable for unrelated Claude Code controversy claims. +- OpenHands ACP is partially source-backed. Release 1.8.0 and PR #14401 verify + ACP UI/preset/routing work, but not every Agent Canvas, SDK, and cloud surface + named in the social post. +- Paperclip Maximizer mode remains maintainer intent only. The in-window + release verifies adjacent interop and reliability work around OpenClaw Gateway + and Hermes custom providers, but does not mention Maximizer mode. +- OpenClaw reliability complaints should be read with counterweight: v2026.6.10 + and linked PRs show active fixes in model routing, channel/session state, and + trusted-policy hook composition. The release verifies real bug classes and + active remediation, not a simple "broken" narrative. + +The durable record for this pass is `verify/drama-code-followup.md`. It maps +each receipt to the exact claim it supports so a later editor cannot let a real +source receipt validate a different social claim in the same project. + ## Editorial Standard Make the public conversation visible without becoming gossip: diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml index e01ddae..c25b9e8 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml @@ -48,11 +48,13 @@ cards: authors: ["@OpenHandsDev"] source_urls: - https://x.com/OpenHandsDev/status/2067643119957410096 + - https://github.com/OpenHands/OpenHands/releases/tag/1.8.0 + - https://github.com/OpenHands/OpenHands/pull/14401 summary: "The OpenHands account posted that Agent Client Protocol support spans Agent Canvas, SDK, and the cloud offering." why_it_matters: "ACP support is a composability claim: if shipped, it changes how operators can move agents across surfaces." - verification_needed: "Check OpenHands release notes, docs, and commits for the exact ACP surfaces and shipped channel." - confidence: official social post, implementation unverified - caveats: "Social announcement only; the release-channel state remains unverified." + verification_needed: "Check OpenHands docs and follow-up commits for the full Agent Canvas, SDK, and cloud surface claim before promotion." + confidence: official social post, partial release and PR support + caveats: "Release 1.8.0 and PR #14401 support ACP UI/presets and routing work; they do not by themselves verify every surface named in the social post." tags: [acp, interoperability, cloud] - id: codex-token-budget-release-post @@ -77,7 +79,7 @@ cards: - id: claude-code-community-2187-post title: Community changelog account posts Claude Code 2.1.187 notes kind: capability_announcement - status: needs_primary_crosscheck + status: verified_secondary date: 2026-06-23 date_precision: day date_note: Exact post date reported by the second scout pass for source post 2069531604951687542. @@ -85,17 +87,18 @@ cards: authors: ["@ClaudeCodeLog"] source_urls: - https://x.com/ClaudeCodeLog/status/2069531604951687542 - summary: "A community changelog account posted Claude Code v2.1.187 notes including sandbox credential hardening, remote MCP timeout handling, and resume-flow fixes." + - https://code.claude.com/docs/en/changelog#2-1-187 + summary: "A community changelog account posted Claude Code v2.1.187 notes; the official Claude Code changelog confirms the core release items including sandbox credentials, resume repair, and remote MCP timeout handling." why_it_matters: "Even unofficial release chatter can point the verifier toward security and reliability changes worth checking in primary Anthropic channels." - verification_needed: "Cross-check against official Claude Code release notes or maintainer confirmation before accepting any listed change." - confidence: community release tracker - caveats: "This card receipts a public changelog-style post, not an official release claim." + verification_needed: "Before promotion, quote and scope the exact official changelog item being used; do not apply this receipt to unrelated Claude Code controversy claims." + confidence: community tracker plus official changelog receipt + caveats: "The source post remains a community tracker; the official changelog entry was published on 2026-06-24 and supports the release-item subset only." tags: [security, release-tracker, reliability] - id: gemini-antigravity-transition-post title: Gemini CLI account posts Antigravity transition notice kind: maintainer_intent - status: needs_primary_crosscheck + status: verified_secondary date: 2026-06-18 date_precision: day date_note: Exact post date reported by the second scout pass and aligned with the structured Gemini transition harvest. @@ -103,12 +106,15 @@ cards: authors: ["@geminicli"] source_urls: - https://x.com/geminicli/status/2067702889837953512 - summary: "A Gemini CLI account post described a transition path that directs individual users toward Antigravity while noting enterprise/API-key users separately." + - https://github.com/google-gemini/gemini-cli/releases/tag/v0.47.0 + - https://github.com/google-gemini/gemini-cli/pull/27676 + - https://github.com/google-gemini/gemini-cli/pull/27765 + summary: "A Gemini CLI account post described an Antigravity transition path; Gemini CLI v0.47.0 includes source receipts for persistent transition-banner behavior and Antigravity migration commands/docs." why_it_matters: "Distribution-channel shifts are operator-relevant even before they become code receipts: they change who can run what, where, and under which terms." - verification_needed: "Check Google/Gemini release channels and docs for exact product relationship, user impact, and source availability." - confidence: social transition notice - caveats: "Kept as channel/context evidence until verified against official docs or release artifacts." - tags: [distribution, antigravity, channel-shift] + verification_needed: "Do not infer a hard cutoff, source-availability change, or quota/backlash claim without separate primary receipts." + confidence: stable release and merged PR receipts for transition/migration affordances + caveats: "The receipts verify transition and migration support in Gemini CLI, not the broader social claims about closed-source impact or user cutoffs." + tags: [distribution, antigravity, channel-shift, migration] - id: agent-zero-governance-vote title: Agent Zero account posts governance-vote result @@ -141,7 +147,7 @@ cards: - https://x.com/dotta/status/2067801977447137332 summary: "A Paperclip maintainer described a Maximizer-mode direction where a CEO-like agent can hire and run agents toward an outcome." why_it_matters: "The post captures where orchestration products are trying to move: from single coding helpers toward delegated agent operations." - verification_needed: "Check Paperclip docs, release notes, or commits before treating Maximizer mode as shipped behavior." + verification_needed: "Find a Paperclip docs, release-note, or commit receipt that names Maximizer mode before treating it as shipped behavior." confidence: maintainer intent, product state unverified - caveats: "Cataloged as intent and positioning, not a shipped feature." + caveats: "The 2026-06-18 Paperclip release verifies adjacent OpenClaw Gateway and Hermes adapter work, but it does not mention Maximizer mode." tags: [orchestration, delegation, positioning] diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/drama-code-followup.md b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/drama-code-followup.md new file mode 100644 index 0000000..f2b73fe --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/verify/drama-code-followup.md @@ -0,0 +1,203 @@ +# Drama / Code Follow-Up Verification + +Observed: 2026-06-24 + +This file records the follow-up pass requested after the social harvest. It +checks drama leads against public source receipts and records exactly what each +receipt can and cannot support. + +## Verdict Legend + +- `CONFIRMED_NARROW`: public code, release, PR, or official changelog receipt + supports the bounded claim stated here. +- `PARTIAL`: public source receipts support part of the social claim but not the + whole public framing. +- `UNVERIFIED_SOCIAL`: public social post or thread exists, but the claim needs + direct participant chain reconstruction or other primary receipts. +- `COUNTERWEIGHT`: public source receipt complicates or balances a social-pain + narrative. +- `ABSENT_IN_WINDOW`: the checked in-window source receipt did not contain the + named feature or claim. + +## Receipt Map + +### Gemini CLI / Antigravity + +Verdict: `CONFIRMED_NARROW` + +Social lead: Gemini CLI / Antigravity transition notice and user backlash. + +Public source receipts: + +- https://github.com/google-gemini/gemini-cli/releases/tag/v0.47.0 +- https://github.com/google-gemini/gemini-cli/pull/27676 +- https://github.com/google-gemini/gemini-cli/pull/27765 + +What the receipts support: + +- Gemini CLI v0.47.0 was published on 2026-06-18. +- The release includes PR #27676 for Antigravity transition-banner visibility. +- The release includes PR #27765 for Antigravity installation/migration help, + platform-specific commands, and an `antigravity-support` built-in skill. + +What remains unverified: + +- A hard cutoff on 2026-06-18. +- Closed-source impact claims. +- Quota/backlash claims from user posts. + +Card action: upgrade only the narrow transition/migration-support card to +`verified_secondary`. + +### Claude Code 2.1.187 + +Verdict: `CONFIRMED_NARROW` + +Social lead: community changelog post about Claude Code v2.1.187. + +Public source receipt: + +- https://code.claude.com/docs/en/changelog#2-1-187 + +What the receipt supports: + +- The official Claude Code changelog has a 2.1.187 entry published on + 2026-06-24. +- The entry includes sandbox credential hardening, a `--resume` repair, remote + MCP idle-timeout handling, and other release notes. + +What remains unverified: + +- The community tracker account is not an official release channel. +- This receipt does not apply to unrelated Claude Code social controversy or + takedown claims elsewhere in the harvest. + +Card action: upgrade the 2.1.187 card to `verified_secondary`; leave unrelated +Claude Code claims unchanged. + +### OpenHands ACP + +Verdict: `PARTIAL` + +Social lead: official OpenHands post claiming broad ACP support. + +Public source receipts: + +- https://github.com/OpenHands/OpenHands/releases/tag/1.8.0 +- https://github.com/OpenHands/OpenHands/pull/14401 + +What the receipts support: + +- OpenHands 1.8.0 was published on 2026-06-10 and includes "Minimal generic ACP + agent UI." +- PR #14401 was merged and describes an `ENABLE_ACP` feature flag, Settings + Agent UI, ACP presets for Claude Code/Codex/Gemini CLI/custom, unified + conversation routing, `tags['acp_server']`, and deferred cross-kind config + preservation. + +What remains unverified: + +- The full Agent Canvas, SDK, and cloud support wording from the social post. +- The exact shipped state of every surface on 2026-06-18. + +Card action: add secondary receipts but keep status `needs_primary_crosscheck`. + +### Paperclip Maximizer / Interop + +Verdict: `ABSENT_IN_WINDOW` for Maximizer, `CONFIRMED_NARROW` for adjacent +interop work. + +Social lead: maintainer-described Maximizer mode. + +Public source receipts checked: + +- https://github.com/paperclipai/paperclip/releases/tag/v2026.618.0 +- https://github.com/paperclipai/paperclip/pull/2322 +- https://github.com/paperclipai/paperclip/pull/8231 + +What the receipts support: + +- Paperclip v2026.618.0 was published on 2026-06-18. +- The release includes stabilized OpenClaw Gateway integration via PR #2322. +- PR #2322 exposes OpenClaw Gateway config fields, injects `x-openclaw-token`, + adds an `OPENCLAW_TOKEN` fallback, adds transient retry handling, restores + documented timeout defaults, and adds regression tests. +- The release includes Hermes custom-provider support via PR #8231. +- PR #8231 passes Hermes `custom:*` providers through as `--provider` args + while preserving auth injection and avoiding duplicate provider args. + +What remains unverified: + +- A shipped or documented Paperclip "Maximizer mode." + +Card action: keep Maximizer as maintainer intent with +`needs_primary_crosscheck`. + +### OpenClaw Reliability Complaints + +Verdict: `COUNTERWEIGHT` + +Social lead: user reports about update breakage and maintenance tax. + +Public source receipts: + +- https://github.com/openclaw/openclaw/releases/tag/v2026.6.10 +- https://github.com/openclaw/openclaw/pull/94545 +- https://github.com/openclaw/openclaw/pull/95328 +- https://github.com/openclaw/openclaw/pull/94461 + +What the receipts support: + +- OpenClaw v2026.6.10 was published on 2026-06-24 and lists reliability fixes + in model routing, session/channel state, trusted policies, and provider + plugin onboarding. +- PR #94545 fixes trusted-policy lookup across composed hook registries. +- PR #95328 fixes stale per-channel origin fields after channel switches. +- PR #94461 fixes a Z.ai model base-URL fallback that could produce confusing + 401 failures. + +What remains unverified: + +- Broad "OpenClaw is broken" or comparative stability claims from user posts. +- Any quantitative reliability conclusion. + +Card action: do not promote a complaint card from this pass. Use the release +receipts as counterweight when discussing OpenClaw social pain. + +### OpenClaw / Hermes Governance Tension + +Verdict: `UNVERIFIED_SOCIAL` + +Social leads: + +- https://x.com/steipete/status/2068961217524490739 +- https://x.com/Teknium/status/2069020939132813642 +- https://x.com/clawdb0t/status/2069299802903654611 + +What the social passes found: + +- The existing harvest has day precision for the @steipete and @clawdb0t + posts. +- Hermes could identify direct participant handles and neutral summaries, but + did not return complete `created_at` timestamps or enough reply-chain + structure to treat the exchange as reconstructed. + +What remains unverified: + +- Non-profit legal structure details. +- Funding motive claims. +- Any inference about OpenAI ties, hiring, or project agendas beyond the + primary public posts already captured. + +Card action: keep as `single_source_unconfirmed` social context. Do not promote +to a stronger card or finding without direct primary reconstruction. + +## Protocol Notes + +- Do not treat a release receipt as a blanket validation for every social claim + in the same project. +- Prefer narrowing a card to the claim the source receipt actually proves. +- When social user pain is interesting, check for public maintainer responses, + releases, issue fixes, and changelogs before representing the cluster. +- Reputational, hiring, funding, takedown, and motive claims remain journal-only + unless public primary receipts support the exact claim. diff --git a/site/src/lib/frontier.ts b/site/src/lib/frontier.ts index a09ac06..baafaec 100644 --- a/site/src/lib/frontier.ts +++ b/site/src/lib/frontier.ts @@ -648,6 +648,16 @@ export function runArtifacts(runId: string): RunArtifact[] { }); } } + const verifyDir = path.join(runDir, "verify"); + if (fs.existsSync(verifyDir)) { + for (const file of fs.readdirSync(verifyDir).filter((f) => f.endsWith(".md")).sort()) { + artifacts.push({ + kind: "verification", + label: `Verification notes — ${file.replace(/\.md$/, "")}`, + repoPath: rel(path.join(verifyDir, file)), + }); + } + } const journalPath = path.join(runDir, "research-journal.md"); if (fs.existsSync(journalPath)) { artifacts.push({ From 0e81478cd6781fceef117f0cc737d2e0236a4f99 Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Wed, 24 Jun 2026 23:46:21 +0800 Subject: [PATCH 09/10] editorial: turn social harvest into essay --- docs/deep-social-research-loop.md | 23 +- docs/x-social-harvest-workflow.md | 11 +- .../editorial.yml | 186 ++++++++++++ .../manifest.yml | 1 + site/src/components/RunEditorial.astro | 45 +++ site/src/components/SocialPostEmbed.astro | 52 ++++ site/src/lib/frontier.ts | 64 +++++ site/src/pages/runs/[runId].astro | 76 +++++ site/src/styles/global.css | 266 ++++++++++++++++++ 9 files changed, 719 insertions(+), 5 deletions(-) create mode 100644 runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml create mode 100644 site/src/components/RunEditorial.astro create mode 100644 site/src/components/SocialPostEmbed.astro diff --git a/docs/deep-social-research-loop.md b/docs/deep-social-research-loop.md index 0a3c3fb..0cfdd8f 100644 --- a/docs/deep-social-research-loop.md +++ b/docs/deep-social-research-loop.md @@ -25,6 +25,7 @@ A social research run may include: ```text runs// manifest.yml + editorial.yml harvest/*.md social-cards/*.yml research-journal.md @@ -33,13 +34,29 @@ runs// ``` `harvest/*.md` keeps structured candidate claims. `social-cards/*.yml` stores -the cards the site renders. `research-journal.md` records editorial decisions, -open loops, and what the next scout pass should investigate. +static post artifacts the site can embed inside editorial. `editorial.yml` is +the public reading experience: argument first, evidence woven into the essay, +with traceability pushed into source links or a collapsed source trail. +`research-journal.md` records editorial decisions, open loops, and what the next +scout pass should investigate. + +## Publication Rule + +The public page should read like a finished editorial, not a research binder. +Use X/social material to sharpen the story, show the public conversation, and +surface questions a release-note-only workflow would miss. Do not lead with raw +receipts, card grids, QA notes, claim tables, or artifact inventories. + +Traceability remains mandatory, but it belongs in the background: source links +on the embedded post figure, collapsed evidence notes, repo artifacts, and the +Git history. A reader should be able to audit the piece without having the audit +machinery interrupt the piece. ## Static Social Cards Social cards simulate the useful parts of an embedded post while keeping runtime -independent from X: +independent from X. They are source material for editorial embeds, not the +primary public artifact: ```yaml schema_version: bitter.frontier_social_cards.v0 diff --git a/docs/x-social-harvest-workflow.md b/docs/x-social-harvest-workflow.md index bef8468..39e3586 100644 --- a/docs/x-social-harvest-workflow.md +++ b/docs/x-social-harvest-workflow.md @@ -21,6 +21,7 @@ Create a run directory: ```text runs/YYYY-MM-DD-x-social-harvest-YYYY-MM-DD-frontier-v0/ manifest.yml + editorial.yml harvest/.md social-cards/.yml research-journal.md @@ -31,6 +32,12 @@ runs/YYYY-MM-DD-x-social-harvest-YYYY-MM-DD-frontier-v0/ Keep the run public and reproducible. Do not mention local paths, session IDs, private prompts, private API payloads, reviewer names, or internal coordination. +`editorial.yml` is the public reading surface for a social harvest. It should +read like a finished essay: thesis first, human stakes second, evidence embedded +tastefully where it clarifies the argument. The rest of the run is supporting +infrastructure. Do not make readers begin with receipt grids, harvest tables, +QA notes, or artifact inventories. + ## Harvest fields Each claim record should include these fields: @@ -74,8 +81,8 @@ release tags, commits, pull requests, changelog entries, or official docs. For richer public context, use the [Deep Social Research Loop](./deep-social-research-loop.md). It defines the -static social-card format used to render tweet-like cards from repo data without -loading X at runtime. +static social-card format used to render tweet-like figures inside the editorial +from repo data without loading X at runtime. ## Cross-check pass diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml new file mode 100644 index 0000000..297250d --- /dev/null +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml @@ -0,0 +1,186 @@ +schema_version: bitter.frontier_run_editorial.v0 +title: The Agent Stack Is Turning Into a Fight Over Trust +dek: X is noisy, but this week it exposed the useful part of the noise. Coding-agent projects are no longer just competing on model access or code edits. They are competing over memory, distribution, control surfaces, and who gets trusted when the tool starts acting like infrastructure. +eyebrow: Social dispatch +byline: Bitter Frontier +published_at: 2026-06-24 +blocks: + - type: paragraph + text: > + If you only read changelogs, the agentic-coding market looks like a row of + release notes: a flag here, a plugin there, a new model default, a patched + crash. The public conversation is messier, but it is also more revealing. + On X, maintainers sell futures before they are fully specified, users turn + rough edges into reputation, and rival projects explain what they think + the category is really about. + + - type: paragraph + text: > + That does not mean social posts should become findings. They should not. + The right use of X is closer to incident response than marketing analysis: + look for the smoke, reconstruct the timeline, then prove the bounded claim + somewhere sturdier. But as an early-warning system, the social layer is + already pointing at the shape of the fight. The important contest is not + "which agent can edit a file?" It is who owns the operator relationship + after agents become persistent, delegated, and expensive enough to govern. + + - type: pullquote + text: Social evidence is useful when it changes the question an editor asks next. It is dangerous when it pretends to be the answer. + attribution: Editorial rule for this run + + - type: heading + text: Memory Is Becoming a Product Claim + + - type: paragraph + text: > + The clearest example is Hermes. The official NousResearch account framed + the /learn command as a way to turn directories of code, docs, and prior + sessions into reusable skills. That is not a small UX flourish. It is a + claim about compounding labor: the agent is no longer just consuming + context, it is trying to turn past work into an operating asset. + + - type: social_embed + card_id: hermes-learn-official-post + caption: Hermes uses social distribution to frame memory as an operator-facing capability, while the implementation still needs source-level verification. + + - type: paragraph + text: > + This is exactly the kind of claim that benefits from a social receipt but + cannot stop there. The post tells us what to investigate. It does not, by + itself, tell an operator how portable the learned skill is, what is stored, + whether sensitive material is excluded, or how the behavior fails. In a + serious editorial workflow, the tweet is the lead. The finding comes only + after the code, docs, or a reproducible probe narrows the claim. + + - type: heading + text: Distribution Is Becoming the Product + + - type: paragraph + text: > + Gemini CLI and OpenHands show a second pressure point: the agent is now a + distribution surface. Gemini's Antigravity transition is not just a + branding moment. The public code trail shows migration commands, docs, and + transition-banner work around v0.47.0. The social version of the story is + bigger and more emotional, but the verified core is still important. It + tells operators that the channel through which they receive the tool is + changing. + + - type: social_embed + card_id: gemini-antigravity-transition-post + caption: The social post flagged a distribution shift; the release and merged PRs support the narrower transition and migration claim. + + - type: paragraph + text: > + OpenHands is moving from another direction, with public claims around + Agent Client Protocol support across surfaces. The source receipts found + so far support part of that story, especially ACP UI, presets, and routing + work, but not the full breadth of every surface named in the post. That + distinction matters. Interop claims are valuable precisely because they + promise less lock-in. If the claim outruns the receipts, the editorial + should keep the promise visible while refusing to promote it as fact. + + - type: social_embed + card_id: openhands-acp-official-post + caption: OpenHands is positioning around interoperability, but the source-backed claim remains narrower than the social post. + + - type: heading + text: The Boring Controls Are Becoming the Story + + - type: paragraph + text: > + The third signal is less glamorous and more operational. Codex release + chatter around token budgets and Claude Code chatter around sandbox + credentials, resume repair, and remote MCP timeout handling point at the + same center of gravity: once agent work runs for more than a few minutes, + controls become product features. Budgets, resumability, credential + boundaries, and timeout behavior are not back-office implementation + details. They decide whether an operator can leave the agent alone. + + - type: social_embed + card_id: codex-token-budget-release-post + caption: Token budgets are not a cosmetic feature. They turn agent effort into bounded operational state. + + - type: social_embed + card_id: claude-code-community-2187-post + caption: Even a community changelog can be editorially useful when it points to an official changelog and the claim is kept tightly scoped. + + - type: paragraph + text: > + This is where the agent market starts to resemble security tooling. A + feature is not merely whether something can be done; it is whether the + organization can bound it, audit it, interrupt it, and recover from it. + That is why the least flashy posts in this harvest may be the most + consequential. They mark the transition from demos to operations. + + - type: heading + text: Drama Is Smoke, Not the Finding + + - type: paragraph + text: > + The most tempting material is the OpenClaw and Hermes drama. A public + exchange involving OpenClaw and Hermes-adjacent figures surfaced questions + about funding, non-profit posture, and agendas. That is interesting + because trust and governance are part of the product in agent frameworks. + But it is also exactly where an editorial system can damage itself if it + turns one social artifact into a verdict. + + - type: social_embed + card_id: openclaw-hermes-public-exchange + caption: The drama is useful as a map of trust questions, not as proof of motives or governance facts. + + - type: paragraph + text: > + The follow-up code pass added an important counterweight. OpenClaw's + recent release work shows active fixes around routing, channel/session + state, and trusted-policy hook composition. That does not erase user pain + or reputational tension, but it prevents the lazy version of the story: + "project is broken, rivals are right." Good social research should make + the story harder to write, not easier. + + - type: heading + text: Ambition Is Also Evidence + + - type: paragraph + text: > + Paperclip's Maximizer-mode post belongs in a different bucket. It is not a + shipped capability in the receipts found for this window. The adjacent + release work verifies interop and reliability around OpenClaw Gateway and + Hermes custom providers, not Maximizer mode. But the post is still useful + because it states a direction: the market wants to graduate from "agent + edits code" to "agent hires and runs other agents toward an outcome." + + - type: social_embed + card_id: paperclip-maximizer-maintainer-post + caption: This is maintainer intent, not a shipped feature claim. The value is in the strategic direction it exposes. + + - type: paragraph + text: > + That ambition is the editorial thread tying the week together. Hermes + wants accumulated memory. Gemini and OpenHands are fighting over channels + and portability. Codex and Claude Code are hardening the control plane. + OpenClaw and Hermes show that governance and reputation travel through + the same public channels as releases. Paperclip points toward delegated + multi-agent operations. These are not isolated anecdotes. They are the + outlines of a stack. + + - type: heading + text: The Useful Reader Takeaway + + - type: paragraph + text: > + Operators should read social posts as radar. Do not migrate because a + project account announced a future. Do not dismiss a framework because a + rival's supporters found a sore spot. Do not accept an interop claim until + the exact surface is named in docs, code, or a reproducible probe. But do + pay attention to what the public conversation reveals before the release + note does: where maintainers are trying to move authority, where users + feel trapped, where rival projects attack trust, and where boring controls + start to matter more than benchmark theatrics. + + - type: paragraph + text: > + The agent frontier is becoming less about isolated intelligence and more + about institutional permission. Who remembers? Who routes? Who pays? Who + can stop the work? Who can prove what happened? X is not the place to + answer those questions. It is, however, a very good place to notice which + questions the market can no longer avoid. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml index aa008a4..0982d95 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/manifest.yml @@ -23,6 +23,7 @@ tools_used: input: - public X searches for watched project names, official accounts, maintainer accounts, and recurring feature keywords outputs: + - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/harvest/ - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/ - runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/research-journal.md diff --git a/site/src/components/RunEditorial.astro b/site/src/components/RunEditorial.astro new file mode 100644 index 0000000..fdfd289 --- /dev/null +++ b/site/src/components/RunEditorial.astro @@ -0,0 +1,45 @@ +--- +import type { RunEditorial, SocialReceiptCard } from "../lib/frontier"; +import SocialPostEmbed from "./SocialPostEmbed.astro"; + +const { editorial, cards } = Astro.props as { + editorial: RunEditorial; + cards: SocialReceiptCard[]; +}; + +const cardsById = new Map(cards.map((card) => [card.id, card])); +--- + +
+
+

{editorial.eyebrow ?? "Bitter Frontier dispatch"}

+

{editorial.title}

+ {editorial.dek &&

{editorial.dek}

} + {(editorial.byline || editorial.publishedAt) && ( +

+ {editorial.byline && {editorial.byline}} + {editorial.byline && editorial.publishedAt && } + {editorial.publishedAt && } +

+ )} +
+ +
+ {editorial.blocks.map((block) => { + if (block.type === "heading") return

{block.text}

; + if (block.type === "pullquote") { + return ( +
+

{block.text}

+ {block.attribution && {block.attribution}} +
+ ); + } + if (block.type === "social_embed") { + const card = cardsById.get(block.cardId); + return card ? : null; + } + return

{block.text}

; + })} +
+
diff --git a/site/src/components/SocialPostEmbed.astro b/site/src/components/SocialPostEmbed.astro new file mode 100644 index 0000000..b77f066 --- /dev/null +++ b/site/src/components/SocialPostEmbed.astro @@ -0,0 +1,52 @@ +--- +import { sourceLabel, type SocialReceiptCard } from "../lib/frontier"; + +const { card, caption } = Astro.props as { card: SocialReceiptCard; caption?: string }; + +const kindLabel = card.kind.replace(/_/g, " "); +const primaryUrl = card.sourceUrls[0]; +const supportingUrls = card.sourceUrls.slice(1); +const sourceNames = card.sourceIds.map((sourceId) => sourceLabel(sourceId)).join(" / "); +const authors = card.authors.join(" / "); +const evidenceLabel = card.status === "verified_secondary" + ? "cross-checked" + : card.status === "needs_primary_crosscheck" + ? "needs source check" + : card.status.replace(/_/g, " "); +--- + + diff --git a/site/src/lib/frontier.ts b/site/src/lib/frontier.ts index baafaec..f159945 100644 --- a/site/src/lib/frontier.ts +++ b/site/src/lib/frontier.ts @@ -596,6 +596,21 @@ export type SocialReceiptCard = { tags: string[]; }; +export type RunEditorialBlock = + | { type: "paragraph"; text: string } + | { type: "heading"; text: string } + | { type: "pullquote"; text: string; attribution?: string } + | { type: "social_embed"; cardId: string; caption?: string }; + +export type RunEditorial = { + title: string; + dek?: string; + eyebrow?: string; + byline?: string; + publishedAt?: string; + blocks: RunEditorialBlock[]; +}; + export function runArtifacts(runId: string): RunArtifact[] { const runDir = repoPath("runs", runId); if (!fs.existsSync(runDir)) return []; @@ -608,6 +623,14 @@ export function runArtifacts(runId: string): RunArtifact[] { repoPath: rel(manifestPath), }); } + const editorialPath = path.join(runDir, "editorial.yml"); + if (fs.existsSync(editorialPath)) { + artifacts.push({ + kind: "editorial", + label: "Public editorial", + repoPath: rel(editorialPath), + }); + } const findingsDir = path.join(runDir, "findings"); if (fs.existsSync(findingsDir)) { for (const file of fs.readdirSync(findingsDir).filter((f) => f.endsWith(".md")).sort()) { @@ -685,6 +708,47 @@ export function runArtifacts(runId: string): RunArtifact[] { return artifacts; } +export function runEditorial(runId: string): RunEditorial | undefined { + const editorialPath = repoPath("runs", runId, "editorial.yml"); + if (!fs.existsSync(editorialPath)) return undefined; + const yaml = readYaml(editorialPath); + const blocks = Array.isArray(yaml?.blocks) + ? yaml.blocks.map((block: any) => { + const type = String(block?.type ?? ""); + if (type === "social_embed") { + return { + type, + cardId: String(block.card_id ?? block.cardId ?? ""), + caption: block.caption ? String(block.caption) : undefined, + }; + } + if (type === "pullquote") { + return { + type, + text: String(block.text ?? ""), + attribution: block.attribution ? String(block.attribution) : undefined, + }; + } + return { + type: type === "heading" ? "heading" : "paragraph", + text: String(block?.text ?? ""), + }; + }).filter((block: RunEditorialBlock) => { + if (block.type === "social_embed") return block.cardId.length > 0; + return block.text.length > 0; + }) + : []; + if (!yaml?.title || blocks.length === 0) return undefined; + return { + title: String(yaml.title), + dek: yaml.dek ? String(yaml.dek) : undefined, + eyebrow: yaml.eyebrow ? String(yaml.eyebrow) : undefined, + byline: yaml.byline ? String(yaml.byline) : undefined, + publishedAt: yaml.published_at ? formatDate(yaml.published_at) : undefined, + blocks, + }; +} + function normalizeStringArray(value: unknown): string[] { if (Array.isArray(value)) return value.map((item) => String(item)).filter(Boolean); if (typeof value === "string" && value.length > 0) return [value]; diff --git a/site/src/pages/runs/[runId].astro b/site/src/pages/runs/[runId].astro index c3f983b..23cfbe8 100644 --- a/site/src/pages/runs/[runId].astro +++ b/site/src/pages/runs/[runId].astro @@ -1,5 +1,6 @@ --- import Base from "../../layouts/Base.astro"; +import RunEditorial from "../../components/RunEditorial.astro"; import SocialReceiptCards from "../../components/SocialReceiptCards.astro"; import SourceTrail from "../../components/SourceTrail.astro"; import { @@ -7,6 +8,7 @@ import { listRunSocialCards, listRuns, runArtifacts, + runEditorial, runManifest, signalIdsInRun, sourceLabel, @@ -28,9 +30,82 @@ const acceptedSignals = acceptedSignalIds.map((id) => getSignal(id)).filter(Bool const sourceContractPaths: string[] = manifest?.source_contracts ?? []; const manifestSources: string[] = manifest?.sources ?? []; const socialCards = listRunSocialCards(run.id); +const editorial = runEditorial(run.id); --- + {editorial ? ( + <> + + +
+
+ Source trail and public artifacts +
+

+ The essay above is the public artifact. The files below keep the evidence reproducible without making the reading experience depend on X embeds or internal research notes. +

+ + {manifestSources.length > 0 && ( +
+

Projects covered

+ +
+ )} + + {sourceContractPaths.length > 0 && ( +
+

Source contracts

+
    + {sourceContractPaths.map((p) => ( +
  • {p}
  • + ))} +
+
+ )} + + {acceptedSignals.length > 0 && ( +
+

Accepted signals from this run

+
    + {acceptedSignals.map((signal: any) => ( +
  1. + {signal.title} +
  2. + ))} +
+
+ )} + + {artifacts.length > 0 && ( +
+

Public artifact files

+ +
+ )} +
+
+
+ + ) : (

Research Version

{run.title}

@@ -146,4 +221,5 @@ const socialCards = listRunSocialCards(run.id); )}
+ )} diff --git a/site/src/styles/global.css b/site/src/styles/global.css index ab60a09..5b169b0 100644 --- a/site/src/styles/global.css +++ b/site/src/styles/global.css @@ -680,6 +680,272 @@ code { line-height: 1.65; } +.editorial-article { + max-width: 46rem; + margin-inline: auto; + padding: 3.1rem clamp(1.25rem, 4vw, 2rem) 2rem; +} + +.editorial-header { + padding-bottom: 2rem; + border-bottom: 1px solid var(--color-line); +} + +.editorial-eyebrow { + margin: 0; + color: var(--color-bitter); +} + +.editorial-title { + margin: 0.85rem 0 0; + font-family: var(--font-serif); + font-size: 2.35rem; + font-weight: 700; + letter-spacing: 0; + line-height: 1.08; + text-wrap: balance; +} + +@media (min-width: 760px) { + .editorial-title { + font-size: 3.25rem; + } +} + +.editorial-dek { + margin: 1.2rem 0 0; + max-width: 42rem; + color: var(--color-muted); + font-size: 1.12rem; + line-height: 1.65; +} + +.editorial-meta { + margin: 1.45rem 0 0; + color: var(--color-muted); + font-family: var(--font-mono); + font-size: 0.78rem; + letter-spacing: 0.02em; + line-height: 1.7; +} + +.editorial-body { + max-width: 42.5rem; + padding-top: 0.75rem; + font-family: var(--font-serif); + font-size: 1.08rem; + line-height: 1.78; +} + +@media (min-width: 760px) { + .editorial-body { + font-size: 1.16rem; + } +} + +.editorial-body > p { + margin: 1.28rem 0; +} + +.editorial-body > p:first-child { + font-size: 1.18rem; + line-height: 1.68; +} + +@media (min-width: 760px) { + .editorial-body > p:first-child { + font-size: 1.28rem; + } +} + +.editorial-body h2 { + margin: 3.2rem 0 1rem; + font-family: var(--font-serif); + font-size: 1.55rem; + font-weight: 700; + letter-spacing: 0; + line-height: 1.16; + text-wrap: balance; +} + +@media (min-width: 760px) { + .editorial-body h2 { + font-size: 1.9rem; + } +} + +.editorial-pullquote { + margin: 2.4rem 0; + padding: 1.1rem 0 1.1rem 1.25rem; + border-left: 2px solid var(--color-bitter); +} + +.editorial-pullquote p { + margin: 0; + font-size: 1.25rem; + font-weight: 650; + line-height: 1.42; + text-wrap: balance; +} + +.editorial-pullquote cite { + display: block; + margin-top: 0.7rem; + color: var(--color-muted); + font-family: var(--font-mono); + font-size: 0.72rem; + font-style: normal; + letter-spacing: 0.06em; + text-transform: uppercase; +} + +.editorial-social-embed { + margin: 2rem 0 2.15rem; +} + +.editorial-social-shell { + border-block: 1px solid var(--color-line); + padding: 1rem 0; +} + +.editorial-social-topline, +.editorial-social-label, +.editorial-social-evidence summary { + font-family: var(--font-mono); + font-size: 0.72rem; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.editorial-social-topline { + display: flex; + flex-wrap: wrap; + gap: 0.4rem 1rem; + justify-content: space-between; + color: var(--color-muted); +} + +.editorial-social-body { + margin-top: 0.9rem; + padding: 0.95rem 1rem; + border: 1px solid var(--color-line); + border-radius: 6px; + background: color-mix(in srgb, var(--color-ground) 88%, white); +} + +:root.dark .editorial-social-body { + background: color-mix(in srgb, var(--color-ground) 92%, white); +} + +.editorial-social-embed-ecosystem_drama .editorial-social-body, +.editorial-social-embed-public_exchange .editorial-social-body { + border-left: 2px solid var(--color-bitter); +} + +.editorial-social-label { + margin: 0; + color: var(--color-bitter); +} + +.editorial-social-text { + margin: 0.5rem 0 0; + color: var(--color-ink); + font-size: 1rem; + line-height: 1.58; +} + +.editorial-social-shell figcaption { + display: flex; + flex-wrap: wrap; + gap: 0.45rem 0.8rem; + justify-content: space-between; + margin-top: 0.75rem; + color: var(--color-muted); + font-size: 0.86rem; + line-height: 1.5; +} + +.editorial-social-shell figcaption a, +.editorial-social-evidence a { + color: var(--color-bitter); + text-decoration: none; + border-bottom: 1px solid color-mix(in srgb, var(--color-bitter) 45%, transparent); +} + +.editorial-social-shell figcaption a:hover, +.editorial-social-evidence a:hover { + border-bottom-color: var(--color-bitter); +} + +.editorial-social-evidence { + margin-top: 0.65rem; + color: var(--color-muted); + font-size: 0.78rem; + line-height: 1.55; +} + +.editorial-social-evidence summary { + cursor: pointer; + color: var(--color-muted); +} + +.editorial-social-evidence div { + margin-top: 0.55rem; + padding-left: 0.8rem; + border-left: 1px solid var(--color-line); +} + +.editorial-social-evidence p { + margin: 0.35rem 0; +} + +.editorial-source-drawer { + color: var(--color-muted); +} + +.editorial-source-drawer details { + border-top: 1px solid var(--color-line); + padding-top: 1rem; +} + +.editorial-source-drawer summary { + cursor: pointer; + font-family: var(--font-mono); + font-size: 0.76rem; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.editorial-source-drawer-body { + display: grid; + gap: 1.35rem; + margin-top: 1rem; + font-size: 0.9rem; + line-height: 1.6; +} + +.editorial-source-drawer-body h2 { + margin: 0 0 0.55rem; + color: var(--color-ink); + font-family: var(--font-mono); + font-size: 0.76rem; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.editorial-source-links { + display: flex; + flex-wrap: wrap; + gap: 0.35rem 0.75rem; + font-family: var(--font-mono); + font-size: 0.82rem; +} + +.editorial-evidence-list { + margin: 0; + padding-left: 1.1rem; +} + .homepage-thesis { margin: 1.1rem 0 0; font-family: var(--font-serif); From 46d49541a0fe45a86fb9ff970a7623031d9ec092 Mon Sep 17 00:00:00 2001 From: Michael Ruescher <1219839+ruemic@users.noreply.github.com> Date: Thu, 25 Jun 2026 01:18:32 +0800 Subject: [PATCH 10/10] editorial: add humanizer skill --- AGENTS.md | 5 + .../editorial.yml | 189 +++++++++--------- .../social-cards/x-cards.yml | 7 + site/src/components/SocialPostEmbed.astro | 2 +- site/src/lib/frontier.ts | 2 + skills/humanizer/SKILL.md | 61 ++++++ skills/humanizer/agents/openai.yaml | 4 + 7 files changed, 169 insertions(+), 101 deletions(-) create mode 100644 skills/humanizer/SKILL.md create mode 100644 skills/humanizer/agents/openai.yaml diff --git a/AGENTS.md b/AGENTS.md index 2150346..7e114b2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,6 +16,11 @@ House style: ASCII punctuation only, no em dashes; operator-first, skeptical, no hype. Cite the primary source on the claim-bearing words. Every claim carries a receipt or it does not ship. +For reader-facing prose, use the repo-local [humanizer skill](./skills/humanizer/SKILL.md): +the public copy should sound like a sharp person explaining the idea clearly, +with traceability and research-process details pushed into quieter source +layers. + Validate before you push: npm --prefix site run build # regenerates pages + internal link check diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml index 297250d..5634fb8 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/editorial.yml @@ -1,186 +1,175 @@ schema_version: bitter.frontier_run_editorial.v0 -title: The Agent Stack Is Turning Into a Fight Over Trust -dek: X is noisy, but this week it exposed the useful part of the noise. Coding-agent projects are no longer just competing on model access or code edits. They are competing over memory, distribution, control surfaces, and who gets trusted when the tool starts acting like infrastructure. +title: The Agent Fight Is About Trust Now +dek: A noisy week on X made one thing clearer. The fight is no longer just about better code edits. It's about whether these tools are becoming infrastructure that teams can actually trust. eyebrow: Social dispatch byline: Bitter Frontier published_at: 2026-06-24 blocks: - type: paragraph text: > - If you only read changelogs, the agentic-coding market looks like a row of - release notes: a flag here, a plugin there, a new model default, a patched - crash. The public conversation is messier, but it is also more revealing. - On X, maintainers sell futures before they are fully specified, users turn - rough edges into reputation, and rival projects explain what they think - the category is really about. + Here's what jumped out this week: the loudest posts were not really about + coding. They were about trust. Who gets to remember your project? Who + controls the place where the agent runs? Who can spend tokens on your + behalf? Who do you blame when the agent goes sideways? - type: paragraph text: > - That does not mean social posts should become findings. They should not. - The right use of X is closer to incident response than marketing analysis: - look for the smoke, reconstruct the timeline, then prove the bounded claim - somewhere sturdier. But as an early-warning system, the social layer is - already pointing at the shape of the fight. The important contest is not - "which agent can edit a file?" It is who owns the operator relationship - after agents become persistent, delegated, and expensive enough to govern. + That's a different conversation from "which agent writes the best patch?" + A few months ago, it still made sense to talk about these tools like + autocomplete with ambition. Now they look more like small operating + systems for work. Once you see that, the launch posts, release notes, and + drama all start to rhyme. - type: pullquote - text: Social evidence is useful when it changes the question an editor asks next. It is dangerous when it pretends to be the answer. - attribution: Editorial rule for this run + text: The question is no longer just "can it write code?" It is "would you let it keep working after you close the laptop?" + attribution: The shift - type: heading - text: Memory Is Becoming a Product Claim + text: Memory Is Becoming the Product - type: paragraph text: > - The clearest example is Hermes. The official NousResearch account framed - the /learn command as a way to turn directories of code, docs, and prior - sessions into reusable skills. That is not a small UX flourish. It is a - claim about compounding labor: the agent is no longer just consuming - context, it is trying to turn past work into an operating asset. + Hermes is the easiest place to see it. The /learn pitch is that the agent + can turn code, docs, and prior sessions into reusable skills. If that + works well, it is not just a shortcut. It means yesterday's work can + make tomorrow's agent better. The agent is no longer only reading context. + It is trying to remember how the team works. - type: social_embed card_id: hermes-learn-official-post - caption: Hermes uses social distribution to frame memory as an operator-facing capability, while the implementation still needs source-level verification. + caption: "Hermes is selling memory as a front-door feature: past work becomes something the agent can reuse, not just context it consumes." - type: paragraph text: > - This is exactly the kind of claim that benefits from a social receipt but - cannot stop there. The post tells us what to investigate. It does not, by - itself, tell an operator how portable the learned skill is, what is stored, - whether sensitive material is excluded, or how the behavior fails. In a - serious editorial workflow, the tweet is the lead. The finding comes only - after the code, docs, or a reproducible probe narrows the claim. + That's exciting, but it also opens the obvious questions. What exactly is + being saved? Can the skill travel to another machine or another team? Does + it avoid secrets? What happens when it learns the wrong lesson? The launch + post is interesting because it points straight at those questions. - type: heading text: Distribution Is Becoming the Product - type: paragraph text: > - Gemini CLI and OpenHands show a second pressure point: the agent is now a - distribution surface. Gemini's Antigravity transition is not just a - branding moment. The public code trail shows migration commands, docs, and - transition-banner work around v0.47.0. The social version of the story is - bigger and more emotional, but the verified core is still important. It - tells operators that the channel through which they receive the tool is - changing. + Gemini CLI and OpenHands show the second fight: where the agent lives. + Gemini's Antigravity transition can sound like branding, but the concrete + part is more practical. There are migration commands, docs, and transition + banners around v0.47.0. That matters because the channel decides how users + install the tool, how they move, what defaults they inherit, and who gets + to change the terms later. - type: social_embed card_id: gemini-antigravity-transition-post - caption: The social post flagged a distribution shift; the release and merged PRs support the narrower transition and migration claim. + caption: The interesting story is not a slogan change; it is the migration path around a new distribution channel. - type: paragraph text: > - OpenHands is moving from another direction, with public claims around - Agent Client Protocol support across surfaces. The source receipts found - so far support part of that story, especially ACP UI, presets, and routing - work, but not the full breadth of every surface named in the post. That - distinction matters. Interop claims are valuable precisely because they - promise less lock-in. If the claim outruns the receipts, the editorial - should keep the promise visible while refusing to promote it as fact. + OpenHands is coming at the same problem from the other side. Its ACP pitch + is basically: your agent should not be trapped in one client. The code and + release notes back up part of that story, especially UI, presets, and + routing work. They don't yet prove every product area named in the post. + That is fine. The important thing is that portability is becoming part of + what these products are selling, not an afterthought. - type: social_embed card_id: openhands-acp-official-post - caption: OpenHands is positioning around interoperability, but the source-backed claim remains narrower than the social post. + caption: The interop pitch matters because portability is a promise users can actually test. - type: heading text: The Boring Controls Are Becoming the Story - type: paragraph text: > - The third signal is less glamorous and more operational. Codex release + The third pattern is less flashy and probably more important. Codex chatter around token budgets and Claude Code chatter around sandbox - credentials, resume repair, and remote MCP timeout handling point at the - same center of gravity: once agent work runs for more than a few minutes, - controls become product features. Budgets, resumability, credential - boundaries, and timeout behavior are not back-office implementation - details. They decide whether an operator can leave the agent alone. + credentials, resume repair, and remote MCP timeouts all point at the same + thing: once an agent runs for more than a few minutes, controls become the + product. Budgets, resumability, credential boundaries, and timeout behavior + aren't plumbing. They decide whether you can let the agent work without + babysitting it. - type: social_embed card_id: codex-token-budget-release-post - caption: Token budgets are not a cosmetic feature. They turn agent effort into bounded operational state. + caption: Token budgets are not a cosmetic feature. They give the agent a meter and a stopping point. - type: social_embed card_id: claude-code-community-2187-post - caption: Even a community changelog can be editorially useful when it points to an official changelog and the claim is kept tightly scoped. + caption: A community changelog is useful when it sends readers back to the official notes. - type: paragraph text: > - This is where the agent market starts to resemble security tooling. A - feature is not merely whether something can be done; it is whether the - organization can bound it, audit it, interrupt it, and recover from it. - That is why the least flashy posts in this harvest may be the most - consequential. They mark the transition from demos to operations. + This is where coding agents start to look more like security tooling than + developer toys. The question is not only "can it do the task?" The question + is "can we see what it did, stop it, and recover from it?" The least + flashy posts from the week may be the most important because they mark the + move from demos to operations. - type: heading - text: Drama Is Smoke, Not the Finding + text: Drama Shows Where Trust Is Weak - type: paragraph text: > - The most tempting material is the OpenClaw and Hermes drama. A public - exchange involving OpenClaw and Hermes-adjacent figures surfaced questions - about funding, non-profit posture, and agendas. That is interesting - because trust and governance are part of the product in agent frameworks. - But it is also exactly where an editorial system can damage itself if it - turns one social artifact into a verdict. + The OpenClaw and Hermes drama is tempting because drama is easy to follow. + But the useful part is not who got the best line off. The useful part is + what people chose to fight about: funding, non-profit posture, agendas, + and who deserves trust. That tells you project leadership is not a side + issue for agent tools. It is part of the product. - type: social_embed card_id: openclaw-hermes-public-exchange - caption: The drama is useful as a map of trust questions, not as proof of motives or governance facts. + caption: The drama is useful because it shows where people are nervous about trust. It does not prove motives. - type: paragraph text: > - The follow-up code pass added an important counterweight. OpenClaw's + The code keeps that from turning into a cheap dunk. OpenClaw's recent release work shows active fixes around routing, channel/session - state, and trusted-policy hook composition. That does not erase user pain - or reputational tension, but it prevents the lazy version of the story: - "project is broken, rivals are right." Good social research should make - the story harder to write, not easier. + state, and trusted-policy hook composition. That doesn't erase user pain + or reputational tension, but it does stop the lazy version of the story: + "project is broken, rivals are right." The better read is messier: + reliability problems and active repair are happening at the same time. - type: heading - text: Ambition Is Also Evidence + text: Ambition Matters Before It Ships - type: paragraph text: > - Paperclip's Maximizer-mode post belongs in a different bucket. It is not a - shipped capability in the receipts found for this window. The adjacent - release work verifies interop and reliability around OpenClaw Gateway and - Hermes custom providers, not Maximizer mode. But the post is still useful - because it states a direction: the market wants to graduate from "agent - edits code" to "agent hires and runs other agents toward an outcome." + Paperclip's Maximizer-mode post is different. It is not something you can + point to as shipped in the public releases from this window. But it + is still worth paying attention to because it says the quiet part out + loud. The market doesn't want to stop at "an agent helps me code." It + wants to get to "an agent can organize other agents toward an outcome." - type: social_embed card_id: paperclip-maximizer-maintainer-post - caption: This is maintainer intent, not a shipped feature claim. The value is in the strategic direction it exposes. + caption: "The point is direction, not shipment: Paperclip is sketching a future of delegated agents managing other agents." - type: paragraph text: > - That ambition is the editorial thread tying the week together. Hermes - wants accumulated memory. Gemini and OpenHands are fighting over channels - and portability. Codex and Claude Code are hardening the control plane. - OpenClaw and Hermes show that governance and reputation travel through - the same public channels as releases. Paperclip points toward delegated - multi-agent operations. These are not isolated anecdotes. They are the - outlines of a stack. + That's the thread tying the week together. Hermes wants memory to + compound. Gemini and OpenHands are fighting over channels and portability. + Codex and Claude Code are making the boring controls more explicit. + OpenClaw and Hermes show that leadership and reputation travel through the + same channels as releases. Paperclip points toward agents delegating to + other agents. These are not separate anecdotes. They are the outline of a + stack. - type: heading - text: The Useful Reader Takeaway + text: How to Read the Noise - type: paragraph text: > - Operators should read social posts as radar. Do not migrate because a - project account announced a future. Do not dismiss a framework because a - rival's supporters found a sore spot. Do not accept an interop claim until - the exact surface is named in docs, code, or a reproducible probe. But do - pay attention to what the public conversation reveals before the release - note does: where maintainers are trying to move authority, where users - feel trapped, where rival projects attack trust, and where boring controls - start to matter more than benchmark theatrics. + So the simple advice is: read the noise, but don't be ruled by it. Don't + migrate because a project account announced a future. Don't dismiss a + framework because a rival found a sore spot. Don't accept an interop + promise until you can see exactly what works. But do notice what the + conversation reveals before the release note does: where maintainers want + to move authority, where users feel trapped, where rivals attack trust, + and where boring controls start to matter more than benchmark theatrics. - type: paragraph text: > The agent frontier is becoming less about isolated intelligence and more - about institutional permission. Who remembers? Who routes? Who pays? Who - can stop the work? Who can prove what happened? X is not the place to - answer those questions. It is, however, a very good place to notice which - questions the market can no longer avoid. + about permission. Who remembers? Who routes? Who pays? Who can stop the + work? Who can prove what happened? X will not answer those questions for + you. It is just a good place to notice which questions the market can no + longer avoid. diff --git a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml index c25b9e8..088f8f1 100644 --- a/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml +++ b/runs/2026-06-24-x-social-harvest-2026-06-24-frontier-v0/social-cards/x-cards.yml @@ -12,6 +12,7 @@ cards: authors: ["@NousResearch"] source_urls: - https://x.com/NousResearch/status/2069526242236182697 + display_text: "Hermes is pitching /learn as a way for the agent to turn past code, docs, and sessions into reusable skills." summary: "The official NousResearch account described Hermes Agent's /learn command as a way to turn directories of code, docs, and sessions into reusable skills." why_it_matters: "The post points at the same frontier pressure this journal keeps seeing: agent systems are trying to turn past work into reusable operating memory." verification_needed: "Check Hermes docs, release notes, or source commits before treating /learn as a shipped, specified capability." @@ -30,6 +31,7 @@ cards: authors: ["@clawdb0t"] source_urls: - https://x.com/clawdb0t/status/2069299802903654611 + display_text: "OpenClaw and Hermes-adjacent accounts are not just trading feature notes. They are arguing about trust, funding, and what kind of project people should rely on." summary: "A community account surfaced a public exchange involving OpenClaw and Hermes-adjacent figures around non-profit status, funding, and agendas." why_it_matters: "Framework drama can reveal governance pressure, project positioning, and trust questions that do not show up in release notes." verification_needed: "Reconstruct the direct reply chain from primary participant posts before treating this as more than ecosystem context." @@ -50,6 +52,7 @@ cards: - https://x.com/OpenHandsDev/status/2067643119957410096 - https://github.com/OpenHands/OpenHands/releases/tag/1.8.0 - https://github.com/OpenHands/OpenHands/pull/14401 + display_text: "OpenHands is talking up ACP support across its product surface, which is another way of saying: your agent should not be trapped in one client." summary: "The OpenHands account posted that Agent Client Protocol support spans Agent Canvas, SDK, and the cloud offering." why_it_matters: "ACP support is a composability claim: if shipped, it changes how operators can move agents across surfaces." verification_needed: "Check OpenHands docs and follow-up commits for the full Agent Canvas, SDK, and cloud surface claim before promotion." @@ -69,6 +72,7 @@ cards: source_urls: - https://x.com/CodexReleases/status/2069185685131804760 - https://github.com/openai/codex/releases/tag/rust-v0.142.0 + display_text: "Codex release chatter around token budgets points to a simple need: an agent should have a meter, and it should stop when the meter is spent." summary: "A Codex release-tracker post said v0.142.0 added configurable per-thread token budgets with automatic turn abortion; the run found a public release tag as secondary support." why_it_matters: "Budgets are operational control-plane state: they turn runaway agent work into a bounded, inspectable failure mode." verification_needed: "Check release-note wording and behavior before promoting this into a finding or signal." @@ -88,6 +92,7 @@ cards: source_urls: - https://x.com/ClaudeCodeLog/status/2069531604951687542 - https://code.claude.com/docs/en/changelog#2-1-187 + display_text: "Claude Code 2.1.187 chatter pointed back to practical fixes: sandbox credentials, resume behavior, and remote MCP timeout handling." summary: "A community changelog account posted Claude Code v2.1.187 notes; the official Claude Code changelog confirms the core release items including sandbox credentials, resume repair, and remote MCP timeout handling." why_it_matters: "Even unofficial release chatter can point the verifier toward security and reliability changes worth checking in primary Anthropic channels." verification_needed: "Before promotion, quote and scope the exact official changelog item being used; do not apply this receipt to unrelated Claude Code controversy claims." @@ -109,6 +114,7 @@ cards: - https://github.com/google-gemini/gemini-cli/releases/tag/v0.47.0 - https://github.com/google-gemini/gemini-cli/pull/27676 - https://github.com/google-gemini/gemini-cli/pull/27765 + display_text: "Gemini CLI's Antigravity transition is a channel story: where the tool lives, how users migrate, and who controls the next default." summary: "A Gemini CLI account post described an Antigravity transition path; Gemini CLI v0.47.0 includes source receipts for persistent transition-banner behavior and Antigravity migration commands/docs." why_it_matters: "Distribution-channel shifts are operator-relevant even before they become code receipts: they change who can run what, where, and under which terms." verification_needed: "Do not infer a hard cutoff, source-availability change, or quota/backlash claim without separate primary receipts." @@ -145,6 +151,7 @@ cards: authors: ["@dotta"] source_urls: - https://x.com/dotta/status/2067801977447137332 + display_text: "Paperclip's Maximizer idea is the big-swing version of the market: not one agent helping you code, but agents managing other agents toward an outcome." summary: "A Paperclip maintainer described a Maximizer-mode direction where a CEO-like agent can hire and run agents toward an outcome." why_it_matters: "The post captures where orchestration products are trying to move: from single coding helpers toward delegated agent operations." verification_needed: "Find a Paperclip docs, release-note, or commit receipt that names Maximizer mode before treating it as shipped behavior." diff --git a/site/src/components/SocialPostEmbed.astro b/site/src/components/SocialPostEmbed.astro index b77f066..2b4c6ce 100644 --- a/site/src/components/SocialPostEmbed.astro +++ b/site/src/components/SocialPostEmbed.astro @@ -23,7 +23,7 @@ const evidenceLabel = card.status === "verified_secondary"
{caption ?? card.title} diff --git a/site/src/lib/frontier.ts b/site/src/lib/frontier.ts index f159945..073c448 100644 --- a/site/src/lib/frontier.ts +++ b/site/src/lib/frontier.ts @@ -587,6 +587,7 @@ export type SocialReceiptCard = { sourceIds: string[]; authors: string[]; sourceUrls: string[]; + displayText?: string; excerpt?: string; summary: string; whyItMatters?: string; @@ -775,6 +776,7 @@ export function listRunSocialCards(runId: string): SocialReceiptCard[] { sourceIds: normalizeStringArray(card.source_ids ?? card.sources ?? card.source), authors: normalizeStringArray(card.authors ?? card.author), sourceUrls: normalizeStringArray(card.source_urls ?? card.source_url ?? card.primary_url), + displayText: card.display_text ? String(card.display_text) : undefined, excerpt: card.excerpt ? String(card.excerpt) : undefined, summary: String(card.summary ?? ""), whyItMatters: card.why_it_matters ? String(card.why_it_matters) : undefined, diff --git a/skills/humanizer/SKILL.md b/skills/humanizer/SKILL.md new file mode 100644 index 0000000..27a3826 --- /dev/null +++ b/skills/humanizer/SKILL.md @@ -0,0 +1,61 @@ +--- +name: humanizer +description: Revise AI-sounding drafts into clear, human editorial prose. Use when Codex is writing or editing blog posts, essays, digests, newsletters, landing copy, social-callout copy, or reader-facing explanations and the user asks for more natural, conversational, Stratechery/Krebs-like, less mechanical, less internal, less corporate, or less AI-generated language. +--- + +# Humanizer + +Use this skill to make reader-facing prose sound like a sharp person explaining +the idea to another person. Preserve rigor, but move process details and +traceability into footnotes, links, collapsed notes, or repo artifacts. + +## Workflow + +1. Identify the real reader-facing job of the copy: explain, persuade, orient, + critique, or narrate. +2. Remove internal process language from the main flow. Push audit mechanics, + validation caveats, and source-status terms into background affordances. +3. Rewrite around concrete questions, stakes, and examples. Prefer "what this + means" over "how this was verified" unless the reader needs that in the + moment. +4. Read each paragraph aloud mentally. If it sounds like a policy memo, a PR + note, or a model explaining its method, rewrite it. +5. Keep the strongest sentence and delete the scaffolding around it. + +## Voice Targets + +- Clear enough to say to a friend without embarrassment. +- Specific enough that it still carries an argument. +- Skeptical without sounding defensive. +- Conversational without becoming sloppy. +- Direct, not branded, breathless, or self-congratulatory. + +## Replace These Patterns + +- "This claim should not be promoted" -> "That is a lead, not the whole story." +- "Verification is needed before..." -> "The interesting question is..." +- "Social evidence indicates..." -> "The post points at..." +- "Operators should..." -> "If you are running this, the practical read is..." +- "This validates the bounded claim" -> "The code backs up the smaller version." +- "The editorial workflow..." -> remove it from the public copy. + +## Keep These Boundaries + +- Do not invent warmth by adding jokes, hype, or fake intimacy. +- Do not hide uncertainty. Translate it into plain language. +- Do not let a paragraph begin with a disclaimer unless the disclaimer is the + point. +- Do not use em dashes in repos that prefer ASCII punctuation. +- Do not collapse important source distinctions. Move them into a quieter layer + when they interrupt the reading experience. + +## Quick Checks + +Ask these before finishing: + +- Would a smart reader understand the point without knowing our research + process? +- Is the first sentence carrying an idea, or just clearing its throat? +- Did we say "evidence", "verification", "claim", "finding", "status", or + "workflow" in the public prose when a normal word would do? +- Could this sentence be said out loud naturally? diff --git a/skills/humanizer/agents/openai.yaml b/skills/humanizer/agents/openai.yaml new file mode 100644 index 0000000..45062a1 --- /dev/null +++ b/skills/humanizer/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Humanizer" + short_description: "Make editorial prose sound clear and human" + default_prompt: "Use $humanizer to revise this draft into clear, human editorial prose."