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

1.8 KiB

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