PhaseDrift.

Make the next task start smarter

Bring the right lesson into the work. Leave useful evidence behind.

Your agent should benefit from what the project has already learned. A short task brief brings relevant guidance in; a useful report makes the next improvement possible.

The normal task contract

Your agent should do three things: start an objective, use relevant guidance, and report the actual result. The installed session-review skill provides the commands and fields. The owner checks the saved report rather than managing IDs.

Close the loop on a real task

  1. Start from the connected repository. Retrieve relevant, active guidance for this task.
  2. Finish with actual outcomes and checks, plus the obstacle worth addressing next.
  3. Inspect recorded use and subsequent work. Keep the quality bar attached to the lesson.

Connect the reporting instructions →

What setup installs

Start with Set up with your agent for the complete prompt, or download the project skills yourself. This page explains how reporting works after setup.

phasedrift init installs the session-review skill, a managed AGENTS.md block and a Gemini reporting bridge in GEMINI.md. Run phasedrift session setup --upgrade --hooks to refresh an existing installation. Agents that follow those instructions retrieve context at task entry and report at completion.

Setup installs supported project hooks as well as repository instructions. Native telemetry collectors are separate. A hook installation receipt does not prove that a report was saved; check Reports after one task.

At task entry

Run from the connected project:

phasedrift session start --task "Fix the account settings flow" --area verification

Context returns a small set of relevant active lessons and changes you're trying. An empty response is normal when no reviewed guidance applies.

At completion

Ask for a short, useful account of the work:

phasedrift session review --task feature --stdin <<'JSON'
{
  "outcome": "Fixed the account settings flow.",
  "verification": "Describe the checks run and their actual results.",
  "friction": "Describe a specific obstacle, or none.",
  "learning": "Describe a reusable lesson, or none.",
  "areas": ["verification"],
  "suggestions": []
}
JSON

Replace the example with what actually happened. An agent's assessment appears beside recorded facts; it doesn't become owner acceptance.

Make suggestions actionable

A useful suggestion names a recurring problem, a specific change, where it applies, the expected effect, a measurement, and a quality guardrail.

For example:

{
  "problem": "Browser checks start before the local app is reachable",
  "change": "Check app reachability before launching browser verification",
  "expectedEffect": "Fewer environment-blocked verification launches",
  "applicability": "Browser integration tasks",
  "metric": "Blocked launches per eligible task",
  "qualityGuardrail": "Still execute the real browser checks"
}

Put concrete suggestions in the report's suggestions array. They can become local, source-linked proposals without paid analysis.

Other agent hosts

Use opencode, grok-build, claude-code or gemini-cli as the host name when appropriate. Native local collection is separate from the reporting identity. See coding harnesses for supported sources and measurements.

Without native identity, start a task using the actual host:

phasedrift session start --task "Account settings fix" --area verification --host muse

Keep the returned attempt handle. Close with the exact session review --attempt ... --stdin command returned by entry. Each concurrent agent keeps its own handle. Legacy session register remains available when an explicit conversation identity is needed.

Explicit reporting collects feedback. It does not create native runtime or token measurements for that host.

Know whether reporting is working
phasedrift session status
phasedrift learning status
phasedrift learning reports
phasedrift doctor

Look for a new report with the task you just finished in Agent work. Check its timestamp and source. If capture failed, inspect the saved submission and retry it with phasedrift session retry <submission-id>.

Know whether a lesson was used

Retrieval shows guidance was available. Adoption records that the agent reports using it, linked to a report or check:

phasedrift learning adopt <proposal-id> --report <report-id>

Use records help you inspect the lesson in action. Compare the resulting work before deciding it improves anything.

In a session report, contextUses records each delivered item's kind, ID, version, disposition, and reason. Copy identities from the task-entry brief. Delivery alone stays unknown; it does not establish adoption or improvement.