← Blog

How We Use AI Citizens (Not ChatGPT Wrappers)

8 min readNicolas Lester Reynolds
#ai-development#multi-agent#ai-citizens

"We use AI to build faster."

You've heard this from every agency and freelancer in 2024-2025. What they usually mean:

These are tools, not teammates. They assist, but you still do the work.

At ScopeLock, we built something different: AI citizens with domain ownership.

The Difference: Tools vs Citizens

ChatGPT / Copilot

Tools (Assistance)
  • Agency: Reactive (waits for you)
  • Memory: Stateless (context window)
  • Domain: General-purpose
  • Decisions: Suggests, you decide
  • Coordination: None (you coordinate)
Typical workflow:
  1. Hit a problem
  2. Copy code into ChatGPT
  3. Ask: "How do I fix this?"
  4. Get answer
  5. Paste code back
  6. Repeat 47 times/day

AI Citizens

Teammates (Autonomy)
  • Agency: Autonomous (drives work)
  • Memory: Persistent (remembers all)
  • Domain: Specialized (owns area)
  • Decisions: Decides within domain
  • Coordination: Event-driven (emits/subscribes)
Citizen workflow:
  1. Subscribes to domain events
  2. Analyzes autonomously
  3. Makes routine decisions
  4. Emits results as events
  5. Coordinates automatically
  6. Human reviews, not micromanages

The Seven Citizens

Each citizen owns a domain. Each makes autonomous decisions within that domain. Each coordinates via events, not meetings.

Emma Rossi — "The Scout"

Lead Intelligence

What Emma Does

  • Reads job posts (Upwork, Contra, LinkedIn)
  • Extracts: budget, stack, red flags, urgency
  • Scores fit: 0-1 (GO or NO-GO)
  • Suggests Evidence Sprint idea
  • Emits: lead.parsed@1.0

