fix: accept builtin:// spec_path returned by list - #509
Merged
Merged
Conversation
This was referenced Sep 2, 2026
resolveSpecPath now strips the synthetic builtin:// marker and resolves by name through the library chain (project shadows global shadows builtin), so the path list advertises round-trips as a spec_path input. Unknown builtin names fail as a library lookup instead of a cwd-joined extension error.
Workflow blocks compile coding/prototype to build and plan blocks to plan, but the generated worker_type catalog filtered every primary agent out, so the model could never name the defaults explicitly. The workflow catalog now lists native primaries (build/plan); user-defined primary modes and hidden agents stay excluded and the task catalog is unchanged.
Four guide/schema mismatches from the 2026-09-02 verification: replan and extend auto-resume a paused workflow (manual control(resume) after a successful replan dies on InvalidTransitionError), the exhaustive node field table missed review, the tool reference missed draft/guide/validate, and the name rule missed the leading-dot and control-character exclusions plus the builtin:// marker round-trip.
LeXwDeX
marked this pull request as ready for review
September 2, 2026 04:15
The SpecGit Acceptance verdict requires required-check runs that started at or after the draft-to-ready transition. Both CI gates only listened to the default pull_request types, so a ready transition never produced fresh runs and the verdict timed out waiting for them.
2 tasks
spec_path now mentions the builtin:// marker round-trip; the review field states the input_mapping wiring validateReviewLifecycle enforces for diff reviews; timeout_ms documents that the budget runs from admission (queue wait counts, an expired queued node fails without spawning).
validateDiffReview enforces seven wiring checks beyond the two node ids (transitive dependency chain, three input_mapping bindings, PASS-gated condition, verdict+fingerprint output_schema), and validateReviewLifecycle only turns them into authoring errors in deep mode — standard mode warns. The previous description understated both.
Regenerate the parameters snapshot after the description changes (the CI unit-test matrix never exercised parameters.test.ts, so the stale snapshot only failed locally). Align blocks.ts with validation.ts (expired-queued-node clause), add the capped-escalation semantics of the deadline watcher and the deep-only final-gate requirement to the timeout/review descriptions, and sync the worker_config guide row.
…fresh The replay list still named specgit@^0.5.0 and omitted three specializations the refreshed harness actually carries (45/40-minute timeout split, node 22, hand-parsed policy.yaml), so the next re-init would replay the wrong version and drop them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #506
Closes #507
Closes #508
Why
DAG 文档/提示词与工具实现的全面校验(2026-09-02)发现 6 处差异,其中 2 处是行为缺陷、1 处会诱导调用失败。本交付修复全部实现侧差异并校正文档。
What changed
resolveSpecPath接受builtin://<name>输入:剥掉 scheme 后按名走库解析链(project → global → builtin 遮蔽序与 bare name 一致);未知名按库查找报错,不再出现 cwd 拼接的扩展名错误build/plan——blocks 编译器的默认映射目标);用户自定义 primary 与 hidden agent 仍排除,task 工具目录不变control(resume)改为仅竞态失败时;措辞与工具输出 "automatic resume raced with another control op" 对齐);Node Fields 穷尽表补review行;Tool Reference 补draft/guide/validate三个 action;name 定义补前导./控制字符排除与builtin://回传说明Evidence
bun test test/dag/workflow-tool.test.ts test/tool/task.test.ts:88 pass / 0 fail(含新增回归测试:builtin:// spec_path from list output round-trips by name4 断言、workflow worker_type catalog lists primary build and plan, task catalog does not7 断言;既有 "excludes primary hidden and denied agents" 契约保持通过,证明仅原生 primary 放开)Checklist
specgit finishexits 0.