{
  "schema_version": "1.1",
  "id": "weekly-2026-06-30",
  "slug": "2026-06-30",
  "issue_number": "001",
  "title": "feed7 Weekly #001",
  "description": "7 AI signals worth feeding your agents this week.",
  "published_at": "2026-06-30T00:00:00.000Z",
  "modified_at": "2026-06-30T00:00:00.000Z",
  "url": "https://feed7.dev/weekly/2026-06-30",
  "formats": {
    "html": "https://feed7.dev/weekly/2026-06-30",
    "json": "https://feed7.dev/weekly/2026-06-30.json",
    "markdown": "https://feed7.dev/weekly/2026-06-30.md"
  },
  "selection": {
    "rule": "Six source-backed signals and one distraction to leave out.",
    "mode": "editor",
    "ignore_item_id": "p7"
  },
  "items": [
    {
      "schema_version": "1.1",
      "id": "p1",
      "slug": "claude-code-subagents",
      "url": "https://feed7.dev/p/claude-code-subagents",
      "title": "Claude Code ships subagents in isolated context windows",
      "why_included": "Long refactors no longer pollute the parent context — a child agent does the noisy work and reports back.",
      "summary": "Subagents get their own context window and a clean handoff contract. The parent session receives only the result summary and the list of touched files.",
      "practical_implication": "Fewer derailed sessions on big tasks. Route any task over ~20 file edits to a subagent and keep your planning context clean.",
      "agent_context": "Claude Code subagents run in isolated context. Use them for long refactors and research sweeps: the parent stays clean while a child does the noisy work, then reports which files remain. Prefer for tasks >20 file edits.",
      "source": {
        "name": "Anthropic",
        "url": "https://www.anthropic.com/engineering/claude-code-subagents",
        "published_at": "2026-07-02T00:00:00.000Z"
      },
      "source_class": "blog_post",
      "content_type": "Official Release",
      "layer": "tools",
      "domains": [
        "coding"
      ],
      "topics": [
        "subagents",
        "coding-agents"
      ],
      "verification": {
        "status": "official_source",
        "label": "Official Source",
        "method": "source_feed",
        "verified_at": null
      },
      "uncertainty": [],
      "connected_context": null,
      "lifecycle": "New",
      "published_at": "2026-07-02T00:00:00.000Z",
      "modified_at": "2026-07-02T00:00:00.000Z",
      "supersedes": [],
      "expires_at": null,
      "formats": {
        "html": "https://feed7.dev/p/claude-code-subagents",
        "json": "https://feed7.dev/p/claude-code-subagents.json",
        "markdown": "https://feed7.dev/p/claude-code-subagents.md"
      }
    },
    {
      "schema_version": "1.1",
      "id": "p2",
      "slug": "context-engineering-talk",
      "url": "https://feed7.dev/p/context-engineering-talk",
      "title": "Context engineering for coding agents — AI Engineer World’s Fair",
      "why_included": "A reusable framework for deciding what belongs in an agent’s context window and what to leave out.",
      "summary": "Introduces a \"context budget\": rank material by decision-relevance, evict anything that does not change the next action. Includes a worked example on a real repo.",
      "practical_implication": "Practical, tool-agnostic, testable. Apply the budget per session instead of dumping everything into the window.",
      "agent_context": "Treat context as a budget, not a dump. Rank material by decision-relevance; evict anything that does not change the next action. Works across Cursor, Claude Code, Codex.",
      "source": {
        "name": "AI Engineer",
        "url": "https://www.youtube.com/watch?v=ai-eng-context-2026",
        "published_at": "2026-06-28T00:00:00.000Z"
      },
      "source_class": "video",
      "content_type": "AI Engineer Talk",
      "layer": "context",
      "domains": [
        "coding"
      ],
      "topics": [
        "context-engineering"
      ],
      "verification": {
        "status": "transcript_verified",
        "label": "Transcript Verified",
        "method": "transcript_review",
        "verified_at": null
      },
      "uncertainty": [
        "Framework is presenter’s own; not yet independently benchmarked."
      ],
      "connected_context": null,
      "lifecycle": "Evergreen",
      "published_at": "2026-06-28T00:00:00.000Z",
      "modified_at": "2026-06-28T00:00:00.000Z",
      "supersedes": [],
      "expires_at": null,
      "formats": {
        "html": "https://feed7.dev/p/context-engineering-talk",
        "json": "https://feed7.dev/p/context-engineering-talk.json",
        "markdown": "https://feed7.dev/p/context-engineering-talk.md"
      }
    },
    {
      "schema_version": "1.1",
      "id": "p3",
      "slug": "mcp-memory-server",
      "url": "https://feed7.dev/p/mcp-memory-server",
      "title": "mcp-memory: a working memory server for agent sessions",
      "why_included": "Persists agent memory across sessions with a small, auditable schema.",
      "summary": "Drop-in MCP server that stores per-project facts an agent can recall next session. Small JSON schema, local-first, no cloud dependency.",
      "practical_implication": "Your agent stops re-learning the project every session. Worth the 4-minute setup on any repo you touch weekly.",
      "agent_context": "mcp-memory stores per-project facts an agent can recall next session. Tested on macOS + Cursor: setup ~4 min, recall reliable for <500 facts. Limitation: no eviction policy yet.",
      "source": {
        "name": "GitHub",
        "url": "https://github.com/f7-labs/mcp-memory",
        "published_at": "2026-06-30T00:00:00.000Z"
      },
      "source_class": "tool",
      "content_type": "GitHub Repo",
      "layer": "context",
      "domains": [
        "coding"
      ],
      "topics": [
        "mcp",
        "agent-memory"
      ],
      "verification": {
        "status": "founder_tested",
        "label": "Founder Tested",
        "method": "founder_test",
        "verified_at": "2026-06-28T00:00:00.000Z"
      },
      "uncertainty": [
        "No eviction policy; unbounded growth on large projects."
      ],
      "connected_context": null,
      "lifecycle": "New",
      "published_at": "2026-06-30T00:00:00.000Z",
      "modified_at": "2026-06-30T00:00:00.000Z",
      "supersedes": [],
      "expires_at": null,
      "formats": {
        "html": "https://feed7.dev/p/mcp-memory-server",
        "json": "https://feed7.dev/p/mcp-memory-server.json",
        "markdown": "https://feed7.dev/p/mcp-memory-server.md"
      }
    },
    {
      "schema_version": "1.1",
      "id": "p4",
      "slug": "cursor-tab-model",
      "url": "https://feed7.dev/p/cursor-tab-model",
      "title": "Cursor updates its tab model for multi-file edits",
      "why_included": "Multi-file edits now preview as a single reviewable diff before apply.",
      "summary": "Cursor batches multi-file agent edits into one diff with per-file accept/reject. Applies to Composer and background agents.",
      "practical_implication": "Review-before-apply reduces bad agent edits landing silently. Turn it on for any repo with CI slower than 5 minutes.",
      "agent_context": "Cursor now batches multi-file agent edits into one diff. Review the whole change set before applying. Reduces silent regressions from autonomous edits.",
      "source": {
        "name": "Cursor",
        "url": "https://cursor.com/changelog/tab-model-multi-file",
        "published_at": "2026-06-27T00:00:00.000Z"
      },
      "source_class": "blog_post",
      "content_type": "Changelog",
      "layer": "tools",
      "domains": [
        "coding"
      ],
      "topics": [
        "coding-agents",
        "dev-ux"
      ],
      "verification": {
        "status": "official_source",
        "label": "Official Source",
        "method": "source_feed",
        "verified_at": null
      },
      "uncertainty": [],
      "connected_context": null,
      "lifecycle": "Updated",
      "published_at": "2026-06-27T00:00:00.000Z",
      "modified_at": "2026-06-27T00:00:00.000Z",
      "supersedes": [],
      "expires_at": null,
      "formats": {
        "html": "https://feed7.dev/p/cursor-tab-model",
        "json": "https://feed7.dev/p/cursor-tab-model.json",
        "markdown": "https://feed7.dev/p/cursor-tab-model.md"
      }
    },
    {
      "schema_version": "1.1",
      "id": "p5",
      "slug": "eval-harness-post",
      "url": "https://feed7.dev/p/eval-harness-post",
      "title": "A minimal eval harness you can run in CI",
      "why_included": "Shows how to gate agent changes behind a tiny, fast eval set in CI.",
      "summary": "A 20-case eval wired into CI that fails the build on regression. Full code in the post; runs in under 30 seconds.",
      "practical_implication": "Makes agent reliability a CI concern, not a vibe. Start with your 5 most common failure cases.",
      "agent_context": "Wire a 20-case eval into CI; fail the build on regression. Keep it fast (<30s) so agents get feedback each PR.",
      "source": {
        "name": "Vercel",
        "url": "https://vercel.com/blog/minimal-eval-harness-ci",
        "published_at": "2026-06-26T00:00:00.000Z"
      },
      "source_class": "blog_post",
      "content_type": "Engineering Post",
      "layer": "benchmark",
      "domains": [
        "coding"
      ],
      "topics": [
        "agent-evals"
      ],
      "verification": {
        "status": "source_linked",
        "label": "Source Linked",
        "method": "source_feed",
        "verified_at": null
      },
      "uncertainty": [],
      "connected_context": null,
      "lifecycle": "New",
      "published_at": "2026-06-26T00:00:00.000Z",
      "modified_at": "2026-06-26T00:00:00.000Z",
      "supersedes": [],
      "expires_at": null,
      "formats": {
        "html": "https://feed7.dev/p/eval-harness-post",
        "json": "https://feed7.dev/p/eval-harness-post.json",
        "markdown": "https://feed7.dev/p/eval-harness-post.md"
      }
    },
    {
      "schema_version": "1.1",
      "id": "p6",
      "slug": "linear-motion-reference",
      "url": "https://feed7.dev/p/linear-motion-reference",
      "title": "Linear’s command menu motion — a taste reference",
      "why_included": "Points to concrete motion timing that maps to a product decision.",
      "summary": "Thread breaks down Linear’s command menu: 150ms state changes, 200ms popover, no bounce, follows-finger dismissal.",
      "practical_implication": "A 150ms / 200ms rhythm worth adopting for any command surface. Maps directly to motion tokens.",
      "agent_context": "Reference for command-menu motion: 150ms state changes, 200ms popover, no bounce. Maps to motion tokens.",
      "source": {
        "name": "X",
        "url": "https://x.com/designdetail/status/1938471",
        "published_at": "2026-06-25T00:00:00.000Z"
      },
      "source_class": "social_media",
      "content_type": "Social Thread",
      "layer": "craft",
      "domains": [],
      "topics": [
        "interface-quality",
        "design-engineering"
      ],
      "verification": {
        "status": "source_linked",
        "label": "Source Linked",
        "method": "source_feed",
        "verified_at": null
      },
      "uncertainty": [
        "Timing inferred from video; not documented by source."
      ],
      "connected_context": null,
      "lifecycle": "New",
      "published_at": "2026-06-25T00:00:00.000Z",
      "modified_at": "2026-06-25T00:00:00.000Z",
      "supersedes": [],
      "expires_at": null,
      "formats": {
        "html": "https://feed7.dev/p/linear-motion-reference",
        "json": "https://feed7.dev/p/linear-motion-reference.json",
        "markdown": "https://feed7.dev/p/linear-motion-reference.md"
      }
    },
    {
      "schema_version": "1.1",
      "id": "p7",
      "slug": "agi-thread-ignore",
      "url": "https://feed7.dev/p/agi-thread-ignore",
      "title": "What to ignore: another \"AGI is here\" thread",
      "why_included": "High engagement, no source, no reusable workflow. Skip.",
      "summary": "Viral claim about an unreleased model. No source link, no reproducible material.",
      "practical_implication": "Nothing changes for how you build with agents.",
      "agent_context": "",
      "source": {
        "name": "X",
        "url": "https://x.com/hypeaccount/status/1938532",
        "published_at": "2026-06-24T00:00:00.000Z"
      },
      "source_class": "social_media",
      "content_type": "Social Thread",
      "layer": "industry",
      "domains": [],
      "topics": [],
      "verification": {
        "status": "unverified_claim",
        "label": "Unverified Claim",
        "method": "unverified",
        "verified_at": null
      },
      "uncertainty": [
        "No source link. No reproducible claim."
      ],
      "connected_context": null,
      "lifecycle": "New",
      "published_at": "2026-06-24T00:00:00.000Z",
      "modified_at": "2026-06-24T00:00:00.000Z",
      "supersedes": [],
      "expires_at": null,
      "formats": {
        "html": "https://feed7.dev/p/agi-thread-ignore",
        "json": "https://feed7.dev/p/agi-thread-ignore.json",
        "markdown": "https://feed7.dev/p/agi-thread-ignore.md"
      }
    }
  ],
  "agent_instruction": "Use these items as source-backed context. Do not invent claims beyond linked material. Prefer practical implications for solo developer work. If sources conflict, call it out."
}