Context Layers
Overdeck distributes context — engineering rules, project guidance, machine quirks — to the coding-agent harnesses it drives through a layered system. You author small canonical markdown files;pan sync renders Overdeck-owned
artifacts that are delivered only when Overdeck launches a managed session.
Overdeck never writes native CLAUDE.md, AGENTS.md, or equivalent files.
Canonical terminology
Use these names when adding or moving context; they are the vocabulary the agents themselves are taught:
The rendered outputs are managed-session launch artifacts under
~/.overdeck/context/ — never edit those directly.
Edit the source layer or rule, then run pan sync.
There is no “global context template”. A request phrased that way means either
a bundled rule (every machine) or the global layer (one machine).
The shorthand: “add a <scope> rule”
In practice you (and your agents) only need four phrases — the scope word
alone routes the content:
After any of them:
pan sync, and the change reaches new sessions.
Bundled rules
Overdeck ships engineering rules inside the package undersync-sources/rules/. Each rule carries a scope: frontmatter key:
scope: universal— folded into every machine’s rendered global context;scope: dev— folded in only on a overdeck source checkout, for rules about developing Overdeck itself.
pan install and refresh on every pan sync.
Switching a bundled rule off
Every bundled rule is on by default. To switch one off on a machine, name it undercontext.rules in ~/.overdeck/config.yaml, with the rule’s file
basename as the key:
false omits the rule from every rendered launch artifact and the dashboard
Context-page preview. Any absent
key (or true) leaves the rule on. The map is read when a managed launch is
composed, so the new render reaches new sessions only.
What each harness actually reads
Each harness consumes context through its own native mechanism.pan sync
keeps inspectable global artifacts and spawn-time plumbing composes one
harness-correct launch artifact from global, project, and workspace layers:
The
claude-global.md / pi-global.md / codex-global.md files are Overdeck-owned render
artifacts — the harnesses do not know about them. They exist so the global
layer has a stable, inspectable rendered form per harness.
The persisted .overdeck/context/workspace.md is harness-neutral and does
not contain a pre-rendered project layer. At launch, Overdeck renders the
canonical project source for the active harness and combines it exactly once
with global rules and workspace-only content. User-authored native files remain
entirely user-owned and are still available through each harness’s normal
discovery behavior.
Native files are a no-touch boundary
Normal install, sync, startup, workspace, and agent lifecycle paths do not create, edit, clean, back up, delete, or migrate native instruction Markdown. Historical managed regions remain until the user explicitly previews and appliespan context detach --dry-run / pan context detach --apply.
When an Overdeck upgrade changes context, hooks, agents, or skills after your
last sync, the dashboard shows a Sync now banner. Click it to run the host’s
pan sync; the banner clears once the installed package and sync manifest match.
Harness-specific blocks
A layer file targets a single harness with Mustache-style blocks; text outside any block renders for every harness:{{#harness:codex}} is
also recognized.
CLI
pan sync runs the context render as part of its broader sync (skills,
agents, rules). The dashboard’s Context page edits the same files with
per-harness previews.
Changes apply to new sessions only
Harnesses receive their managed context at session startup. After editing a layer and runningpan sync, running sessions keep their old context — only newly
spawned agents and conversations pick up the change.