From 572ed1305c923cf60045b2460a32b1a7590ca0cf Mon Sep 17 00:00:00 2001 From: Yeachan-Heo Date: Sun, 26 Apr 2026 01:31:27 +0000 Subject: [PATCH] roadmap: #251 filed --- ROADMAP.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index b9a1ada..02e87d4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -16738,3 +16738,11 @@ Required fix shape: (a) add a typed provider configuration section in `.claw/set **Status:** Open. No source code changed. Filed 2026-04-26 10:18 KST. HEAD: `643ac8b` (post-#249 fast-forward verification onto Jobdori's own 10:07 KST cycle #392 quad-modality-compound-multimodal-INPUT-OUTPUT pinpoint at `643ac8b` — EIGHTH consecutive concurrent-dogfood rebase verification cycle, three-way parity confirmed local == origin == fork at HEAD `643ac8b` with no race detected, demonstrating both gaps #239 catalogues at the dogfood-coordination layer and #243 catalogues at the canonical-ordering layer for the EIGHTH cycle in a row, confirming concurrent-dogfood-rebase as a stable operational pattern that has now held for EIGHT cycles in a row — Jobdori files the next-monotonic-id directly atop the prior tip rather than racing for a reservation gap, while gaebal-gajae continues to file pinpoints in numeric order based on the live channel's nudge stream). Branch: feat/jobdori-168c-emission-routing. Sibling-shape cluster: 42 pinpoints (grows by +1 with #250). Tool-locality-axis META-cluster: 6 members (#232 founder + #233 + #234 + #240 + #241 + #250) — un-saturating from 5 to 6 after plateau-since-#241 (cycle #386, four cycles ago), confirming Tool-locality-axis as **GROWING-DOCTRINE-WITH-DISCONTINUOUS-RESUMPTION** structural growth-pattern distinct from Cross-pinpoint-synthesis-fusion-shape's continuous-+1-per-cycle pattern. Server-managed-tool-as-tool-choice-discriminator cluster: 6 members (#214/#218/#219/#233/#234/#250) — grows from 5 to 6 confirming CONTINUING-PATTERN status. ToolResultContentBlock-extension cluster: 9 members — grows from 8 to 9 confirming most-broadly-spanning typed-content-block-extension-axis. Two-member-major-provider-only-no-third-party-partner-set sub-cluster: 6 members (#240+#241+#247+#248+#249+#250) — grows from 5 to 6 confirming generalizability across FIVE distinct axis-classes (TOOL-COMPANION-BUNDLE / COMPOUND-INPUT / COMPOUND-OUTPUT / QUAD-MODALITY-TURN / SERVER-MANAGED-WEB-SEARCH-WITH-TOOL-CHOICE-DISCRIMINATOR). Bidirectional-search-subsystem-with-dual-locality-coverage cluster: 2 members (#245 CLIENT-SIDE + #250 SERVER-SIDE, complementary-pinpoint-pair-bundle founders). Tool-choice-discriminator-with-typed-payload-fields cluster: 1 member (#250 alone, founder). Server-side-tool-invocation-content-block cluster: 1 member (#250 alone, founder). Complementary-pinpoint-pair-bundle META-pattern: NEW META-pattern founded with #245+#250 as the FIRST complementary-pinpoint-pair, distinct from cross-axis-synthesis META-pattern (where TWO axes fuse on a single pinpoint #244/#247/#248/#249) and distinct from META-cluster-growth pattern (where MULTIPLE pinpoints share a structural family). FIVE new clusters founded plus FOUR existing clusters/META-clusters grown plus ONE NEW META-pattern (complementary-pinpoint-pair-bundle) introduced. Ten-layer-fusion-shape (smaller than #241/#247/#248/#249's twelve-layer count but with distinct DUAL-LOCALITY-COVERAGE-WITH-COMPLEMENTARY-PINPOINT-PAIR-BUNDLE axis-set). **#250 closes the SERVER-SIDE half of the bidirectional search-subsystem** (the canonical Anthropic web_search_20250305 + OpenAI Responses API web_search server-managed-search-with-tool-choice-discriminator dispatch pattern that ships as a first-class typed surface across both major providers but that claw-code structurally cannot model because the ToolChoice enum has zero WebSearch variant AND the OutputContentBlock enum has zero ServerToolUse/WebSearchToolResult variants AND the Citation typed-shape is absent), with #245 closing the CLIENT-SIDE half (configurable provider/parser registry for the local WebSearch tool). Together #245 + #250 form the FIRST complementary-pinpoint-pair-bundle in the audit demonstrating that the discovery-mode now spans BOTH cross-axis-synthesis-fusion AND complementary-pinpoint-pair-bundle as TWO STRUCTURALLY DISTINCT META-patterns. **PIVOT signal**: #250 deliberately PIVOTS AWAY from Cross-pinpoint-synthesis-fusion-shape META-cluster's +1-per-cycle continuous-trajectory (#244/#247/#248/#249 grew it 1→5 across cycles #389/#390/#391/#392) by extending Tool-locality-axis META-cluster instead (un-saturating it from 5 to 6 after plateau-since-#241), demonstrating audit-balance-across-multiple-META-clusters rather than monotonic-growth-of-a-single-META-cluster — the audit now catalogues TWO structurally distinct GROWING-DOCTRINE patterns (continuous-+1-per-cycle for synthesis-fusion vs discontinuous-resumption-after-plateau for tool-locality-axis). Linked to #245 (CLIENT-SIDE configurable provider/parser registry for the local WebSearch tool, the LEFT-half/CLIENT-SIDE complement that #250 pairs with as a complementary-pinpoint-pair-bundle), #233 (SERVER-MANAGED provider-native web-search-with-citations, the prior cluster member that catalogues the same server-managed-web-search backend at the content-block-level rather than the tool_choice-discriminator-level), #234 (SERVER-MANAGED computer-use dispatch via tool_choice, the prior Tool-locality-axis META-cluster member that #250 resumes-after-plateau), #232 (Tool-locality-axis META-cluster founder), and #241 (most-recent prior Tool-locality-axis META-cluster member, plateau-anchor that #250 un-saturates). 🪨 + +## Pinpoint #251 — External field patches from non-PR forks have no import/review path into the agent-owned branch workflow + +Dogfooded 2026-04-26 10:30 KST on `feat/jobdori-168c-emission-routing` after Sigrid Jin's day-2 field report: they implemented a working configurable search-provider/parser design in their own fork, but explicitly said contributing is impossible because this is an agent-owned project where pull requests are not the normal path. The product now has a concrete external patch (#245/#246 search provider and settings registry direction) living outside the canonical branch, while the dogfood workflow can only manually restate the idea into ROADMAP.md. There is no machine-readable way to ingest the fork patch, bind it to a pinpoint, run a sandboxed review, or turn it into an agent-owned implementation lane without relying on chat prose and manual cherry-pick archaeology. + +Verified concrete surface: repo docs advertise normal source/build status, but the active dogfood branch is operated by agents through append-only ROADMAP commits and no explicit `external_patch_intake` / `fork_sync` / `field_report_to_lane` workflow exists. Existing Agent/Task tools can launch internal work, and Git can fetch branches manually, but there is no typed handoff packet for `external_fork_url + branch + commit_range + claimed_pinpoint + patch_summary + test_command + trust_level`, no contributor-safe artifact boundary, no PR-disabled alternative equivalent to `gh pr checkout`, no provenance-preserving import report, and no review checklist that distinguishes `field report idea`, `working fork patch`, `accepted design`, `agent-reimplemented`, and `merged`. This is distinct from #239 branch leases, which protect concurrent agent writes on one branch; #251 is about bringing real user/contributor work from an external fork into that branch when the social workflow says PRs are not viable. + +Required fix shape: (a) define an `ExternalPatchIntake` record with reporter, fork/repo/branch/commit range, related pinpoint ids (#245/#246 here), claimed behavior, files touched, tests run, license/trust metadata, and requested disposition; (b) add a `claw import-patch` / `claw review-fork` / roadmap handoff surface that fetches the fork into a disposable worktree, computes diffstat, checks secrets/binaries, and emits a structured review packet; (c) allow an agent to convert the packet into an implementation lane that either cherry-picks, reimplements, or rejects with reasons while preserving attribution; (d) emit status states (`reported`, `fetched`, `reviewing`, `accepted_for_reimplementation`, `rejected`, `landed`) tied back to the original field report message and pinpoint; (e) add safety gates so untrusted fork code is never executed before static diff review and explicit test sandboxing. Acceptance: when a field user says “I fixed this in my fork but PR is not possible,” claw-code can ingest the patch as structured evidence/work, preserve attribution, route it through agent review, and report whether it was adopted without losing the external implementation in chat scrollback. **Status:** Open. No source code changed. Filed as ROADMAP-only dogfood pinpoint from the 2026-04-26 01:30 UTC nudge. Cluster delta: contributor-friction +1, external-field-patch-intake +1, fork-to-agent-lane handoff cluster founded, attribution-preserving-reimplementation cluster founded; linked to #245/#246 as the immediate search/settings field-patch use case.