about syntaxis · desktop beta · how to leave your desk and still ship

We built this so we could go.

Most agents demand a babysitter. You start one and you stay — eyes on the chat, thumb on the spacebar, lunch at the desk. Syntaxis is the opposite shape: set the rules once, claim an issue, and walk away. By the time you come back from coffee the patch is open, the tests are green, and a single approval is queued. You did the work. You also went outside. desktop beta

two stories about the same morning · Tue · May 27
issue #142 · gates met ●●●●

you

06:54espresso · re-read issue
07:01claim it. close the laptop.
07:08leash the dog
07:24park bench
07:36finish ch. 3 of the new Le Guin
08:11approve ↩ desktop, one tap
08:22walk home, slow
08:48approve patch · skim diff ↩ desktop
09:02refill cup
09:05sit down · open the PR
· handshake ·
branch gate
patch gate

syntaxis

06:54poll · pick up #142
07:02scan · 412 files indexed
07:06plan · 4 steps · 3 files in scope
07:08pack context · 9 spans, 1.7k tokens
07:09⏸ branch gate · work/142-birthday-on-profile
08:12patch · +47 / −12 across 3 files
08:30validate · 0 errors · 2 new tests pass
08:33⏸ patch gate · write to disk
08:51commit · push · open PR (draft)
09:03 ready for review
10 small steps · 6 side-effect gates · 1 PR shipped while you were on the bench.
01 · Origin why we built it

The first agent was good. It just wouldn't let us leave.

Five of us were in a Lower East Side coffee shop in early 2025, trying very hard not to look at our phones. We'd shipped agentic systems before — they worked, mostly, on a good day, with a fair wind. The catch was always the same: you couldn't go anywhere. The agent would stall on an ambiguous instruction, or try to push something it shouldn't, or quietly do nothing for nine minutes, and the only way to know was to be watching.¹

That morning the espresso went cold three times. Each time someone had to lean back over, read a paragraph, tap a button. The agent worked; the human didn't get a break. We'd traded a junior engineer for a needier one.

What if the agent's whole job was to stop in the right places?

That's the only idea behind Syntaxis. Not a smarter model. Not a bigger context window. Just a careful junior who has read the rules — yours, ours, the repo's² — and who treats every side-effect as a place to stop and ask. Six gates between intent and your main branch. The agent does the part that's mechanical. You stay outside.

We get the same question from every demo: so does it actually let me leave? The honest answer is yes, with conditions. The first run on a new repo wants a witness. By the third issue, you're at the park. By the tenth, you've forgotten how loud the fans on your laptop used to be.³

02 · Manifesto six rules we won't break

Tenets we wrote down before the first line of code.

/01

Side-effects always stop at a door.

not: faster autonomy, more parallelism, "self-healing" loops that write to disk on a hunch. signed · Sasha Bren · agent runtime
/02

If the rule isn't written down, the agent doesn't know it.

not: training the model on your "team vibe." If you can't put it in a YAML file, it's not a rule yet. signed · Ines Pavlou · design & language
/03

Read-only is the default, not the safe-mode.

not: a "yolo" toggle. There is no toggle. Approve every write, or accept that nothing was written. signed · Tom Vihari · security & sandboxing
/04

One eligible item at a time. Synchronous by design.

not: parallel runs, swarm patterns, ten branches a minute. Surprise volume is itself a side-effect. signed · Yusuf Marwan · agent planning
/05

A good log is a good interface. Show everything the agent saw.

not: a chat transcript with thinking emojis. Show the file paths, the line ranges, the tokens packed. signed · Mira Okafor · DX
/06

Your branch name, your rules. The agent inherits — it doesn't impose.

not: a vendor-flavored slug like syntaxis/fix-thing-2026-05-27-a3f. Yours, kept. signed · Kenji Östlund · infrastructure
/07

Calm interfaces. No jingles, no streaks, no urgency.

not: push notifications for every commit. The agent is patient. The product should be too. signed · Anya Quist · product
03 · How we work a week of rituals

We dogfood our own gates. Every day has a stop.

