Third read: SPECs match the code, contract written out - #1745
Merged
Conversation
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.
One more read of both packages, this time by an agent with no memory of the earlier passes, and I checked each of its claims against the code before taking it. What survived: two SPEC sentences that contradict the code, one
.d.tscomment that misdescribes a field, a test SPEC describing The Framework's git calls as the package's, the last definite "the daemon / the sweep / the panel" mentions, a word ("hand-off") both packages use and neither defined, and the GitHub Actions workflow contract that a stranger had to readactions.tsto learn. Text only; no behaviour changes.🤖 curated · Fable 5, effort high
agent-driver/src/types.SPEC.md: "reading a file … only when that workspace is on this machine" — the GitHub Actions driver reads from the pushed branch; the sentence now says "only by a driver that can still reach that workspace — from disk, or from the branch a runner pushed".agent-driver/src/types.ts(DriverSession.id): "the agent's own session id when it exposes one" — no driver does that; it is the id the driver mints, and the CLI's own id isDriverTurn.sessionId. Said so.agent-driver/src/actions.SPEC.md+ theworkflowoption doc: the workflow contract is now written out — inputsprompt,correlation_id,branch,model,resume_session_id; the id in the run name; an artifact named after it withexecution.jsonandmeta.json { branch }. The "no artifact" error no longer names a "collect step" the package doesn't ship.agent-driver/SPEC.md,types.SPEC.md: glossary entry for hand-off / anchor;skill-branchessays "whether the caller allows a push" and "the commit a cloud session pushed" instead of "handoff"/"hand-off anchor".skill-branches/src/git.test.SPEC.md+git.test.ts: the budget test covers what a caller may run through the runner, not "each real git command the package runs" (the list was our call sites,agent-dataincluded; it'stopicnow).skill-branches/src/worktree.ts,worktree.SPEC.md,cli.SPEC.md: "the daemon only holds its pid", "what the sweep asks", "the sweep read an agent's branch", "cost the panel it sits in", "the daemon uses" → a caller, a reclaim pass, the listing, a daemon.(E5),(B5),(D5)inworktree.ts,reclaim.ts,reclaim.test.ts,types.ts; "legacy slash-named" / "pre-Avoid/(and other FS problematic chars) in branch names #1581" inbranch-links.*; "same gotcha as enumerateGitRepos in install.ts" inworktree.test.ts; "Consumption limits #519 was specced against a daily limit" intypes.ts/types.SPEC.md.Left alone: the
DriverImplIdclosed list withclaude-web, andsessionLink/anchorShaon the result event (the contract for the outside driver, by design);SKILL.md's "publishing … is done for you" (what the skill tells the agent is design); indefinite "a daemon"/"a dashboard" as example callers; history narration in driver doc comments and product words in test comments (code-level).Proof:
pnpm -r typecheckclean; skill-branches 117/117, agent-driver 79/79, framework 1471/1471 green in a fresh worktree off4458f288.