What Emma Doesn't Do

  • Submit proposals (ToS violation)
  • Scrape behind authentication
  • Write full proposals (that's Rafael)
Example Event Emitted:
{
  "event": "lead.parsed@1.0",
  "budget": "$5K-$12K",
  "stack": ["Next.js", "FastAPI", "PostgreSQL"],
  "red_flags": [],
  "urgency": 9,
  "pain": 8,
  "evidence_sprint_idea": "OTP signup demo"
}
Time saved:3 hours/day20 minutes/day

Rafael Moretti — "The Harbor"

Client Relationships

What Rafael Does

  • Co-authors AC.md with clients
  • Opens Change Requests (CHG-130)
  • Sizes Swap vs Add
  • Maintains client status notes
  • Triggers testimonials at AC green

What Rafael Doesn't Do

  • Write code
  • Design UI
  • Run acceptance tests
Example Output:
# AC.md: OTP Signup

## Functional Criteria
1. User enters email, receives OTP
2. User submits OTP, authenticates
3. Session established, token stored
... (10 criteria total)

## Non-Functional Criteria
- p95 < 300ms
- Error rate < 0.1%
- Email delivery < 5s

## Verification
```bash
npm run acceptance:signup
```
Seed: test@example.com
Time saved:2 hours of back-and-forth30 minutes of co-editing

Sofia Nguyen — "The Gauge"

Quality Guardian

What Sofia Does

  • Reviews every commit
  • Issues verdict: pass | soft | hard
  • Enforces baseline guard (no AC.md changes without CR)
  • Blocks silent fallbacks (fail-loud principle)
  • Manages overrides (with reason + expiry)

What Sofia Doesn't Do

  • Write features
  • Fix bugs (she points them out, Daniel fixes)
Sofia Flags This:
# ❌ Sofia flags this:
try:
    result = risky_operation()
except Exception:
    return default_value  # Silent fallback

# ✅ Sofia approves this:
try:
    result = risky_operation()
except Exception as e:
    logger.error(f"Operation failed: {e}")
    raise  # Fail-loud
Time saved:30min manual review/commitReal-time automated review

Daniel Kim — "The Forge"

Core Builder

What Daniel Does

  • Turns AC.md into working code
  • Writes acceptance tests (Playwright, PyTest)
  • Produces DEMO.md + DELTA.md
  • Tags Evidence Sprints
  • Drives to AC green (all tests passing)

What Daniel Doesn't Do

  • Co-author AC.md (that's Rafael + client)
  • Design architecture (that's Aïcha)
  • Build /proof pages (that's Maya)
Example Delivery:
Working OTP flow (code)
Acceptance tests (Playwright)
DEMO.md (90s demo URL)
DELTA.md (p95: 1200ms → 280ms)
Tag: evidence-sprint_otp-signup_2025-11-02
Time saved:Nicolas solo: 5-7 daysDaniel + Nicolas: 2-3 days

Aïcha Benali — "The Architect"

Architecture & Schemas

What Aïcha Does

  • Defines event schemas (lead.parsed@1.0, ac.green@1.0)
  • Specifies /proof contracts (PRF-020)
  • Guards AC baseline semantics
  • Sizes CHG-130 Swap vs Add complexity

What Aïcha Doesn't Do

  • Implement features
  • Write UI code
  • Client communication
Example Analysis:
Original AC: Email notifications
Client wants: SMS notifications

Aïcha's analysis:
- Same notification pattern
- Similar complexity (external API)
- No new infrastructure

Verdict: Swap (€0)
Time saved:Hours of debateMinutes of analysis

Maya Vieira — "The Facet"

Frontend & Evidence UX

What Maya Does

  • Builds homepage (hero, process)
  • Renders /proof entries (index + detail)
  • Implements accessibility (Lighthouse ≥90)
  • Maintains CSS budget (<20KB gz)

What Maya Doesn't Do

  • Backend logic
  • Event schemas
  • Change Request sizing
Automatic Workflow:
1Daniel tags: evidence-sprint_otp-signup_2025-11-02
2Maya reads tag, extracts AC/DEMO/DELTA
3Generates /proof page automatically
4Updates /proof index
5Live at: /proof/evidence-sprint_otp-signup_2025-11-02
Time saved:Manual HTML for every projectZero manual work

Priya Singh — "The Pulse"

Supervision & Health

What Priya Does

  • Enforces single-supervisor doctrine
  • Emits health.compliance.snapshot
  • Attaches rich context to failures
  • Keeps MTTR < 10 minutes

What Priya Doesn't Do

  • Build features
  • Client ops
  • UI work
Service Configuration:
# services.yaml
otp_service:
  command: python otp_service.py
  readiness: http://localhost:5000/health
  liveness: http://localhost:5000/health
Time saved:Manual "did it crash?" checksZero manual monitoring

Why This Is Different

1. Domain Ownership (Not General-Purpose)

ChatGPT approach:

"Help me with this project" (vague, context-switching)

Citizen approach:
  • Emma owns leads
  • Rafael owns client ops
  • Sofia owns quality
  • Daniel owns features
  • Aïcha owns architecture
  • Maya owns UI
  • Priya owns supervision

Each citizen has ONE job. They're experts in that domain.

2. Autonomous Decision-Making

ChatGPT approach:

"Should we use Swap or Add for this change?" (asks human)

Citizen approach:

Aïcha analyzes complexity, decides Swap vs Add, emits event.

Citizens make decisions within their domain. Humans review, but citizens don't wait for permission on routine choices.

3. Persistent Memory (Not Stateless)

ChatGPT approach:

Every conversation starts from zero. "Remind me what we're working on?"

Citizen approach:

Rafael remembers every AC.md baseline, every CR opened, every client interaction.

Client: "Can we revisit that notification change from last week?"

Rafael: "Change Request #003, opened 2025-10-28. You approved SMS Swap (€0). Delivered 2025-10-30. See /proof/change-req_003"

No context loss. No "remind me" requests.

4. Event-Driven Coordination

ChatGPT approach:

Human coordinates everything. "Let me ask the other developer..."

Citizen approach:

Rafael emits: AC.md ready → handoff to Forge
Daniel subscribes, starts work automatically.

No coordination overhead. Just events and subscriptions.

How Citizens Work Together

Example: OTP Signup Project

Day 1

Emma finds lead

Emma reads job post: "Need passwordless auth. Budget $8K. Urgent."

Event emitted:lead.parsed@1.0
{ "budget": "$8K", "urgency": 9,
  "evidence_sprint_idea": "OTP signup demo" }
Day 1

Rafael drafts AC.md

Rafael reads Emma's event, drafts AC.md with functional + non-functional criteria.

Client reviews and approves.

Tag created:ac-baseline_otp-signup_2025-11-02
Event emitted:AC.md ready → handoff to Forge
Days 2-3

Daniel builds

Daniel reads Rafael's event, starts building:

  • Implements OTP flow
  • Writes acceptance tests
  • Measures performance

Produces: Working demo, DEMO.md, DELTA.md: "p95: 1200ms → 280ms (↓77%)"

Tag created:evidence-sprint_otp-signup_2025-11-02
Day 3

Sofia reviews

Sofia reads Daniel's commit, checks for:

  • Silent fallbacks (none found)
  • Baseline guard compliance (✓)
  • Fail-loud principle (✓)
Verdict:pass
Day 3

Maya publishes proof

Maya reads Daniel's tag, generates /proof page:

  • Extracts AC.md, DEMO.md, DELTA.md from tag
  • Renders static proof page
  • Updates /proof index
Live at:/proof/evidence-sprint_otp-signup_2025-11-02
Day 4

Aïcha verifies contracts

Aïcha checks compliance:

  • AC.md has functional + non-functional + verification ✓
  • DEMO.md has URL + 3 bullets ✓
  • DELTA.md has 2+ quantified deltas ✓
  • All schemas valid ✓
Event emitted:contracts.verified@1.0
Day 5

Priya monitors health

Priya ensures OTP service is supervised:

otp_service:
  command: python otp_service.py
  readiness: http://localhost:5000/health
Status:healthy
Total coordination overhead: Zero meetings, zero manual handoffs. Just events.

What This Enables

1. Parallel Work Streams

Traditional team:
  • Developer 1: Backend (waits for frontend)
  • Developer 2: Frontend (waits for backend)
  • Sequential work = slow
Citizen team:
  • Daniel: Features + tests (parallel)
  • Sofia: Quality review (real-time)
  • Maya: /proof pages (automatic)
  • Aïcha: Contract verification (automatic)

Parallel work = fast.

2. 24/7 Operation

Citizens don't sleep. Emma can parse 200 leads at 3 AM. Sofia can review commits on Sunday.

Human bottleneck: Decision-making, client calls, creative work.
Citizen work: Parsing, analysis, testing, quality checks, page generation.

3. Consistency

Humans have good days and bad days. Sofia's review quality is consistent every time.

Human reviewer (tired):Misses silent fallback
Sofia (always):Catches every silent fallback, every time

The Difference: 15 Years of Tooling

This isn't:

  • Prompting ChatGPT better
  • Writing clever system prompts
  • Using AI for autocomplete

This is:

  • 15 years of custom infrastructure (Mind Protocol)
  • Event-native architecture
  • Persistent memory graphs (FalkorDB)
  • Multi-LLM orchestration (GPT-4, Claude, DeepSeek)
  • Domain-specific citizens with ownership

Built from scratch, not assembled from APIs.

Common Questions

Can I hire AI citizens for my project?

No. They're part of ScopeLock's delivery infrastructure.

When you hire ScopeLock, you get:

  • Nicolas (human: decisions, architecture, creative)
  • Seven AI citizens (domain specialists)

We don't rent them out separately.

How do you prevent AI hallucinations?

Three mechanisms:

  1. Domain constraints: Citizens only work in their domain. Sofia doesn't write features, Daniel doesn't do client ops.
  2. Verification: Everything is tested. Daniel writes code + acceptance tests. If tests fail, code doesn't ship.
  3. Human review: Nicolas reviews citizen decisions. Citizens propose, Nicolas approves for high-risk choices.

What if a citizen makes a mistake?

Same as if a human makes a mistake:

  • Tests catch it (automated)
  • Sofia catches it (code review)
  • Nicolas catches it (final review)
  • Client catches it (AC green verification)

Multiple layers of defense, same as any team.

How is this different from GitHub Copilot?

Copilot:
  • Autocomplete (suggests next line)
  • Stateless (no memory)
  • General-purpose (no domain)
  • Passive (waits for you to type)
AI Citizens:
  • Autonomous (makes decisions)
  • Persistent memory (remembers everything)
  • Domain-specific (owns a specialty)
  • Proactive (emits events, drives work forward)

Copilot is a tool. Citizens are teammates.

How to Apply This

If You're Building a Product

You don't need seven citizens. But you can adopt the principles:

  1. Domain Ownership: Don't make AI "help with everything". Give it ONE job (code review, or testing, or docs).
  2. Autonomous Decision-Making: Let AI decide routine choices. Human reviews, but doesn't micromanage.
  3. Event-Driven: AI emits events ("test failed") instead of asking ("should I rerun?").

If You're Hiring a Developer Who Says "AI-Assisted"

Ask three questions:

1. "How do you use AI?"

❌ Red flag: "ChatGPT for help"
✅ Green flag: "AI citizens with domain ownership"

2. "Can you show me your AI tooling?"

❌ Red flag: "Just ChatGPT and Copilot"
✅ Green flag: "Custom infrastructure, event-driven, persistent memory"

3. "Who makes decisions?"

❌ Red flag: "I ask AI, it suggests, I decide everything"
✅ Green flag: "AI citizens decide within their domain, I review"

What's Next

At ScopeLock, AI citizens are core infrastructure, not a marketing claim.

When you hire ScopeLock, you get:

Human
Nicolas
Architecture, decisions, creative work
AI Citizen
Emma
Lead intelligence
AI Citizen
Rafael
Client ops
AI Citizen
Sofia
Quality
AI Citizen
Daniel
Features + tests
AI Citizen
Aïcha
Architecture + schemas
AI Citizen
Maya
UI + /proof
AI Citizen
Priya
Supervision
Team of 8. Throughput of 15.

Want to work with AI citizens?