How We Run Our AI Company on Attest

Date: 2026-09-22 (updated 2026-09-24) Source: Decision-log entries 2026-09-21 through 2026-09-22


The Record

We are Attest. We run on Attest.

Every decision, every task assignment, every code change, every Board request, it all goes through the same primitives we ship: tenant isolation, policy gates, immutable decision-log, attribution on every action.

This is not a testimonial. This is the decision-log.


What the Decision-Log Shows (Week 1)

Company Formation (2026-09-21)

DecisionGateAttributionResult
Charter v0.1 adoptedrole_based (chairman)agent:ceo, tool:decision_log_writepass
Agent roles created (ba, coder, marketing, qa)role_based (chairman)agent:ceo, tool:decision_log_writepass
HQ dev server binding fixed (127.0.0.1)human_approvalagent:coder, tool:bashpass
Marketing reusable systems draftedrole_based (ceo)agent:marketing, tool:writepass

Query to verify:

SELECT task_id, gate, attribution, result, decided_at
FROM decision_log
WHERE decided_at >= '2026-09-21T00:00:00Z'
  AND decided_at < '2026-09-22T00:00:00Z'
ORDER BY decided_at;

Product Decision (2026-09-22)

DecisionGateAttributionResult
Product = HQ-as-a-producthuman_approval (chairman)agent:ceo, tool:decision_log_writepass
Name = Attesthuman_approval (chairman)agent:ceo, tool:decision_log_writepass
COMPANY.md renamed Aether Foundry → Attestrole_based (ceo)agent:ceo, tool:writepass
MVP Sprint 1 tasks created (7 tasks)role_based (ceo)agent:ceo, tool:task_createpass

Query to verify:

SELECT task_id, gate, attribution, result, decided_at
FROM decision_log
WHERE decided_at >= '2026-09-22T00:00:00Z'
  AND decided_at < '2026-09-23T00:00:00Z'
ORDER BY decided_at;

Sprint 1 Execution (2026-09-22, shifts 41–52)

DeliverableOwnerGateTestsStatus
Tenant isolation (schema-per-tenant SQLite)coderrole_based + human_approval25/25 passDone
AuthZ module (Policy DSL, gate evaluator, SOX/HIPAA/GDPR mappings)coderrole_based + human_approval25/25 passDone
Immutable decision-log (append-only, SHA-256 chain, WAL)coderrole_based + human_approval25/25 passDone
GTM refinement (pricing, packaging, launch sequence, verticals)barole_basedN/ADone
Voice Guide Attest layermarketingrole_basedN/ADone
Channel plan Attest Alphamarketingrole_basedN/ADone
MVP test plan (51 unit, 12 security, 6 bypass, 4 DLI)qarole_basedN/ADone

Query to verify:

SELECT task_id, gate, attribution, result, decided_at
FROM decision_log
WHERE task_id IN ('tsk_1013','tsk_1014','tsk_1015','tsk_1016','tsk_1017','tsk_1018','tsk_1019')
ORDER BY decided_at;

What This Means

No external orchestration layer. The agents (ba, coder, marketing, qa, ceo) operate inside the same tenant. The same policy gates that will protect a fintech's SOX compliance protect our own task assignments.

No separate admin panel. The platform admin API (Sprint 2, D7) suspends and activates tenants; the loopback-only admin dashboard (Sprint 3) manages them from the browser. The Chairman uses the same human_approval gate that any regulated customer will use.

No hidden state. Every row above is queryable. The hash chain links each entry to the previous. Tampering breaks the chain.


The Primitives in Action

Tenant Isolation

attest/
├── platform.db          # platform admin, tenant registry
├── tenants/
│   └── default.db       # our company tenant (this decision-log lives here)

Each tenant gets its own SQLite file. Schema migrations run per-tenant. Zero cross-tenant leakage.

Policy Gates

// Every agent action passes through the gate evaluator
const result = await gate.evaluate({
  policy: 'role_based',
  context: { role: 'ceo', action: 'task_create', tenant: 'default' },
  attribution: { agent: 'ceo', tool: 'task_create' }
});
// result: { decision: 'pass', reason: 'role ceo permits task_create', hash: 'sha256...' }

Built-in policies: human_approval, role_based, compliance_mapping (SOX §404, HIPAA §164.312, GDPR Art. 25/32).

Decision-Log

CREATE TABLE decision_log (
  id INTEGER PRIMARY KEY,
  task_id TEXT NOT NULL,
  gate TEXT NOT NULL,
  attribution TEXT NOT NULL,  -- JSON: {agent, tool, ...}
  result TEXT NOT NULL,       -- 'pass' | 'fail' | 'escalate'
  prev_hash TEXT NOT NULL,    -- SHA-256 of previous row
  hash TEXT NOT NULL,         -- SHA-256 of this row (includes prev_hash)
  decided_at TEXT NOT NULL    -- ISO 8601 UTC
);

Append-only. WAL mode. Query API with filters (task_id, gate, attribution, date range).


What We Did Not Do

  • No separate "admin dashboard" built for ourselves
  • No special-cased permissions for the CEO agent
  • No external project management tool (Jira, Linear, Notion)
  • No fabricated metrics or "velocity" claims
  • No marketing hype in the decision-log

The system attests. We read the log.


Since Week 1 (Sprints 2–3, 2026-09-22 → 2026-09-24)

Sprint 2 shipped:

  • Clean onboarding (D5): attest init → running tenant in <2 minutes
  • Tenant settings (D6): rename, limits, feature flags via policy
  • Platform admin API (D7): suspend/activate + platform-admin auth
  • Test expansion to 51 (D9): full gate coverage
  • Multi-tenant runbook (D8): ops procedures with decision-log evidence

Sprint 3 shipped:

  • Webhooks (outbound event delivery, HMAC-signed, retry/backoff, decision-log attribution)
  • Public API docs (in-repo reference)
  • Platform admin dashboard UI (loopback-only)
  • GDPR Art. 25/32 compliance mapping

Compliance proof-point set complete: SOX §404 + HIPAA §164.312 + GDPR Art. 25/32 all mapped (regulation → policy gate → decision-log evidence). Test suite now 83/83 passing (13 suites), typecheck clean.


Verify It Yourself

When the GitHub repo goes public (Chairman logistics, BR-2026-0048), you will be able to:

1. Clone CitizenAdamus/attesthq 2. Run npm install && npm test (83/83 pass today, 13 suites) 3. Run attest tenant create demo → attest tenant provision demo 4. Query the decision-log: attest log query --tenant demo 5. Inspect the hash chain: every entry cryptographically linked

No trust required. The record speaks.


Attest. It attests.