I run Luminik on my own. The product, the customers, the GTM, and the operating model all live in one head. That works at low scope. It stops working the moment “recurring company work” becomes a real category of its own.

Alfred is my answer. It is a small fleet of role contracts around work that needs to happen repeatedly, with a review surface where outputs land and one founder who still owns every consequential decision. This post explains the public-safe shape: what each role needs to know, what it can produce, and which parts I am preparing to open source.

12 Role contracts

Recurring company functions and engineering workflows, each with a written boundary.

0 Autonomous publishes

Drafts, PRs, and digests only. Every ship is a human click.

5 Questions a role must answer

Context. Action. Output. Evidence. Approval.

The Two Layers

Alfred is not one big agent. It splits into two layers, and the split matters because it lines up with how a real company is actually built.

  Departmental layer Engineering workflow layer
Maps to Functional roles in a company Tasks inside the engineering function
Boundary Company work that should recur without being remembered manually Code work that needs isolation, review, or cross-repo coordination
Cadence Scheduled or event-triggered, with exact timing kept private Triggered by reviewable engineering work, with exact routing kept private
Output Briefs, drafts, digests, summaries PRs, comments, alerts, status posts
Guardrail Draft and summarize. Do not publish, send, pay, merge, or deploy. Open reviewable work. Do not approve, merge, or deploy on its own.
Two-layer split. One layer maps to company functions. The other maps to engineering workflows.

Layer One: Six Departments

Each department is the agent equivalent of one recurring job I would otherwise have to remember manually. The contract is small: read approved context, prepare reviewable output, and surface the decision without taking it.

Chief of staff

Personal assistant

Trigger
Calendar and inbox signals
Cadence
Scheduled and event-triggered
Reads
Approved personal-ops context
Writes
Digest, conflict notes, and follow-up prompts
Guardrail
Never replies on my behalf

Turns scattered operational context into one reviewable brief. The point is not automation for its own sake. The point is reducing the chance that small coordination work disappears.

Content

Writer

Trigger
Planned themes and publishing backlog
Cadence
Scheduled drafts
Reads
Public-safe voice rules, recent posts, launch context
Writes
Drafts for review
Guardrail
No publishing. Drafts only.

Reads the voice rules and recent real writing before drafting anything. Output includes the post body, distribution notes, and a short proof check. Posting still happens by hand.

Community

Listener

Trigger
Scheduled public-community scan
Reads
Reddit, Slack communities, Exit Five, public newsletters
Writes
Digest of threads worth reading or replying to
Guardrail
Never quotes private channels. Always cites the source URL.

Filters signal from public spaces where solo founders and B2B operators talk. The output is a short source-linked digest, not a feed to keep refreshing.

Sales

SDR

Trigger
Approved sales review window
Reads
Approved CRM fields, calendar context, event context
Writes
Follow-up brief, draft outbound, reply suggestions
Guardrail
Replies still go from my inbox, in my voice

Turns customer and prospect context into a small set of suggested next moves. Sales is where the temptation to automate too much is highest. Replies still need founder judgment.

Finance ops

CFO

Trigger
Scheduled finance hygiene
Reads
Approved finance exports and invoice context
Writes
Reconciliation notes, invoice prep, checklist updates
Guardrail
Never moves money. Flags drift; I approve and act.

Catches small finance drift before it becomes founder debt. The useful output is a checklist I can verify, not an action taken on my behalf.

Product ops

SRE plus CS

Trigger
Scheduled product-health review
Reads
Operational health signals and merged changes
Writes
Health summaries, customer-impact flags, release-note drafts
Guardrail
Never mutates production. Reports only.

Watches the parts of the product customers feel and turns merged work into release-note drafts. It reports and proposes. It does not mutate production.

Layer Two: Engineering Workflows

Engineering is dense enough that the role contracts split again. Each one owns one slice of the engineering function: coordination, implementation, tests, monitoring, review, and notification. The public lesson is the boundary, not the private dispatch wiring.

Alfred

Cross-repo coordinator

Trigger
Cross-repo coordination request
Reads
Issue, specs, public API contracts, affected repos
Writes
Coordination plan and reviewable PR sequence
Guardrail
No merge or deploy without human approval

The coordinator for features that touch more than one repo. Its job is to make contract drift visible before implementation work spreads.

Lucius

Feature development

Trigger
Scoped implementation issue
Reads
The repo's CLAUDE.md, the issue body, linked specs
Writes
A feature branch and a draft PR
Guardrail
Single-repo only. Multi-repo work bounces to Alfred.

The implementer. Reads the repo’s instruction file every time, then opens a branch for review. Stays inside one repo by design so contract changes do not sneak in.

Bane

Test coverage

Trigger
Scheduled code-quality check
Reads
Recently changed code and test history
Writes
A small test PR
Guardrail
Test code only unless a reviewer approves a supporting change.

Looks for tests that would catch a real regression. Coverage for its own sake is not useful; reviewable risk reduction is.

Oracle

Production monitor

