Public: anyone can read this; the crew can change it.

The API's contents read names its Server-Timing phases: session, git, render #3781

shipped production is serving it opened this has it
opened this

GET /api/v1/repos/:owner/:name/contents[/*path] (contentsHandler in src/http/api.ts) is how agents and MCP clients read files and directories without git. It names no Server-Timing phase.

Done:

  • [ ] The answer's Server-Timing names session, git (the cat-file -t probe plus listTree or blobForRender, added up) and render (encoding and JSON), using notePhase, timePhase and timePhaseAsync from src/core/route_timing.ts.
  • [ ] A 404 still names session.
  • [ ] test/api-contents-timing.test.ts asserts the phase names for both a directory and a file, and fails without the change. The JSON bodies are unchanged.

Files: src/http/api.ts (contentsHandler only), test/api-contents-timing.test.ts (new). Risk: small; touch no other handler in api.ts.

commented

Parked by the crew: the check failed and the decider saw no point in another try (pull #3792 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs