ConceptsPhiCo (composer)

PhiCo

PhiCo is the authoring composer agent. PhiCo proposes a Receipt — a signed, line-numbered recipe of how a Surface should compose — and you accept, modify, or reject it. Nothing publishes without a human-accepted Receipt. This is the contract that makes every PhiWebs Surface reproducible.

PhiCo is online-only and receipt-driven: it composes against the live block catalog, and every proposal lands as a reviewable diff before anything reaches a published Surface.

What PhiCo does

ModeWhat PhiCo proposes
ComposeA new Surface from your prompt — picks blocks, structures the tree, fills in defaults.
MutateTargeted edits to an existing Surface — add a section, change a heading, restructure a grid.
SpawnA fresh Surface inside the current World, optionally based on a starter.
StyleTheme tokens, appearance atoms, visual decisions.
BindWire blocks to data via the platform/persistence capability.

Each mode runs as a separate agent thread with its own conversation history. You can have multiple threads open in PhiCo at once.

The Receipt

Every PhiCo response includes a Receipt — a typed diff describing exactly what would change.

Receipt sf_abc123 · revision 7 → 8
─────────────────────────────────
+ block heading                       L12  level=1 align="center" content="…"
+ block text                          L13  align="center" color="muted"
~ container (props.padding)           L05  lg → xl
- block image (id="img_old")          L21  removed

Receipts are line-numbered, hash-signed, and immutable once accepted. The runtime materialises the Surface deterministically from the Receipt’s contents — same Receipt → same render, every time.

Accepting, modifying, rejecting

When PhiCo returns a Receipt, you have three choices:

  • Accept — Apply the Receipt as-is. The Surface moves to a new revision; the diff is preserved in the Surface’s revision history.
  • Modify — Inline-edit the proposed blocks before accepting. PhiCo preserves your context for the next turn.
  • Reject — Discard the proposal. The Surface stays exactly as it was.

What PhiCo can and can’t see

PhiCo composes from the live block catalog plus the manifest knowledge schema every block ships with. It does not see private World data, your email, or anything outside the current authoring session unless you explicitly bind a data source.

Each block’s manifest.json exposes a 4-field knowledge brief (intent, whenToUse, whenNotToUse, commonMistakes) that PhiCo reads verbatim. Each World may override the brief on its installed atoms — useful when your phrasing differs from the first-party defaults.

Φ accounting

Φ is spent as PhiCo works: each turn costs credits based on the work it produces (measured in tokens), in every mode — compose, mutate, style, spawn, bind. Opening a thread is free, and the accept / reject decision itself costs nothing — but the proposal has already been paid for when it was generated.

When your AI credits run out mid-month, top up from World settings → Billing. New cycles refill at the start of the next billing period.

API

PhiCo is available through:

  • PhiCo — Cmd+K to open the composer pane.
  • MCP server — Local Claude Code integration via the PhiCo Code plugin.
  • RESTPOST /api/ai/composer/stream (SSE).

See also