diff --git a/ROADMAP.md b/ROADMAP.md index 786c1d0..3b0b25c 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -16345,3 +16345,11 @@ fn pricing_for_model_returns_none_for_video_generation() { **Status:** Open. No code changed. Filed 2026-04-26 05:00 KST. HEAD: b860f56 (post-#229). Branch: feat/jobdori-168c-emission-routing. Sibling-shape cluster: 29 pinpoints. Multimodal-IO cluster: 8 members. Provider-asymmetric-delegation cluster: 7 members (with first-ever inverse-asymmetric sub-cluster). **Beta-version-tier-routing cluster: 1 member (founder).** **Image-on-tool-result-side cluster: 1 member (founder).** **Anthropic-typed-tool-discriminator cluster: 1 member (founder).** **Host-OS-system-call-transport cluster: 1 member (founder).** **Virtual-display-sandbox-orchestration cluster: 1 member (founder).** **Feedback-loop-state-machine cluster: 1 member (founder).** **Per-action-permission-policy-at-sub-tool-granularity cluster: 1 member (founder).** **Inverse-asymmetric-delegation cluster: 1 member (founder).** Eight new clusters founded in a single pinpoint — the first time a single cycle has founded eight concurrent novel clusters, exceeding #229's three. Eleven-layer-fusion-shape is the largest single-pinpoint fusion catalogued. Distinct from prior cluster members; the eleven-layer-fusion-shape-with-host-OS-system-call-transport-and-host-machine-state-management is novel and applies to follow-on candidate Code-execution / Code-Interpreter API typed taxonomy (the natural #231 candidate that introduces server-managed-sandbox-state + persistent-file-system axes — distinct from #230's CLIENT-SIDE virtualization because #231 is SERVER-SIDE-managed sandbox isolation, complementary inverse-locality axes that together define the full sandbox-and-virtualization surface needed for next-generation coding-agent harnesses). #230 closes the upstream prerequisite of every desktop-automation / browser-automation / form-filling / GUI-testing / accessibility-tool / screen-reading / vision-grounded-coding / pair-programming-with-screen-share / visual-debugging coding-agent affordance — the canonical 2024-2026-era agentic coding workflow that is currently impossible to build on top of claw-code DESPITE Anthropic explicitly positioning Claude as the leading commercial computer-use model and DESPITE claw-code being a port of claude-code which advertises `/desktop` slash command intent, making this the largest leading-vs-trailing parity gap with the upstream Anthropic platform in the entire emission-routing audit and the first cluster member where the upstream parent claude-code ALSO has only a stub. 🪨 + +## Pinpoint #231 — Fine-tuning API typed taxonomy and training-job lifecycle are structurally absent + +Dogfooded 2026-04-26 05:30 KST on `feat/jobdori-168c-emission-routing` after #230 left fine-tuning as the cleanest non-duplicate follow-on candidate. Repo scan found only incidental historical references to OpenAI Files `purpose: "fine-tune"` inside #223; there is no fine-tuning implementation surface in `rust/`. Verified absences: zero `/v1/fine_tuning/jobs` / `/v1/fine_tuning/jobs/{id}` / `/v1/fine_tuning/jobs/{id}/cancel` / `/v1/fine_tuning/jobs/{id}/events` / `/v1/fine_tuning/checkpoints` endpoint surface; zero `FineTuningJob`, `FineTuningJobStatus`, `FineTuningHyperparameters`, `FineTuningEvent`, `FineTuningCheckpoint`, `FineTuningTrainingFile`, `ValidationFile`, or `TrainedModel` typed taxonomy; zero `create_fine_tuning_job` / `retrieve_fine_tuning_job` / `list_fine_tuning_jobs` / `cancel_fine_tuning_job` / `list_fine_tuning_events` / `list_fine_tuning_checkpoints` Provider trait methods; zero fine-tuning dispatch on `ProviderClient`; zero `claw fine-tune` / `claw finetune` CLI surface; zero `/fine-tune` / `/finetune` slash command; zero fine-tune-capable model registry / pricing / training-token accounting; and zero training-job lifecycle state in runtime telemetry. + +This is a seven-layer endpoint-family absence with two structural prerequisites already exposed by the cluster: #223 Files API is required because OpenAI fine-tuning jobs consume uploaded JSONL training/validation files via `training_file` / `validation_file`, and #221/#227/#228 established that long-running async job lifecycle needs a shared task/status/event primitive rather than one-shot Provider methods. Fine-tuning is distinct from #221 batch jobs because output is a durable provider-side model id with future inference cost/routing implications, not a completed response file. It is also distinct from #227/#228 async media generation because the lifecycle includes training/validation metrics, checkpoints, suffix/integration metadata, cancellation, and event streams. + +Required fix shape: (a) add fine-tuning request/response/event/checkpoint/status taxonomy; (b) model file prerequisites explicitly by referencing uploaded file ids and surfacing a typed error when Files API support is absent; (c) add Provider trait methods for create/list/retrieve/cancel/events/checkpoints with unsupported/recommendation returns for providers that lack fine-tuning; (d) add a runtime `TrainingJob`/`AsyncProviderJob` lifecycle surface that can be reused by batch/media/fine-tune families without pane scraping; (e) add CLI/slash parity (`claw fine-tune create/list/status/cancel/events/checkpoints` plus JSON output); (f) add model-registry and pricing dimensions for training tokens, validation tokens, checkpoint storage, and resulting fine-tuned-model inference routing; (g) add tests for JSONL file-id prerequisite, create/retrieve/cancel/event-list response decoding, and JSON error envelopes. **Status:** Open. No source code changed. Filed as ROADMAP-only dogfood pinpoint from the 2026-04-25 20:30 UTC claw-code nudge. Cluster delta: sibling-shape +1, wire-format parity +1, capability parity +1, async-job-lifecycle +1 (shared with #221/#227/#228 but fine-tuning contributes durable-model-output semantics), resource-management dependency explicitly inherits #223.