---
title: "Hand back what the repo actually looks like where this intent lands. Written by an agent that is already in the working tree, which sees more than the sandbox analyzer can: no file cap, no truncation, and uncommitted work included."
method: POST
path: "/api/v1/intents/{id}/implementation-context"
tags: ["intents"]
---

# Hand back what the repo actually looks like where this intent lands. Written by an agent that is already in the working tree, which sees more than the sandbox analyzer can: no file cap, no truncation, and uncommitted work included.

`POST /api/v1/intents/{id}/implementation-context`

Provenance is stamped by the server and never accepted from the caller: source is always 'agent', analyzedAt is server time, and analyzedSpecVersion is computed from the spec as read. Sending those fields does nothing. No analyzedRepo is recorded, because an agent in a local checkout may have no GitHub installation and naming a repo we never read would be a fabricated provenance fact. Agent-supplied risks and verificationSuggestions reach the implementing agent as prose but do NOT become grading criteria in the Outcomes rubric until a human promotes the context — otherwise the party being graded would be drafting its own rubric. A write always lands unpromoted, including when it overwrites context a human had already promoted.

## Path parameters

- `id` string, required

## Request body

- object
  - `relevantAreas` object[] — Files or modules this change touches and why. Max 100 entries; path max 512 chars, reason max 2000.
  - `currentBehavior` string — How the code behaves today where this lands. Max 20000 chars.
  - `liftEstimate` 'low' | 'medium' | 'high' — Rough size of the change. Defaults to 'medium'.
  - `risks` string[] — What could break. Max 50 entries, 2000 chars each. Advisory only while the context is agent-supplied: see notes.
  - `verificationSuggestions` string[] — Checks worth running. Max 50 entries, 2000 chars each. Advisory only while agent-supplied: see notes.
  - `expectedSpecVersion` string — The spec content hash this context was gathered against. When supplied and no longer current, the write is refused with 409 rather than attaching a description of a spec that has since moved.

## Response `200`

Stored. Returns the context as persisted, plus the current spec version.

- object

## Other responses

- `400` — Body failed validation, including any field over its size cap.
- `403` — Key lacks the write scope.
- `404` — No such intent in this key's workspace.
- `409` — expectedSpecVersion no longer matches the spec. Re-read the spec and gather again.
- `429` — Rate limited (120 writes per workspace per hour).

---

[API](https://skmtc.dev/pathmode/apis/pathmode-api.md) · [All operations](https://skmtc.dev/pathmode/apis/pathmode-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pathmode/pathmode-api/revisions/e419abb0a327/schema)
