Files
boocode/openspec/changes/x-agent-flags/tasks.md
indifferentketchup b18de2a331 chore: snapshot working tree - pty_exited notifications + in-flight inference WIP
feat(booterm): structured pty_exited WS notifications. Plan-validated, impl-validated, code-reviewed green (contracts build clean, contracts test 29/29, booterm + web typecheck clean).

wip: in-progress inference/provider refactor (agents.ts, provider.ts, new llama-providers.ts, removed llama-args-validator), plus arena, dispatcher, compaction, schema changes.

openspec: pty-exit-notifications complete; x-agent-flags planned (not yet implemented).
2026-06-14 12:48:47 +00:00

36 lines
1.8 KiB
Markdown

## 1. Add llama_flags to Agent type
- [ ] 1.1 Add `llama_flags: string | null` to `Agent` interface in `apps/server/src/types/api.ts`
- [ ] 1.2 Verify no downstream type errors (tsc --noEmit)
## 2. Parse llama_flags from AGENTS.md frontmatter
- [ ] 2.1 Add `llama_flags?: string` to `ParsedFrontmatter` in `apps/server/src/services/agents.ts`
- [ ] 2.2 Add explicit `else if (key === 'llama_flags')` branch in `parseFrontmatter()` before the "Unknown keys silently ignored" fallthrough (agents.ts ~line 258)
- [ ] 2.3 Add `llama_flags: typeof fm.llama_flags === 'string' ? fm.llama_flags : null` to the return object in `parseAgentSection()` (agents.ts ~line 364)
## 3. Build X-Agent-Flags header
- [ ] 3.1 Add `buildAgentFlagsHeader(agent: Agent | null): string | undefined` to `apps/server/src/services/inference/stream-phase-adapter.ts`
- [ ] 3.2 Export the function for testability
## 4. Emit header on inference requests
- [ ] 4.1 In `streamCompletion()`, compute `agentFlagsHeader` from the agent parameter
- [ ] 4.2 Pass `headers: { 'X-Agent-Flags': agentFlagsHeader }` to `streamText()` when non-empty
- [ ] 4.3 Verify the header is NOT emitted when agent is null or llama_flags is null/empty
## 5. Fix sentinel summaries (V3)
- [ ] 5.1 In `sentinel-summaries.ts`, add `agent` as the 8th argument to the `streamCompletion()` call in `runWrapUpSummary()` (after `signal`)
## 6. Write tests
- [ ] 6.1 Add unit test for `buildAgentFlagsHeader` in `stream-phase-adapter.test.ts` (null agent, null llama_flags, empty string, whitespace-only, valid flags)
- [ ] 6.2 Add test verifying `streamText` receives `headers: { 'X-Agent-Flags': '...' }` when agent has llama_flags
## 7. Verify end-to-end
- [ ] 7.1 Run `pnpm -C apps/server build` to confirm typecheck passes
- [ ] 7.2 Run `pnpm -C apps/server test` to confirm no regressions