Mon · 05.25
Tue · 05.26
Wed · 05.27
Thu · 05.28
Fri · 05.29
Sat · 05.30
Sun · 05.31
10:00 · 25m Issue triage Anya · Mira
14:00 · 45m Plan-of-week, written team · async
11:00 · 60m Pair on the gates Sasha · Yusuf · Tom
all day Deep work · do not page everyone
09:30 · 30m Approval inbox review rotating · this week Ines
15:00 · 45m Design crit · new components Ines
all day Deep work · do not page everyone
16:30 · 30m Incident drill · simulated bad PR Tom · rotating
10:00 · 60m Ship-day · cut the build Kenji
14:00 · 30m Show-and-tell · 5 mins each team · in person
16:00 · open Beer + post-mortems team · loose
· off ·
· off ·

// Two on-call gates per week. No Slack on weekends. We run the same six-gate loop we sell — every PR from a teammate goes through the same approval flow as a PR from Syntaxis. The only difference is the prompt.

04 · Influences a short reading list

What we imported from people who got there first.

// .syntaxis/influences.ts — read order
import { takeYourTime } from "don norman · the design of everyday things" → doors should resist before they open
import { legibility } from "james c. scott · seeing like a state" → what the agent can see is what it can do
import { smallSafeSteps } from "kent beck · tidy first?" → patches over rewrites, always
import { conviviality } from "ivan illich · tools for conviviality" → tools that don't demand a babysitter
import { patience, refusalAsAFeature } from "mark weiser · the calm technology essays" → at the periphery, mostly
import { chesterton } from "g.k. chesterton · the fence" → don't remove what you don't understand
import { blamelessness } from "sidney dekker · the field guide to understanding 'human error'" → no toggles labeled "yolo"
import { unixSpirit } from "thompson + ritchie · the unix programming environment" → small sharp things, composed
import { taskNotChat } from "linda flower · problem-solving strategies for writers" → the issue is the brief; the chat is just chat
import { trustGradient } from "diane vaughan · the challenger launch decision" → how teams normalize deviance · and how not to
// runtime: every monday at 14:00 someone adds one line. → pull-request welcome
05 · Open positions three roles · careful juniors welcome

We hire the way the agent works: slowly, through gates.

Each role takes about three weeks end-to-end. There's a written take-home, a paired debugging session, a manifesto challenge ("which tenet do you disagree with most, and why?"), and a reference call. No leetcode. No surprise live-coding.

// quirk: every offer letter is reviewed by the agent first. We make the same gates we sell apply to ourselves. So far it has flagged two contradictions in our own equity language. We fixed them.
/eng-01
Senior runtime engineer · agent loop Own the planner. Make small, sharp things bigger without making them louder.
remote · NYC + US timezones
rust + ts · 5+ yrs
comp · 145–180k + 0.3–0.6%
gate · apply
/sec-01
Sandbox & gates engineer · trust boundary Make read-only mean read-only. Audit every syscall. Trust-but-verify the runtime.
remote · any timezone
linux internals · seccomp · firejail
comp · 160–195k + 0.2–0.5%
gate · apply
/dx-01
Developer-experience engineer · CLI & editor The terminal is the product. Make it feel like a calm room with a clock.
remote · NYC + US-east
ts + node + editor protocols
comp · 130–165k + 0.2–0.4%
gate · apply
/--
Don't see your role? Write us anyway. We hire roughly twice a year. The list above is what's open this cycle.
always-open · introductions
we reply within 7 days
intro
06 · Contact we read everything

The terminal is on. Say something.

~/syntaxis/contact · zsh
v 0.1 · build 240527-a3f
~ $ whoami
syntaxis · a careful junior · est. 2025 · made in new york city
~ $ cat contact.txt
syntaxis@etenos.ai // anything · we read it
info@etenos.ai // gpg key on the keyserver, fingerprint 3f a3 · 7b 41 · 9e 02
careers@etenos.ai // or apply via /05 above
~ $
general syntaxis@etenos.ai Two of us read this every weekday morning. Reply in 24h.
security · disclosure info@etenos.ai Responsible disclosure today. A formal bounty programme is on the roadmap.
bounty · later
old-fashioned + 1 302 200 4065 Mon–Fri 09:00-17:00 New York time. A human picks up.