Cross-repo analysis: what landed, what's in flight, and where the edges strengthened
Aug 13 – 18, 2026 · 6 Sonnet agents, 7 repos
The single biggest finding: The Forge's extraction from safe-app-store is incomplete. host_repointed was never flipped — the store still carries a full pre-extraction duplicate of every Forge module, and the readiness work of the last two days runs against that stale copy, not the promoted /home/user/Forge repo.
| Repo | Key merge / release | Forge relevance |
|---|---|---|
| Nestor | v0.5.0 Evidence for <pair>, complexity audit (Batches 1–3), README trim, add_pair/import_bundle decomposition, capability registry consolidation |
Reduced agent ceremony fleet-wide. EntityResolver and cloud_seal surfaces untouched — Forge's soft-dependency contract unaffected. |
| safe-app-store | PR #199 homestead-health bites 2–7 (roster, immunizations, due-onto-Today, school form, emergency card, living lane, reference lane). Also: PR #196 the-table/aetheris5e (5e combat + dice seam) | homestead-health is the first real test of the promotion pipeline. The three promo-recon branches (unmerged) are scouting exactly what gates the Forge's promote_check demands. |
| willow-mcp | v2.10.0 20 new Grove MCP tools (agent-side successor to willow-2.0), sender lock via grove_relay capability, grove_write scoped to ratified matrix |
No direct Forge import. But grove_human_required mirrors Forge's human_loop queue — the ready path for multi-agent checkpoint escalation. |
| Grove | PR #34 Remote MCP adaptor restored (tunnel-agnostic for Pangolin), per-tool OAuth read/write scopes, audit bookkeeping fixes | No Forge coupling. The OAuth scope pattern (grove:read/grove:write per-tool, not ambient) is the same declared-not-ambient shape Forge uses for model routing. |
| homestead | PR #22 Three postures (pinned/reference/living) for homestead-health. PR #20 Nestor seam pinned at v0.2.0 | Parallel EntityResolver consumer — sibling to Forge, not dependent on it. The seam's root-move resilience validates the same soft-dependency pattern Forge uses. |
| prod-readiness | 9 PRs Complete engineering lifecycle (16 phases, 10k controls), scanner vision, UI | Same shape as promote_check.py (fail-closed gate, evidence-cited, human decides). Not wired to Forge yet — only to the store-side duplicate. |
Fuzzy constraints_on (nestor/decision.py, nestor/cli.py): when an exact-norm match fails, scans candidates with StringMatcher above a 0.55 bar (calibrated on the 418-decision dogfood corpus). Tags results match: exact|fuzzy|none. This is exactly what the Forge's recognize band needs — a re-worded prior decision that the recognize band would currently miss as "no prior memory" now gets found before escalating to full Socratic.
Plumbing fixes: dogfood_store.py's _bundle_digest now hashes (source_text, target_text, status, origin, reason) instead of just the first three — a digest blind to provenance fields was a silent trust gap the Forge would inherit when trusting sealed decision memory.
Change-class table in AGENTS.md: routes agents to docs-only / lint-only / full verification by changed path (IDEAS §6.100). Reduces fleet-wide agent overhead, directly useful to safe-app-store's playground/promotion tiers.
Three promo-recon branches are the first real due-diligence scouts for a promotion. Each adds a doc under docs/promotion/recon/:
reference_lane.Reader already satisfies semantic_seam [M]. Do NOT inject Jeles's reader (it would regress the H-7 wall).witnessed suffices. forge.trust + willow_gate.custody confirmed absent (ModuleNotFoundError).Blocker: promotion.json does not exist yet. This is the single concrete missing artifact.
7 bites complete, 128 tests green, two adversarial audits passed. Three postures: pinned (records, never overwritten), reference (public knowledge, no subject), living (a forgetting cell, overwrite-in-place). The living lane mechanism was found already built in homestead/keep/logs.py — a §11 "house already knew" moment, called out in the plan.
The Forge's checkpoint loop depends on Nestor's EntityResolver for all three bands. The fuzzy constraints_on change on the unmerged branch directly strengthens the recognize band — the Forge's ability to match a re-worded prior decision without falling through to full Socratic. Meanwhile, the plumbing digest fix hardens the trust chain the Forge's trust.py would rely on when pulling sealed decisions from Nestor.
v0.5.0's complexity audit (decomposing add_pair and import_bundle into named steps, consolidating the capability registry) doesn't change the API surface the Forge calls, but makes Nestor more legible to the agents that will operate the Forge's checkpoint loop — the same "reduce ceremony" direction the change-class table takes.
homestead-health in apps/ is exercising the Forge's promotion apparatus for the first time against a real build. The three promo-recon branches are scouting exactly which of promote_check.py's 9 gates apply and how:
witnessed [M] — string floor, not the cryptographic forge.trust.witnessed() path (dormant)semantic_seam [M] — satisfied by the grown reference_lane.Reader, not Jeles injectionThis promotion, when it happens, will be the first to traverse promote_check.py end-to-end with full due-diligence documentation. The promo-recon pattern itself (scout each gate in a separate branch before attempting the promotion) is a reusable precedent.
Both repos' Aug 17 PRs share branch name claude/grove-adaptor-remote-restore-rlfsj6 — one change, two sides. willow-mcp's 20 new tools are the agent-facing surface; Grove's OAuth scope work secures that surface for remote access. The sender lock (grove_relay capability, not folded into grove_write) means an agent can't impersonate another agent through the coordination channel — the same "declared-not-ambient, fail-closed" discipline the Forge applies to model routing.
The grove_human_required tool is particularly interesting: it surfaces the same human-required queue that Forge's checkpoint_governance.py writes to via human_loop. Today these are separate stores (Forge writes SOIL, Grove reads Postgres). If they converge, a parked checkpoint decision could surface in Grove's dashboard for a human to resume — the park_checkpoint/resume_checkpoint flow is already built.
homestead's nestor_seam.py pins Nestor at v0.2.0 and resolves paths through homestead's own paths.py, not Nestor's. When Nestor renamed its home-paths module, the seam silently absorbed the change — "the seam earning its keep." This is the exact same soft-dependency pattern the Forge uses (nestor_available() gate, degrade to full-Socratic). Both repos now independently validate that the pattern works under real drift.
The checklist's 10,042 controls across 16 lifecycle phases have the same structural shape as promote_check.py: fail-closed, evidence-cited, human-decides. A store-side readiness_corpus.py already maps promote_check gates to specific control IDs (e.g., witnessed → USEQ-E075330B). This wiring currently hits the stale store-side duplicate, not the promoted Forge repo — the extraction incompleteness blocks it from being useful.
stores/python/stored/the-forge.json shows state: building, host_repointed still pending. The store carries a full duplicate of every Forge module. Readiness work targets the copy, not the real repo.
homestead-health has 128 tests green, two audits passed, three recon branches documenting gate satisfaction — but no promotion.json yet. This is the one concrete blocker for the first real promotion.
Four Nestor branches from today with real fixes (fuzzy constraints, digest integrity, change-class table). The fuzzy constraints_on change is the most Forge-relevant — the recognize band benefits immediately.
Forge's human_loop writes to SOIL; Grove's grove_human_required reads from Postgres. The park/resume checkpoint flow exists but the stores don't converge yet. This is the path to a human resuming a parked decision from the Grove dashboard.
Analysis produced by 6 Sonnet agents (4 breadth, 2 depth) reading all 7 repos. Evidence paths cited throughout; no inference from filenames or absence of findings.