Trigger
Scheduled operational check
Reads
Operational health summaries and surfaced logs
Writes
Issue with prioritized findings and proposed fixes
Guardrail
Reports and proposes. Never deploys.

Turns health signals into prioritized findings with evidence. When nothing is wrong, it stays quiet. When something is wrong, it makes the next human review faster.

Ra's al Ghul

Code review

Trigger
Review request
Reads
The diff, the issue, the spec, the prior code
Writes
Inline review comments and a structured summary
Guardrail
Comments only. Never approves on its own.

The separate review voice. It cares about correctness, security, data integrity, and concurrency. It comments. It never approves its own work.

Bat-Signal

Review notifier

Trigger
End of an approved run
Reads
A status payload from the calling agent
Writes
One concise status note
Guardrail
Relays only. No analysis, no decisions.

The thinnest role in the fleet. Its job is to make review work visible in one place without adding another analysis layer.

The public-safe answer path
AskFounder questionA request enters through an approved surface.
ReadApproved contextThe agent reads only the context allowed for that role.
CiteSource-linked answerClaims carry links, file references, or log lines.
DecideHuman gateThe founder approves the action or sends it back.

The public lesson is the contract: approved context, source-linked answers, and a human gate before any decision changes the company.

Slack screenshot of Alfred answering a Luminik positioning question with source-linked claims.
A real Alfred answer from my founder workflow. The useful pattern is source-linked reasoning before a positioning decision; the private wiring is incidental.

The Five Questions a Role Has to Answer

Before any role goes live, it has to answer five questions in writing. The questions live as the role’s instruction file. If any answer is vague, the role is not ready.

  1. What context can it read? Specific files, repos, public docs, and approved private notes required for the task.
  2. What action can it take? Search, summarize, draft, open a PR, or post to a review surface. Never publish, send, pay, merge, or deploy.
  3. Where does the output land? A pull request, a review note, a markdown file, or a digest. Everything has a path I can find without asking.
  4. What evidence does it provide? Source links, PR numbers, log lines, file paths. A claim with no provenance is a bug.
  5. What requires my approval? The line between draft and ship. I want this line obvious enough that a tired founder cannot accidentally cross it.

I use the same five questions to retire roles. Two early agents got cut because I could not write a clean answer to question two. They were doing too much.

What Has Worked

  What works What did not
Code review Separate reviewer role with no approval power. It catches behavior bugs when my attention is tired. The implementer reviewing its own work. Same context, same blind spots.
Content drafts Content role reading the voice rules and recent real writing before drafting. Cached style profile. It drifted the moment the topic changed.
Customer support Personal handling. Reading the thread well enough to approve a draft costs about as much as writing the reply. Drafting customer-facing replies. Retired the role and the workflow improved.
Runtime Separate always-on environment. Continuity does not depend on my interactive machine. Recurring jobs on the daily machine. Easy to start, easy to forget.
Recurring-work lessons from the same operating pattern.

Why Solo Builders Need This More

A team has imperfect but real safeguards. Standups, code reviews, review threads, shared calendars, peer correction. A solo builder has none of those by default. The upside is speed. The downside is that every gap routes back to one person.

Agents do not remove the need for operating design. They make operating design more important. When the work gets cheaper to generate, the review queue becomes the scarce resource.

What I Plan to Open Source

Alfred itself will not be open source soon. Role contracts, company context, and private adapters are entangled in ways that would leak company internals. The reusable parts are different. Other solo founders are rebuilding the same scaffolding I did. There is no reason to keep that scaffolding private.

  • Role contracts. Markdown templates that answer the five questions for chief of staff, content, sales, ops, and engineering subagent roles.
  • Repo instruction templates. Public-safe examples of CLAUDE.md, AGENTS.md, and content-guide files for solo product teams.
  • Review rules. The approval gates I use for shipping code, content, sales replies, and finance actions.
  • Output formats. Concise summaries, source-linked digests, PR notes, and the morning briefing shape.
  • A local runner shape. Enough structure for scheduled jobs and reviewable output without my private adapters.

The release will be patterns first, code second. A solo founder can adopt the role contracts and run them inside Claude Code, Cursor, or any agent harness they prefer. The harness is replaceable. The contracts are what stay.

FAQ

What is Alfred?

Alfred is the public name I use for the agent layer around recurring company work. The important parts are role contracts, approved context, source-linked output, and human approval before anything consequential ships.

Does Alfred ship code or content without my review?

No. Every consequential output is a draft, a pull request, or a digest. The approval gate is explicit so the agent layer never outruns founder judgment.

What runs in production today?

A small set of role-based agents covers recurring company functions and engineering workflows. The public pattern is useful to describe; the private runtime, channels, and schedules stay private.

What might be open sourced?

The reusable patterns: role contracts, repo instruction templates, the five-question gate, output formats, and a small local runner shape. Luminik-specific connectors and customer data stay private.

Prasad Subrahmanya

Prasad Subrahmanya

Founder of Luminik. Public proof points: built Aura at Bain to $3.6M ARR and led Mainteny through a $2.7M seed round.