P6 during the run: split the runner task (02 core, 03 workers); guard.PreCheck as an owner commit; AGENTS.md: write code into files early
Task 02 (the whole runner) ended at 21:08 with no file and no commit: Ornith wrote the
implementation out in its reply (~700 lines), OpenCode compacted the session, and the model
then emitted a malformed tool call. It had also looked for the given test at a wrong path
("_files/…" relative to the plan: my ambiguity).
- 02-runner → 02-runner-core (types, Submit, Status, Touch, Cancel; no goroutines) and
03-runner-workers; the given test split to match (runner_core_test.go gains three tests:
queued storage, cancel while queued, Status never moves the lease); later tasks renumbered
04-09 and every cross-reference checked.
- Copy paths spelled from the repo root.
- guard.PreCheck (+ its test) is committed here by the owner: the old task 05 told the
implementer to edit internal/guard/, which AGENTS.md forbids. My contradiction.
- AGENTS.md rule 6: write code into files early, in small steps.
Both runner test files compile against a panic-only skeleton (the core file also alone) and
fail there on panic: todo.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+15
-7
@@ -242,13 +242,14 @@ The design stands; these were implementation-blocking or would have hurt agents:
|
||||
raise it. `ServeHTTP` now picks 256 KiB for `/v1/batch`. Request metrics use a fixed
|
||||
`/v1/batch/{id}` label, so a job id never becomes a label value.
|
||||
8. **Submit pre-check.** `guard.ParseURL` rejects the test's own loopback port and knows nothing
|
||||
of the allow list. New `Guard.PreCheck` is `CheckURL` without resolution (given verbatim in
|
||||
task 05). A private IP literal is now refused at submit; a *name* that resolves privately
|
||||
of the allow list. New `Guard.PreCheck` is `CheckURL` without resolution (an owner commit on
|
||||
master, since `AGENTS.md` keeps the implementer out of `internal/guard/`). A private IP literal is now refused at submit; a *name* that resolves privately
|
||||
still fails per target at fetch time.
|
||||
9. **Task shape.** 5 tasks → 8, one package each where possible. The old task 03 (refactor +
|
||||
endpoints + main) is now 04 (refactor only), 05 (runner wiring), 06 (endpoints) and 07
|
||||
(serve/config). Every task restates the APIs it uses from earlier tasks. Every given test
|
||||
compiles against a panic-only skeleton and fails there on `panic: todo`.
|
||||
9. **Task shape.** 5 tasks → 9 (the last split came during the run, below), one package each where possible:
|
||||
01 dcache, 02 runner core, 03 runner workers, 04 metrics, 05 the `fetchTarget` refactor alone,
|
||||
06 runner wiring, 07 endpoints, 08 serve/config, 09 CLI/docs. Every task restates the APIs it
|
||||
uses from earlier tasks. Every given test compiles against a panic-only skeleton and fails
|
||||
there on `panic: todo`.
|
||||
10. **Also fixed:**
|
||||
- the `ErrBusy` (jobs total) cap now has a test;
|
||||
- the `202` status is `queued`, consistent with the workers;
|
||||
@@ -256,5 +257,12 @@ The design stands; these were implementation-blocking or would have hurt agents:
|
||||
- `Options.Context` is `*bool`, keeping `/v1/fetch`'s default.
|
||||
|
||||
**Sequencing.** P6 starts after P5c merges. P5b/P5c change `v1fetch` (the digest meta gains
|
||||
`retrieval`/`embedded`), which is the code task 04 moves. Recheck the api given tests against
|
||||
`retrieval`/`embedded`), which is the code task 05 moves. Recheck the api given tests against
|
||||
a skeleton built on post-P5c master before the run.
|
||||
|
||||
**During the run (2026-09-26 21:08).** Task 02 (the whole runner) ended with no file: the model
|
||||
wrote the implementation out in its reply, the session was compacted, and it then emitted a
|
||||
malformed tool call. The runner is now two tasks (02 core, 03 workers), each with its own given
|
||||
test. `AGENTS.md` gains a rule to write code into files early. Copy paths are spelled from the
|
||||
repo root. Details in `docs/plans/p6/README.md`, "Changes during the run".
|
||||
|
||||
|
||||
Reference in New Issue
Block a user