Reference

File locations

Where SI Fabrik keeps projects, history, logs, credentials and server data, on the Mac and on harnessd.

Mac app#

PathContents
~/Library/Application Support/Harness/Projects, lifetime stats and everything below
…/history/<project-id>/runs.jsonlRun history: one finished attempt per line, the last 200 (0600, folder 0700)
…/history/<project-id>/samples.jsonThe token chart's last 24 hours
…/history/<project-id>/guardrails.jsonDaily spend, per-task cost, parked tasks, automatic pause
…/links/<project>/<commit>/Read-only snapshots of linked projects' code
…/link-runs/Per-task copies for linked services
…/linked-tasks.jsonLinked tasks and what waits on them (0600)
…/cloudflare/bridge-tokenThe Cloudflare bridge token (0600)
…/projects.jsonProjects, including Allow agents to run directly on this Mac
…/servers.jsonServers added in Remote mode (no secrets)
…/egress/The egress proxy's policy and the chosen sandbox subnet
…/egress/ca/ca.pem, bundle.pemThe egress proxy's CA, and the public roots plus that CA; mounted read-only into sandboxes at /etc/harness-ca/
…/egress/ca/ca-key.pemThe CA's private key (0600); never mounted into sandboxes
~/Library/Logs/Harness/<project>.logThe project's structured log
~/Library/Logs/Harness/<project>/<workspace key>/latest.logThe raw agent stream for a task
Login Keychain, service com.redmantech.harnessCredentials, environment variables, project environments, test logins, server session tokens (remote_token_<id>)

In a project's repository#

PathContents
WORKFLOW.mdThe project's configuration and prompt
.symphony/board.jsonThe built-in board (git-ignored by the wizard)
refs/heads/symphony/<task-id>Saved task branches
refs/harness/saved/…Work kept when a task branch diverged

In a task's workspace#

PathContents
.harness/preview.logThe app's output, with preview:
.harness/artifacts/Screenshots the agent saved
.harness/services/<name>.logLinked services' output

.harness/ is kept out of commits. SI Fabrik never follows symbolic links when it reads screenshots and artifacts from .harness/ or writes service logs there, so an agent can't use a link to make it read or overwrite another file. Workspaces live under workspace.root, by default <temp>/symphony_workspaces/<project>.

harnessd#

PathContents
/etc/harness/harnessd.yamlThe configuration (read-only to the service)
/etc/harness/secrets.envServer-wide secrets (0600)
/etc/harness/tls/Certificate and key (0600)
data_dir/ (default /var/lib/harness, 0700)Everything the server writes
data_dir/users.jsonAccounts (0600)
data_dir/audit/audit.jsonlThe hash-chained audit log (0600)
data_dir/secrets/remote.jsonThe overlay: values, test logins, settings and app-added projects set from the app (0600)
data_dir/repos/<name>/Cloned project repositories
data_dir/history/Run history, as on the Mac
data_dir/logs/Project logs and raw agent streams
data_dir/egress/The egress proxy's policy, subnet and CA (egress/ca/), as on the Mac
The journal (journalctl -u harnessd)Operational logs

See also#