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 one half of the PhiCo / PhiSo agent pair. Its counterpart is PhiSo, the visitor surface operator that answers questions on the published Surface.
What PhiCo does
| Mode | What PhiCo proposes |
|---|---|
| Compose | A new Surface from your prompt — picks blocks, structures the tree, fills in defaults. |
| Mutate | Targeted edits to an existing Surface — add a section, change a heading, restructure a grid. |
| Spawn | A fresh Surface inside the current World, optionally based on a starter. |
| Style | Theme tokens, appearance atoms, visual decisions. |
| Bind | Wire 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 the Studio 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 removedReceipts 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. No Φ is charged for rejected Receipts; only accepted Receipts consume your AI grant.
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
| Action | Φ cost |
|---|---|
| Open a PhiCo thread | Free |
| Receive a Receipt proposal | Free |
| Reject a Receipt | Free |
| Accept a Receipt | Counted against your monthly grant |
| Style / spawn / bind modes | Same — accept = charge |
When your Φ grant runs 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:
- Studio UI — Cmd+K to open the composer pane.
- MCP server — Local Claude Code integration via the PWFabric Studio plugin.
- REST —
POST /api/ai/composer/stream(SSE, ADR-100).
See also
- PhiSo — the visitor agent
- Surfaces — what PhiCo composes against
- AI integration — model selection, custom agents