FactionOS
FactionOS

Local-first agent command

Mission control for AI coding agents.

Watch parallel agent work, keep session intent visible, and steer implementation from a cockpit built around local operator workflows.

  • Local-first
  • Guided demo
  • Operator control

Operator boundarySynthetic static samples only: no analytics, no visitor tracking, and no hosted runtime calls. Outbound adapters wait for operator approval.

Signal relay

  • hook:event / session objective captured
  • tool:read / component files inspected
  • file:patch / mission surface updated
  • gate:review / checkpoint opened
  • adapter:request / outbound notice held
  • snapshot / cockpit state refreshed

The operator problem

Parallel agents need a command picture.

Terminal noise, session drift, and hidden risk collapse into lanes, checkpoints, and review states the operator can act on.

Terminal scrollback
$ tail -f session.log
... 4200 lines of scrollback ...
who touched auth.ts?
Readable session

Session rows attach file-touch and tool status to a readable lane.

Session drift
agent-1 ok  agent-2 ?
agent-3 (stalled)
context lost on tab close
Mission roster

A mission roster keeps who is active, queued, or blocked in one picture.

Hidden risk
diff: 41 files changed
no review checkpoint
no approval trail
Review gates

Review gates and approval events make risk visible before it ships.

Mission board

One cockpit for lanes, events, replay, and gates.

Inspect the active mission as a tactical board: roster on the rail, objective on the map, events on the clock, and approvals held at the gate.

Command table

Refactor agent orchestration surface

M-042768% on railsRisk watch
M-0427Risk: watch

Refactor agent orchestration surface

Keep parallel coding agents visible, reviewable, and locally controlled.

Operator Human approval required for outbound adapters and destructive file operations.

Agent roster

Event stream

  1. 00:00

    Session objective captured.

    hook:eventCodex CLIPLAN-01

  2. 00:13

    Component and style files inspected.

    tool:readClaude CodeBUILD-03

  3. 00:39

    Mission board state layer patched.

    file:patchClaude CodeBUILD-03

  4. 01:04

    Review checkpoint opened for changed surface states.

    gate:reviewCodex CLIREV-02

  5. 01:18

    Outbound docs adapter held pending approval.

    adapter:requestLocal policy guardRISK-04

Replay scrub

Current tickMission board state layer patched.

Approval checkpoint

review-gate-2

Human approval required for outbound adapters and destructive file operations.

Human control

Guided preview data. Events represent the shape of local hook output and mission state.

Hook-to-cockpit flow

A hook becomes a cockpit state.

The flow starts on the operator machine, resolves into local mission state, and only leaves through an operator-approved adapter.

  1. Local hook event

    A CLI or editor-side hook records a compact lifecycle marker such as prompt started, tool requested, file touched, task updated, or validation completed.

    In Agent workflow signalOut Structured local event

    The event begins on the operator machine.

  2. Local server ingest

    The local FactionOS server accepts the event, normalizes the contract, and prepares a small snapshot for the cockpit.

    In Structured local eventOut REST snapshot

    Ingest describes local product behavior.

  3. Cockpit stream update

    A local browser cockpit can refresh mission lanes, status rings, and review checkpoints through a WebSocket stream when the runtime is installed and running locally.

    In State changeOut Visible cockpit update

    The cockpit stream belongs to the installed product runtime.

  4. Optional adapter notification

    If an operator configures an adapter, a narrow notification can leave the machine under that adapter contract for destinations such as team chat or downstream automation.

    In Operator-approved signalOut External notice if enabled

    Adapters are optional and operator-approved.

Capability deck

Five operator loadouts.

Pick the job: observe the signal, coordinate the lanes, review the gate, contain the boundary, or export a narrow notice.

Observe

Watch work as it happens.

Hook lifecycle events become readable session rows instead of terminal scrollback.

Local hooks

Coordinate

Turn parallel work into missions.

Lanes, objectives, and progress states make handoffs recoverable after several agents move at once.

Mission frame

Review

Keep a human in the loop.

Review checkpoints and approval gates hold sensitive actions until an operator decides.

Operator gated

Contain

Start from the local machine.

Prompts, paths, and credentials stay local unless an operator configures an explicit adapter.

No upload

Export

Send narrow signals out on purpose.

Optional outbound adapters carry a scoped notice under an adapter contract.

Optional exit

Rules of engagement

The command contract.

Every state names what the operator can do, what waits for approval, and where sensitive context stays.

Default local

State is read from local hooks and local files.

Operator gated

Human review is required before this lane can advance.

Optional blocked

An optional outbound action is blocked until approved.

Preview only

Guided preview state for product orientation.

Sensitive data classes

  • not requiredHosted account

    No hosted account is required for the core local workflow.

  • no uploadPrompts

    Prompt bodies are not part of the default public-site workflow.

  • local scopeFiles and paths

    Repository paths, file names, and file contents stay in the local product context unless an operator chooses otherwise.

  • never askedCredentials

    Secrets and tokens are not requested by this site.

  • absentAnalytics

    Tracking and runtime personalization are not part of the launch site.

Launch posture: no hosted form, analytics script, runtime fetch, sockets, beacons, storage writes, cookie writes, or route prefetcher.

Review Security ->

Provider and adapter surface

Sources route into a local core.

Compatible producers can follow the event contract. Optional exits carry scoped notices only after an operator configures them.

Sources

  • Claude Code hooks
    • prompt started
    • tool requested
    • file touched
  • Codex CLI hooks
    • task updated
    • validation completed
    • review opened
  • Compatible producers
    • contract event
    • local snapshot
    • scoped status

Local core

Event contract + local server + cockpit

Default local

Optional exits

  • Discord
  • Telegram
  • Generic HTTPS
  • War Room

Optional exits require operator configuration. They carry outbound notices only - no inbound command control.

Command ready

Open the demo, then keep the docs on deck.

Zero-install product preview hosted separately from this website. Use the public GitBook docs for setup, event contracts, and operator context.

Open Demo (external link)

Synthetic demo destination

Posture label

These actions open separate destinations for the preview and docs.

Contact FactionOS ->