Programmer model · Online

Read the codebase first,
then write the code.

Bring project conventions, past decisions and code context into every request.

Illustrative product interaction, not a live task or operational data.

payment-service / live
Forming the change
goal: Stop duplicate webhooks from crediting twice
  1. Read the repository
    1,284 files indexed
  2. Recall experience
    4 memories matched
  3. Start coding
    payment.ts +18 −6
  4. Verify
    12 tests passed
src/payments/webhook.ts+18 −6
export async function handleWebhook(event) {
+ const key = event.idempotency_key;
+ const existing = await ledger.find(key);
+ if (existing) return existing.result;
  await ledger.credit(event.amount);
+ await ledger.commit(key);
}
pnpm test payments12 passed
How it works

DeepCodex does more than answer the current question. It understands the repository layout, team conventions and past decisions first, then carries on like a programmer who has worked on this project before.

1,284
Files indexed
4
Relevant memories
12/12
Tests passed

Side by side

A generic model vs. a programmer model with codebase context

Same model; the difference is whether it knows your codebase.

Knowledge of the codebase
Generic model, directOnly the few files you just sent
✓Has read the layout, conventions and past decisions
Cost of re-explaining
Generic model, directEvery new session starts with the backstory
✓The backstory is in the profile; start on the task
Pitfalls
Generic model, directThe same trap can be hit again
✓Failed approaches are recorded and avoided
Switching terminals
Generic model, directWhat you told Codex CLI, Claude Code does not know
✓One project's knowledge, shared by every terminal
Style of changes
Generic model, directCode that runs but does not look like your team's
✓Follows existing naming, layout and test style
Verifiable results
Generic model, directOnly the chat log
✓Which entries were injected and how often they hit

Context architecture

Layered codebase context, not an indiscriminate pile

More is not more accurate. Stable facts, layout, conventions, lessons and current progress are kept apart and enter a request by relevance.

01

Stack

Framework, runtime, dependencies and build

02

Structure

Module boundaries, entry points and key files

03

Conventions

Naming, testing, commit and code-organisation rules

04

Pitfalls

Failed approaches, edge cases and fixes

05

Stage summary

Current goal, finished work and upcoming risks

Memory lifecycle

Memories have a source and a lifecycle

Learning requires consent and automatic extraction produces suggestions. Manual saves may be selected for relevant requests. Actual use depends on effective policy; disabled and deleted items retain governance records.

  • Extracted from real tasks
  • Candidates require approval; approval is not verification
  • Hit counts reflect real use
payment-service / context4 hits this request
  • structureWebhook handling lives in src/payments/webhooksconfirmed
  • conventionEvery write must carry an idempotency keyconfirmed
  • pitfallNever infer payment completion from terminal stateconfirmed
  • taskAdding duplicate-webhook testscandidate

Request assembly

How one request gains codebase context

Every step has an explicit input and result, traceable in the task replay.

  1. Detect intent

    Locate the project scope involved

  2. Retrieve profiles

    Drop low-relevance and disabled entries

  3. Assemble context

    Respect model and allowance limits

  4. Record hits

    Write back task and memory statistics

Engineering search

Recover the evidence, then let the model continue

Search tasks, requests, profiles and memories across projects. Every result keeps its source, state and hit count; fuzzy similarity is never presented as fact.

  • MemoryEvery wallet write must carry an idempotency keyconfirmed · 42 hits
  • TaskFix duplicate credit from payment webhookL3 · 18 turns
  • Requestreq_8f2a9c4.2K tokens · 12 s ago

Keep project knowledge in the project

Configure a client workspace or explicitly select a project to start building its profile. Every entry can be viewed, disabled and deleted.