Repository navigation
Closed
Labels
area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterateThe road — create, dev, verify, publish/install, connect an agent, iteratebugSomething isn't workingSomething isn't workingdomain:devxDomain lane — seat card indexed by label:pm:seatDomain lane — seat card indexed by label:pm:seattoolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surfaceFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
Description
Filing-gate class: ① a defect with a named site and a measured reproduction. It is a regression from today's #21024 landing.
Routing: the maintainer direct-dispatch channel (session_018gA1pE6eJtwHhqx72G8U9X; 「相关卡片你使用项目经理技能派发处理」). It is fallout of #21024, which that ruling authorized. Routed to domain:devx / area:devpath; triage grades the priority.
Acting reader: the dispatching seat's os-dev, for one line in the root turbo.json.
Dedup: I listed objectstack's issues over REST (open, plus the most recently updated closed) and grepped them for agentGuidance, turborepo-agent-rules and turbo 2.11. 0 hits. There is no card for this.
Measured
- When it started: chore(deps)(deps-dev): bump the development-dependencies group across 1 directory with 16 updates #21024 landed
turbo2.11.5 onmainat 2026-10-01T08:59Z. It had been 2.10.10. The lockfile now holdsturbo@2.11.5. - What turbo does:
turbo2.11's root optionagentGuidancedefaults totrue. Its bundleddocs/reference/configuration.mdxsays: "When an AI coding agent is detected,turbomaintains a managed block in the repository-rootAGENTS.md… refreshed before repository-scoped commands." - Observed at 09:5xZ: in the worktree of the in-flight deps: take the 2026-10 production-dependency group without the better-auth family (replaces Dependabot #21029) #21094 dev,
git diff -- AGENTS.mdshows an 11-line uncommitted append,<!-- BEGIN:turborepo-agent-rules -->…<!-- END:turborepo-agent-rules -->. The dev never editedAGENTS.md. - Why it matters:
- The block tells agents to "keep the block committed with your work".
AGENTS.mdis a governed surface. Any dev that obeys turns its PR into a human-approval PR, and the queue guard holds it there.- Every seat's dev hits this on its first
turbocall.
- Reach at filing: none of objectstack's 11 open PRs touches
AGENTS.mdyet. objectui is unaffected (turbo@2.10.9).
What to do
- Add
"agentGuidance": falseto the rootturbo.json. That is the opt-out the bundled docs name, and it is a root-only option. - Acceptance: a
turborun under an agent leavesAGENTS.mdunchanged. Showgit diff --exit-code -- AGENTS.mdafter a repository-scopedturbocommand, with a positive control first: the same command without the opt-out does write the block. - Per the docs, the opt-out does not remove a block already written. Worktrees that already carry it restore with
git restore --source=HEAD --staged --worktree AGENTS.md. ⛔ Never commit the block. - Changeset:
turbo.jsonpublishes nothing, soskip-changeset.
Generated by Claude Code
Metadata
Metadata
Assignees
Labels
area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterateThe road — create, dev, verify, publish/install, connect an agent, iteratebugSomething isn't workingSomething isn't workingdomain:devxDomain lane — seat card indexed by label:pm:seatDomain lane — seat card indexed by label:pm:seattoolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surfaceFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
Activity
objectstack-fleet commentedon Oct 1, 2026
Claim: PM loop round 3
Session:
session_018gA1pE6eJtwHhqx72G8U9XAccount:
os-bill(the seat's linked user asGET /useranswers it; the card's assignee from this act)Branch:
claude/issue-21146-turbo-agent-guidanceWorktree:
objectstack-issue-21146Domain:
domain:devxSeat: domain:devx#3 (the maintainer's direct-dispatch session; it holds no seat post: objectstack devx seats 1 and 2 are #6023 and #20163)
Provenance:
session_018gA1pE6eJtwHhqx72G8U9X, 2026-10-01.File surface:
turbo.json, adding"agentGuidance": falseand nothing else.AGENTS.mdis not on this surface. If turbo writes the block into the worktree, restore it before every commit.skip-changeset.Container & model:
S(one config key plus a positive-controlled measurement),mode:subagent,model: sonnet.dispatch-gates --tier: no path-derived mandate.Clause-②: no
Thread-read: none
Serial constraints cleared:
origin/mainafter chore(deps)(deps-dev): bump the development-dependencies group across 1 directory with 16 updates #21024 landed.area:devpath, but its surface (manifests,pnpm-lock.yaml,packages/drivers/driver-turso/src/**, one changeset) is disjoint fromturbo.json, so the area rule allows it.turbo.jsonorAGENTS.md.Generated by Claude Code
objectstack-fleet commentedon Oct 1, 2026
os-dev-report
{
"issue": 21146,
"status": "done",
"branch": "claude/issue-21146-turbo-agent-guidance",
"pr": "#21151",
"session": "session_018gA1pE6eJtwHhqx72G8U9X",
"premise_still_valid": true,
"summary": "Added the root-only opt-out agentGuidance=false to the root turbo.json (1 file, +1 line, commit 3e3b4c9); no other file changed and AGENTS.md was never staged or committed. H1 confirmed with a positive control: on main's unmodified turbo.json (sha1 508545bda602aa2c5a7f336cf29622d0804cf030) turbo 2.11.5
turbo lsexit 0 thengit diff --exit-code -- AGENTS.mdexit 1 (11-line BEGIN/END turborepo-agent-rules block appended; restored then re-added on a second turbo ls); with the opt-out the sameturbo lsandturbo run build --dry=json --filter=@objectstack/typesboth exit 0 andgit diff --exit-code -- AGENTS.mdexits 0 (AGENTS.md sha1 99e45344e3582f8b5e9c9e9987fc3c8375c1999d unchanged). H2: no gate or test pins turbo.json's top-level key set (readers touch tasks, globalDependencies and per-task inputs only); nothing loosened. H3 confirmed: the Check Changeset job counts changesets the PR adds and has no path exemption, only the skip-changeset label, which the PR carries after read-back. Draft PR #21151 opened, assigned os-bill, labels size/xs + skip-changeset; the PR stays draft for the PM seat.","tests": "No package is touched, so no build or package test was owed. Gates at HEAD 3e3b4c9 (tree identical to HEAD,
git diff HEAD --quietexit 0), every exit code captured before any pipe. Derived bynode scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands(9 commands, derivation identical before and after the commit, and identical to the dispatch's explicit-path spelling--commands turbo.json):node scripts/check-closing-keyword-parity.mjs :: exit 0;node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0;node scripts/check-comment-mask-corpus.mjs :: exit 0;pnpm check:driver-memory-census :: exit 0;pnpm check:gitlink-declared :: exit 0;pnpm check:nul-bytes :: exit 0;pnpm check:refd-timer-probe :: exit 0;pnpm check:turbo-task-graph :: exit 0;pnpm check:watch-hint-literal :: exit 0.--ranreconciliation with exit codes recorded: 9 derived, 9 run, 0 NOT-MEASURED, 0 UNRUN. turbo.json readers run beyond the derivation (H2):node scripts/check-ci-filter-parity.mjs --self-test :: exit 0;node scripts/check-ci-filter-parity.mjs :: exit 0;node scripts/partition-test-shards.mjs --self-test :: exit 0;pnpm check:cross-package-test-inputs :: exit 0(turbo.json hashes every declared glob);pnpm check:examples-live-imports :: exit 0;pnpm check:type-check-coverage :: exit 0;node scripts/check-dev-prereqs.mjs --self-test :: exit 0. NOT MEASURED: livepnpm check:dev-prereqs(exit 1 = PREREQUISITE NOT MET, workspace not built, 67 of 67 packages without dist/; it reads only globalDependencies via build-input-hash.mjs, which this diff does not move). Not run, CI-owned: repo-widepnpm lintand the rest of the check farm; select-gate-families.sh classifies turbo.json as root config, so CI runs every gate family on this PR. No ablation or reverse verification was needed: the positive control (no opt-out writes the block) and the treatment (opt-out leaves AGENTS.md unchanged) are the two-sided proof, both observed on the 2.11.5 binary.","mcp_calls": "0 — no MCP tool of any kind was called",
"api_writes": "5 writes: git push x2 (empty-branch write probe, then commit 3e3b4c9; git push is not a REST write); relay dispatch x3, each POST /repos/objectstack-ai/objectstack/dispatches executed as objectstack-fleet[bot]: (1) pr_create (POST /pulls, draft, read-back 4254 bytes sent = 4254 stored) -> #21151; (2) one label-write call, labels_add skip-changeset (POST /issues/21151/labels) + assign os-bill (POST /issues/21151/assignees), read-back matched; (3) this os-dev-report comment (POST /issues/21146/comments). Reads (not counted): gh api GET of the card, its comments and the PR.",
"open_questions": [],
"out_of_scope_findings": [
"carrier: none (承接者:无) · noted, not filed · objectui is unaffected today (turbo 2.10.9 per the card), but the same default will apply when it moves to turbo 2.11 or later and the opt-out key is root-only per repository; this PR's Acceptance notes do not carry it, the seat may add it",
"carrier: none (承接者:无) · noted, not filed · worktrees opened before this lands (for example the #21094 dev's) may already hold the uncommitted block; per turbo's docs the opt-out does not remove an existing block, restore with
git restore --source=HEAD --staged --worktree AGENTS.mdand never commit it (already in the PR Acceptance notes)"],
"gates": {
"derived_command_count": 9,
"derived_all_exit_zero": true,
"ran_reconciliation": "9 derived, 9 run, 0 NOT-MEASURED, 0 UNRUN",
"extra_readers_all_exit_zero": [
"check-ci-filter-parity (+ self-test)",
"partition-test-shards --self-test",
"check:cross-package-test-inputs",
"check:examples-live-imports",
"check:type-check-coverage",
"check-dev-prereqs --self-test"
],
"not_measured": [
"live pnpm check:dev-prereqs: PREREQUISITE NOT MET, workspace not built; no package is touched"
],
"ci_owned_not_run": [
"pnpm lint (repo-wide)",
"the remaining check:* farm"
],
"head": "3e3b4c915",
"ci_state_at_report": "not awaited (draft PR just opened); convergence is the PM's read"
},
"line_budget": {
"applicable": false,
"reason": "no skills/** or other line-ratcheted surface touched",
"diff": "turbo.json +1/-0, size/xs"
},
"deviations": [
"Positive control ran in the issue worktree on main's unmodified turbo.json (sha1 508545bda602aa2c5a7f336cf29622d0804cf030, byte-identical to origin/main) before the edit, not on a separate scratch copy; the block it wrote into the worktree AGENTS.md was restored with
git restore --source=HEAD --staged --worktree AGENTS.mdbefore the commit, andgit diff --cached --name-onlylisted turbo.json only.","The PR's skip-changeset label and the os-bill assignee mirror went out in ONE label-write call (one relay dispatch, two actions) instead of two calls; both landed and the read-back matched; the write budget is not exceeded.",
"The dispatch spelled the gate derivation with the path
--commands turbo.json; the definition's no-path form was also run and the two derive the identical 9-command set."],
"files_changed": [
"turbo.json"
]
}
objectstack-fleet commentedon Oct 1, 2026
Review: ACCEPT, PR #21151 (head
3e3b4c915f)Reviewed 2026-10-01T10:10Z by the PM seat (
session_018gA1pE6eJtwHhqx72G8U9X) against GitHub, not against the report.main. Its body opensFixes #21146/Clause-②: no, with no other closing keyword. The assignee isos-bill, and the labels includeskip-changeset.turbo.json, +1/−0:"agentGuidance": falseat the root, besideglobalPassThroughEnv.AGENTS.mdis not in the diff.check-governed-merges --pr 21151: NOT governed.turbo lsappends the 11-lineturborepo-agent-rulesblock, andgit diff --exit-code -- AGENTS.mdexits 1.turbo lsandturbo run build --dry=jsonleaveAGENTS.mdunchanged, and the same check exits 0.--ranreconciled.Lint & Repo Gates,Type Check · workspace). The seat lands the PR once every check is green or an expected skip.Generated by Claude Code
chore(turbo): opt out of the agent-guidance block in the root turbo.j…
fix(rest): the public lookup picker searches and sorts by the first d…
feat(driver-turso): the remote transport issues auto_number values fr…
fix(driver-memory)!: refuse the equality and ordering family on a dec…